From 2bc687f0dea470760265cd973906bd2c77eb90bf Mon Sep 17 00:00:00 2001 From: Joe Groff Date: Sun, 27 Sep 2009 12:03:23 -0500 Subject: [PATCH] add some tests for parse-c-type --- basis/alien/parser/parser-tests.factor | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 basis/alien/parser/parser-tests.factor diff --git a/basis/alien/parser/parser-tests.factor b/basis/alien/parser/parser-tests.factor new file mode 100644 index 0000000000..8309de5641 --- /dev/null +++ b/basis/alien/parser/parser-tests.factor @@ -0,0 +1,26 @@ +! (c)2009 Joe Groff bsd license +USING: alien.c-types alien.parser alien.syntax tools.test +vocabs.parser ; +IN: alien.parser.tests + +TYPEDEF: char char2 + +[ int ] [ "int" parse-c-type ] unit-test +[ { int 5 } ] [ "int[5]" parse-c-type ] unit-test +[ { int 5 10 11 } ] [ "int[5][10][11]" parse-c-type ] unit-test +[ void* ] [ "int*" parse-c-type ] unit-test +[ void* ] [ "int**" parse-c-type ] unit-test +[ void* ] [ "int***" parse-c-type ] unit-test +[ void* ] [ "int****" parse-c-type ] unit-test +[ char* ] [ "char*" parse-c-type ] unit-test +[ void* ] [ "char**" parse-c-type ] unit-test +[ void* ] [ "char***" parse-c-type ] unit-test +[ void* ] [ "char****" parse-c-type ] unit-test +[ char2 ] [ "char2" parse-c-type ] unit-test +[ char* ] [ "char2*" parse-c-type ] unit-test + +SYMBOL: not-c-type + +[ "not-c-type" parse-c-type ] [ no-c-type? ] must-fail-with +[ "not-word" parse-c-type ] [ no-word-error? ] must-fail-with +