--- /dev/null
+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();