1
1
module Test.Main where
2
2
3
3
import Prelude
4
+
5
+ import Data.Either (Either (..))
6
+ import Data.Maybe (Maybe (..), fromJust , isNothing , isJust )
4
7
import Effect (Effect )
5
8
import Effect.Console (log )
9
+ import Node.Buffer as Buffer
6
10
import Node.Encoding (Encoding (..))
7
11
import 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 )
12
12
import Partial.Unsafe (unsafePartial )
13
+ import Test.Assert (assert , assert' )
13
14
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
15
16
assertEqual x y =
16
17
assert' (show x <> " did not equal " <> show y) (x == y)
17
18
18
19
19
- foreign import writableStreamBuffer :: forall eff . Eff ( sb :: STREAM_BUFFER | eff ) ( Writable () ( sb :: STREAM_BUFFER | eff ))
20
+ foreign import writableStreamBuffer :: Effect ( Writable ())
20
21
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
22
23
23
- foreign import readableStreamBuffer :: forall eff . Eff ( sb :: STREAM_BUFFER | eff ) ( Readable () ( sb :: STREAM_BUFFER | eff ))
24
+ foreign import readableStreamBuffer :: Effect ( Readable ())
24
25
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
26
27
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
28
29
put str enc = putImpl str (show enc)
29
30
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
40
32
main = do
41
33
log " setDefaultEncoding should not affect writing"
42
34
_ <- testSetDefaultEncoding
@@ -53,13 +45,7 @@ main = do
53
45
testString :: String
54
46
testString = " üöß💡"
55
47
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
63
49
testReads = do
64
50
_ <- testReadString
65
51
testReadBuf
@@ -94,11 +80,7 @@ testReads = do
94
80
writeString sIn UTF8 testString do
95
81
pure unit
96
82
97
- testSetDefaultEncoding
98
- :: forall eff
99
- . Eff ( sb :: STREAM_BUFFER
100
- , assert :: ASSERT
101
- | eff ) Boolean
83
+ testSetDefaultEncoding :: Effect Boolean
102
84
testSetDefaultEncoding = do
103
85
w1 <- writableStreamBuffer
104
86
_ <- check w1
@@ -113,13 +95,7 @@ testSetDefaultEncoding = do
113
95
c <- getContentsAsString w
114
96
assertEqual testString c
115
97
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
123
99
testSetEncoding = do
124
100
check UTF8
125
101
check UTF16LE
@@ -138,14 +114,7 @@ testSetEncoding = do
138
114
_ <- assertEqual <$> Buffer .toString enc buf <*> pure testString
139
115
assertEqual str testString
140
116
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
149
118
testPipe = do
150
119
sIn <- passThrough
151
120
sOut <- passThrough
@@ -165,9 +134,9 @@ testPipe = do
165
134
assertEqual str testString
166
135
167
136
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
170
139
171
140
172
141
-- | 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