Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
[.../unicode-whitespace] Refudge, s/skip/todo/
Because this file uses vertical whitespace that fudge doesn't handle,
skip annotations should never be used in it.  I've refactored it so
that todo can be used instead.  Note that v13 will handle many more
of these tests.
  • Loading branch information
sorear committed Dec 21, 2011
1 parent 3341d5b commit 263189e
Showing 1 changed file with 94 additions and 98 deletions.
192 changes: 94 additions & 98 deletions S02-lexical-conventions/unicode-whitespace.t
Expand Up @@ -4,13 +4,15 @@ use Test;

plan 52;

sub try_eval($str) { try eval $str }

# L<S02/"Unicode Semantics"/"Unicode horizontal whitespace">

is(eval('
is(try_eval('
my @x = <a b c>; sub y (@z) { @z[1] }; y(@x)
'), "b", "CHARACTER TABULATION");

is(eval('
is(try_eval('
my
@x
=
Expand All @@ -26,119 +28,119 @@ y
y(@x)
'), "b", "LINE FEED (LF)");

is(eval('
is(try_eval('
my @x = <a b c>; sub y (@z) { @z[1] }; y(@x)
'), "b", "LINE TABULATION");

#?niecza skip 'Malformed my'
is(eval('
#?niecza todo 'Malformed my'
is(try_eval('
my @x = <a b c>; sub y (@z) { @z[1] }; y(@x)
'), "b", "FORM FEED (FF)");

is(eval('
is(try_eval('
my@x =<abc>;suby(@z){@z[1]};y(@x)
'), "b", "CARRIAGE RETURN (CR)");

is(eval('
is(try_eval('
my @x = <a b c>; sub y (@z) { @z[1] }; y(@x)
'), "b", "SPACE");

#?niecza skip 'Malformed my'
is(eval('
#?niecza todo 'Malformed my'
is(try_eval('
myΒ…@xΒ… =Β…<aΒ…bΒ…c>;Β…subΒ…yΒ…(@z)Β…{Β…@z[1]Β…};Β…y(@x)
'), "b", "NEXT LINE (NEL)");

#?niecza skip 'Malformed my'
is(eval('
#?niecza todo 'Malformed my'
is(try_eval('
myΒ @xΒ =Β <aΒ bΒ c>;Β subΒ yΒ (@z)Β {Β @z[1]Β };Β y(@x)
'), "b", "NO-BREAK SPACE");

#?niecza skip 'Malformed my'
is(eval('
#?niecza todo 'Malformed my'
is(try_eval('
myαš€@xαš€=αš€<aαš€bαš€c>;αš€subαš€yαš€(@z)αš€{αš€@z[1]αš€};αš€y(@x)
'), "b", "OGHAM SPACE MARK");

#?niecza skip 'Malformed my'
is(eval('
#?niecza todo 'Malformed my'
is(try_eval('
my᠎@x᠎=᠎<a᠎b᠎c>;᠎sub᠎y᠎(@z)᠎{᠎@z[1]᠎};᠎y(@x)
'), "b", "MONGOLIAN VOWEL SEPARATOR");

#?niecza skip 'Malformed my'
is(eval('
#?niecza todo 'Malformed my'
is(try_eval('
myβ€€@xβ€€=β€€<aβ€€bβ€€c>;β€€subβ€€yβ€€(@z)β€€{β€€@z[1]β€€};β€€y(@x)
'), "b", "EN QUAD");

#?niecza skip 'Malformed my'
is(eval('
#?niecza todo 'Malformed my'
is(try_eval('
my @x = <a b c>; sub y (@z) { @z[1] }; y(@x)
'), "b", "EM QUAD");

#?niecza skip 'Malformed my'
is(eval('
#?niecza todo 'Malformed my'
is(try_eval('
my @x = <a b c>; sub y (@z) { @z[1] }; y(@x)
'), "b", "EN SPACE");

#?niecza skip 'Malformed my'
is(eval('
#?niecza todo 'Malformed my'
is(try_eval('
my @x = <a b c>; sub y (@z) { @z[1] }; y(@x)
'), "b", "EM SPACE");

#?niecza skip 'Malformed my'
is(eval('
#?niecza todo 'Malformed my'
is(try_eval('
my @x = <a b c>; sub y (@z) { @z[1] }; y(@x)
'), "b", "THREE-PER-EM SPACE");

#?niecza skip 'Malformed my'
is(eval('
#?niecza todo 'Malformed my'
is(try_eval('
myβ€…@xβ€…=β€…<aβ€…bβ€…c>;β€…subβ€…yβ€…(@z)β€…{β€…@z[1]β€…};β€…y(@x)
'), "b", "FOUR-PER-EM SPACE");

#?niecza skip 'Malformed my'
is(eval('
#?niecza todo 'Malformed my'
is(try_eval('
my @x = <a b c>; sub y (@z) { @z[1] }; y(@x)
'), "b", "SIX-PER-EM SPACE");

#?niecza skip 'Malformed my'
is(eval('
#?niecza todo 'Malformed my'
is(try_eval('
my @x = <a b c>; sub y (@z) { @z[1] }; y(@x)
'), "b", "FIGURE SPACE");

#?niecza skip 'Malformed my'
is(eval('
#?niecza todo 'Malformed my'
is(try_eval('
myβ€ˆ@xβ€ˆ=β€ˆ<aβ€ˆbβ€ˆc>;β€ˆsubβ€ˆyβ€ˆ(@z)β€ˆ{β€ˆ@z[1]β€ˆ};β€ˆy(@x)
'), "b", "PUNCTUATION SPACE");

#?niecza skip 'Malformed my'
is(eval('
#?niecza todo 'Malformed my'
is(try_eval('
my @x = <a b c>; sub y (@z) { @z[1] }; y(@x)
'), "b", "THIN SPACE");

#?niecza skip 'Malformed my'
is(eval('
#?niecza todo 'Malformed my'
is(try_eval('
myβ€Š@xβ€Š=β€Š<aβ€Šbβ€Šc>;β€Šsubβ€Šyβ€Š(@z)β€Š{β€Š@z[1]β€Š};β€Šy(@x)
'), "b", "HAIR SPACE");

#?niecza skip 'Malformed my'
is(eval('
#?niecza todo 'Malformed my'
is(try_eval('
my
@x
=
<a
b
c>;
sub
y
(@z)
{
@z[1]
};
y(@x)
'), "b", "LINE SEPARATOR");

#?niecza skip 'Malformed my'
is(eval('
#?niecza todo 'Malformed my'
is(try_eval('
my
@x
=
<a
b
c>;
sub
y
(@z)
{
@z[1]
};
y(@x)
'), "b", "PARAGRAPH SEPARATOR");

#?niecza skip 'Malformed my'
is(eval('
#?niecza todo 'Malformed my'
is(try_eval('
myβ€―@xβ€―=β€―<aβ€―bβ€―c>;β€―subβ€―yβ€―(@z)β€―{β€―@z[1]β€―};β€―y(@x)
'), "b", "NARROW NO-BREAK SPACE");

#?niecza skip 'Malformed my'
is(eval('
#?niecza todo 'Malformed my'
is(try_eval('
my @x = <a b c>; sub y (@z) { @z[1] }; y(@x)
'), "b", "MEDIUM MATHEMATICAL SPACE");

is(eval('
is(try_eval('
myγ€€@xγ€€=γ€€<aγ€€bγ€€c>;γ€€subγ€€yγ€€(@z)γ€€{γ€€@z[1]γ€€};γ€€y(@x)
'), "b", "IDEOGRAPHIC SPACE");

Expand All @@ -152,58 +154,52 @@ multi foo($x) { $x }
$_ = 'b';

# L<S02/"Unicode Semantics"/"Unicode horizontal whitespace">
#?niecza skip 'System.NullReferenceException: Object reference not set to an instance of an object'
is(eval('foo\ .lc'), 'a', 'long dot with CHARACTER TABULATION');
#?niecza skip 'System.NullReferenceException: Object reference not set to an instance of an object'
is(eval('foo\
is(try_eval('foo\ .lc'), 'a', 'long dot with CHARACTER TABULATION');
is(try_eval('foo\
.lc'), 'a', 'long dot with LINE FEED (LF)');
#?niecza skip 'System.NullReferenceException: Object reference not set to an instance of an object'
is(eval('foo\ .lc'), 'a', 'long dot with LINE TABULATION');
#?niecza skip 'Confused'
is(eval('foo\ .lc'), 'a', 'long dot with FORM FEED (FF)');
#?niecza skip 'System.NullReferenceException: Object reference not set to an instance of an object'
is(eval('foo\.lc'), 'a', 'long dot with CARRIAGE RETURN (CR)');
#?niecza skip 'System.NullReferenceException: Object reference not set to an instance of an object'
is(eval('foo\ .lc'), 'a', 'long dot with SPACE');
#?niecza skip 'Confused'
is(eval('foo\Β….lc'), 'a', 'long dot with NEXT LINE (NEL)');
#?niecza skip 'Confused'
is(eval('foo\Β .lc'), 'a', 'long dot with NO-BREAK SPACE');
#?niecza skip 'Confused'
is(eval('foo\αš€.lc'), 'a', 'long dot with OGHAM SPACE MARK');
#?niecza skip 'Confused'
is(eval('foo\᠎.lc'), 'a', 'long dot with MONGOLIAN VOWEL SEPARATOR');
#?niecza skip 'Confused'
is(eval('foo\β€€.lc'), 'a', 'long dot with EN QUAD');
#?niecza skip 'Confused'
is(eval('foo\ .lc'), 'a', 'long dot with EM QUAD');
#?niecza skip 'Confused'
is(eval('foo\ .lc'), 'a', 'long dot with EN SPACE');
#?niecza skip 'Confused'
is(eval('foo\ .lc'), 'a', 'long dot with EM SPACE');
#?niecza skip 'Confused'
is(eval('foo\ .lc'), 'a', 'long dot with THREE-PER-EM SPACE');
#?niecza skip 'Confused'
is(eval('foo\β€….lc'), 'a', 'long dot with FOUR-PER-EM SPACE');
#?niecza skip 'Confused'
is(eval('foo\ .lc'), 'a', 'long dot with SIX-PER-EM SPACE');
#?niecza skip 'Confused'
is(eval('foo\ .lc'), 'a', 'long dot with FIGURE SPACE');
#?niecza skip 'Confused'
is(eval('foo\β€ˆ.lc'), 'a', 'long dot with PUNCTUATION SPACE');
#?niecza skip 'Confused'
is(eval('foo\ .lc'), 'a', 'long dot with THIN SPACE');
#?niecza skip 'Confused'
is(eval('foo\β€Š.lc'), 'a', 'long dot with HAIR SPACE');
#?niecza skip 'Confused'
is(eval('foo\
.lc'), 'a', 'long dot with LINE SEPARATOR');
#?niecza skip 'Confused'
is(eval('foo\
.lc'), 'a', 'long dot with PARAGRAPH SEPARATOR');
#?niecza skip 'Confused'
is(eval('foo\β€―.lc'), 'a', 'long dot with NARROW NO-BREAK SPACE');
#?niecza skip 'Confused'
is(eval('foo\ .lc'), 'a', 'long dot with MEDIUM MATHEMATICAL SPACE');
#?niecza skip 'Confused'
is(eval('foo\γ€€.lc'), 'a', 'long dot with IDEOGRAPHIC SPACE');
is(try_eval('foo\ .lc'), 'a', 'long dot with LINE TABULATION');
#?niecza todo 'Confused'
is(try_eval('foo\ .lc'), 'a', 'long dot with FORM FEED (FF)');
is(try_eval('foo\.lc'), 'a', 'long dot with CARRIAGE RETURN (CR)');
is(try_eval('foo\ .lc'), 'a', 'long dot with SPACE');
#?niecza todo 'Confused'
is(try_eval('foo\Β….lc'), 'a', 'long dot with NEXT LINE (NEL)');
#?niecza todo 'Confused'
is(try_eval('foo\Β .lc'), 'a', 'long dot with NO-BREAK SPACE');
#?niecza todo 'Confused'
is(try_eval('foo\αš€.lc'), 'a', 'long dot with OGHAM SPACE MARK');
#?niecza todo 'Confused'
is(try_eval('foo\᠎.lc'), 'a', 'long dot with MONGOLIAN VOWEL SEPARATOR');
#?niecza todo 'Confused'
is(try_eval('foo\β€€.lc'), 'a', 'long dot with EN QUAD');
#?niecza todo 'Confused'
is(try_eval('foo\ .lc'), 'a', 'long dot with EM QUAD');
#?niecza todo 'Confused'
is(try_eval('foo\ .lc'), 'a', 'long dot with EN SPACE');
#?niecza todo 'Confused'
is(try_eval('foo\ .lc'), 'a', 'long dot with EM SPACE');
#?niecza todo 'Confused'
is(try_eval('foo\ .lc'), 'a', 'long dot with THREE-PER-EM SPACE');
#?niecza todo 'Confused'
is(try_eval('foo\β€….lc'), 'a', 'long dot with FOUR-PER-EM SPACE');
#?niecza todo 'Confused'
is(try_eval('foo\ .lc'), 'a', 'long dot with SIX-PER-EM SPACE');
#?niecza todo 'Confused'
is(try_eval('foo\ .lc'), 'a', 'long dot with FIGURE SPACE');
#?niecza todo 'Confused'
is(try_eval('foo\β€ˆ.lc'), 'a', 'long dot with PUNCTUATION SPACE');
#?niecza todo 'Confused'
is(try_eval('foo\ .lc'), 'a', 'long dot with THIN SPACE');
#?niecza todo 'Confused'
is(try_eval('foo\β€Š.lc'), 'a', 'long dot with HAIR SPACE');
#?niecza todo 'Confused'
is(try_eval('foo\
.lc'), 'a', 'long dot with LINE SEPARATOR');
#?niecza todo 'Confused'
is(try_eval('foo\
.lc'), 'a', 'long dot with PARAGRAPH SEPARATOR');
#?niecza todo 'Confused'
is(try_eval('foo\β€―.lc'), 'a', 'long dot with NARROW NO-BREAK SPACE');
#?niecza todo 'Confused'
is(try_eval('foo\ .lc'), 'a', 'long dot with MEDIUM MATHEMATICAL SPACE');
is(try_eval('foo\γ€€.lc'), 'a', 'long dot with IDEOGRAPHIC SPACE');

# vim: ft=perl6
Expand Down

0 comments on commit 263189e

Please sign in to comment.