Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
Further pir:: removal in serialization tests.
  • Loading branch information
jnthn committed Feb 24, 2013
1 parent 6d196e4 commit 7ced180
Show file tree
Hide file tree
Showing 3 changed files with 38 additions and 23 deletions.
29 changes: 17 additions & 12 deletions t/serialization/01-basic.t
Expand Up @@ -2,6 +2,11 @@

plan(66);

sub add_to_sc($sc, $idx, $obj) {
nqp::scsetobj($sc, $idx, $obj);
nqp::setobjsc($obj, $sc);
}

# Serializing an empty SC.
{
my $sc := nqp::createsc('TEST_SC_1_IN');
Expand All @@ -24,7 +29,7 @@ plan(66);

class T1 is repr('P6int') { }
my $v1 := nqp::box_i(42, T1);
pir::nqp_add_object_to_sc__vPiP($sc, 0, $v1);
add_to_sc($sc, 0, $v1);

my $serialized := nqp::serialize($sc, $sh);
ok(nqp::chars($serialized) > 36, 'serialized SC with P6int output longer than a header');
Expand All @@ -44,7 +49,7 @@ plan(66);

class T2 is repr('P6num') { }
my $v := nqp::box_n(6.9, T2);
pir::nqp_add_object_to_sc__vPiP($sc, 0, $v);
add_to_sc($sc, 0, $v);

my $serialized := nqp::serialize($sc, $sh);
ok(nqp::chars($serialized) > 36, 'serialized SC with P6num output longer than a header');
Expand All @@ -64,7 +69,7 @@ plan(66);

class T3 is repr('P6str') { }
my $v := nqp::box_s('dugong', T3);
pir::nqp_add_object_to_sc__vPiP($sc, 0, $v);
add_to_sc($sc, 0, $v);

my $serialized := nqp::serialize($sc, $sh);
ok(nqp::chars($serialized) > 36, 'serialized SC with P6str output longer than a header');
Expand Down Expand Up @@ -101,7 +106,7 @@ plan(66);
method c() { $!c }
}
my $v := T4.new();
pir::nqp_add_object_to_sc__vPiP($sc, 0, $v);
add_to_sc($sc, 0, $v);

my $serialized := nqp::serialize($sc, $sh);
ok(nqp::chars($serialized) > 36, 'serialized SC with P6opaque output longer than a header');
Expand Down Expand Up @@ -132,8 +137,8 @@ plan(66);
my $v2 := T5.new();
$v1.set_x($v2);
$v2.set_x($v1);
pir::nqp_add_object_to_sc__vPiP($sc, 0, $v1);
pir::nqp_add_object_to_sc__vPiP($sc, 1, $v2);
add_to_sc($sc, 0, $v1);
add_to_sc($sc, 1, $v2);

my $serialized := nqp::serialize($sc, $sh);
ok(nqp::chars($serialized) > 36, 'serialized SC with P6opaque output longer than a header');
Expand Down Expand Up @@ -174,7 +179,7 @@ plan(66);
$v3.set_v(40);

# Here, we only add *one* of the three explicitly to the SC.
pir::nqp_add_object_to_sc__vPiP($sc, 0, $v1);
add_to_sc($sc, 0, $v1);
my $serialized := nqp::serialize($sc, $sh);

my $dsc := nqp::createsc('TEST_SC_7_OUT');
Expand Down Expand Up @@ -215,7 +220,7 @@ plan(66);
method c() { $!c }
}
my $v := T7.new();
pir::nqp_add_object_to_sc__vPiP($sc, 0, $v);
add_to_sc($sc, 0, $v);

my $serialized := nqp::serialize($sc, $sh);

Expand Down Expand Up @@ -250,7 +255,7 @@ plan(66);
method b() { $!b }
}
my $v := T8.new();
pir::nqp_add_object_to_sc__vPiP($sc, 0, $v);
add_to_sc($sc, 0, $v);

my $serialized := nqp::serialize($sc, $sh);

Expand Down Expand Up @@ -291,7 +296,7 @@ plan(66);
method a() { $!a }
}
my $v := T9.new();
pir::nqp_add_object_to_sc__vPiP($sc, 0, $v);
add_to_sc($sc, 0, $v);

my $serialized := nqp::serialize($sc, $sh);

Expand Down Expand Up @@ -326,7 +331,7 @@ plan(66);
method a() { $!a }
}
my $v := T10.new();
pir::nqp_add_object_to_sc__vPiP($sc, 0, $v);
add_to_sc($sc, 0, $v);

my $serialized := nqp::serialize($sc, $sh);

Expand Down Expand Up @@ -362,7 +367,7 @@ plan(66);
method a() { $!a }
}
my $v := T11.new();
pir::nqp_add_object_to_sc__vPiP($sc, 0, $v);
add_to_sc($sc, 0, $v);

my $serialized := nqp::serialize($sc, $sh);

