]> gitweb.factorcode.org Git - factor.git/blobdiff - basis/io/mmap/mmap-tests.factor
factor: Clean up wrong form of specialized-arrays in using lists.
[factor.git] / basis / io / mmap / mmap-tests.factor
index 166167a7e7f070c591a4a3ef13c7170121652740..3758dcefa65b523b28188c794632bea648e9df7b 100644 (file)
@@ -1,11 +1,24 @@
-USING: io io.mmap io.mmap.char io.files io.files.temp
-io.directories kernel tools.test continuations sequences
-io.encodings.ascii accessors ;
-IN: io.mmap.tests
-
-[ "mmap-test-file.txt" temp-file delete-file ] ignore-errors
-[ ] [ "12345" "mmap-test-file.txt" temp-file ascii set-file-contents ] unit-test
-[ ] [ "mmap-test-file.txt" temp-file [ CHAR: 2 0 pick set-nth drop ] with-mapped-char-file ] unit-test
-[ 5 ] [ "mmap-test-file.txt" temp-file [ length ] with-mapped-char-file ] unit-test
-[ "22345" ] [ "mmap-test-file.txt" temp-file ascii file-contents ] unit-test
-[ "mmap-test-file.txt" temp-file delete-file ] ignore-errors
+USING: alien.c-types alien.data compiler.tree.debugger
+io.encodings.ascii io.files io.mmap kernel locals math sequences
+sequences.private specialized-arrays tools.test ;
+
+SPECIALIZED-ARRAY: uint
+
+[| path |
+    "12345" path ascii set-file-contents
+    { } [ path [ char <mapped-array> CHAR: 2 0 pick set-nth drop ] with-mapped-file ] unit-test
+    { 5 } [ path [ char <mapped-array> length ] with-mapped-file ] unit-test
+    { 5 } [ path [ char <mapped-array> length ] with-mapped-file-reader ] unit-test
+    { "22345" } [ path ascii file-contents ] unit-test
+    { t } [ path uint [ sum ] with-mapped-array integer? ] unit-test
+    { t } [ path uint [ sum ] with-mapped-array-reader integer? ] unit-test
+] with-test-file
+
+[| path |
+    [ path [ drop ] with-mapped-file ] [ bad-mmap-size? ] must-fail-with
+] with-test-file
+
+{ t } [
+    [ "test.txt" <mapped-file> void* <c-direct-array> first-unsafe ]
+    { nth-unsafe } inlined?
+] unit-test