-USING: accessors arrays assocs calendar continuations
-environment eval hashtables io io.directories
-io.encodings.ascii io.encodings.utf8 io.files io.files.temp io.launcher
-io.launcher.windows io.pathnames kernel math namespaces parser
-sequences splitting system tools.test combinators.short-circuit ;
+USING: accessors arrays assocs calendar
+combinators.short-circuit continuations environment eval
+hashtables io io.directories io.encodings.ascii
+io.encodings.utf8 io.files io.files.temp io.files.unique
+io.launcher io.launcher.windows io.pathnames kernel math
+namespaces parser sequences splitting system tools.test ;
 IN: io.launcher.windows.tests
 
 [ "hello world" ] [ { "hello" "world" } join-arguments ] unit-test

    [ ] [
        <process>
            "cmd.exe /c dir" >>command
            "dir.txt" temp-file >>stdout
        try-process
    ] unit-test

    [ ] [ "dir.txt" temp-file delete-file ] unit-test
] times

[ "append-test" temp-file delete-file ] ignore-errors

{ "Hello appender\r\nÖrjan ågren är åter\r\nHello appender\r\nÖrjan ågren är åter\r\n" } [
    2 [
        launcher-test-path [
            <process>
                console-vm "-script" "append.factor" 3array >>command
                "append-test" temp-file <appender> >>stdout
            try-process
        ] with-directory
    ] times

    "append-test" temp-file utf8 file-contents
] unit-test

[ "IN: scratchpad " ] [

    launcher-test-path [
        <process>
            console-vm "-script" "stderr.factor" 3array >>command
            "out.txt" unique-file [ out-path set-global ] keep >>stdout
            "err.txt" unique-file [ err-path set-global ] keep >>stderr
        try-process
    ] with-directory
] unit-test

[ "output" ] [
    out-path get-global ascii file-lines first
] unit-test

[ "error" ] [
    err-path get-global ascii file-lines first
] unit-test

[ ] [
    launcher-test-path [
        <process>
            console-vm "-script" "stderr.factor" 3array >>command
            "out.txt" unique-file [ out-path set-global ] keep >>stdout
            +stdout+ >>stderr
        try-process
    ] with-directory
] unit-test

[ "outputerror" ] [
    out-path get-global ascii file-lines first
] unit-test

[ "output" ] [
    launcher-test-path [
        <process>
            console-vm "-script" "stderr.factor" 3array >>command
            "err2.txt" unique-file [ err-path set-global ] keep >>stderr
        utf8 <process-reader> stream-lines first
    ] with-directory
] unit-test

[ "error" ] [
    err-path get-global ascii file-lines first
] unit-test


