summaryrefslogtreecommitdiff
path: root/deps/npm/node_modules/JSONStream/test/empty.js
diff options
context:
space:
mode:
Diffstat (limited to 'deps/npm/node_modules/JSONStream/test/empty.js')
-rw-r--r--deps/npm/node_modules/JSONStream/test/empty.js44
1 files changed, 44 insertions, 0 deletions
diff --git a/deps/npm/node_modules/JSONStream/test/empty.js b/deps/npm/node_modules/JSONStream/test/empty.js
new file mode 100644
index 0000000000..19e888c1eb
--- /dev/null
+++ b/deps/npm/node_modules/JSONStream/test/empty.js
@@ -0,0 +1,44 @@
+var JSONStream = require('../')
+ , stream = require('stream')
+ , it = require('it-is')
+
+var output = [ [], [] ]
+
+var parser1 = JSONStream.parse(['docs', /./])
+parser1.on('data', function(data) {
+ output[0].push(data)
+})
+
+var parser2 = JSONStream.parse(['docs', /./])
+parser2.on('data', function(data) {
+ output[1].push(data)
+})
+
+var pending = 2
+function onend () {
+ if (--pending > 0) return
+ it(output).deepEqual([
+ [], [{hello: 'world'}]
+ ])
+ console.error('PASSED')
+}
+parser1.on('end', onend)
+parser2.on('end', onend)
+
+function makeReadableStream() {
+ var readStream = new stream.Stream()
+ readStream.readable = true
+ readStream.write = function (data) { this.emit('data', data) }
+ readStream.end = function (data) { this.emit('end') }
+ return readStream
+}
+
+var emptyArray = makeReadableStream()
+emptyArray.pipe(parser1)
+emptyArray.write('{"docs":[]}')
+emptyArray.end()
+
+var objectArray = makeReadableStream()
+objectArray.pipe(parser2)
+objectArray.write('{"docs":[{"hello":"world"}]}')
+objectArray.end()