-USING: io io.mmap io.mmap.char io.files io.files.temp
-io.directories kernel tools.test continuations sequences
-io.encodings.ascii accessors math ;
-IN: io.mmap.tests
+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 ;
-[ "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
-[ 5 ] [ "mmap-test-file.txt" temp-file [ length ] with-mapped-char-file-reader ] unit-test
-[ "22345" ] [ "mmap-test-file.txt" temp-file ascii file-contents ] unit-test
-[ "mmap-test-file.txt" temp-file delete-file ] ignore-errors
+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
-[ "mmap-empty-file.txt" temp-file delete-file ] ignore-errors
-[ ] [ "mmap-empty-file.txt" temp-file touch-file ] unit-test
+[| path |
+ [ path [ drop ] with-mapped-file ] [ bad-mmap-size? ] must-fail-with
+] with-test-file
-[
- "mmap-empty-file.txt" temp-file [
- drop
- ] with-mapped-file
-] [ bad-mmap-size? ] must-fail-with
+{ t } [
+ [ "test.txt" <mapped-file> void* <c-direct-array> first-unsafe ]
+ { nth-unsafe } inlined?
+] unit-test