|
|
|
/*===
|
|
|
|
*** test_basic (duk_safe_call)
|
|
|
|
0: 1 0
|
|
|
|
1: 1 0
|
|
|
|
2: 1 1
|
|
|
|
3: 1 1
|
|
|
|
4: 1 1
|
|
|
|
5: 1 0
|
|
|
|
6: 1 0
|
|
|
|
7: 1 0
|
|
|
|
8: 1 0
|
|
|
|
9: 1 0
|
|
|
|
10: 1 0
|
|
|
|
11: 1 0
|
|
|
|
12: 1 0
|
|
|
|
13: 1 0
|
|
|
|
14: 1 0
|
|
|
|
15: 1 0
|
|
|
|
16: 1 0
|
|
|
|
17: 1 0
|
|
|
|
18: 1 0
|
|
|
|
19: 1 0
|
|
|
|
20: 1 0
|
|
|
|
21: 1 0
|
|
|
|
22: 1 0
|
|
|
|
23: 1 1
|
|
|
|
24: 0 0
|
|
|
|
final top: 24
|
|
|
|
==> rc=0, result='undefined'
|
|
|
|
===*/
|
|
|
|
|
|
|
|
static duk_ret_t test_basic(duk_context *ctx, void *udata) {
|
|
|
|
duk_idx_t i, n;
|
|
|
|
|
|
|
|
(void) udata;
|
|
|
|
|
|
|
|
duk_push_string(ctx, "");
|
|
|
|
duk_push_string(ctx, "foo");
|
|
|
|
duk_push_string(ctx, "\x80" "bar");
|
|
|
|
duk_push_string(ctx, "\x81" "quux");
|
|
|
|
duk_push_string(ctx, "\x82" "baz");
|
|
|
|
duk_push_string(ctx, "\x83" "notsymbol"); /* 0x83 to 0xbf are reserved but not symbols, sample some values */
|
|
|
|
duk_push_string(ctx, "\x84" "notsymbol");
|
|
|
|
duk_push_string(ctx, "\x85" "notsymbol");
|
|
|
|
duk_push_string(ctx, "\x86" "notsymbol");
|
|
|
|
duk_push_string(ctx, "\x87" "notsymbol");
|
|
|
|
duk_push_string(ctx, "\x88" "notsymbol");
|
|
|
|
duk_push_string(ctx, "\x89" "notsymbol");
|
|
|
|
duk_push_string(ctx, "\x8a" "notsymbol");
|
|
|
|
duk_push_string(ctx, "\x8b" "notsymbol");
|
|
|
|
duk_push_string(ctx, "\x8c" "notsymbol");
|
|
|
|
duk_push_string(ctx, "\x8d" "notsymbol");
|
|
|
|
duk_push_string(ctx, "\x8e" "notsymbol");
|
|
|
|
duk_push_string(ctx, "\x8f" "notsymbol");
|
|
|
|
duk_push_string(ctx, "\x9f" "notsymbol");
|
|
|
|
duk_push_string(ctx, "\xaf" "notsymbol");
|
|
|
|
duk_push_string(ctx, "\xbf" "notsymbol");
|
|
|
|
duk_push_string(ctx, "\xc0" "quuuux");
|
|
|
|
duk_push_string(ctx, "\xfe" "quuuuux");
|
|
|
|
duk_push_string(ctx, "\xff" "quuuuuux");
|
|
|
|
|
|
|
|
for (i = 0, n = duk_get_top(ctx) + 1; i < n; i++) {
|
|
|
|
printf("%ld: %ld %ld\n", (long) i, (long) duk_is_string(ctx, i), (long) duk_is_symbol(ctx, i));
|
|
|
|
}
|
|
|
|
|
|
|
|
printf("final top: %ld\n", (long) duk_get_top(ctx));
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
void test(duk_context *ctx) {
|
|
|
|
TEST_SAFE_CALL(test_basic);
|
|
|
|
}
|