Trying to run stdlib unit tests as part or js.tests: step 4 - Added tests for ListTest, GetOtElseTest, MapTest

Introduce JsUnitTestReporter, implement communication between rhino and junit
This commit is contained in:
Pavel V. Talanov
2012-07-06 14:26:45 +04:00
parent 0c2b8e95f2
commit 1840602a46
11 changed files with 312 additions and 112 deletions
+19 -20
View File
@@ -15,35 +15,34 @@
*/
/*Asserter*/
var JsTests = (function() {
var out = Kotlin.System.out();
function setOut(newOut) {
out = newOut;
}
var Asserter = function(out) {
this.out = out;
this.assertTrue = function (message, actual) {
if (!actual) {
this.out.println(message);
}
};
this.assertEquals = function (message, actual) {
throw null;
};
var JsTests = (function () {
var reporter = jsTestReporter;
var failedTest = {};
var assert = function (isTrue, message) {
if (!isTrue) {
reporter.reportError(message);
throw failedTest;
}
};
var test = function(testName, testFun) {
var test = function (testName, testFun) {
reporter.testStart(testName);
try {
testFun();
}
catch (fail) {
out.println("Test " + testName + " failed");
if (fail != failedTest) {
reporter.reportError("Unexpected exception " + Kotlin.toString(fail));
}
reporter.testFail(testName);
return;
}
reporter.testSuccess(testName);
};
return {
test : test,
Asserter : Asserter,
setOut : setOut
test:test,
assert:assert
}
})();
+18 -16
View File
@@ -5,21 +5,23 @@ import js.*
public var asserter : Asserter = JsTestsAsserter()
native("JsTests.Asserter")
public class JsTestsAsserter(): Asserter {
public override fun assertTrue(message: String, actual: Boolean) {
assert(actual, message)
}
public override fun assertEquals(message: String, expected: Any?, actual: Any?) {
assert(actual == expected, "$message. Expected <$expected> actual <$actual>")
}
public override fun assertNotNull(message: String, actual: Any?) {
assert(actual != null, message)
}
public override fun assertNull(message: String, actual: Any?) {
assert(actual == null, message)
}
public override fun fail(message: String) {
assert(false, message)
}
}
native
public override fun assertTrue(message: String, actual: Boolean) = noImpl
native
public override fun assertEquals(message: String, expected: Any?, actual: Any?) = noImpl
native
public override fun assertNotNull(message: String, actual: Any?) = noImpl
native
public override fun assertNull(message: String, actual: Any?) = noImpl
native
public override fun fail(message: String) = noImpl
}
native("JsTests.assert")
public fun assert(value: Boolean, message: String): Unit = js.noImpl