2008-06-18 08:42:11 -04:00
|
|
|
! Copyright (C) 2008 Chris Double.
|
|
|
|
! See http://factorcode.org/license.txt for BSD license.
|
2018-02-15 11:45:08 -05:00
|
|
|
|
|
|
|
USING: kernel tools.test peg peg.javascript.ast
|
|
|
|
peg.javascript.tokenizer accessors ;
|
2008-06-18 08:42:11 -04:00
|
|
|
|
|
|
|
{
|
|
|
|
V{
|
|
|
|
T{ ast-number f 123 }
|
|
|
|
";"
|
|
|
|
T{ ast-string f "hello" }
|
|
|
|
";"
|
|
|
|
T{ ast-name f "foo" }
|
|
|
|
"("
|
|
|
|
T{ ast-name f "x" }
|
|
|
|
")"
|
|
|
|
";"
|
2015-07-02 13:34:01 -04:00
|
|
|
}
|
2008-06-18 08:42:11 -04:00
|
|
|
} [
|
2008-07-03 23:48:52 -04:00
|
|
|
"123; 'hello'; foo(x);" tokenize-javascript
|
2008-06-18 08:42:11 -04:00
|
|
|
] unit-test
|
2008-06-29 23:20:12 -04:00
|
|
|
|
|
|
|
{ V{ T{ ast-regexp f "<(w+)[^>]*?)/>" "g" } } } [
|
2008-07-03 23:48:52 -04:00
|
|
|
"/<(\\w+)[^>]*?)\\/>/g" tokenize-javascript
|
2015-07-02 13:34:01 -04:00
|
|
|
] unit-test
|
2016-06-11 17:36:14 -04:00
|
|
|
|
|
|
|
{
|
2016-06-11 18:22:20 -04:00
|
|
|
V{ T{ ast-string { value "abc\"def\"" } } }
|
|
|
|
} [ "\"abc\\\"def\\\"\"" tokenize-javascript ] unit-test
|
|
|
|
|
|
|
|
{
|
|
|
|
V{ T{ ast-string { value "\b\f\n\r\t\v'\"\\" } } }
|
|
|
|
} [ "\"\\b\\f\\n\\r\\t\\v\\'\\\"\\\\\"" tokenize-javascript ] unit-test
|
2016-06-12 09:41:59 -04:00
|
|
|
|
|
|
|
{
|
|
|
|
V{ T{ ast-string { value "abc" } } }
|
|
|
|
} [ "\"\\x61\\u0062\\u{63}\"" tokenize-javascript ] unit-test
|