Skip to content

Commit

Permalink
Test suite refactoring.
Browse files Browse the repository at this point in the history
Moved ord & chr tests in t/spec/S29-conversions/ 


git-svn-id: http://svn.pugscode.org/pugs@19484 c213334d-75ef-0310-aa23-eaa082d1ae64
  • Loading branch information
cosimo committed Jan 14, 2008
1 parent 91ebb28 commit 125e670
Showing 1 changed file with 136 additions and 0 deletions.
136 changes: 136 additions & 0 deletions S29-conversions/ord_and_chr.t
@@ -0,0 +1,136 @@
use v6-alpha;

use Test;

=pod

Basic tests for the ord() and chr() built-in.

=cut

# L<S29/Conversions/ord>
# L<S29/Conversions/chr>

# What is the best way to test 0 through 31??
my @maps = (
" ", 32,
"!", 33,
"\"", 34,
"#", 35,
"$", 36,
"%", 37,
"&", 38,
"\'", 39,
"(", 40,
")", 41,
"*", 42,
"+", 43,
",", 44,
"-", 45,
".", 46,
"/", 47,
"0", 48,
"1", 49,
"2", 50,
"3", 51,
"4", 52,
"5", 53,
"6", 54,
"7", 55,
"8", 56,
"9", 57,
":", 58,
";", 59,
"<", 60,
"=", 61,
">", 62,
"?", 63,
"@", 64,
"A", 65,
"B", 66,
"C", 67,
"D", 68,
"E", 69,
"F", 70,
"G", 71,
"H", 72,
"I", 73,
"J", 74,
"K", 75,
"L", 76,
"M", 77,
"N", 78,
"O", 79,
"P", 80,
"Q", 81,
"R", 82,
"S", 83,
"T", 84,
"U", 85,
"V", 86,
"W", 87,
"X", 88,
"Y", 89,
"Z", 90,
"[", 91,
"\\", 92,
"]", 93,
"^", 94,
"_", 95,
"`", 96,
"a", 97,
"b", 98,
"c", 99,
"d", 100,
"e", 101,
"f", 102,
"g", 103,
"h", 104,
"i", 105,
"j", 106,
"k", 107,
"l", 108,
"m", 109,
"n", 110,
"o", 111,
"p", 112,
"q", 113,
"r", 114,
"s", 115,
"t", 116,
"u", 117,
"v", 118,
"w", 119,
"x", 120,
"y", 121,
"z", 122,
"|", 124,
"}", 125,
"~", 126,

# Unicode tests
"ä", 228,
"", 8364,
"»", 187,
"«", 171,

# Special chars
"\o00", 0,
"\o01", 1,
"\o03", 3,
);

plan 32+@maps;

for @maps -> $char, $code {
my $descr = "\\{$code}{$code >= 32 ?? " == '{$char}'" !! ""}";
is ord($char), $code, "ord() works for $descr";
is chr($code), $char, "chr() works for $descr";
}

for 0..31 -> $code {
my $char = chr($code);
is ord($char), $code, "ord(chr($code)) is $code";
}


0 comments on commit 125e670

Please sign in to comment.