Browse Source

devkit: rename Test to NodeTestRunner

keeping Test.st for backward compatibility
Herbert Vojčík 9 years ago
parent
commit
f63f76bcb1

+ 1 - 1
Gruntfile.js

@@ -66,7 +66,7 @@ module.exports = function(grunt) {
       },
       dev: {
         output_dir: 'external/amber-dev/lib',
-        src: ['external/amber-dev/lib/Test.st']
+        src: ['external/amber-dev/lib/NodeTestRunner.st']
       },
       test_runner: {
         src: ['external/amber-dev/lib/Test.st'],

+ 5 - 5
external/amber-dev/lib/Test.js → external/amber-dev/lib/NodeTestRunner.js

@@ -1,10 +1,10 @@
-define("amber_core/Test", ["amber/boot", "amber_core/Kernel-Objects"], function($boot){"use strict";
+define("amber_core/NodeTestRunner", ["amber/boot", "amber_core/Kernel-Objects"], function($boot){"use strict";
 var $core=$boot.api,nil=$boot.nil,$recv=$boot.asReceiver,$globals=$boot.globals;
-$core.addPackage('Test');
-$core.packages["Test"].innerEval = function (expr) { return eval(expr); };
-$core.packages["Test"].transport = {"type":"amd","amdNamespace":"amber_core"};
+$core.addPackage('NodeTestRunner');
+$core.packages["NodeTestRunner"].innerEval = function (expr) { return eval(expr); };
+$core.packages["NodeTestRunner"].transport = {"type":"amd","amdNamespace":"amber_core"};
 
-$core.addClass('NodeTestRunner', $globals.Object, [], 'Test');
+$core.addClass('NodeTestRunner', $globals.Object, [], 'NodeTestRunner');
 
 $core.addMethod(
 $core.method({

+ 37 - 0
external/amber-dev/lib/NodeTestRunner.st

@@ -0,0 +1,37 @@
+Smalltalk createPackage: 'NodeTestRunner'!
+Object subclass: #NodeTestRunner
+	instanceVariableNames: ''
+	package: 'NodeTestRunner'!
+
+!NodeTestRunner class methodsFor: 'not yet classified'!
+
+main
+	self runTestSuite
+!
+
+runTestSuite
+	| suite worker |
+
+	suite := OrderedCollection new.
+    (TestCase allSubclasses select: [ :each | each isAbstract not ])
+	do: [ :each | suite addAll: each buildSuite ].
+
+	worker := TestSuiteRunner on: suite.
+	worker announcer on: ResultAnnouncement do:
+	[ :ann | | result |
+    	result := ann result.
+        result runs = result total ifTrue: [
+	        console log: result runs asString, ' tests run, ', result failures size asString, ' failures, ', result errors size asString, ' errors.'.
+
+            result failures isEmpty ifFalse: [
+                result failures first runCase.
+                "the line above should throw, normally, but just in case I leave the line below"
+                self throw: result failures first class name, ' >> ', result failures first selector, ' is failing!!' ].
+            result errors isEmpty ifFalse: [
+                result errors first runCase.
+                "the line above should throw, normally, but just in case I leave the line below"
+                self throw: result errors first class name, ' >> ', result errors first selector, ' has errors!!' ].
+    ]].
+    worker run
+! !
+

+ 1 - 1
external/amber-dev/lib/helpers.js

@@ -1,4 +1,4 @@
-exports.testRunnerPath = require.resolve('./Test').replace(/\.js$/, "");
+exports.testRunnerPath = require.resolve('./NodeTestRunner').replace(/\.js$/, "");
 
 exports.nodeWrap = function (id) {
     var wrapSource = JSON.stringify('_wrap_' + id),