| Index: tools/vulcanize/node_modules/vulcanize/node_modules/cheerio/node_modules/htmlparser2/node_modules/readable-stream/test/common.js
|
| diff --git a/tools/vulcanize/node_modules/vulcanize/node_modules/cheerio/node_modules/htmlparser2/node_modules/readable-stream/test/common.js b/tools/vulcanize/node_modules/vulcanize/node_modules/cheerio/node_modules/htmlparser2/node_modules/readable-stream/test/common.js
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..1dec2e3571a77075c722a1b0321a787dfcc922cc
|
| --- /dev/null
|
| +++ b/tools/vulcanize/node_modules/vulcanize/node_modules/cheerio/node_modules/htmlparser2/node_modules/readable-stream/test/common.js
|
| @@ -0,0 +1,191 @@
|
| +// Copyright Joyent, Inc. and other Node contributors.
|
| +//
|
| +// Permission is hereby granted, free of charge, to any person obtaining a
|
| +// copy of this software and associated documentation files (the
|
| +// "Software"), to deal in the Software without restriction, including
|
| +// without limitation the rights to use, copy, modify, merge, publish,
|
| +// distribute, sublicense, and/or sell copies of the Software, and to permit
|
| +// persons to whom the Software is furnished to do so, subject to the
|
| +// following conditions:
|
| +//
|
| +// The above copyright notice and this permission notice shall be included
|
| +// in all copies or substantial portions of the Software.
|
| +//
|
| +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
| +// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
| +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
|
| +// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
|
| +// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
|
| +// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
|
| +// USE OR OTHER DEALINGS IN THE SOFTWARE.
|
| +
|
| +var path = require('path');
|
| +var assert = require('assert');
|
| +
|
| +exports.testDir = path.dirname(__filename);
|
| +exports.fixturesDir = path.join(exports.testDir, 'fixtures');
|
| +exports.libDir = path.join(exports.testDir, '../lib');
|
| +exports.tmpDir = path.join(exports.testDir, 'tmp');
|
| +exports.PORT = 12346;
|
| +
|
| +if (process.platform === 'win32') {
|
| + exports.PIPE = '\\\\.\\pipe\\libuv-test';
|
| +} else {
|
| + exports.PIPE = exports.tmpDir + '/test.sock';
|
| +}
|
| +
|
| +var util = require('util');
|
| +for (var i in util) exports[i] = util[i];
|
| +//for (var i in exports) global[i] = exports[i];
|
| +
|
| +function protoCtrChain(o) {
|
| + var result = [];
|
| + for (; o; o = o.__proto__) { result.push(o.constructor); }
|
| + return result.join();
|
| +}
|
| +
|
| +exports.indirectInstanceOf = function(obj, cls) {
|
| + if (obj instanceof cls) { return true; }
|
| + var clsChain = protoCtrChain(cls.prototype);
|
| + var objChain = protoCtrChain(obj);
|
| + return objChain.slice(-clsChain.length) === clsChain;
|
| +};
|
| +
|
| +
|
| +exports.ddCommand = function(filename, kilobytes) {
|
| + if (process.platform === 'win32') {
|
| + var p = path.resolve(exports.fixturesDir, 'create-file.js');
|
| + return '"' + process.argv[0] + '" "' + p + '" "' +
|
| + filename + '" ' + (kilobytes * 1024);
|
| + } else {
|
| + return 'dd if=/dev/zero of="' + filename + '" bs=1024 count=' + kilobytes;
|
| + }
|
| +};
|
| +
|
| +
|
| +exports.spawnPwd = function(options) {
|
| + var spawn = require('child_process').spawn;
|
| +
|
| + if (process.platform === 'win32') {
|
| + return spawn('cmd.exe', ['/c', 'cd'], options);
|
| + } else {
|
| + return spawn('pwd', [], options);
|
| + }
|
| +};
|
| +
|
| +
|
| +// Turn this off if the test should not check for global leaks.
|
| +exports.globalCheck = true;
|
| +
|
| +process.on('exit', function() {
|
| + if (!exports.globalCheck) return;
|
| + var knownGlobals = [setTimeout,
|
| + setInterval,
|
| + global.setImmediate,
|
| + clearTimeout,
|
| + clearInterval,
|
| + global.clearImmediate,
|
| + console,
|
| + Buffer,
|
| + process,
|
| + global];
|
| +
|
| + if (global.errno) {
|
| + knownGlobals.push(errno);
|
| + }
|
| +
|
| + if (global.gc) {
|
| + knownGlobals.push(gc);
|
| + }
|
| +
|
| + if (global.DTRACE_HTTP_SERVER_RESPONSE) {
|
| + knownGlobals.push(DTRACE_HTTP_SERVER_RESPONSE);
|
| + knownGlobals.push(DTRACE_HTTP_SERVER_REQUEST);
|
| + knownGlobals.push(DTRACE_HTTP_CLIENT_RESPONSE);
|
| + knownGlobals.push(DTRACE_HTTP_CLIENT_REQUEST);
|
| + knownGlobals.push(DTRACE_NET_STREAM_END);
|
| + knownGlobals.push(DTRACE_NET_SERVER_CONNECTION);
|
| + knownGlobals.push(DTRACE_NET_SOCKET_READ);
|
| + knownGlobals.push(DTRACE_NET_SOCKET_WRITE);
|
| + }
|
| + if (global.COUNTER_NET_SERVER_CONNECTION) {
|
| + knownGlobals.push(COUNTER_NET_SERVER_CONNECTION);
|
| + knownGlobals.push(COUNTER_NET_SERVER_CONNECTION_CLOSE);
|
| + knownGlobals.push(COUNTER_HTTP_SERVER_REQUEST);
|
| + knownGlobals.push(COUNTER_HTTP_SERVER_RESPONSE);
|
| + knownGlobals.push(COUNTER_HTTP_CLIENT_REQUEST);
|
| + knownGlobals.push(COUNTER_HTTP_CLIENT_RESPONSE);
|
| + }
|
| +
|
| + if (global.ArrayBuffer) {
|
| + knownGlobals.push(ArrayBuffer);
|
| + knownGlobals.push(Int8Array);
|
| + knownGlobals.push(Uint8Array);
|
| + knownGlobals.push(Uint8ClampedArray);
|
| + knownGlobals.push(Int16Array);
|
| + knownGlobals.push(Uint16Array);
|
| + knownGlobals.push(Int32Array);
|
| + knownGlobals.push(Uint32Array);
|
| + knownGlobals.push(Float32Array);
|
| + knownGlobals.push(Float64Array);
|
| + knownGlobals.push(DataView);
|
| + }
|
| +
|
| + for (var x in global) {
|
| + var found = false;
|
| +
|
| + for (var y in knownGlobals) {
|
| + if (global[x] === knownGlobals[y]) {
|
| + found = true;
|
| + break;
|
| + }
|
| + }
|
| +
|
| + if (!found) {
|
| + console.error('Unknown global: %s', x);
|
| + assert.ok(false, 'Unknown global found');
|
| + }
|
| + }
|
| +});
|
| +
|
| +
|
| +var mustCallChecks = [];
|
| +
|
| +
|
| +function runCallChecks() {
|
| + var failed = mustCallChecks.filter(function(context) {
|
| + return context.actual !== context.expected;
|
| + });
|
| +
|
| + failed.forEach(function(context) {
|
| + console.log('Mismatched %s function calls. Expected %d, actual %d.',
|
| + context.name,
|
| + context.expected,
|
| + context.actual);
|
| + console.log(context.stack.split('\n').slice(2).join('\n'));
|
| + });
|
| +
|
| + if (failed.length) process.exit(1);
|
| +}
|
| +
|
| +
|
| +exports.mustCall = function(fn, expected) {
|
| + if (typeof expected !== 'number') expected = 1;
|
| +
|
| + var context = {
|
| + expected: expected,
|
| + actual: 0,
|
| + stack: (new Error).stack,
|
| + name: fn.name || '<anonymous>'
|
| + };
|
| +
|
| + // add the exit listener only once to avoid listener leak warnings
|
| + if (mustCallChecks.length === 0) process.on('exit', runCallChecks);
|
| +
|
| + mustCallChecks.push(context);
|
| +
|
| + return function() {
|
| + context.actual++;
|
| + return fn.apply(this, arguments);
|
| + };
|
| +};
|
|
|