]> gitweb.factorcode.org Git - factor.git/commitdiff
classes.struct: add test cases for see on structs.
authorJohn Benediktsson <mrjbq7@gmail.com>
Mon, 26 Sep 2011 00:25:28 +0000 (17:25 -0700)
committerJohn Benediktsson <mrjbq7@gmail.com>
Mon, 26 Sep 2011 00:25:28 +0000 (17:25 -0700)
basis/classes/struct/prettyprint/prettyprint.factor
basis/classes/struct/struct-tests.factor

index 8e75c85ad6aed669223102e4dc23ac781e8de178..2d7998135fbe261677e1638ae075fb0967b87810 100644 (file)
@@ -12,8 +12,9 @@ IN: classes.struct.prettyprint
 : struct-definer-word ( class -- word )
     struct-slots
     {
-        { [ dup [ offset>> 0 = ] all? ] [ drop \ UNION-STRUCT: ] }
         { [ dup [ packed?>> ] all? ] [ drop \ PACKED-STRUCT: ] }
+        { [ dup length 1 <= ] [ drop \ STRUCT: ] }
+        { [ dup [ offset>> 0 = ] all? ] [ drop \ UNION-STRUCT: ] }
         [ drop \ STRUCT: ]
     } cond ;
 
index 46970c86f711d796f0ed78097b50235315a1f1fd..60039249981e539ce3d4b28b7871430fc548969a 100644 (file)
@@ -514,3 +514,23 @@ PACKED-STRUCT: packed-struct-test
 
 [ POSTPONE: PACKED-STRUCT: ]
 [ packed-struct-test struct-definer-word ] unit-test
+
+STRUCT: struct-1 { a c:int } ;
+PACKED-STRUCT: struct-1-packed { a c:int } ;
+UNION-STRUCT: struct-1-union { a c:int } ;
+
+[ "USING: alien.c-types classes.struct ;
+IN: classes.struct.tests
+STRUCT: struct-1 { a int initial: 0 } ;
+" ]
+[ \ struct-1 [ see ] with-string-writer ] unit-test
+[ "USING: alien.c-types classes.struct ;
+IN: classes.struct.tests
+PACKED-STRUCT: struct-1-packed { a int initial: 0 } ;
+" ]
+[ \ struct-1-packed [ see ] with-string-writer ] unit-test
+[ "USING: alien.c-types classes.struct ;
+IN: classes.struct.tests
+STRUCT: struct-1-union { a int initial: 0 } ;
+" ]
+[ \ struct-1-union [ see ] with-string-writer ] unit-test