11module Test.Main where
22
33import Prelude
4+
5+ import Data.Either (Either (..))
6+ import Data.Maybe (Maybe (..), fromJust , isNothing , isJust )
47import Effect (Effect )
58import Effect.Console (log )
9+ import Node.Buffer as Buffer
610import Node.Encoding (Encoding (..))
711import Node.Stream (Duplex , Readable , Writable , onDataString , end , writeString , pipe , onDataEither , onData , setEncoding , setDefaultEncoding , read , onReadable , readString )
8- import Test.Assert (ASSERT , assert , assert' )
9- import Node.Buffer as Buffer
10- import Data.Either (Either (..))
11- import Data.Maybe (Maybe (..), fromJust , isNothing , isJust )
1212import Partial.Unsafe (unsafePartial )
13+ import Test.Assert (assert , assert' )
1314
14- assertEqual :: forall e a . Show a => Eq a => a -> a -> Eff ( assert :: ASSERT | e ) Unit
15+ assertEqual :: forall a . Show a => Eq a => a -> a -> Effect Unit
1516assertEqual x y =
1617 assert' (show x <> " did not equal " <> show y) (x == y)
1718
1819
19- foreign import writableStreamBuffer :: forall eff . Eff ( sb :: STREAM_BUFFER | eff ) ( Writable () ( sb :: STREAM_BUFFER | eff ))
20+ foreign import writableStreamBuffer :: Effect ( Writable ())
2021
21- foreign import getContentsAsString :: forall r eff . Writable r ( sb :: STREAM_BUFFER | eff ) -> Eff ( sb :: STREAM_BUFFER | eff ) String
22+ foreign import getContentsAsString :: forall r . Writable r -> Effect String
2223
23- foreign import readableStreamBuffer :: forall eff . Eff ( sb :: STREAM_BUFFER | eff ) ( Readable () ( sb :: STREAM_BUFFER | eff ))
24+ foreign import readableStreamBuffer :: Effect ( Readable ())
2425
25- foreign import putImpl :: forall r eff . String -> String -> Readable r ( sb :: STREAM_BUFFER | eff ) -> Eff ( sb :: STREAM_BUFFER | eff ) Unit
26+ foreign import putImpl :: forall r . String -> String -> Readable r -> Effect Unit
2627
27- put :: forall r eff . String -> Encoding -> Readable r ( sb :: STREAM_BUFFER | eff ) -> Eff ( sb :: STREAM_BUFFER | eff ) Unit
28+ put :: forall r . String -> Encoding -> Readable r -> Effect Unit
2829put str enc = putImpl str (show enc)
2930
30- main
31- :: forall eff
32- . Eff ( console :: CONSOLE
33- , sb :: STREAM_BUFFER
34- , assert :: ASSERT
35- , exception :: EXCEPTION
36- , buffer :: Buffer.BUFFER
37- , stream :: PASS_THROUGH
38- , gzip :: GZIP
39- | eff ) Boolean
31+ main :: Effect Boolean
4032main = do
4133 log " setDefaultEncoding should not affect writing"
4234 _ <- testSetDefaultEncoding
@@ -53,13 +45,7 @@ main = do
5345testString :: String
5446testString = " üöß💡"
5547
56- testReads
57- :: forall eff
58- . Eff ( stream :: PASS_THROUGH
59- , exception :: EXCEPTION
60- , buffer :: Buffer.BUFFER
61- , assert :: ASSERT
62- | eff ) Boolean
48+ testReads :: Effect Boolean
6349testReads = do
6450 _ <- testReadString
6551 testReadBuf
@@ -94,11 +80,7 @@ testReads = do
9480 writeString sIn UTF8 testString do
9581 pure unit
9682
97- testSetDefaultEncoding
98- :: forall eff
99- . Eff ( sb :: STREAM_BUFFER
100- , assert :: ASSERT
101- | eff ) Boolean
83+ testSetDefaultEncoding :: Effect Boolean
10284testSetDefaultEncoding = do
10385 w1 <- writableStreamBuffer
10486 _ <- check w1
@@ -113,13 +95,7 @@ testSetDefaultEncoding = do
11395 c <- getContentsAsString w
11496 assertEqual testString c
11597
116- testSetEncoding
117- :: forall eff
118- . Eff ( sb :: STREAM_BUFFER
119- , exception :: EXCEPTION
120- , buffer :: Buffer.BUFFER
121- , assert :: ASSERT
122- | eff ) Unit
98+ testSetEncoding :: Effect Unit
12399testSetEncoding = do
124100 check UTF8
125101 check UTF16LE
@@ -138,14 +114,7 @@ testSetEncoding = do
138114 _ <- assertEqual <$> Buffer .toString enc buf <*> pure testString
139115 assertEqual str testString
140116
141- testPipe
142- :: forall eff
143- . Eff ( stream :: PASS_THROUGH
144- , gzip :: GZIP
145- , exception :: EXCEPTION
146- , assert :: ASSERT
147- , console :: CONSOLE
148- | eff ) Boolean
117+ testPipe :: Effect Boolean
149118testPipe = do
150119 sIn <- passThrough
151120 sOut <- passThrough
@@ -165,9 +134,9 @@ testPipe = do
165134 assertEqual str testString
166135
167136
168- foreign import createGzip :: forall eff . Eff ( gzip :: GZIP | eff ) ( Duplex ( gzip :: GZIP | eff ))
169- foreign import createGunzip :: forall eff . Eff ( gzip :: GZIP | eff ) ( Duplex ( gzip :: GZIP | eff ))
137+ foreign import createGzip :: Effect Duplex
138+ foreign import createGunzip :: Effect Duplex
170139
171140
172141-- | Create a PassThrough stream, which simply writes its input to its output.
173- foreign import passThrough :: forall eff . Eff ( stream :: PASS_THROUGH | eff ) ( Duplex ( stream :: PASS_THROUGH | eff ))
142+ foreign import passThrough :: Effect Duplex
0 commit comments