ParserTests.st
changeset 1089 15d90e8a7447
parent 1052 1bd9f9fe73e3
child 1165 a9e251efdf78
--- a/ParserTests.st	Sat Mar 01 18:52:07 2014 +0100
+++ b/ParserTests.st	Sat Mar 01 18:52:23 2014 +0100
@@ -1303,6 +1303,59 @@
     "Modified: / 12-12-2009 / 22:08:24 / pp <Pavel.Pospichal@gmail.com>"
 ! !
 
+!ParserTests methodsFor:'tests - external functions STX'!
+
+testSTX_ffiCall_01_cdecl
+    |s p|
+
+    s := '<cdecl: char* ''ffiPrintString'' (char *)>'.
+    p := Parser new.
+    p source:s.
+    p nextToken.
+    p parsePrimitiveOrResourceSpecOrEmpty.
+!
+
+testSTX_ffiCall_02_api
+    |s p|
+
+    s := '<api: char* ''ffiPrintString'' (char *)>'.
+    p := Parser new.
+    p source:s.
+    p nextToken.
+    p parsePrimitiveOrResourceSpecOrEmpty.
+!
+
+testSTX_ffiCall_03_c
+    |s p|
+
+    s := '<C: char* >'.
+    p := Parser new.
+    p source:s.
+    p nextToken.
+    p parsePrimitiveOrResourceSpecOrEmpty.
+!
+
+testSTX_ffiCall_04_undefinedClasses
+    |b1 b2|
+
+    self should:[
+        b1 := Parser evaluate:'[ NotYetLoadedClass ]'.
+    ] raise:ParseError.
+
+    self assert:(b1 == nil).
+
+    self should:[
+        b2 := Parser evaluate:'[ NonExistingNameSpace::NotYetLoadedClass ]'.
+    ] raise:ParseError.
+
+    self assert:(b2 == nil).
+
+    "
+     self run:#test4
+     self new test4
+    "
+! !
+
 !ParserTests methodsFor:'tests - primitive'!
 
 testNewSTXPrimitive