Expand Down
21 changes: 13 additions & 8 deletions t/serialization/02-types.t
Expand Up @@ -4,6 +4,11 @@ use nqpmo;

plan(31);

sub add_to_sc($sc, $idx, $obj) {
nqp::scsetobj($sc, $idx, $obj);
nqp::setobjsc($obj, $sc);
}

# Serializing a knowhow with no attributes and no methods; P6int REPR
# (very simple REPR).
{
Expand All @@ -12,8 +17,8 @@ plan(31);

my $type := pir::get_knowhow__P().new_type(:name('Badger'), :repr('P6int'));
$type.HOW.compose($type);
pir::nqp_add_object_to_sc__vPiP($sc, 0, $type);
pir::nqp_add_object_to_sc__vPiP($sc, 1, nqp::box_i(42, $type));
add_to_sc($sc, 0, $type);
add_to_sc($sc, 1, nqp::box_i(42, $type));

my $serialized := nqp::serialize($sc, $sh);

Expand All @@ -37,11 +42,11 @@ plan(31);
my $type := pir::get_knowhow__P().new_type(:name('Dugong'), :repr('P6opaque'));
$type.HOW.add_attribute($type, pir::get_knowhow_attribute__P().new(name => '$!home'));
$type.HOW.compose($type);
pir::nqp_add_object_to_sc__vPiP($sc, 0, $type);
add_to_sc($sc, 0, $type);

my $instance := nqp::create($type);
nqp::bindattr($instance, $type, '$!home', 'Sea');
pir::nqp_add_object_to_sc__vPiP($sc, 1, $instance);
add_to_sc($sc, 1, $instance);

my $serialized := nqp::serialize($sc, $sh);

Expand All @@ -68,13 +73,13 @@ plan(31);
$type.HOW.add_attribute($type, NQPAttribute.new(name => '$!weight', type => num));
$type.HOW.add_parent($type, NQPMu);
$type.HOW.compose($type);
pir::nqp_add_object_to_sc__vPiP($sc, 0, $type);
add_to_sc($sc, 0, $type);

my $instance := nqp::create($type);
nqp::bindattr_s($instance, $type, '$!eats', 'mushrooms');
nqp::bindattr_i($instance, $type, '$!age', 5);
nqp::bindattr_n($instance, $type, '$!weight', 2.3);
pir::nqp_add_object_to_sc__vPiP($sc, 1, $instance);
add_to_sc($sc, 1, $instance);

my $serialized := nqp::serialize($sc, $sh);

Expand Down Expand Up @@ -125,11 +130,11 @@ plan(31);
$type.HOW.add_method($type, 'intro', $m2);
$type.HOW.add_parent($type, NQPMu);
$type.HOW.compose($type);
pir::nqp_add_object_to_sc__vPiP($sc, 0, $type);
add_to_sc($sc, 0, $type);

my $instance := nqp::create($type);
nqp::bindattr($instance, $type, '$!name', 'Bob');
pir::nqp_add_object_to_sc__vPiP($sc, 1, $instance);
add_to_sc($sc, 1, $instance);

my $serialized := nqp::serialize($sc, $sh);

Expand Down
11 changes: 8 additions & 3 deletions t/serialization/03-closures.t
Expand Up @@ -4,6 +4,11 @@ use nqpmo;

plan(9);

sub add_to_sc($sc, $idx, $obj) {
nqp::scsetobj($sc, $idx, $obj);
nqp::setobjsc($obj, $sc);
}

# Serializing a type where some methods are clones; no dependency on outers
# just yet.
{
Expand All @@ -21,7 +26,7 @@ plan(9);
$type.HOW.add_method($type, 'original', $m1);
$type.HOW.add_method($type, 'cloned', $m2);
$type.HOW.compose($type);
pir::nqp_add_object_to_sc__vPiP($sc, 0, $type);
add_to_sc($sc, 0, $type);

my $serialized := nqp::serialize($sc, $sh);

Expand Down Expand Up @@ -62,12 +67,12 @@ plan(9);
my $type1 := pir::get_knowhow__P().new_type(:name('RoleLikeTest1'), :repr('P6opaque'));
$type1.HOW.add_method($type1, 'm', $m1);
$type1.HOW.compose($type1);
pir::nqp_add_object_to_sc__vPiP($sc, 0, $type1);
add_to_sc($sc, 0, $type1);

my $type2 := pir::get_knowhow__P().new_type(:name('RoleLikeTest2'), :repr('P6opaque'));
$type2.HOW.add_method($type2, 'm', $m2);
$type2.HOW.compose($type2);
pir::nqp_add_object_to_sc__vPiP($sc, 1, $type2);
add_to_sc($sc, 1, $type2);

my $serialized := nqp::serialize($sc, $sh);

Expand Down

0 comments on commit 7ced180

Please sign in to comment.