factor/extra/lisp/parser/parser-tests.factor

68 lines
1.2 KiB
Factor
Raw Normal View History

2008-04-27 23:12:18 -04:00
! Copyright (C) 2008 James Cash
! See http://factorcode.org/license.txt for BSD license.
USING: lisp.parser tools.test peg peg.ebnf lists ;
2008-04-27 23:12:18 -04:00
IN: lisp.parser.tests
{ 1234 } [
2008-07-10 19:33:09 -04:00
"1234" "atom" \ lisp-expr rule parse
2008-04-27 23:12:18 -04:00
] unit-test
{ -42 } [
2008-07-10 19:33:09 -04:00
"-42" "atom" \ lisp-expr rule parse
] unit-test
{ 37/52 } [
2008-07-10 19:33:09 -04:00
"37/52" "atom" \ lisp-expr rule parse
] unit-test
2008-04-27 23:12:18 -04:00
{ 123.98 } [
2008-07-10 19:33:09 -04:00
"123.98" "atom" \ lisp-expr rule parse
2008-04-27 23:12:18 -04:00
] unit-test
2008-04-29 23:10:47 -04:00
{ "" } [
2008-07-10 19:33:09 -04:00
"\"\"" "atom" \ lisp-expr rule parse
2008-04-29 23:10:47 -04:00
] unit-test
2008-04-27 23:12:18 -04:00
{ "aoeu" } [
2008-07-10 19:33:09 -04:00
"\"aoeu\"" "atom" \ lisp-expr rule parse
2008-04-27 23:12:18 -04:00
] unit-test
{ "aoeu\"de" } [
2008-07-10 19:33:09 -04:00
"\"aoeu\\\"de\"" "atom" \ lisp-expr rule parse
2008-04-27 23:12:18 -04:00
] unit-test
{ T{ lisp-symbol f "foobar" } } [
2008-07-10 19:33:09 -04:00
"foobar" "atom" \ lisp-expr rule parse
2008-04-27 23:12:18 -04:00
] unit-test
{ T{ lisp-symbol f "+" } } [
2008-07-10 19:33:09 -04:00
"+" "atom" \ lisp-expr rule parse
2008-04-27 23:12:18 -04:00
] unit-test
2008-06-04 00:56:06 -04:00
{ +nil+ } [
2008-07-10 19:33:09 -04:00
"()" lisp-expr
] unit-test
{ T{
cons
f
T{ lisp-symbol f "foo" }
T{
cons
f
1
2008-06-04 00:56:06 -04:00
T{ cons f 2 T{ cons f "aoeu" +nil+ } }
} } } [
2008-07-10 19:33:09 -04:00
"(foo 1 2 \"aoeu\")" lisp-expr
] unit-test
{ T{ cons f
1
T{ cons f
2008-06-04 00:56:06 -04:00
T{ cons f 3 T{ cons f 4 +nil+ } }
T{ cons f 2 +nil+ } }
}
} [
2008-07-10 19:33:09 -04:00
"(1 (3 4) 2)" lisp-expr
2008-04-27 23:12:18 -04:00
] unit-test