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:
@@ -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
|
||||
}
|
||||
})();
|
||||
|
||||
|
||||
@@ -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
|
||||
Reference in New Issue
Block a user