fix codetest failure - ASSERT_ARGS does not have a ; after and
[parrot.git] / t / library / test_class.t
blob33215bb9933f043adb57af41ff4dffc8b955756a
1 #!./parrot
2 # Copyright (C) 2008-2010, Parrot Foundation.
3 # $Id$
5 .sub 'init_test_builder_tester'
6     load_bytecode 'Test/Builder/Tester.pbc'
8     .local pmc exports, curr_namespace, test_namespace
9     curr_namespace = get_namespace
10     test_namespace = get_root_namespace [ 'parrot'; 'Test'; 'Builder'; 'Tester' ]
11     exports        = split ' ', 'plan test_out test_diag test_test'
12     test_namespace.'export_to'( curr_namespace, exports )
13 .end
15 .sub 'init_test_more'
16     load_bytecode 'runtime/parrot/library/Test/More.pbc'
18     # get the testing functions
19     .local pmc exports, curr_namespace, test_namespace
20     curr_namespace = get_namespace [ 'Foo' ]
21     test_namespace = get_root_namespace [ 'parrot'; 'Test'; 'More' ]
22     exports        = split ' ', 'diag ok is is_deeply like isa_ok skip'
24     test_namespace.'export_to'(curr_namespace, exports)
25 .end
27 .sub 'init_test_class'
28     load_bytecode 'Test/Class.pbc'
29 .end
31 .sub 'main' :main
32     init_test_builder_tester()
33     init_test_more()
34     init_test_class()
36     .local pmc class
37     class = subclass [ 'Test'; 'Class' ], 'Foo'
39     .local pmc obj
40     obj = class.'new'()
42     plan( 1 )
43     test_out( '1..13' )
44     test_out( 'ok 1 - startup called' )
45     test_out( 'ok 2 - setup one' )
46     test_out( 'ok 3 - setup two' )
47     test_out( 'ok 4 - foo first' )
48     test_out( 'ok 5 - foo second' )
49     test_out( 'ok 6 - foo third' )
50     test_out( 'ok 7 - tearing down' )
51     test_out( 'ok 8 - setup one' )
52     test_out( 'ok 9 - setup two' )
53     test_out( 'ok 10 - bar second' )
54     test_out( 'ok 11 - bar third' )
55     test_out( 'ok 12 - tearing down' )
56     test_out( 'ok 13 - shutdown called' )
58     obj.'runtests'()
60     test_test( 'tests run in proper order, test plan expressed, tests wrapped' )
61 .end
63 .namespace [ 'Foo' ]
65 .sub 'init' :vtable :method
66     self.'add_startup'( 'startup',   'tests' => 1 )
67     self.'add_shutdown'( 'shutdown', 'tests' => 1 )
68     self.'add_setup'( 'setup',       'tests' => 2 )
69     self.'add_teardown'( 'teardown', 'tests' => 1 )
70     self.'add_test'( 'test_foo',     'tests' => 3 )
71     self.'add_test'( 'test_bar',     'tests' => 2 )
72 .end
74 .sub 'startup' :method
75     ok( 1, 'startup called' )
76 .end
78 .sub 'shutdown' :method
79     ok( 1, 'shutdown called' )
80 .end
82 .sub 'setup' :method
83     ok( 1, 'setup one' )
84     ok( 1, 'setup two' )
85 .end
87 .sub 'teardown' :method
88     ok( 1, 'tearing down' )
89 .end
91 .sub 'test_foo' :method
92     ok( 1, 'foo first' )
93     ok( 2, 'foo second' )
94     ok( 3, 'foo third' )
95 .end
97 .sub 'test_bar' :method
98     ok( 4, 'bar second' )
99     ok( 5, 'bar third' )
100 .end
102 # Local Variables:
103 #   mode: pir
104 #   fill-column: 100
105 # End:
106 # vim: expandtab shiftwidth=4 ft=pir: