Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
Download
80529 views
1
// Copyright Joyent, Inc. and other Node contributors.
2
//
3
// Permission is hereby granted, free of charge, to any person obtaining a
4
// copy of this software and associated documentation files (the
5
// "Software"), to deal in the Software without restriction, including
6
// without limitation the rights to use, copy, modify, merge, publish,
7
// distribute, sublicense, and/or sell copies of the Software, and to permit
8
// persons to whom the Software is furnished to do so, subject to the
9
// following conditions:
10
//
11
// The above copyright notice and this permission notice shall be included
12
// in all copies or substantial portions of the Software.
13
//
14
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
15
// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
17
// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
18
// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
19
// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
20
// USE OR OTHER DEALINGS IN THE SOFTWARE.
21
22
// test uncompressing invalid input
23
24
var tape = require('tape'),
25
zlib = require('../');
26
27
tape('non-strings', function(t) {
28
var nonStringInputs = [1, true, {a: 1}, ['a']];
29
t.plan(12);
30
31
nonStringInputs.forEach(function(input) {
32
// zlib.gunzip should not throw an error when called with bad input.
33
t.doesNotThrow(function() {
34
zlib.gunzip(input, function(err, buffer) {
35
// zlib.gunzip should pass the error to the callback.
36
t.ok(err);
37
});
38
});
39
});
40
});
41
42
tape('unzips', function(t) {
43
// zlib.Unzip classes need to get valid data, or else they'll throw.
44
var unzips = [ zlib.Unzip(),
45
zlib.Gunzip(),
46
zlib.Inflate(),
47
zlib.InflateRaw() ];
48
49
t.plan(4);
50
unzips.forEach(function (uz, i) {
51
uz.on('error', function(er) {
52
t.ok(er);
53
});
54
55
uz.on('end', function(er) {
56
throw new Error('end event should not be emitted '+uz.constructor.name);
57
});
58
59
// this will trigger error event
60
uz.write('this is not valid compressed data.');
61
});
62
});
63
64