mirror of
https://github.com/denoland/deno.git
synced 2024-11-24 15:19:26 -05:00
Better function names in mock_runtime.js
This commit is contained in:
parent
56c3ac464e
commit
314f086721
2 changed files with 28 additions and 20 deletions
|
@ -1,27 +1,34 @@
|
|||
// A simple runtime that doesn't involve typescript or protobufs to test
|
||||
// libdeno.
|
||||
// libdeno. Invoked by mock_runtime_test.cc
|
||||
const window = eval("this");
|
||||
window["foo"] = () => {
|
||||
deno_print("Hello world from foo");
|
||||
return "foo";
|
||||
};
|
||||
|
||||
function assert(cond) {
|
||||
if (!cond) throw Error("mock_runtime.js assert failed");
|
||||
}
|
||||
|
||||
function subabc() {
|
||||
deno_sub(msg => {
|
||||
assert(msg instanceof ArrayBuffer);
|
||||
assert(msg.byteLength === 3);
|
||||
});
|
||||
}
|
||||
|
||||
function typedArrayToArrayBuffer(ta) {
|
||||
return ta.buffer.slice(ta.byteOffset, ta.byteOffset + ta.byteLength);
|
||||
}
|
||||
|
||||
function pubReturnEmpty() {
|
||||
function CanCallFunction() {
|
||||
deno_print("Hello world from foo");
|
||||
return "foo";
|
||||
}
|
||||
|
||||
function PubSuccess() {
|
||||
deno_sub(msg => {
|
||||
deno_print("PubSuccess: ok");
|
||||
});
|
||||
}
|
||||
|
||||
function PubByteLength() {
|
||||
deno_sub(msg => {
|
||||
assert(msg instanceof ArrayBuffer);
|
||||
assert(msg.byteLength === 3);
|
||||
});
|
||||
}
|
||||
|
||||
function SubReturnEmpty() {
|
||||
const ui8 = new Uint8Array("abc".split("").map(c => c.charCodeAt(0)));
|
||||
const ab = typedArrayToArrayBuffer(ui8);
|
||||
let r = deno_pub(ab);
|
||||
|
@ -30,7 +37,7 @@ function pubReturnEmpty() {
|
|||
assert(r == null);
|
||||
}
|
||||
|
||||
function pubReturnBar() {
|
||||
function SubReturnBar() {
|
||||
const ui8 = new Uint8Array("abc".split("").map(c => c.charCodeAt(0)));
|
||||
const ab = typedArrayToArrayBuffer(ui8);
|
||||
const r = deno_pub(ab);
|
||||
|
|
|
@ -10,9 +10,10 @@ TEST(MockRuntimeTest, InitializesCorrectly) {
|
|||
deno_dispose(d);
|
||||
}
|
||||
|
||||
TEST(MockRuntimeTest, CanCallFoo) {
|
||||
TEST(MockRuntimeTest, CanCallFunction) {
|
||||
Deno* d = deno_new(NULL, NULL);
|
||||
EXPECT_TRUE(deno_execute(d, "a.js", "if (foo() != 'foo') throw Error();"));
|
||||
EXPECT_TRUE(deno_execute(d, "a.js",
|
||||
"if (CanCallFunction() != 'foo') throw Error();"));
|
||||
deno_dispose(d);
|
||||
}
|
||||
|
||||
|
@ -29,14 +30,14 @@ deno_buf strbuf(const char* str) {
|
|||
|
||||
TEST(MockRuntimeTest, PubSuccess) {
|
||||
Deno* d = deno_new(NULL, NULL);
|
||||
EXPECT_TRUE(deno_execute(d, "a.js", "subabc();"));
|
||||
EXPECT_TRUE(deno_execute(d, "a.js", "PubSuccess()"));
|
||||
EXPECT_TRUE(deno_pub(d, strbuf("abc")));
|
||||
deno_dispose(d);
|
||||
}
|
||||
|
||||
TEST(MockRuntimeTest, PubByteLength) {
|
||||
Deno* d = deno_new(NULL, NULL);
|
||||
EXPECT_TRUE(deno_execute(d, "a.js", "subabc();"));
|
||||
EXPECT_TRUE(deno_execute(d, "a.js", "PubByteLength()"));
|
||||
// We pub the wrong sized message, it should throw.
|
||||
EXPECT_FALSE(deno_pub(d, strbuf("abcd")));
|
||||
deno_dispose(d);
|
||||
|
@ -61,7 +62,7 @@ TEST(MockRuntimeTest, SubReturnEmpty) {
|
|||
EXPECT_EQ(data[2], 'c');
|
||||
return deno_buf{nullptr, 0};
|
||||
});
|
||||
EXPECT_TRUE(deno_execute(d, "a.js", "pubReturnEmpty()"));
|
||||
EXPECT_TRUE(deno_execute(d, "a.js", "SubReturnEmpty()"));
|
||||
EXPECT_EQ(count, 2);
|
||||
deno_dispose(d);
|
||||
}
|
||||
|
@ -78,7 +79,7 @@ TEST(MockRuntimeTest, SubReturnBar) {
|
|||
EXPECT_EQ(data[2], 'c');
|
||||
return strbuf("bar");
|
||||
});
|
||||
EXPECT_TRUE(deno_execute(d, "a.js", "pubReturnBar()"));
|
||||
EXPECT_TRUE(deno_execute(d, "a.js", "SubReturnBar()"));
|
||||
EXPECT_EQ(count, 1);
|
||||
deno_dispose(d);
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue