Skip to content

Commit 2cdb4a6

Browse files
committed
boxlang compats
1 parent 1a89ba1 commit 2cdb4a6

File tree

3 files changed

+67
-19
lines changed

3 files changed

+67
-19
lines changed

server-boxlang@1.json

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
{
2+
"app":{
3+
"cfengine":"boxlang",
4+
"serverHomeDirectory":".engine/boxlang"
5+
},
6+
"name":"coldbox-boxlang@1",
7+
"force":true,
8+
"openBrowser":false,
9+
"web":{
10+
"directoryBrowsing":true,
11+
"http":{
12+
"port":"8599"
13+
},
14+
"rewrites":{
15+
"enable":true
16+
},
17+
"aliases":{
18+
"/coldbox":"./"
19+
}
20+
},
21+
"JVM":{
22+
"heapSize":"1024"
23+
},
24+
"cfconfig":{
25+
"file":".cfconfig.json"
26+
},
27+
"env":{
28+
}
29+
}

system/core/util/CFMLEngine.cfc

Lines changed: 29 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ component {
99
// setup the engine properties
1010
this.ADOBE = "adobe";
1111
this.LUCEE = "lucee";
12+
this.BOXLANG = "boxlang";
1213

1314
// JDK Version
1415
this.JDK_VERSION = createObject( "java", "java.lang.System" ).getProperty( "java.version" );
@@ -22,9 +23,9 @@ component {
2223
adobe2018 : { invokeArray : false },
2324
adobe2021 : { invokeArray : false },
2425
adobe2023 : { invokeArray : false },
25-
lucee : { invokeArray : true }
26+
lucee : { invokeArray : true },
27+
boxlang : { invokeArray : true }
2628
};
27-
variables.productVersion = listFirst( server.coldfusion.productversion );
2829

2930
return this;
3031
}
@@ -33,14 +34,21 @@ component {
3334
* Returns the current running CFML major version level
3435
*/
3536
numeric function getVersion(){
36-
return variables.productVersion;
37+
return listFirst( getFullVersion(), "." );
3738
}
3839

3940
/**
4041
* Returns the current running CFML full version
4142
*/
4243
string function getFullVersion(){
43-
return server.coldfusion.productversion;
44+
switch( getEngine() ){
45+
case this.adobe:
46+
return server.coldfusion.productVersion;
47+
case this.lucee:
48+
return server.lucee.version;
49+
case this.boxlang:
50+
return server.boxlang.version;
51+
}
4452
}
4553

4654
/**
@@ -57,13 +65,26 @@ component {
5765
return server.keyExists( "coldfusion" ) && server.coldfusion.productName.findNoCase( "ColdFusion" );
5866
}
5967

68+
/**
69+
* Verify if this is a boxlang server
70+
*/
71+
boolean function isBoxLang(){
72+
return server.keyExists( "boxlang" );
73+
}
74+
6075
/**
6176
* Get the current CFML Engine name
6277
*
63-
* @return Either 'lucee' or 'adobe'
78+
* @return Either 'lucee' or 'adobe' or 'boxlang'
6479
*/
6580
string function getEngine(){
66-
return ( isLucee() ? this.lucee : this.adobe );
81+
if( isLucee() ){
82+
return this.lucee;
83+
}else if( isAdobe() ){
84+
return this.adobe;
85+
}else if( isBoxLang() ){
86+
return this.boxlang;
87+
}
6788
}
6889

6990
/**
@@ -72,7 +93,8 @@ component {
7293
* @return lucee, adobe{version}
7394
*/
7495
string function getFeatureEngineSlug(){
75-
return isLucee() ? this.lucee : this.adobe & getVersion();
96+
var engine = getEngine();
97+
return isAdobe() ? engine & getVersion() : engine;
7698
}
7799

78100
/**
Lines changed: 9 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,19 @@
11
component extends="coldbox.system.testing.BaseModelTest" {
22

33
function setup(){
4-
cfmlengine = new coldbox.system.core.util.CFMLEngine();
4+
target = new coldbox.system.core.util.CFMLEngine();
55
}
66

7-
function testCFMLEngine(){
8-
version = listFirst( server.coldfusion.productversion );
9-
engine = server.coldfusion.productname;
10-
11-
if ( findNoCase( "coldfusion", engine ) ) {
12-
enginetype = "adobe";
13-
} else if ( findNoCase( "lucee", engine ) ) {
14-
enginetype = "lucee";
15-
}
7+
function testGetVersion(){
8+
expect( target.getVersion() ).toBeNumeric();
9+
}
1610

17-
assertTrue( len( cfmlengine.getEngine() ) gt 0, "Engine test" );
11+
function testGetFullVersion(){
12+
expect( target.getFullVersion() ).toBeString();
13+
}
1814

19-
assertTrue( isNumeric( cfmlengine.getVersion() ), "Version Test" );
15+
function testGetEngine(){
16+
expect( target.getEngine() ).toBeString();
2017
}
2118

2219
}

0 commit comments

Comments
 (0)