瀏覽代碼

Discover tests via glob

Alexandru Dima 5 年之前
父節點
當前提交
b16a1195eb
共有 4 個文件被更改,包括 40 次插入80 次删除
  1. 19 3
      package-lock.json
  2. 3 2
      package.json
  3. 16 3
      test/all.js
  4. 2 72
      test/setup.js

+ 19 - 3
package-lock.json

@@ -549,9 +549,9 @@
       }
     },
     "glob": {
-      "version": "7.1.3",
-      "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz",
-      "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==",
+      "version": "7.1.6",
+      "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz",
+      "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==",
       "dev": true,
       "requires": {
         "fs.realpath": "^1.0.0",
@@ -919,6 +919,22 @@
         "yargs": "13.3.0",
         "yargs-parser": "13.1.1",
         "yargs-unparser": "1.6.0"
+      },
+      "dependencies": {
+        "glob": {
+          "version": "7.1.3",
+          "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz",
+          "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==",
+          "dev": true,
+          "requires": {
+            "fs.realpath": "^1.0.0",
+            "inflight": "^1.0.4",
+            "inherits": "2",
+            "minimatch": "^3.0.4",
+            "once": "^1.3.0",
+            "path-is-absolute": "^1.0.0"
+          }
+        }
       }
     },
     "monaco-editor-core": {

+ 3 - 2
package.json

@@ -18,12 +18,13 @@
     "url": "https://github.com/Microsoft/monaco-languages/issues"
   },
   "devDependencies": {
+    "glob": "^7.1.6",
     "jsdom": "^15.2.1",
     "mocha": "^6.2.2",
     "monaco-editor-core": "0.18.1",
     "monaco-plugin-helpers": "^1.0.2",
     "requirejs": "^2.3.6",
-    "typescript": "3.7.3",
-    "terser": "^4.4.3"
+    "terser": "^4.4.3",
+    "typescript": "3.7.3"
   }
 }

+ 16 - 3
test/all.js

@@ -1,5 +1,7 @@
-var requirejs = require("requirejs");
-var jsdom = require('jsdom');
+const requirejs = require("requirejs");
+const jsdom = require('jsdom');
+const glob = require('glob');
+const path = require('path');
 
 requirejs.config({
 	baseUrl: '',
@@ -11,7 +13,7 @@ requirejs.config({
 	nodeRequire: require
 });
 
-let tmp = new jsdom.JSDOM('<!DOCTYPE html><html><body></body></html>');
+const tmp = new jsdom.JSDOM('<!DOCTYPE html><html><body></body></html>');
 global.document = tmp.window.document;
 global.navigator = tmp.window.navigator;
 global.self = global;
@@ -19,6 +21,17 @@ global.document.queryCommandSupported = function () { return false; };
 global.window = { location: {} };
 
 requirejs(['./test/setup'], function () {
+	glob('release/dev/*/*.test.js', { cwd: path.dirname(__dirname) }, function (err, files) {
+		if (err) {
+			console.log(err);
+			return;
+		}
+		requirejs(files.map(f => f.replace(/\.js$/, '')), function () {
+			run(); // We can launch the tests!
+		}, function (err) {
+			console.log(err);
+		})
+	});
 }, function (err) {
 	console.log(err);
 });

+ 2 - 72
test/setup.js

@@ -20,75 +20,5 @@ define('vs/nls', [], {
 	}
 });
 
-define(['require'], function () {
-	requirejs([
-		'vs/editor/editor.main'
-	], function () {
-		requirejs([
-			'release/dev/abap/abap.test',
-			'release/dev/apex/apex.test',
-			'release/dev/azcli/azcli.test',
-			'release/dev/bat/bat.test',
-			'release/dev/cameligo/cameligo.test',
-			'release/dev/clojure/clojure.test',
-			'release/dev/coffee/coffee.test',
-			'release/dev/cpp/cpp.test',
-			'release/dev/csharp/csharp.test',
-			'release/dev/csp/csp.test',
-			'release/dev/css/css.test',
-			'release/dev/dockerfile/dockerfile.test',
-			'release/dev/fsharp/fsharp.test',
-			'release/dev/go/go.test',
-			'release/dev/graphql/graphql.test',
-			'release/dev/handlebars/handlebars.test',
-			'release/dev/html/html.test',
-			'release/dev/java/java.test',
-			'release/dev/javascript/javascript.test',
-			'release/dev/kotlin/kotlin.test',
-			'release/dev/less/less.test',
-			'release/dev/lua/lua.test',
-			'release/dev/markdown/markdown.test',
-			'release/dev/mips/mips.test',
-			'release/dev/msdax/msdax.test',
-			'release/dev/mysql/mysql.test',
-			'release/dev/objective-c/objective-c.test',
-			'release/dev/pascal/pascal.test',
-			'release/dev/pascaligo/pascaligo.test',
-			'release/dev/perl/perl.test',
-			'release/dev/pgsql/pgsql.test',
-			'release/dev/php/php.test',
-			'release/dev/postiats/postiats.test',
-			'release/dev/powerquery/powerquery.test',
-			'release/dev/powershell/powershell.test',
-			'release/dev/pug/pug.test',
-			'release/dev/python/python.test',
-			'release/dev/r/r.test',
-			'release/dev/razor/razor.test',
-			'release/dev/redis/redis.test',
-			'release/dev/redshift/redshift.test',
-			'release/dev/ruby/ruby.test',
-			'release/dev/rust/rust.test',
-			'release/dev/sb/sb.test',
-			'release/dev/scheme/scheme.test',
-			'release/dev/scss/scss.test',
-			'release/dev/shell/shell.test',
-			'release/dev/sophia/sophia.test',
-			'release/dev/solidity/solidity.test',
-			'release/dev/sql/sql.test',
-			'release/dev/st/st.test',
-			'release/dev/swift/swift.test',
-			'release/dev/tcl/tcl.test',
-			'release/dev/twig/twig.test',
-			'release/dev/typescript/typescript.test',
-			'release/dev/vb/vb.test',
-			'release/dev/xml/xml.test',
-			'release/dev/yaml/yaml.test'
-		], function () {
-			run(); // We can launch the tests!
-		}, function (err) {
-			console.log(err);
-		});
-	}, function (err) {
-		console.log(err);
-	});
-});
+define(['vs/editor/editor.main', function () {
+}]);