Upgrade to ExtJS 4.0.1 - Released 05/18/2011
[extjs.git] / jsbuilder / tests / run.js
diff --git a/jsbuilder/tests/run.js b/jsbuilder/tests/run.js
new file mode 100644 (file)
index 0000000..b8e1a0f
--- /dev/null
@@ -0,0 +1,50 @@
+var PATH = system.script.replace(/tests(\/|\\)run.js/, '');
+load(PATH + 'src/Loader.js');
+
+Loader.setBasePath(PATH + 'src');
+
+Loader.require([
+    'Ext',
+    'Cli',
+    'Logger'
+]);
+
+var assertTrue = function(message, a) {
+    assertEqual(message, a, true);
+};
+var assertFalse = function(message, a) {
+    assertEqual(message, a, false);
+};
+var assertEqual = function(message, a, b) {
+    if ((Ext.isArray(a) || Ext.isObject(a)) && (Ext.isArray(b) || Ext.isObject(b))) {
+        a = JSON.stringify(a);
+        b = JSON.stringify(b);
+    }
+    Logger.log("[" + ((a === b) ? "PASSED" : "FAILED") + "] " + message);
+};
+var assertNotEqual = function(message, a, b) {
+    assertEqual(message, a, !b);
+};
+
+var Tester = Ext.extend(Cli, {
+    name: "Super simple Unit Tester",
+    version: "1.0",
+
+    map: {
+        n: {
+            name: 'name',
+            required: true,
+            desc: 'Name of the test you want to run, e.g Parser'
+        }
+    },
+
+    run: function() {
+        if (Tester.superclass.run.call(this) === false)
+            return;
+
+        load(PATH + 'tests/'+this.get('name')+'.js');
+    }
+});
+
+var tester = new Tester();
+tester.run();