4
method () is parrot_vtable('get_number') { 123.0 }
5
method () is parrot_vtable('get_string') { 'abc' }
11
ok($abc == 123, "get_number vtable works");
12
ok($abc eq 'abc', "get_string vtable works");
15
method () is parrot_vtable('get_string') { 'def' }
19
ok($def == 123, "get_number vtable from parent works");
20
ok($def eq 'def', "get_string vtable as override works");
24
method init() { %!h := nqp::hash() }
25
method ($k) is parrot_vtable('get_pmc_keyed_str') { %!h{$k}}
26
method ($k, $v) is parrot_vtable('set_pmc_keyed_str') { %!h{$k} := $v }
27
method ($k) is parrot_vtable('exists_keyed_str') { nqp::existskey(%!h, $k) }
28
method ($k) is parrot_vtable('delete_keyed_str') { nqp::deletekey(%!h, $k) }
31
my $h := Hashy.new; $h.init();
34
ok($h<foo> eq 'bar', '{set,get}_pmc_keyed_str');
35
ok(nqp::existskey($h, 'foo'), 'exists');
36
nqp::deletekey($h, 'foo');
37
ok(!nqp::existskey($h, 'foo'), 'delete');
41
method init() { @!a := nqp::list() }
42
method ($k) is parrot_vtable('get_pmc_keyed_int') { @!a{$k}}
43
method ($k, $v) is parrot_vtable('set_pmc_keyed_int') { @!a{$k} := $v }
44
method ($k) is parrot_vtable('exists_keyed_int') { nqp::existspos(@!a, $k) }
45
method ($k) is parrot_vtable('delete_keyed_int') { nqp::deletepos(@!a, $k) }
48
my $a := Arrayy.new; $a.init();
51
ok($a[0] eq 'bar', '{set,get}_pmc_keyed_int');
52
ok(nqp::existspos($a, 0), 'exists');
53
nqp::deletepos($a, 0);
54
ok(!nqp::existspos($a, 0), 'delete');