Created
November 16, 2016 20:58
-
-
Save zoffixznet/bc223e44108e4649cad016e27165d4fe to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
cpan@perlbuild2~/CPANPRC/rakudo (nom)$ cd t/spec/; gd; cd ../../; 6p t/spec/S32-str/parse-base.t | |
diff --git a/S32-str/parse-base.t b/S32-str/parse-base.t | |
index 34431fa..9edbbde 100644 | |
--- a/S32-str/parse-base.t | |
+++ b/S32-str/parse-base.t | |
@@ -13,7 +13,7 @@ constant $all-chars = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklm' | |
constant $all-chars-result = 2527079815159757168093382078421796304289747094823514859938627964591248797616216274592478001915.000816326530612244738449589931406080722808837890625; | |
subtest '.parse-base() as method' => { | |
- plan 45; | |
+ plan 48; | |
is-deeply 'Perl6' .parse-base(30), 20652936, '"Perl6" in base-30'; | |
is-approx 'Perl.6'.parse-base(32), 834421.1875, '"Perl.6" in base-32'; | |
@@ -24,6 +24,10 @@ subtest '.parse-base() as method' => { | |
is-approx $all-chars.parse-base(36), $all-chars-result, | |
'full character set'; | |
+ is-deeply '-FF'.parse-base(16), -255, 'can parse - sign'; | |
+ is-deeply '−FF'.parse-base(16), -255, 'can parse − sign'; | |
+ is-deeply '+FF'.parse-base(16), 255, 'can parse + sign'; | |
+ | |
#?rakudo.jvm todo 'Invalid base-10 character' | |
is-deeply $fancy-nums.parse-base(10), $fancy-nums-value, | |
'can parse fancy Unicode numerals as Int'; | |
@@ -55,7 +59,7 @@ subtest '.parse-base() as method' => { | |
} | |
subtest 'parse-base() as sub' => { | |
- plan 45; | |
+ plan 48; | |
is-deeply parse-base('Perl6', 30), 20652936, '"Perl6" in base-30'; | |
is-approx parse-base('Perl.6', 32), 834421.1875, '"Perl.6" in base-32'; | |
@@ -66,6 +70,10 @@ subtest 'parse-base() as sub' => { | |
is-approx parse-base($all-chars, 36), $all-chars-result, | |
'full character set'; | |
+ is-deeply parse-base('-FF', 16), -255, 'can parse - sign'; | |
+ is-deeply parse-base('−FF', 16), -255, 'can parse − sign'; | |
+ is-deeply parse-base('+FF', 16), 255, 'can parse + sign'; | |
+ | |
#?rakudo.jvm todo 'Invalid base-10 character' | |
is-deeply parse-base($fancy-nums, 10), $fancy-nums-value, | |
'can parse fancy Unicode numerals as Int'; | |
t/spec/S32-str/parse-base.t .. | |
1..2 | |
1..48 | |
ok 1 - "Perl6" in base-30 | |
ok 2 - "Perl.6" in base-32 | |
ok 3 - 1111 in base-2 | |
ok 4 - 1111 in base-3 | |
ok 5 - 1111 in base-4 | |
ok 6 - 1111 in base-5 | |
ok 7 - 1111 in base-6 | |
ok 8 - 1111 in base-7 | |
ok 9 - 1111 in base-8 | |
ok 10 - 1111 in base-9 | |
ok 11 - 1111 in base-10 | |
ok 12 - 1111 in base-11 | |
ok 13 - 1111 in base-12 | |
ok 14 - 1111 in base-13 | |
ok 15 - 1111 in base-14 | |
ok 16 - 1111 in base-15 | |
ok 17 - 1111 in base-16 | |
ok 18 - 1111 in base-17 | |
ok 19 - 1111 in base-18 | |
ok 20 - 1111 in base-19 | |
ok 21 - 1111 in base-20 | |
ok 22 - 1111 in base-21 | |
ok 23 - 1111 in base-22 | |
ok 24 - 1111 in base-23 | |
ok 25 - 1111 in base-24 | |
ok 26 - 1111 in base-25 | |
ok 27 - 1111 in base-26 | |
ok 28 - 1111 in base-27 | |
ok 29 - 1111 in base-28 | |
ok 30 - 1111 in base-29 | |
ok 31 - 1111 in base-30 | |
ok 32 - 1111 in base-31 | |
ok 33 - 1111 in base-32 | |
ok 34 - 1111 in base-33 | |
ok 35 - 1111 in base-34 | |
ok 36 - 1111 in base-35 | |
ok 37 - 1111 in base-36 | |
ok 38 - full character set | |
ok 39 - can parse - sign | |
ok 40 - can parse − sign | |
ok 41 - can parse + sign | |
ok 42 - can parse fancy Unicode numerals as Int | |
ok 43 - can parse fancy Unicode numerals as float | |
1..3 | |
ok 1 - code dies | |
ok 2 - right exception type (X::Syntax::Number::RadixOutOfRange) | |
ok 3 - .radix matches 42 | |
ok 44 - too large radix throws | |
1..3 | |
ok 1 - code dies | |
ok 2 - right exception type (X::Syntax::Number::RadixOutOfRange) | |
ok 3 - .radix matches 1 | |
ok 45 - too small radix throws | |
1..5 | |
ok 1 - code dies | |
ok 2 - right exception type (X::Syntax::Number::InvalidCharacter) | |
ok 3 - .pos matches 0 | |
ok 4 - .str matches \#\#\# | |
ok 5 - .radix matches 20 | |
ok 46 - invalid char at first position, base 20 | |
1..5 | |
ok 1 - code dies | |
ok 2 - right exception type (X::Syntax::Number::InvalidCharacter) | |
ok 3 - .pos matches 3 | |
ok 4 - .str matches 1238321 | |
ok 5 - .radix matches 8 | |
ok 47 - invalid char in middle position, base 8 | |
1..5 | |
ok 1 - code dies | |
ok 2 - right exception type (X::Syntax::Number::InvalidCharacter) | |
ok 3 - .pos matches 2 | |
ok 4 - .str matches 124 | |
ok 5 - .radix matches 4 | |
ok 48 - invalid char at last position, base 4 | |
ok 1 - .parse-base() as method | |
1..48 | |
ok 1 - "Perl6" in base-30 | |
ok 2 - "Perl.6" in base-32 | |
ok 3 - 1111 in base-2 | |
ok 4 - 1111 in base-3 | |
ok 5 - 1111 in base-4 | |
ok 6 - 1111 in base-5 | |
ok 7 - 1111 in base-6 | |
ok 8 - 1111 in base-7 | |
ok 9 - 1111 in base-8 | |
ok 10 - 1111 in base-9 | |
ok 11 - 1111 in base-10 | |
ok 12 - 1111 in base-11 | |
ok 13 - 1111 in base-12 | |
ok 14 - 1111 in base-13 | |
ok 15 - 1111 in base-14 | |
ok 16 - 1111 in base-15 | |
ok 17 - 1111 in base-16 | |
ok 18 - 1111 in base-17 | |
ok 19 - 1111 in base-18 | |
ok 20 - 1111 in base-19 | |
ok 21 - 1111 in base-20 | |
ok 22 - 1111 in base-21 | |
ok 23 - 1111 in base-22 | |
ok 24 - 1111 in base-23 | |
ok 25 - 1111 in base-24 | |
ok 26 - 1111 in base-25 | |
ok 27 - 1111 in base-26 | |
ok 28 - 1111 in base-27 | |
ok 29 - 1111 in base-28 | |
ok 30 - 1111 in base-29 | |
ok 31 - 1111 in base-30 | |
ok 32 - 1111 in base-31 | |
ok 33 - 1111 in base-32 | |
ok 34 - 1111 in base-33 | |
ok 35 - 1111 in base-34 | |
ok 36 - 1111 in base-35 | |
ok 37 - 1111 in base-36 | |
ok 38 - full character set | |
not ok 39 - can parse - sign | |
# Failed test 'can parse - sign' | |
# at t/spec/S32-str/parse-base.t line 73 | |
# expected: -255 | |
# got: 255 | |
not ok 40 - can parse − sign | |
# Failed test 'can parse − sign' | |
# at t/spec/S32-str/parse-base.t line 74 | |
# expected: -255 | |
# got: 255 | |
ok 41 - can parse + sign | |
ok 42 - can parse fancy Unicode numerals as Int | |
ok 43 - can parse fancy Unicode numerals as float | |
1..3 | |
ok 1 - code dies | |
ok 2 - right exception type (X::Syntax::Number::RadixOutOfRange) | |
ok 3 - .radix matches 42 | |
ok 44 - too large radix throws | |
1..3 | |
ok 1 - code dies | |
ok 2 - right exception type (X::Syntax::Number::RadixOutOfRange) | |
ok 3 - .radix matches 1 | |
ok 45 - too small radix throws | |
1..5 | |
ok 1 - code dies | |
ok 2 - right exception type (X::Syntax::Number::InvalidCharacter) | |
ok 3 - .pos matches 0 | |
ok 4 - .str matches \#\#\# | |
ok 5 - .radix matches 20 | |
ok 46 - invalid char at first position, base 20 | |
1..5 | |
ok 1 - code dies | |
ok 2 - right exception type (X::Syntax::Number::InvalidCharacter) | |
ok 3 - .pos matches 3 | |
ok 4 - .str matches 1238321 | |
ok 5 - .radix matches 8 | |
ok 47 - invalid char in middle position, base 8 | |
1..5 | |
ok 1 - code dies | |
ok 2 - right exception type (X::Syntax::Number::InvalidCharacter) | |
ok 3 - .pos matches 2 | |
ok 4 - .str matches 124 | |
ok 5 - .radix matches 4 | |
ok 48 - invalid char at last position, base 4 | |
# Looks like you failed 2 tests of 48 | |
not ok 2 - parse-base() as sub | |
# Failed test 'parse-base() as sub' | |
# at t/spec/S32-str/parse-base.t line 61 | |
# Looks like you failed 1 test of 2 | |
Dubious, test returned 1 (wstat 256, 0x100) | |
Failed 1/2 subtests | |
Test Summary Report | |
------------------- | |
t/spec/S32-str/parse-base.t (Wstat: 256 Tests: 2 Failed: 1) | |
Failed test: 2 | |
Non-zero exit status: 1 | |
Files=1, Tests=2, 0 wallclock secs ( 0.03 usr 0.00 sys + 0.36 cusr 0.02 csys = 0.41 CPU) | |
Result: FAIL | |
cpan@perlbuild2~/CPANPRC/rakudo (nom)$ ./perl6 -e 'use Test; is-deeply parse-base("−FF", 16), -255, "can parse − sign";' | |
ok 1 - can parse − sign | |
cpan@perlbuild2~/CPANPRC/rakudo (nom)$ ./perl6 -e 'use Test; is-deeply parse-base("-FF", 16), -255, "can parse - sign";' | |
ok 1 - can parse - sign | |
cpan@perlbuild2~/CPANPRC/rakudo (nom)$ |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment