MCPcopy Create free account
hub / github.com/emscripten-core/emscripten / main

Function main

test/embind/test_val.cpp:42–462  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

40}
41
42int main() {
43 printf("start\n");
44 Dummy *dummy;
45
46 test("val array()");
47 val::global().set("a", val::array());
48 ensure_js("a instanceof Array");
49 ensure_js_not("a instanceof Boolean");
50 ensure_js_not("a instanceof Number");
51
52 test("template<typename T> val array(const std::vector<T> vec)");
53 vector<val> vec1;
54 vec1.push_back(val(11));
55 vec1.push_back(val("a"));
56 vec1.push_back(val::array());
57 val::global().set("a", val::array(vec1));
58 ensure_js("a instanceof Array");
59 ensure_js_not("a instanceof Boolean");
60 ensure_js_not("a instanceof Number");
61 ensure_js("a[0] == 11");
62 ensure_js_not("a[0] == 12");
63 ensure_js("a[1] == 'a'");
64 ensure_js("a[2] instanceof Array");
65 vector<int> vec2;
66 vec2.push_back(0);
67 vec2.push_back(1);
68 vec2.push_back(3);
69 val::global().set("a", val::array(vec2));
70 ensure_js("a instanceof Array");
71 ensure_js_not("a instanceof Number");
72 ensure_js("a[0] == 0");
73 ensure_js_not("a[0] == 1");
74 ensure_js("a[1] == 1");
75 ensure_js("a[2] == 3");
76 ensure_js_not("a[2] == 2");
77 vector<int> vec2_from_iter;
78 for (val&& v : val::global("a")) {
79 vec2_from_iter.push_back(v.as<int>());
80 }
81 ensure(vec2 == vec2_from_iter);
82
83 test("template<typename Iter> val array(Iter begin, Iter end)");
84 val::global().set("a", val::array(vec1.begin(), vec1.end()));
85 ensure_js("a instanceof Array");
86 ensure_js_not("a instanceof Boolean");
87 ensure_js_not("a instanceof Number");
88 ensure_js("a[0] == 11");
89 ensure_js_not("a[0] == 12");
90 ensure_js("a[1] == 'a'");
91 ensure_js("a[2] instanceof Array");
92 val::global().set("a", val::array(vec2.begin(), vec2.end()));
93 ensure_js("a instanceof Array");
94 ensure_js_not("a instanceof Number");
95 ensure_js("a[0] == 0");
96 ensure_js_not("a[0] == 1");
97 ensure_js("a[1] == 1");
98 ensure_js("a[2] == 3");
99 ensure_js_not("a[2] == 2");

Callers

nothing calls this directly

Calls 15

printfFunction · 0.85
globalFunction · 0.85
ensure_jsFunction · 0.85
ensureFunction · 0.85
undefinedFunction · 0.85
nullFunction · 0.85
moveFunction · 0.85
allow_raw_pointersClass · 0.85
testFunction · 0.70
EM_ASMFunction · 0.70
setMethod · 0.65
push_backMethod · 0.65

Tested by

no test coverage detected