diff --git a/S02-lexical-conventions/unicode.t b/S02-lexical-conventions/unicode.t index 5a2ae37d5a..3078d5ce7a 100644 --- a/S02-lexical-conventions/unicode.t +++ b/S02-lexical-conventions/unicode.t @@ -110,7 +110,7 @@ is((do { my $दूसरा = 2; sub टोटल ($x) { $x + 2 }; टोटल # L #?rakudo: todo 'PS does not work to separate lines' -#?niecza skip 'PS does not work to separate lines' +#?niecza todo 'PS does not work to separate lines' eval_lives_ok "\{ 1 \} \x2029 \{ 1 \}", "Unicode 2029 can terminate lines"; # L diff --git a/S02-names/caller.t b/S02-names/caller.t index da8bf19f0e..3516968e50 100644 --- a/S02-names/caller.t +++ b/S02-names/caller.t @@ -84,7 +84,7 @@ plan 18; } my $abs = 23; - #?niecza skip 'strictness' + #?niecza todo 'strictness' dies_ok { bar() }, 'vars not declared "is dynamic" are not accessible via $CALLER::'; } diff --git a/S02-types/array.t b/S02-types/array.t index 9e4a881461..0cbf4af4ab 100644 --- a/S02-types/array.t +++ b/S02-types/array.t @@ -158,11 +158,11 @@ my @array2 = ("test", 1, Mu); ok(eval('@array11[2,0] = 12'), "push the value to a multidimension array"); } -#?niecza skip "type constraints" { # declare the array with data type my Int @array; lives_ok { @array[0] = 23 }, "stuffing Ints in an Int array works"; + #?niecza todo "type constraints" dies_ok { @array[1] = $*ERR }, "stuffing IO in an Int array does not work"; } @@ -243,7 +243,7 @@ my @array2 = ("test", 1, Mu); eval_dies_ok '@arr[-1]', "readonly accessing [-1] of normal array is compile-time error"; #?rakudo todo '@arr[-1] returns failure, not dies' - #?niecza skip '@arr[-1] returns undef' + #?niecza todo '@arr[-1] returns undef' dies_ok { @arr[ $minus_one ] }, "indirectly accessing [-1] " ~ "through a variable is run-time error"; dies_ok { @arr[$minus_one] = 42 }, "assigning to [-1] of a normal array is fatal"; diff --git a/S02-types/hash.t b/S02-types/hash.t index 400762022f..e7c09110c5 100644 --- a/S02-types/hash.t +++ b/S02-types/hash.t @@ -247,7 +247,7 @@ lives_ok { Hash.new("a" => "b") }, 'Hash.new($pair) lives'; } # Zen slices work on hashes too -#?niecza skip 'Use of uninitialized value in string context' +#?niecza todo 'Use of uninitialized value in string context' { my %h = { a => 1, b => 2, c => 3}; is %h{*}.join('|'), %h.values.join('|'), '{*} zen slice'; diff --git a/S02-types/mixed_multi_dimensional.t b/S02-types/mixed_multi_dimensional.t index 9b1636f8a5..f8c0bee335 100644 --- a/S02-types/mixed_multi_dimensional.t +++ b/S02-types/mixed_multi_dimensional.t @@ -206,7 +206,7 @@ Some deeper tests were already added. #?rakudo 2 todo 'unknown' #?niecza todo is(+@array[1][0], 2, "two keys at level 4"); - #?niecza skip 'Use of uninitialized value in string context' + #?niecza todo 'Use of uninitialized value in string context' is(@array[1][0], 5, "more keys at level 4"); } diff --git a/S02-types/num.t b/S02-types/num.t index 7ccb35e4c7..dd09537209 100644 --- a/S02-types/num.t +++ b/S02-types/num.t @@ -40,35 +40,30 @@ is_approx( eval((-1.1).perl), -1.1, 'eval -1.1.Num.perl is -1.1' ); { my $a = 1 / 1; isa_ok($a, Rat); - #?niecza todo is(~$a, "1", '1/1 stringification works'); } { my $a = -1.0; isa_ok($a, Rat); - #?niecza todo is($a, "-1", '-1 stringification works'); } { my $a = 0.1; isa_ok($a, Rat); - #?niecza todo is($a, "0.1", '0.1 stringification works'); } { my $a = -0.1; "$a"; isa_ok($a, Rat); - #?niecza todo is($a, "-0.1", '-0.1 stringification works'); } { my $a = 10.01; "$a"; isa_ok($a, Rat); - #?niecza todo is($a, "10.01", '10.01 stringification works'); } @@ -154,7 +149,6 @@ isa_ok(1 / 1, Rat); } #L and C Types/Perl 6 intrinsically supports big integers> -#?niecza skip 'System.FormatException: Unknown char: d' { my $a = "1.01"; isa_ok($a.Int, Int); diff --git a/S03-metaops/reduce.t b/S03-metaops/reduce.t index 049f8f96ef..fc54b920b9 100644 --- a/S03-metaops/reduce.t +++ b/S03-metaops/reduce.t @@ -88,7 +88,7 @@ L<"http://groups.google.de/group/perl.perl6.language/msg/bd9eb275d5da2eda"> is ~ ([\>] 4, 2, 3, 1).map({+$_}), "1 1 0 0", "[\\>] works (2)"; is ~ ([\==] 4, 4, 4).map({+$_}), "1 1 1", "[\\==] works (1)"; is ~ ([\==] 4, 5, 4).map({+$_}), "1 0 0", "[\\==] works (2)"; - #?niecza 2 skip 'this is parsed as ![=], not good' + #?niecza 2 todo 'this is parsed as ![=], not good' is ~ ([\!=] 4, 5, 6).map({+$_}), "1 1 1", "[\\!=] works (1)"; is ~ ([\!=] 4, 5, 5).map({+$_}), "1 1 0", "[\\!=] works (2)"; is (~ [\**] 1, 2, 3), "3 8 1", "[\\**] (right assoc) works (1)"; @@ -98,7 +98,7 @@ L<"http://groups.google.de/group/perl.perl6.language/msg/bd9eb275d5da2eda"> # RT #76110 { is ~([\+] [\+] 1 xx 5), '1 3 6 10 15', 'two nested [\+]'; - #?niecza skip 'unary [] does not context yet' + #?niecza todo 'unary [] does not context yet' is ([+] [1, 2, 3, 4]), 4, '[+] does not flatten []-arrays'; } @@ -168,9 +168,9 @@ L<"http://groups.google.de/group/perl.perl6.language/msg/bd9eb275d5da2eda"> } # Following two tests taken verbatim from former t/operators/reduce.t -#?niecza 2 skip 'These are hyperop tests!' lives_ok({my @foo = [1..3] >>+<< [1..3] >>+<< [1..3]},'Sanity Check'); #?rakudo todo 'reduced hyper op' +#?niecza todo 'These are hyperop tests!' lives_ok({my @foo = [>>+<<] ([1..3],[1..3],[1..3])},'Parse [>>+<<]'); # Check that user defined infix ops work with [...], too. @@ -196,7 +196,7 @@ lives_ok({my @foo = [>>+<<] ([1..3],[1..3],[1..3])},'Parse [>>+<<]'); # L -#?niecza skip '[*] identity' +#?niecza todo '[*] identity' is( ([*]()), 1, "[*]() returns 1"); is( ([+]()), 0, "[+]() returns 0"); diff --git a/S03-metaops/reverse.t b/S03-metaops/reverse.t index 637ad8a8dc..22a5d24708 100644 --- a/S03-metaops/reverse.t +++ b/S03-metaops/reverse.t @@ -53,9 +53,7 @@ is 4 Rcmp 5, 5 cmp 4, "4 Rcmp 5"; isa_ok 4 Rcmp 5, (5 cmp 4).WHAT, "4 Rcmp 5 is the same type as 5 cmp 4"; # precedence tests! -#?niecza todo is 3 R/ 9 + 5, 8, 'R/ gets precedence of /'; -#?niecza todo is 4 R- 5 R/ 10, -2, "Rop gets the precedence of op"; is (9 R... 1, 3), (1, 3, 5, 7, 9), "Rop gets list_infix precedence correctly"; diff --git a/S03-operators/binding-scalars.t b/S03-operators/binding-scalars.t index 97f1098152..7216882dfb 100644 --- a/S03-operators/binding-scalars.t +++ b/S03-operators/binding-scalars.t @@ -96,13 +96,13 @@ plan 30; $b($val); is $a, 42, "bound readonly sub param was bound correctly (1)"; $val++; - #?niecza skip "difference of interpretation on ro binding" + #?niecza todo "difference of interpretation on ro binding" #?rakudo todo 'nom regression' is $a, 43, "bound readonly sub param was bound correctly (2)"; dies_ok { $a = 23 }, "bound readonly sub param remains readonly (1)"; - #?niecza skip "difference of interpretation on ro binding" + #?niecza todo "difference of interpretation on ro binding" #?rakudo todo 'nom regression' is $a, 43, "bound readonly sub param remains readonly (2)"; diff --git a/S03-operators/range-basic.t b/S03-operators/range-basic.t index 3d2825de1f..e943334097 100644 --- a/S03-operators/range-basic.t +++ b/S03-operators/range-basic.t @@ -191,9 +191,9 @@ nok 'a' ~~ 'b'..'g', "not 'a' ~~ 'b'..'g'"; nok 'h' ~~ 'b'..'g', "not 'h' ~~ 'b'..'g'"; nok 0 ~~ 'a'..'g', "not 0 ~~ 'a'..'g'"; -#?niecza 4 skip 'alphabetic/* ranges' ok 'd' ~~ 'c'..*, "'d' ~~ 'c'..*"; nok 'b' ~~ 'c'..*, "not 'b' ~~ 'c'..*"; +#?niecza todo 'alphabetic/* ranges' ok 'b' ~~ *..'c', "'b' ~~ *..'c'"; nok 'd' ~~ *..'c', "not 'd' ~~ *..'c'"; diff --git a/S03-operators/range.t b/S03-operators/range.t index 80d1568c52..e8c0402026 100644 --- a/S03-operators/range.t +++ b/S03-operators/range.t @@ -98,7 +98,6 @@ is (1..6 Z 'a' .. 'c').join, '1a2b3c', 'Ranges and infix:'; # 16:16 ~(1.9 ^..^ 4.9) should produce 2.9, 3.9 # 16:17 and ~(1.9 ^..^ 4.5) would produce the same? # 16:17 yes - #?niecza 4 todo is ~(1.1 .. 4) , "1.1 2.1 3.1", "range with float .min"; is ~(1.9 .. 4) , "1.9 2.9 3.9", "range with float .min"; is ~(1.1 ^.. 4), "2.1 3.1" , "bottom exclusive range of float"; @@ -109,13 +108,11 @@ is (1..6 Z 'a' .. 'c').join, '1a2b3c', 'Ranges and infix:'; is ~(1 ..^ 4.1), "1 2 3 4", "top exclusive range of float"; is ~(1 ..^ 4.9), "1 2 3 4", "top exclusive range of float"; - #?niecza 4 todo is ~(1.1 .. 4.1), "1.1 2.1 3.1 4.1", "range with float .min/.max"; is ~(1.9 .. 4.1), "1.9 2.9 3.9" , "range with float .min/.max"; is ~(1.1 .. 4.9), "1.1 2.1 3.1 4.1", "range with float .min/.max"; is ~(1.9 .. 4.9), "1.9 2.9 3.9 4.9", "range with float .min/.max"; - #?niecza 4 todo is ~(1.1 ^..^ 4.1), "2.1 3.1" , "both exclusive float range"; is ~(1.9 ^..^ 4.1), "2.9 3.9" , "both exclusive float range"; is ~(1.1 ^..^ 4.9), "2.1 3.1 4.1", "both exclusive float range"; diff --git a/S03-operators/subscript-adverbs.t b/S03-operators/subscript-adverbs.t index a9830e3033..95a59dd7f5 100644 --- a/S03-operators/subscript-adverbs.t +++ b/S03-operators/subscript-adverbs.t @@ -25,7 +25,7 @@ plan 64; is ~(@array[0,1]:p), "0\ta 1\tB", ":p on an array returned a two-elem array consisting of the correct pairs"; - #?niecza skip 'Cannot use value like Pair as a number' + #?niecza todo 'Cannot use value like Pair as a number' is +(@array[42,23]:p), 0, ":p on an array weeded out non-existing entries (1)"; #?niecza todo is ~(@array[42,23]:p), "", ":p on an array weeded out non-existing entries (2)"; @@ -126,7 +126,7 @@ plan 64; is ~(%hash<0 1>:p), "0\ta 1\tB", ":p on a hash returned a two-elem array consisting of the correct pairs"; - #?niecza skip 'Cannot use value like Pair as a number' + #?niecza todo 'Cannot use value like Pair as a number' is +(%hash<42 23>:p), 0, ":p on a hash weeded out non-existing entries (1)"; #?niecza todo is ~(%hash<42 23>:p), "", ":p on a hash weeded out non-existing entries (2)"; diff --git a/S03-sequence/basic.t b/S03-sequence/basic.t index 9f27fec843..1627f8a890 100644 --- a/S03-sequence/basic.t +++ b/S03-sequence/basic.t @@ -18,7 +18,6 @@ is (1, 3 ... 9).join(', '), '1, 3, 5, 7, 9', 'simple additive sequence with two is (1, 0 ... -3).join(', '), '1, 0, -1, -2, -3', 'simple decreasing additive sequence with two items on the LHS'; is (1, 3, 5 ... 9).join(', '), '1, 3, 5, 7, 9', 'simple additive sequence with three items on the LHS'; is (1, 3, 9 ... 81).join(', '), '1, 3, 9, 27, 81', 'simple multiplicative sequence with three items on the LHS'; -#?niecza todo 'Int-valued Rats written as N/1' is (81, 27, 9 ... 1).join(', '), '81, 27, 9, 3, 1', 'decreasing multiplicative sequence with three items on the LHS'; is (1, { $_ + 2 } ... 9).join(', '), '1, 3, 5, 7, 9', 'simple sequence with one item and block closure on the LHS'; is (1, *+2 ... 9).join(', '), '1, 3, 5, 7, 9', 'simple sequence with one item and * closure on the LHS'; @@ -43,7 +42,6 @@ is (1, 3 ... 10).[^6].join(', '), '1, 3, 5, 7, 9, 11', 'simple additive sequence is (1, 0 ... -3.5).[^6].join(', '), '1, 0, -1, -2, -3, -4', 'simple decreasing additive sequence with two items on the LHS'; is (1, 3, 5 ... 10).[^6].join(', '), '1, 3, 5, 7, 9, 11', 'simple additive sequence with three items on the LHS'; is (1, 3, 9 ... 100).[^6].join(', '), '1, 3, 9, 27, 81, 243', 'simple multiplicative sequence with three items on the LHS'; -#?niecza todo 'Int-valued Rats written as N/1' is (81, 27, 9 ... 8/9).[^6], (81, 27, 9, 3, 1, 1/3), 'decreasing multiplicative sequence with three items on the LHS'; is (1, { $_ + 2 } ... 10).[^6].join(', '), '1, 3, 5, 7, 9, 11', 'simple sequence with one item and block closure on the LHS'; is (1, *+2 ... 10).[^6].join(', '), '1, 3, 5, 7, 9, 11', 'simple sequence with one item and * closure on the LHS'; @@ -65,7 +63,6 @@ is (1, 0 ... *).[^5].join(', '), '1, 0, -1, -2, -3', 'simple decreasing additive is (1, 3, 5 ... *).[^5].join(', '), '1, 3, 5, 7, 9', 'simple additive sequence with three items on the LHS'; is (8, 7, 6 ... *).[^5].join(', '), '8, 7, 6, 5, 4', 'simple decreasing additive sequence with three items on the LHS'; is (1, 3, 9 ... *).[^5].join(', '), '1, 3, 9, 27, 81', 'simple multiplicative sequence with three items on the LHS'; -#?niecza todo 'Int-valued Rats written as N/1' is (81, 27, 9 ... *).[^5].join(', '), '81, 27, 9, 3, 1', 'decreasing multiplicative sequence with three items on the LHS'; is (1, { $_ + 2 } ... *).[^5].join(', '), '1, 3, 5, 7, 9', 'simple sequence with one item and block closure on the LHS'; is (1, *+2 ... *).[^5].join(', '), '1, 3, 5, 7, 9', 'simple sequence with one item and * closure on the LHS'; @@ -123,7 +120,6 @@ is (1, 2 ... 0).[^3], (1,2,3), 'No more: limit value is on the wrong side'; is (1 ...^ -3).join(', '), '1, 0, -1, -2', 'exclusive decreasing sequence'; is (1 ...^ 5.5).[^6].join(', '), '1, 2, 3, 4, 5, 6', "exclusive sequence that couldn't hit its limit anyway"; is (1, 3, 9 ...^ 81).join(', '), '1, 3, 9, 27', 'exclusive geometric sequence'; - #?niecza todo 'Int-valued Rats written as N/1' is (81, 27, 9 ...^ 2).[^5].join(', '), '81, 27, 9, 3, 1', "exclusive decreasing geometric sequence that couldn't hit its limit anyway"; is (2, -4, 8 ...^ 32).join(', '), '2, -4, 8, -16', 'exclusive alternating geometric sequence'; is (2, -4, 8 ...^ -32).[^6].join(', '), '2, -4, 8, -16, 32, -64', 'exclusive alternating geometric sequence (not an exact match)'; diff --git a/S04-declarations/multiple.t b/S04-declarations/multiple.t index 00949d2b3d..2af6c4780a 100644 --- a/S04-declarations/multiple.t +++ b/S04-declarations/multiple.t @@ -28,7 +28,7 @@ eval_dies_ok 'sub foo {1; }; sub foo($x) {1; };', eval_dies_ok 'only sub foo {1; }; sub foo($x) {1; };', 'multiple declarations need multi or proto'; -#?niecza skip "MMD" +#?niecza todo "MMD" #?rakudo todo 'nom regression' eval_lives_ok 'proto foo {1; }; sub foo {1; }; sub foo($x) {1; };', 'multiple declarations need multi or proto'; diff --git a/S04-declarations/my.t b/S04-declarations/my.t index 7996330a56..acbd8bfe42 100644 --- a/S04-declarations/my.t +++ b/S04-declarations/my.t @@ -209,7 +209,7 @@ my $z = 42; #OK not used { my $a; #?rakudo todo 'fails' - #?niecza 2 skip 'still fails?' + #?niecza 2 todo 'still fails?' eval_lives_ok 'do { die "foo";my Int $x;CATCH { default { $a = ?($x ~~ Int) } } }'; #?rakudo todo 'previous test skipped' ok $a, 'unreached declaration in effect at block start'; @@ -238,7 +238,7 @@ my $z = 42; #OK not used my $a = 42; our sub access_lexical_a() { $a } } - #?niecza skip 'NYI' + #?niecza todo 'NYI' is OUR::access_lexical_a(), 42, 'can call our-sub that accesses a lexical after the block was run'; diff --git a/S04-phasers/enter-leave.t b/S04-phasers/enter-leave.t index 0dbd67f1c2..3ee783cc12 100644 --- a/S04-phasers/enter-leave.t +++ b/S04-phasers/enter-leave.t @@ -173,7 +173,7 @@ plan 19; is $str, '1', 'die aborts ENTER queue'; } -#?niecza skip '@!' +#?niecza todo '@!' { my $str; try { diff --git a/S04-phasers/pre-post.t b/S04-phasers/pre-post.t index 9e1d071eba..81c4f43df5 100644 --- a/S04-phasers/pre-post.t +++ b/S04-phasers/pre-post.t @@ -86,7 +86,7 @@ my $foo = PRE_Child.new; lives_ok { $foo.test(5) }, 'PRE in methods compiles and runs'; dies_ok { $foo.test(-42) }, 'PRE in child throws'; -#?niecza skip 'PRE inheritance' +#?niecza todo 'PRE inheritance' dies_ok { $foo.test(78) }, 'PRE in parent throws'; @@ -164,7 +164,7 @@ dies_ok { $pt.test(1) }, 'POST receives return value as $_ (failure)'; is $str, '(', 'failing PRE runs nothing else'; } -#?niecza skip 'I think POST runs LIFO by spec?' +#?niecza todo 'I think POST runs LIFO by spec?' { my $str; try { diff --git a/S04-statement-modifiers/for.t b/S04-statement-modifiers/for.t index 4dc790671d..3b66095c97 100644 --- a/S04-statement-modifiers/for.t +++ b/S04-statement-modifiers/for.t @@ -59,14 +59,14 @@ use Test; is $a, "", 'iterating one variable element works'; } -#?niecza skip "closure for" +#?niecza todo "closure for" { my $a = 0; { $a++ } for 1..3; is $a, 3, 'the closure was called'; } -#?niecza skip "closure for" +#?niecza todo "closure for" { my $a = 0; -> $i { $a += $i } for 1..3; diff --git a/S05-match/positions.t b/S05-match/positions.t index 971d9a72b2..058e47615b 100644 --- a/S05-match/positions.t +++ b/S05-match/positions.t @@ -30,9 +30,7 @@ nok($/.from.defined, 'Match pos is undefined'); my regex Aa { A .* a } #?rakudo 3 skip 'lexical lookup of ' ok($str ~~ m/ .*? /, 'Subrule match from 3'); -#?niecza skip 'System.InvalidCastException: Cannot cast from source type to destination type.' ok($/.from == 0, 'Full match pos is 0'); -#?niecza skip 'Unable to resolve method from in class Any' ok($/.from == 3, 'Subrule match pos is 3'); diff --git a/S06-advanced/caller.t b/S06-advanced/caller.t index afda503366..bb6a9a8b4a 100644 --- a/S06-advanced/caller.t +++ b/S06-advanced/caller.t @@ -10,7 +10,7 @@ use Test; sub a_sub { b_sub() } sub b_sub { try { caller.subname } } #?pugs todo "feature" -#?niecza skip "try interferes with caller counting" +#?niecza todo "try interferes with caller counting" is ~a_sub(), "a_sub", "caller.sub works"; # caller.file @@ -20,7 +20,7 @@ ok index(~(try { caller.file }), "caller") >= 0, "caller.file works"; # caller.line (XXX: make sure to edit the expected line number!) #?pugs 2 todo "feature" sub call_line { caller.line }; -#?niecza skip "fudge messes up the line numbers" +#?niecza todo "fudge messes up the line numbers" is call_line(), 23, "caller.line works"; # pugs: caller exposes a bug in the MMD mechanism where directly using autogenerated diff --git a/S06-signature/errors.t b/S06-signature/errors.t index e242a4065e..59cad7c3c0 100644 --- a/S06-signature/errors.t +++ b/S06-signature/errors.t @@ -25,12 +25,12 @@ eval_lives_ok 'sub quuuux ($!) { ... }', 'but $! is OK'; } # RT #71478 -#?niecza skip 'Excess arguments to MAIN_3 foo, used 1 of 2 positionals' { my $success = try { eval 'sub foo(%h) { %h }; foo(1, 2); 1' }; my $error = "$!"; nok $success, "Passing two arguments to a function expecting one hash is an error"; + #?niecza 3 todo 'error message content' ok $error ~~ / '%h' /, '... error message mentions parameter'; ok $error ~~ /:i 'type' /, '... error message mentions "type"'; ok $error ~~ / Associative /, '... error message mentions "Associative"'; diff --git a/S12-class/stubs.t b/S12-class/stubs.t index 928dd0b8ca..e7287c8873 100644 --- a/S12-class/stubs.t +++ b/S12-class/stubs.t @@ -12,7 +12,7 @@ eval_lives_ok q[ role StubB { ... }; role StubB { method foo { } }; ], eval_lives_ok q[ module StubC { ... }; module StubC { sub foo { } }; ], 'Can stub a module, and later on declare it'; -#?niecza skip 'broken in nom-derived stub model' +#?niecza todo 'broken in nom-derived stub model' #?rakudo todo 'nom regression' eval_lives_ok q[ package StubD { ... }; class StubD { method foo { } }; ], 'Can stub a package, and later on implement it as a method'; diff --git a/S12-enums/basic.t b/S12-enums/basic.t index 13cd73d6b9..3862268857 100644 --- a/S12-enums/basic.t +++ b/S12-enums/basic.t @@ -88,13 +88,13 @@ dies_ok({ my Color $c3 = "for the fail" }, 'enum as a type enforces checks'); } # L Method/"define a .pick method"> -#?niecza skip '.pick and .roll' { lives_ok { my Color $k = Color.pick }, 'Color.pick assigns to Color var'; isa_ok Color.pick, Color.pick.WHAT, 'Color.pick.isa'; ok ?(Color.pick == any(Color::white, Color::gray, Color::black)), '.pick on enums'; + #?niecza todo 'picking multiple elements from an enum' ok Color.pick(2) == 2, '.pick(2) on enums'; } diff --git a/S13-type-casting/methods.t b/S13-type-casting/methods.t index 6a6dda68d3..c248dac282 100644 --- a/S13-type-casting/methods.t +++ b/S13-type-casting/methods.t @@ -12,7 +12,7 @@ class CoercionTest { my $o = CoercionTest.new(); -#?niecza skip 'Stringy' +#?niecza todo 'Stringy' is ~$o, 'foo', 'method Stringy takes care of correct stringification'; ok +$o == 1.2, 'method Numeric takes care of correct numification'; diff --git a/S32-list/pick.t b/S32-list/pick.t index 5fa66036ea..08ffb4ee4b 100644 --- a/S32-list/pick.t +++ b/S32-list/pick.t @@ -89,7 +89,7 @@ is (.pick(*).sort).Str, 'a b c d', 'pick(*) returns all the items in th } # enums + pick -#?niecza skip "pick(*) NYI" +#?niecza todo "pick(*) NYI" { is Bool.pick(*).elems, 2, 'Bool.pick works'; diff --git a/S32-num/power.t b/S32-num/power.t index a576b508fe..bf64e95fd3 100644 --- a/S32-num/power.t +++ b/S32-num/power.t @@ -14,7 +14,6 @@ is(4 ** 2, 16, "4 ** 2 == 16"); is(4 ** 0.5, 2, "4 ** .5 == 2"); is(4 ** (1/2), 2, "4 ** (1/2) == 2 "); -#?niecza skip 'Rat.Str' is(4 ** (-1/2), 0.5, "4 ** (-1/2) == 1/2 "); is((-2) ** 2, 4, "-2 ** 2 = 4"); @@ -30,7 +29,7 @@ is(0 ** NaN, NaN, "0**NaN=NaN"); # Not at all sure the next three cases are correct! -#?niecza 2 skip 'complex NaN stringy' +#?niecza 2 todo 'complex NaN stringy' #?rakudo skip 'NaN**1i should be NaN' is(NaN ** 1i, NaN, "NaN**1i=NaN"); #?rakudo skip '1i**NaN should be NaN' @@ -78,9 +77,9 @@ is_approx (-1) ** -i, 23.1406926327793, "(-1) ** -i is approx 23.1406926327793"; is_approx((4 + 0i) ** (2 + 0i), 4 ** 2, "(4+0i) ** (2+0i) == 16"); # Rat ** a large number -#?niecza 2 skip 'does not work' ok(1.015 ** 200 !~~ NaN, "1.015 ** 200 is not NaN"); #?rakudo todo 'big numbers' +#?niecza todo 'generates NaN' is_approx(1.015 ** 200, 19.6430286394751, "1.015 ** 200 == 19.6430286394751"); done; diff --git a/S32-num/rat.t b/S32-num/rat.t index 08bec46417..4f86638cda 100644 --- a/S32-num/rat.t +++ b/S32-num/rat.t @@ -22,13 +22,9 @@ isa_ok( eval((1/3).perl), Rat, 'eval (1/3).perl is Rat' ); is( (eval (1/3).perl).nude, (1, 3), 'eval (1/3).perl is 1/3' ); # Test ~ -#?niecza todo is(~(Rat.new(1,4)), ~(0.25e0), "Rats stringify properly"); -#?niecza todo is(~(Rat.new(-1,2)), ~(-0.5e0), "Rats stringify properly"); -#?niecza todo is(~(Rat.new(7,4)), ~(1.75e0), "Rats stringify properly"); -#?niecza todo is(~(Rat.new(7,-1)), ~(-7), "Rats stringify properly"); # Test new @@ -78,7 +74,6 @@ isa_ok((2 / 3) / (5 / 4), Rat, "2/3 / 5/4 is a Rat"); is((2 / 3) / 2, 1/3, "2/3 / 2 = 1/3"); is(((2 / 3) / 2).nude, (1, 3), "2/3 / 2 = 1/3 is simplified internally"); isa_ok((2 / 3) / 2, Rat, "2/3 / 2 is a Rat"); -#?niecza todo is(2 / (1 / 3), 6, "2 / 1/3 = 6"); isa_ok(2 / (1 / 3), Rat, "2 / 1/3 is a Rat"); is((2 / (2 / 3)).nude, (3, 1), "2 / 2/3 = 3 is simplified internally"); @@ -147,10 +142,8 @@ is_approx sin(5.0e0), sin(10/2), 'sin(Rat) works'; is NaN.Rat, NaN, "NaN.Rat == NaN"; { -#?niecza todo #?rakudo todo "Inf.Rat" is Inf.Rat, Inf, "Inf.Rat == Inf"; -#?niecza todo #?rakudo todo "Inf.Rat" is (-Inf).Rat, -Inf, "(-Inf).Rat == -Inf"; diff --git a/S32-str/capitalize.t b/S32-str/capitalize.t index 37e545ea42..26195f80ee 100644 --- a/S32-str/capitalize.t +++ b/S32-str/capitalize.t @@ -29,7 +29,7 @@ is "ab cD Ef".capitalize, "Ab Cd Ef", "works on ordinary string"; is capitalize("äöü abcä"), "Äöü Abcä", "capitalize() works on non-ASCII chars";# #?rakudo 2 todo 'graphemes results wrong' -#?niecza 2 skip 'charspec' +#?niecza 2 todo 'charspec' is capitalize("a\c[COMBINING DIAERESIS]üö abcä"), "Äöü Abcä", 'capitalize on string with grapheme precomposed'; is capitalize("a\c[COMBINING DOT ABOVE, COMBINING DOT BELOW] bc"), "A\c[COMBINING DOT BELOW, COMBINING DOT ABOVE] Bc", diff --git a/S32-str/comb.t b/S32-str/comb.t index 61736863fb..43f3628831 100644 --- a/S32-str/comb.t +++ b/S32-str/comb.t @@ -17,7 +17,7 @@ is "a\nb".comb, ('a', "\n", 'b'), 'comb on string with \n'; is "äbcd".comb, <ä b c d>, 'comb on string with non-ASCII letter'; #?rakudo 2 todo 'graphemes not implemented' -#?niecza 2 skip 'charspec' +#?niecza 2 todo 'charspec' is "a\c[COMBINING DIAERESIS]b".comb, ("ä", "b",), 'comb on string with grapheme precomposed'; is( "a\c[COMBINING DOT ABOVE, COMBINING DOT BELOW]b".comb, ("a\c[COMBINING DOT BELOW, COMBINING DOT ABOVE]", "b", ), diff --git a/S32-str/flip.t b/S32-str/flip.t index ff50685b53..61577a823b 100644 --- a/S32-str/flip.t +++ b/S32-str/flip.t @@ -25,7 +25,7 @@ is( 'Hello World !'.flip.flip, 'Hello World !', # flip with unicode : is( '䀻«'.flip, '«»€ä', "some unicode characters" ); -#?niecza 2 skip 'graphemes not implemented' +#?niecza 2 todo 'graphemes not implemented' #?rakudo 2 skip 'graphemes not implemented' is( "a\c[COMBINING DIAERESIS]b".flip, 'bä', "grapheme precomposed" ); is( "a\c[COMBINING DOT ABOVE, COMBINING DOT BELOW]b".flip, diff --git a/S32-str/uc.t b/S32-str/uc.t index eb21034eb0..42096b2bab 100644 --- a/S32-str/uc.t +++ b/S32-str/uc.t @@ -36,7 +36,7 @@ is(uc(lc('HELL..')), 'HELL..', "uc/lc test"); # Unicode 5.1.0 SpecialCasing.txt has 00DF -> 0053 0053 # nothing maps to 1E9E, the new "capital sharp s" # so I think this is right -rhr -#?niecza skip 'German language weirdness' +#?niecza todo 'German language weirdness' is(uc("ß"), "SS", "uc() of non-ascii chars may result in two chars"); { diff --git a/S32-str/words.t b/S32-str/words.t index 66367d6ea4..da00e45de0 100644 --- a/S32-str/words.t +++ b/S32-str/words.t @@ -20,7 +20,7 @@ is "a\c[NO-BREAK SPACE]bc d".words, , 'words on string with (U+00A0 NO-B is "ä bc d".words, <ä bc d>, 'words on string with non-ASCII letter'; #?rakudo 2 skip 'graphemes not implemented' -#?niecza 2 skip 'charspec' +#?niecza 2 todo 'charspec' is "a\c[COMBINING DIAERESIS] bc d".words, ("ä", "bc", "d"), 'words on string with grapheme precomposed'; is( "a\c[COMBINING DOT ABOVE, COMBINING DOT BELOW] bc d".words, ("a\c[COMBINING DOT BELOW, COMBINING DOT ABOVE]", "bc", "d"), diff --git a/S32-trig/atan2.t b/S32-trig/atan2.t index 187b421794..f52a33dad5 100644 --- a/S32-trig/atan2.t +++ b/S32-trig/atan2.t @@ -182,7 +182,6 @@ is_approx(atan2(-4, -4), -3 * pi / 4, "atan2(-4, -4) is -3pi / 4"); is_approx(atan2((1).Int, (-100).Int), 3.13159298690313, "atan2(Int, Int)"); } -#?niecza skip 'Str math NYI' { # Int vs Str tests is_approx((-1).Int.atan2((100).Str), -0.00999966668666524, "Int.atan2(Str)"); @@ -214,7 +213,6 @@ is_approx(atan2(-4, -4), -3 * pi / 4, "atan2(-4, -4) is -3pi / 4"); is_approx(atan2((-100).Str, (-10).Rat(1e-9)), -1.67046497928606, "atan2(Str, Rat)"); } -#?niecza skip 'Str math NYI' { # Str vs Int tests is_approx((10).Str.atan2((-100).Int), 3.04192400109863, "Str.atan2(Int)"); diff --git a/S32-trig/cos.t b/S32-trig/cos.t index 39a9995d03..3b32ac1d07 100644 --- a/S32-trig/cos.t +++ b/S32-trig/cos.t @@ -109,7 +109,6 @@ for @cosines -> $angle is_approx(cos((-1.57079632680947 + 2i).Complex), -5.48212707989036e-11 + 3.62686040784702i, "cos(Complex) - -1.57079632680947 + 2i"); } -#?niecza skip "Str math NYI" { # Str tests is_approx((-1.04719755120631).Str.cos, 0.5, "Str.cos - -1.04719755120631"); @@ -164,7 +163,6 @@ for @cosines -> $angle is_approx(acos((0.785398163404734 + 2i).Complex), 1.22945740853541 - 1.49709293866352i, "acos(Complex) - 1.22945740853541 - 1.49709293866352i"); } -#?niecza skip "Str math NYI" { # Str tests is_approx(((0.707106781186548).Str).acos, 0.785398163404734, "Str.acos - 0.785398163404734"); diff --git a/S32-trig/cosec.t b/S32-trig/cosec.t index 161e582480..52103d2c5f 100644 --- a/S32-trig/cosec.t +++ b/S32-trig/cosec.t @@ -109,7 +109,6 @@ for @sines -> $angle is_approx(cosec((0.785398163404734 + 2i).Complex), 0.194833118738127 - 0.187824499973004i, "cosec(Complex) - 0.785398163404734 + 2i"); } -#?niecza skip "Str math NYI" { # Str tests is_approx((1.57079632680947).Str.cosec, 1, "Str.cosec - 1.57079632680947"); @@ -164,7 +163,6 @@ for @sines -> $angle is_approx(acosec((0.785398163404734 + 2i).Complex), 0.156429673425433 - 0.425586400480703i, "acosec(Complex) - 0.156429673425433 - 0.425586400480703i"); } -#?niecza skip "Str math NYI" { # Str tests is_approx(((1.99999999998317).Str).acosec, 0.523598775603156, "Str.acosec - 0.523598775603156"); diff --git a/S32-trig/cosech.t b/S32-trig/cosech.t index f84ba5bc94..821e9a255c 100644 --- a/S32-trig/cosech.t +++ b/S32-trig/cosech.t @@ -87,7 +87,7 @@ for @sines -> $angle is_approx($zp2.cosech, $sz2, "Complex.cosech - $zp2"); } -#?niecza skip "Inf results wrong" +#?niecza todo "Inf results wrong" { is(cosech(Inf), 0, "cosech(Inf) -"); is(cosech(-Inf), "-0", "cosech(-Inf) -"); @@ -109,7 +109,6 @@ for @sines -> $angle is_approx(cosech((0.523598775603156 + 2i).Complex), -0.202302149262384 - 0.920006877922264i, "cosech(Complex) - 0.523598775603156 + 2i"); } -#?niecza skip "Str math NYI" { # Str tests is_approx((0.785398163404734).Str.cosech, 1.15118387090806, "Str.cosech - 0.785398163404734"); @@ -164,7 +163,6 @@ for @sines -> $angle is_approx(acosech((0.785398163404734 + 2i).Complex), 0.186914543518615 - 0.439776333846415i, "acosech(Complex) - 0.186914543518615 - 0.439776333846415i"); } -#?niecza skip "Str math NYI" { # Str tests is_approx(((1.8253055746695).Str).acosech, 0.523598775603156, "Str.acosech - 0.523598775603156"); diff --git a/S32-trig/cosh.t b/S32-trig/cosh.t index 71c9f7d89d..d0c71af4dd 100644 --- a/S32-trig/cosh.t +++ b/S32-trig/cosh.t @@ -87,7 +87,7 @@ for @coshes -> $angle is_approx($zp2.cosh, $sz2, "Complex.cosh - $zp2"); } -#?niecza skip "Inf results wrong" +#?niecza todo "Inf results wrong" { is(cosh(Inf), Inf, "cosh(Inf) -"); is(cosh(-Inf), Inf, "cosh(-Inf) -"); @@ -109,7 +109,6 @@ for @coshes -> $angle is_approx(cosh((0 + 2i).Complex), -0.416146836547142 + 0i, "cosh(Complex) - 0 + 2i"); } -#?niecza skip "Str math NYI" { # Str tests is_approx((0.523598775603156).Str.cosh, 1.14023832107909, "Str.cosh - 0.523598775603156"); @@ -164,7 +163,6 @@ for @coshes -> $angle is_approx(acosh((0.785398163404734 + 2i).Complex), 1.49709293866352 + 1.22945740853541i, "acosh(Complex) - 1.49709293866352 + 1.22945740853541i"); } -#?niecza skip "Str math NYI" { # Str tests is_approx(((1.14023832107909).Str).acosh, 0.523598775603156, "Str.acosh - 0.523598775603156"); diff --git a/S32-trig/cotan.t b/S32-trig/cotan.t index 27ceacb958..52c6afc31f 100644 --- a/S32-trig/cotan.t +++ b/S32-trig/cotan.t @@ -109,7 +109,6 @@ for @sines -> $angle is_approx(cotan((0.785398163404734 + 2i).Complex), 0.0366189934736669 - 0.999329299738534i, "cotan(Complex) - 0.785398163404734 + 2i"); } -#?niecza skip "Str math NYI" { # Str tests is_approx((1.57079632680947).Str.cotan, -1.45716159658652e-11, "Str.cotan - 1.57079632680947"); @@ -164,7 +163,6 @@ for @sines -> $angle is_approx(acotan((0.785398163404734 + 2i).Complex), 0.204860490024916 - 0.445759203696597i, "acotan(Complex) - 0.204860490024916 - 0.445759203696597i"); } -#?niecza skip "Str math NYI" { # Str tests is_approx(((1.73205080754945).Str).acotan, 0.523598775603156, "Str.acotan - 0.523598775603156"); diff --git a/S32-trig/cotanh.t b/S32-trig/cotanh.t index 9be6696583..31e8afc110 100644 --- a/S32-trig/cotanh.t +++ b/S32-trig/cotanh.t @@ -87,7 +87,7 @@ for @sines -> $angle is_approx($zp2.cotanh, $sz2, "Complex.cotanh - $zp2"); } -#?niecza skip "Inf results wrong" +#?niecza todo "Inf results wrong" { is(cotanh(Inf), 1, "cotanh(Inf) -"); is(cotanh(-Inf), -1, "cotanh(-Inf) -"); @@ -109,7 +109,6 @@ for @sines -> $angle is_approx(cotanh((0.523598775603156 + 2i).Complex), 0.554305939075667 + 0.335770114695529i, "cotanh(Complex) - 0.523598775603156 + 2i"); } -#?niecza skip "Str math NYI" { # Str tests is_approx((0.785398163404734).Str.cotanh, 1.52486861881241, "Str.cotanh - 0.785398163404734"); @@ -164,7 +163,6 @@ for @sines -> $angle is_approx(acotanh((0.785398163404734 + 2i).Complex), 0.143655432578432 - 0.417829353993379i, "acotanh(Complex) - 0.143655432578432 - 0.417829353993379i"); } -#?niecza skip "Str math NYI" { # Str tests is_approx(((2.08128336391745).Str).acotanh, 0.523598775603156, "Str.acotanh - 0.523598775603156"); diff --git a/S32-trig/sec.t b/S32-trig/sec.t index 14e005ce7d..e7ccabe151 100644 --- a/S32-trig/sec.t +++ b/S32-trig/sec.t @@ -109,7 +109,6 @@ for @cosines -> $angle is_approx(sec((-0.785398163404734 + 2i).Complex), 0.194833118735496 - 0.187824499975941i, "sec(Complex) - -0.785398163404734 + 2i"); } -#?niecza skip "Str math NYI" { # Str tests is_approx((0).Str.sec, 1, "Str.sec - 0"); @@ -164,7 +163,6 @@ for @cosines -> $angle is_approx(asec((0.785398163404734 + 2i).Complex), 1.41436665336946 + 0.425586400480703i, "asec(Complex) - 1.41436665336946 + 0.425586400480703i"); } -#?niecza skip "Str math NYI" { # Str tests is_approx(((1.4142135623834).Str).asec, 0.785398163404734, "Str.asec - 0.785398163404734"); diff --git a/S32-trig/sech.t b/S32-trig/sech.t index 24e2e3ff26..6225e707db 100644 --- a/S32-trig/sech.t +++ b/S32-trig/sech.t @@ -87,7 +87,7 @@ for @cosines -> $angle is_approx($zp2.sech, $sz2, "Complex.sech - $zp2"); } -#?niecza skip "Inf results wrong" +#?niecza todo "Inf results wrong" { is(sech(Inf), 0, "sech(Inf) -"); is(sech(-Inf), 0, "sech(-Inf) -"); @@ -109,7 +109,6 @@ for @cosines -> $angle is_approx(sech((-1.57079632680947 + 2i).Complex), -0.190922860876022 + 0.382612165180854i, "sech(Complex) - -1.57079632680947 + 2i"); } -#?niecza skip "Str math NYI" { # Str tests is_approx((-1.04719755120631).Str.sech, 0.624887966291348, "Str.sech - -1.04719755120631"); @@ -164,7 +163,6 @@ for @cosines -> $angle is_approx(asech((0.785398163404734 + 2i).Complex), 0.425586400480703 - 1.41436665336946i, "asech(Complex) - 0.425586400480703 - 1.41436665336946i"); } -#?niecza skip "Str math NYI" { # Str tests is_approx(((0.754939708710524).Str).asech, 0.785398163404734, "Str.asech - 0.785398163404734"); diff --git a/S32-trig/sin.t b/S32-trig/sin.t index bbca63e32b..d5e99ef34e 100644 --- a/S32-trig/sin.t +++ b/S32-trig/sin.t @@ -109,7 +109,6 @@ for @sines -> $angle is_approx(sin((0 + 2i).Complex), 0 + 3.62686040784702i, "sin(Complex) - 0 + 2i"); } -#?niecza skip "Str math NYI" { # Str tests is_approx((0.523598775603156).Str.sin, 0.5, "Str.sin - 0.523598775603156"); @@ -164,7 +163,6 @@ for @sines -> $angle is_approx(asin((0.785398163404734 + 2i).Complex), 0.341338918259482 + 1.49709293866352i, "asin(Complex) - 0.341338918259482 + 1.49709293866352i"); } -#?niecza skip "Str math NYI" { # Str tests is_approx(((0.5).Str).asin, 0.523598775603156, "Str.asin - 0.523598775603156"); diff --git a/S32-trig/sinh.t b/S32-trig/sinh.t index 6c6bb4e332..f4cfbabb33 100644 --- a/S32-trig/sinh.t +++ b/S32-trig/sinh.t @@ -87,7 +87,7 @@ for @sinhes -> $angle is_approx($zp2.sinh, $sz2, "Complex.sinh - $zp2"); } -#?niecza skip "Inf results wrong" +#?niecza todo "Inf results wrong" { is(sinh(Inf), Inf, "sinh(Inf) -"); is(sinh(-Inf), -Inf, "sinh(-Inf) -"); @@ -109,7 +109,6 @@ for @sinhes -> $angle is_approx(sinh((0 + 2i).Complex), -0 + 0.909297426825682i, "sinh(Complex) - 0 + 2i"); } -#?niecza skip "Str math NYI" { # Str tests is_approx((0.523598775603156).Str.sinh, 0.547853473893578, "Str.sinh - 0.523598775603156"); @@ -164,7 +163,6 @@ for @sinhes -> $angle is_approx(asinh((0.785398163404734 + 2i).Complex), 1.41841325789332 + 1.15495109689711i, "asinh(Complex) - 1.41841325789332 + 1.15495109689711i"); } -#?niecza skip "Str math NYI" { # Str tests is_approx(((0.547853473893578).Str).asinh, 0.523598775603156, "Str.asinh - 0.523598775603156"); diff --git a/S32-trig/tan.t b/S32-trig/tan.t index 9894978a8a..d9e2bc59d1 100644 --- a/S32-trig/tan.t +++ b/S32-trig/tan.t @@ -109,7 +109,6 @@ for @sines -> $angle is_approx(tan((0 + 2i).Complex), 0 + 0.964027580075817i, "tan(Complex) - 0 + 2i"); } -#?niecza skip "Str math NYI" { # Str tests is_approx((0.523598775603156).Str.tan, 0.577350269196102, "Str.tan - 0.523598775603156"); @@ -164,7 +163,6 @@ for @sines -> $angle is_approx(atan((0.785398163404734 + 2i).Complex), 1.36593583676998 + 0.445759203696597i, "atan(Complex) - 1.36593583676998 + 0.445759203696597i"); } -#?niecza skip "Str math NYI" { # Str tests is_approx(((0.577350269196102).Str).atan, 0.523598775603156, "Str.atan - 0.523598775603156"); diff --git a/S32-trig/tanh.t b/S32-trig/tanh.t index 0b98dcf816..7fcc83ce28 100644 --- a/S32-trig/tanh.t +++ b/S32-trig/tanh.t @@ -87,7 +87,7 @@ for @sines -> $angle is_approx($zp2.tanh, $sz2, "Complex.tanh - $zp2"); } -#?niecza skip "Inf results wrong" +#?niecza todo "Inf results wrong" { is(tanh(Inf), 1, "tanh(Inf) -"); is(tanh(-Inf), -1, "tanh(-Inf) -"); @@ -109,7 +109,6 @@ for @sines -> $angle is_approx(tanh((0 + 2i).Complex), -0 - 2.18503986326152i, "tanh(Complex) - 0 + 2i"); } -#?niecza skip "Str math NYI" { # Str tests is_approx((0.523598775603156).Str.tanh, 0.480472778160188, "Str.tanh - 0.523598775603156"); @@ -164,7 +163,6 @@ for @sines -> $angle is_approx(atanh((0.785398163404734 + 2i).Complex), 0.143655432578432 + 1.15296697280152i, "atanh(Complex) - 0.143655432578432 + 1.15296697280152i"); } -#?niecza skip "Str math NYI" { # Str tests is_approx(((0.480472778160188).Str).atanh, 0.523598775603156, "Str.atanh - 0.523598775603156"); diff --git a/integration/advent2009-day14.t b/integration/advent2009-day14.t index 5d97d2f3dc..df0494bb25 100644 --- a/integration/advent2009-day14.t +++ b/integration/advent2009-day14.t @@ -9,7 +9,6 @@ is (3/7).WHAT.gist, "Rat()"; is_approx (3/7), 0.4285714; is_approx (3/7).Num + (2/7).Num + (2/7).Num - 1, -1.1102230e-16; -#?niecza todo is 3/7 + 2/7 + 2/7 - 1, 0; is (3/7).perl, "3/7"; diff --git a/integration/advent2010-day04.t b/integration/advent2010-day04.t index bc69ee3782..d2991fdd72 100644 --- a/integration/advent2010-day04.t +++ b/integration/advent2010-day04.t @@ -18,7 +18,6 @@ plan 11; is @Fibonacci[^10].join(" "), "0 1 1 2 3 5 8 13 21 34", "First ten Fibonacci numbers are correct"; } -#?niecza todo { is (1, 1.1 ... 2).join(" "), "1 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 2", "1, 1.1 ... 2 is correct"; is (1, 1.1 ... 2.01)[^14].join(" "), "1 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 2 2.1 2.2 2.3",