]> gitweb.factorcode.org Git - factor.git/commitdiff
Another breaking unit test for ebnf
authorChris Double <chris@bethia.(none)>
Fri, 20 Jun 2008 00:35:33 +0000 (12:35 +1200)
committerChris Double <chris@bethia.(none)>
Fri, 20 Jun 2008 00:35:33 +0000 (12:35 +1200)
extra/peg/ebnf/ebnf-tests.factor

index 1824c0342a67a634f4e4e8b83c3f90c39242a4cb..0a16fc8007c0194b4a1d8b58872cee0e0335127a 100644 (file)
@@ -2,7 +2,7 @@
 ! See http://factorcode.org/license.txt for BSD license.
 !
 USING: kernel tools.test peg peg.ebnf words math math.parser 
-       sequences accessors peg.parsers ;
+       sequences accessors peg.parsers parser namespaces ;
 IN: peg.ebnf.tests
 
 { T{ ebnf-non-terminal f "abc" } } [
@@ -443,10 +443,17 @@ foo=<foreign any-char> 'd'
   "ad" parser4 ast>>
 ] unit-test
 
-{ V{ "a" "\n" } } [
-  "a\n" [EBNF foo='a' '\n'  => [[ drop '\n' ]] EBNF] call ast>>
+{ t } [
+ "USING: kernel peg.ebnf ; [EBNF foo='a' '\n'  => [[ drop '\n' ]] EBNF]" eval drop t
 ] unit-test
 
+[
+  "USING: peg.ebnf ; [EBNF foo='a' foo='b' EBNF]" eval 
+] must-fail
+
+
 { t } [
-  [EBNF foo='a' foo='b' EBNF] drop t
+  #! Rule lookup occurs in a namespace. This causes an incorrect duplicate rule
+  #! if a var in a namespace is set. This unit test is to remind me to fix this.
+  [ "fail" "foo" set "foo='a'" 'ebnf' parse ast>> transform drop t ] with-scope
 ] unit-test
\ No newline at end of file