|
3 | 3 | // MODULES //
|
4 | 4 |
|
5 | 5 | var tape = require( 'tape' );
|
| 6 | +var proxyquire = require( 'proxyquire' ); |
6 | 7 | var noop = require( '@stdlib/utils/noop' );
|
7 | 8 | var repl = require( './../lib' );
|
8 | 9 |
|
@@ -100,45 +101,63 @@ tape( 'the function throws an error if provided a callback argument which is not
|
100 | 101 | });
|
101 | 102 |
|
102 | 103 | tape( 'the function starts a REPL environment', function test( t ) {
|
| 104 | + var repl; |
| 105 | + var mock; |
| 106 | + |
| 107 | + mock = { |
| 108 | + 'start': start |
| 109 | + }; |
| 110 | + |
| 111 | + repl = proxyquire( './../lib/repl.js', { |
| 112 | + 'repl': mock |
| 113 | + }); |
| 114 | + |
103 | 115 | repl( onStart );
|
104 | 116 |
|
| 117 | + function start() { |
| 118 | + return { |
| 119 | + 'context': {} |
| 120 | + }; |
| 121 | + } |
| 122 | + |
105 | 123 | function onStart( error, server ) {
|
106 | 124 | if ( error ) {
|
107 | 125 | t.ok( false, error.message );
|
108 |
| - return t.end(); |
| 126 | + } else { |
| 127 | + t.ok( true, 'starts a REPL' ); |
| 128 | + t.ok( server, 'returns a REPL server' ); |
109 | 129 | }
|
110 |
| - t.ok( true, 'starts a REPL' ); |
111 |
| - server.rli.on( 'close', onClose ); |
112 |
| - server.rli.write( '.exit\n' ); |
113 |
| - } |
114 |
| - |
115 |
| - function onClose() { |
116 |
| - setTimeout( onEnd, 1000 ); |
117 |
| - } |
118 |
| - |
119 |
| - function onEnd() { |
120 | 130 | t.end();
|
121 | 131 | }
|
122 | 132 | });
|
123 | 133 |
|
124 | 134 | tape( 'the function starts a REPL environment (options)', function test( t ) {
|
| 135 | + var repl; |
| 136 | + var mock; |
| 137 | + |
| 138 | + mock = { |
| 139 | + 'start': start |
| 140 | + }; |
| 141 | + |
| 142 | + repl = proxyquire( './../lib/repl.js', { |
| 143 | + 'repl': mock |
| 144 | + }); |
| 145 | + |
125 | 146 | repl( {}, onStart );
|
126 | 147 |
|
| 148 | + function start() { |
| 149 | + return { |
| 150 | + 'context': {} |
| 151 | + }; |
| 152 | + } |
| 153 | + |
127 | 154 | function onStart( error, server ) {
|
128 | 155 | if ( error ) {
|
129 | 156 | t.ok( false, error.message );
|
130 |
| - return t.end(); |
| 157 | + } else { |
| 158 | + t.ok( true, 'starts a REPL' ); |
| 159 | + t.ok( server, 'returns a REPL server' ); |
131 | 160 | }
|
132 |
| - t.ok( true, 'starts a REPL' ); |
133 |
| - server.rli.on( 'close', onClose ); |
134 |
| - server.rli.write( '.exit\n' ); |
135 |
| - } |
136 |
| - |
137 |
| - function onClose() { |
138 |
| - setTimeout( onEnd, 1000 ); |
139 |
| - } |
140 |
| - |
141 |
| - function onEnd() { |
142 | 161 | t.end();
|
143 | 162 | }
|
144 | 163 | });
|
0 commit comments