! Copyright (C) 2009 Doug Coleman. ! See http://factorcode.org/license.txt for BSD license. USING: accessors c.lexer kernel sequences.parser tools.test ; IN: c.lexer.tests { 36 } [ " //jofiejoe\n //eoieow\n/*asdf*/\n " skip-whitespace/comments n>> ] unit-test { f "33asdf" } [ "33asdf" [ take-c-identifier ] [ take-rest ] bi ] unit-test { "asdf" } [ "asdf" take-c-identifier ] unit-test { "_asdf" } [ "_asdf" take-c-identifier ] unit-test { "_asdf400" } [ "_asdf400" take-c-identifier ] unit-test { "asdfasdf" } [ "/*asdfasdf*/" take-c-comment ] unit-test { "k" } [ "/*asdfasdf*/k" [ take-c-comment drop ] [ take-rest ] bi ] unit-test { "omg" } [ "//asdfasdf\nomg" [ take-c++-comment drop ] [ take-rest ] bi ] unit-test { "omg" } [ "omg" [ take-c++-comment drop ] [ take-rest ] bi ] unit-test { "/*asdfasdf" } [ "/*asdfasdf" [ take-c-comment drop ] [ take-rest ] bi ] unit-test { "asdf" "eoieoei" } [ "//asdf\neoieoei" [ take-c++-comment ] [ take-rest ] bi ] unit-test { f } [ "\"abc\" asdf" [ CHAR: \ CHAR: \" take-quoted-string drop ] [ "asdf" take-sequence ] bi ] unit-test { "abc\\\"def" } [ "\"abc\\\"def\" asdf" CHAR: \ CHAR: \" take-quoted-string ] unit-test { "asdf" } [ "\"abc\" asdf" [ CHAR: \ CHAR: \" take-quoted-string drop ] [ skip-whitespace "asdf" take-sequence ] bi ] unit-test { f } [ "\"abc asdf" CHAR: \ CHAR: \" take-quoted-string ] unit-test { "\"abc" } [ "\"abc asdf" [ CHAR: \ CHAR: \" take-quoted-string drop ] [ "\"abc" take-sequence ] bi ] unit-test { "c" } [ "c" take-token ] unit-test { f } [ "" take-token ] unit-test { "abcd e \\\"f g" } [ "\"abcd e \\\"f g\"" CHAR: \ CHAR: \" take-token* ] unit-test { "123" } [ "123jjj" take-c-integer ] unit-test { "123uLL" } [ "123uLL" take-c-integer ] unit-test { "123ull" } [ "123ull" take-c-integer ] unit-test { "123u" } [ "123u" take-c-integer ] unit-test