Author: particle
Date: Mon Nov  7 11:11:45 2005
New Revision: 9822

Modified:
   trunk/t/p6rules/modifiers.t
Log:
added pge tests for lexical modifiers and modifier repetition  (for :ignorecase 
and :words)

Modified: trunk/t/p6rules/modifiers.t
==============================================================================
--- trunk/t/p6rules/modifiers.t (original)
+++ trunk/t/p6rules/modifiers.t Mon Nov  7 11:11:45 2005
@@ -47,7 +47,6 @@ POST
 
 
 ## :i and :ignorecase -- ignore case
-## TODO lexical scoping of :i
 p6rule_is  ('abcdef', ':i bcd', 'ignorecase (:i)');
 p6rule_is  ('aBcdef', ':i bcd', 'ignorecase (:i)');
 p6rule_is  ('abCdef', ':i bcd', 'ignorecase (:i)');
@@ -56,6 +55,47 @@ p6rule_isnt('abc-ef', ':i bcd', 'ignorec
 p6rule_is  ('abcdef', ':ignorecase bcd', 'ignorecase (:ignorecase)');
 p6rule_is  ('aBCDef', ':ignorecase bcd', 'ignorecase (:ignorecase)');
 p6rule_isnt('abc-ef', ':ignorecase bcd', 'ignorecase (:ignorecase)');
+p6rule_is  ('abcdef', ':i(0) bcd', 'ignorecase, repetition (:i(0))');
+p6rule_isnt('abCdef', ':i(0) bcd', 'ignorecase, repetition (:i(0))');
+p6rule_is  ('abcdef', ':i(1) bcd', 'ignorecase, repetition (:i(1))');
+p6rule_is  ('abCdef', ':i(1) bcd', 'ignorecase, repetition (:i(1))');
+p6rule_isnt('aBxDef', ':i(1) bcd', 'ignorecase, repetition (:i(1))');
+p6rule_is  ('abcdef', ':0i bcd', 'ignorecase, repetition (:0i)');
+p6rule_isnt('abCdef', ':0i bcd', 'ignorecase, repetition (:0i)');
+p6rule_is  ('abcdef', ':1i bcd', 'ignorecase, repetition (:1i)');
+p6rule_is  ('abCdef', ':1i bcd', 'ignorecase, repetition (:1i)', todo => 'not 
yet implemented');
+p6rule_is  ('aBCDef', ':1i bcd', 'ignorecase, repetition (:1i)', todo => 'not 
yet implemented');
+p6rule_isnt('aBxDef', ':1i bcd', 'ignorecase, repetition (:1i)');
+p6rule_is  ('abcdef', 'ab [:i cd ] ef', 'ignorecase, lexical (:i)');
+p6rule_is  ('abCdef', 'ab [:i cd ] ef', 'ignorecase, lexical (:i)');
+p6rule_is  ('abcDef', 'ab [:i cd ] ef', 'ignorecase, lexical (:i)');
+p6rule_is  ('abCDef', 'ab [:i cd ] ef', 'ignorecase, lexical (:i)');
+p6rule_isnt('aBCDef', 'ab [:i cd ] ef', 'ignorecase, lexical (:i)');
+p6rule_isnt('abCDEf', 'ab [:i cd ] ef', 'ignorecase, lexical (:i)');
+p6rule_is  ('abCDef', ':i ab [:i cd ] ef', 'ignorecase, lexical (:i)');
+p6rule_is  ('AbCDeF', ':i ab [:i cd ] ef', 'ignorecase, lexical (:i)');
+p6rule_is  ('AbcdeF', ':i ab [:i cd ] ef', 'ignorecase, lexical (:i)');
+p6rule_is  ('AbCdEf', ':i a [:i(0) b [:i(1) c [:0i d [:1i e [:i(0) f ] ] ] ] 
]', 'ignorecase, lexical (:i)', todo => 'not yet implemented');
+p6rule_is  ('AabbCcddEeff', ':i aa [:i(0) bb [:i(1) cc [:0i dd [:1i ee [:i(0) 
ff ] ] ] ] ]', 'ignorecase, lexical (:i)', todo => 'not yet implemented');
+p6rule_isnt('AbCdEF', ':i a [:i(0) b [:i(1) c [:0i d [:1i e [:i(0) f ] ] ] ] 
]', 'ignorecase, lexical (:i)');
+p6rule_isnt('AabbCcddEeFf', ':i aa [:i(0) bb [:i(1) cc [:0i dd [:1i ee [:i(0) 
ff ] ] ] ] ]', 'ignorecase, lexical (:i)');
+p6rule_is  ('AbcdeF', ':i ab [:i(0) cd ] ef', 'ignorecase, lexical repetition 
(:i)');
+p6rule_is  ('AbcdeF', ':i ab [:0i cd ] ef', 'ignorecase, lexical repetition 
(:i)');
+p6rule_is  ('abCDef', ':0i ab [:1i cd ] ef', 'ignorecase, lexical repetition 
(:i)', todo => 'not yet implemented');
+p6rule_isnt('AbCDeF', ':0i ab [:1i cd ] ef', 'ignorecase, lexical repetition 
(:i)');
+p6rule_isnt('AbcdeF', ':0i ab [:1i cd ] ef', 'ignorecase, lexical repetition 
(:i)');
+p6rule_is  ('abcdef', ':0i ab [:i(0) cd ] ef', 'ignorecase, lexical repetition 
(:i)');
+p6rule_isnt('AbcdeF', ':0i ab [:1i cd ] ef', 'ignorecase, lexical repetition 
(:i)');
+p6rule_is  ('AbCdeF', ':i(1) ab [:1i cd ] ef', 'ignorecase, lexical repetition 
(:i)');
+p6rule_is  ('AbcdeF', ':i(1) ab [:i(0) cd ] ef', 'ignorecase, lexical 
repetition (:i)');
+p6rule_isnt('AbcDeF', ':i(1) ab [:i(0) cd ] ef', 'ignorecase, lexical 
repetition (:i)');
+p6rule_is  ('ABCDEF', ':i(2) ab [:i(999) cd ] ef', 'ignorecase, lexical 
repetition (:i)');
+p6rule_is  ('ABCDEF', ':1i ab [:i(1) cd ] ef', 'ignorecase, lexical repetition 
(:i)', todo => 'not yet implemented');
+p6rule_isnt('abcDeF', ':0i ab [:1i cd ] ef', 'ignorecase, lexical repetition 
(:i)');
+p6rule_is  ('ABCDEF', ':2i ab [:999i cd ] ef', 'ignorecase, lexical repetition 
(:i)', todo => 'not yet implemented');
+p6rule_is  ('abCDef', 'ab [:ignorecase cd ] ef', 'ignorecase, lexical 
(:ignorecase)');
+p6rule_isnt('aBCDef', 'ab [:ignorecase cd ] ef', 'ignorecase, lexical 
(:ignorecase)');
+p6rule_is  ('ABCDEF', ':1ignorecase ab [:ignorecase(1) cd ] ef', 'ignorecase, 
lexical repetition (:ignorecase)', todo => 'not yet implemented');
 
 
 ## :w and :words -- magically ignore whitespace
@@ -76,6 +116,10 @@ p6rule_isnt('abcdef', ':words bcd', 'wor
 p6rule_is  ('a b c d ef', ':words b c d', 'words (:words)');
 p6rule_is  ('a b c def', ':words b c d', 'words (:words)');
 p6rule_isnt('ab c d ef', ':words b c d', 'words (:words)');
+p6rule_is  ('a b c def', ':w(1) b c [:w(0) d e f ]', 'words, lexical 
repetition (:w)');
+p6rule_is  ('a b c def', ':w(1) b c [:w(0) d e f ]', 'words, lexical 
repetition (:w)');
+p6rule_isnt('a b c def', ':w(0) b c [:w(1) d e f ]', 'words, lexical 
repetition (:w)');
+p6rule_isnt('a b c def', ':w(0) b c [:w(0) d e f ]', 'words, lexical 
repetition (:w)');
 
 
 ## :once -- match only once
@@ -93,9 +137,12 @@ p6rule_is  ('a bcd$ef', ':perl5 \A.*? bc
 ## TODO add more tests
 
 
-## TODO integer modifiers, Nth occurance, :ov, :ex, :rw, :keepall
+## integer modifiers
+
+
+## TODO Nth occurance, :ov, :ex, :rw, :keepall
 ##   user-defined modifiers
 
 
 ## remember to change the number of tests :-)
-BEGIN { plan tests => 25; }
+BEGIN { plan tests => 70; }

Reply via email to