Update TODO
[tapir.git] / t / 01-parse_plan.t
blob8b03f06a3b568eea6d5ebabdecd9d23e713b5700
1 #!/usr/bin/env parrot
4 .sub main :main
5     .include 'test_more.pir'
6     .local pmc tapir, klass
7     load_bytecode 'lib/Tapir/Parser.pbc'
8     load_bytecode 'lib/Tapir/Stream.pbc'
10     plan(11)
12     # setup test data
13     klass = newclass [ 'Tapir'; 'Parser' ]
14     tapir = klass.'new'()
16     # run tests
17     test_parse_plan(tapir)
18     test_parse_invalid_plan(tapir)
19 .end
22 .sub test_parse_plan
23     .param pmc tapir
24     .local int num_tests
26     num_tests = tapir.'parse_plan'("1..5")
27     is(num_tests,5,'parse_plan can parse a simple plan')
29     num_tests = tapir.'parse_plan'("1..1")
30     is(num_tests,1,'parse_plan can parse a single test plan')
32     num_tests = tapir.'parse_plan'("1..0")
33     is(num_tests,0,'parse_plan can parse a no-test plan')
35 .end
37 .sub test_parse_invalid_plan
38     .param pmc tapir
39     .local int num_tests
41     # these are not valid and should cause an "invalid plan" error
42     num_tests = tapir.'parse_plan'("-42..0")
43     is(num_tests,-1,'parse_plan indicates an invalid plan for -42..0')
45     num_tests = tapir.'parse_plan'("-42..42")
46     is(num_tests,-1,'parse_plan indicates an invalid plan for -42..42')
48     num_tests = tapir.'parse_plan'("0..1")
49     is(num_tests,-1,'parse_plan indicates an invalid plan for 0..1')
51     num_tests = tapir.'parse_plan'("1...69")
52     is(num_tests,-1,'parse_plan indicates an invalid plan for 1...69')
54     num_tests = tapir.'parse_plan'("1..")
55     is(num_tests,-1,'parse_plan indicates an invalid plan for 1..')
57     num_tests = tapir.'parse_plan'("1.2..69")
58     is(num_tests,-1,'parse_plan indicates an invalid plan for 1.2..69')
60     num_tests = tapir.'parse_plan'("This is not even close to a valid plan!")
61     is(num_tests,-1,'parse_plan indicates an invalid plan for junk')
63     num_tests = tapir.'parse_plan'("....2")
64     is(num_tests,-1,'parse_plan indicates an invalid plan for ....2')
65 .end
67 # Local Variables:
68 #   mode: pir
69 #   fill-column: 100
70 # End:
71 # vim: expandtab shiftwidth=4 ft=pir: