Browse Source

added compiler define `jquery-ver` (#2893)

Andy Li 10 năm trước cách đây
mục cha
commit
1219f578d4
3 tập tin đã thay đổi với 11 bổ sung0 xóa
  1. 2 0
      common.ml
  2. 2 0
      main.ml
  3. 7 0
      tests/unit/src/unit/TestJQuery.hx

+ 2 - 0
common.ml

@@ -199,6 +199,7 @@ module Define = struct
 		| IncludePrefix
 		| Interp
 		| JavaVer
+		| JqueryVer
 		| JsClassic
 		| JsEs5
 		| JsUnflatten
@@ -284,6 +285,7 @@ module Define = struct
 		| IncludePrefix -> ("include_prefix","prepend path to generated include files")
 		| Interp -> ("interp","The code is compiled to be run with --interp")
 		| JavaVer -> ("java_ver", "<version:5-7> Sets the Java version to be targeted")
+		| JqueryVer -> ("jquery_ver", "The jQuery version supported by js.jquery.*. The version is encoded as an interger. e.g. 1.11.3 is encoded as 11103")
 		| JsClassic -> ("js_classic","Don't use a function wrapper and strict mode in JS output")
 		| JsEs5 -> ("js_es5","Generate JS for ES5-compliant runtimes")
 		| JsUnflatten -> ("js_unflatten","Generate nested objects for packages and types")

+ 2 - 0
main.ml

@@ -1450,6 +1450,8 @@ try
 			add_std "neko";
 			"n"
 		| Js ->
+			if not (PMap.exists (fst (Define.infos Define.JqueryVer)) com.defines) then
+				Common.define_value com Define.JqueryVer "11103";
 			add_std "js";
 			"js"
 		| Php ->

+ 7 - 0
tests/unit/src/unit/TestJQuery.hx

@@ -29,4 +29,11 @@ class TestJQuery extends Test {
         });
     }
 
+    function testVersion() {
+        var versionStr:String = JQuery.fn.jquery;
+        var v = versionStr.split(".");
+        eq(v.length, 3);
+        eq(haxe.macro.Compiler.getDefine("jquery_ver"), v[0] + StringTools.lpad(v[1], "0", 2) + StringTools.lpad(v[2], "0", 2));
+    }
+
 }