@appium/support 2.55.4 → 2.56.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/lib/env.js +102 -0
- package/build/lib/fs.js +74 -56
- package/build/lib/image-util.js +2 -4
- package/build/lib/index.js +18 -6
- package/build/lib/log-internal.js +2 -4
- package/build/lib/logger.js +2 -4
- package/build/lib/logging.js +2 -4
- package/build/lib/mjpeg.js +2 -4
- package/build/lib/mkdirp.js +7 -11
- package/build/lib/net.js +2 -4
- package/build/lib/node.js +99 -2
- package/build/lib/npm.js +240 -0
- package/build/lib/plist.js +2 -4
- package/build/lib/process.js +2 -4
- package/build/lib/system.js +2 -4
- package/build/lib/tempdir.js +2 -4
- package/build/lib/timing.js +2 -4
- package/build/lib/util.js +6 -8
- package/build/lib/zip.js +4 -8
- package/lib/env.js +162 -0
- package/lib/fs.js +193 -69
- package/lib/index.js +8 -2
- package/lib/log-internal.js +2 -2
- package/lib/logging.js +1 -1
- package/lib/mkdirp.js +3 -6
- package/lib/net.js +4 -4
- package/lib/node.js +104 -1
- package/lib/npm.js +335 -0
- package/lib/tempdir.js +6 -6
- package/lib/util.js +28 -24
- package/lib/zip.js +7 -8
- package/package.json +20 -10
- package/build/test/assets/sample_binary.plist +0 -0
- package/build/test/assets/sample_text.plist +0 -28
- package/build/test/fs-specs.js +0 -264
- package/build/test/helpers.js +0 -35
- package/build/test/image-util-e2e-specs.js +0 -78
- package/build/test/index-specs.js +0 -49
- package/build/test/log-internals-specs.js +0 -97
- package/build/test/logger/helpers.js +0 -71
- package/build/test/logger/logger-force-specs.js +0 -41
- package/build/test/logger/logger-normal-specs.js +0 -113
- package/build/test/logger/logger-test-specs.js +0 -40
- package/build/test/mjpeg-e2e-specs.js +0 -96
- package/build/test/net-e2e-specs.js +0 -32
- package/build/test/node-e2e-specs.js +0 -22
- package/build/test/plist-specs.js +0 -54
- package/build/test/process-specs.js +0 -104
- package/build/test/system-specs.js +0 -136
- package/build/test/tempdir-specs.js +0 -86
- package/build/test/timing-specs.js +0 -125
- package/build/test/util-e2e-specs.js +0 -136
- package/build/test/util-specs.js +0 -537
- package/build/test/zip-e2e-specs.js +0 -233
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
|
-
Object.defineProperty(exports, "__esModule", {
|
|
6
|
-
value: true
|
|
7
|
-
});
|
|
8
|
-
exports.assertOutputContains = assertOutputContains;
|
|
9
|
-
exports.assertOutputDoesntContain = assertOutputDoesntContain;
|
|
10
|
-
exports.getDynamicLogger = getDynamicLogger;
|
|
11
|
-
exports.restoreWriters = restoreWriters;
|
|
12
|
-
exports.setupWriters = setupWriters;
|
|
13
|
-
|
|
14
|
-
require("source-map-support/register");
|
|
15
|
-
|
|
16
|
-
var _sinon = _interopRequireDefault(require("sinon"));
|
|
17
|
-
|
|
18
|
-
var _lodash = _interopRequireDefault(require("lodash"));
|
|
19
|
-
|
|
20
|
-
var _lib = require("../../lib");
|
|
21
|
-
|
|
22
|
-
function setupWriters() {
|
|
23
|
-
return {
|
|
24
|
-
'stdout': _sinon.default.spy(process.stdout, 'write'),
|
|
25
|
-
'stderr': _sinon.default.spy(process.stderr, 'write')
|
|
26
|
-
};
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
function getDynamicLogger(testingMode, forceLogs, prefix = null) {
|
|
30
|
-
process.env._TESTING = testingMode ? '1' : '0';
|
|
31
|
-
process.env._FORCE_LOGS = forceLogs ? '1' : '0';
|
|
32
|
-
return _lib.logger.getLogger(prefix);
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
function restoreWriters(writers) {
|
|
36
|
-
for (let w of _lodash.default.values(writers)) {
|
|
37
|
-
w.restore();
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
function someoneHadOutput(writers, output) {
|
|
42
|
-
let hadOutput = false;
|
|
43
|
-
|
|
44
|
-
let matchOutput = _sinon.default.match(function (value) {
|
|
45
|
-
return value && value.indexOf(output) >= 0;
|
|
46
|
-
}, 'matchOutput');
|
|
47
|
-
|
|
48
|
-
for (let writer of _lodash.default.values(writers)) {
|
|
49
|
-
if (writer.calledWith) {
|
|
50
|
-
hadOutput = writer.calledWithMatch(matchOutput);
|
|
51
|
-
if (hadOutput) break;
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
return hadOutput;
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
function assertOutputContains(writers, output) {
|
|
59
|
-
if (!someoneHadOutput(writers, output)) {
|
|
60
|
-
throw new Error(`Expected something to have been called with: '${output}'`);
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
function assertOutputDoesntContain(writers, output) {
|
|
65
|
-
if (someoneHadOutput(writers, output)) {
|
|
66
|
-
throw new Error(`Expected nothing to have been called with: '${output}'`);
|
|
67
|
-
}
|
|
68
|
-
}require('source-map-support').install();
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInRlc3QvbG9nZ2VyL2hlbHBlcnMuanMiXSwibmFtZXMiOlsic2V0dXBXcml0ZXJzIiwic2lub24iLCJzcHkiLCJwcm9jZXNzIiwic3Rkb3V0Iiwic3RkZXJyIiwiZ2V0RHluYW1pY0xvZ2dlciIsInRlc3RpbmdNb2RlIiwiZm9yY2VMb2dzIiwicHJlZml4IiwiZW52IiwiX1RFU1RJTkciLCJfRk9SQ0VfTE9HUyIsImxvZ2dlciIsImdldExvZ2dlciIsInJlc3RvcmVXcml0ZXJzIiwid3JpdGVycyIsInciLCJfIiwidmFsdWVzIiwicmVzdG9yZSIsInNvbWVvbmVIYWRPdXRwdXQiLCJvdXRwdXQiLCJoYWRPdXRwdXQiLCJtYXRjaE91dHB1dCIsIm1hdGNoIiwidmFsdWUiLCJpbmRleE9mIiwid3JpdGVyIiwiY2FsbGVkV2l0aCIsImNhbGxlZFdpdGhNYXRjaCIsImFzc2VydE91dHB1dENvbnRhaW5zIiwiRXJyb3IiLCJhc3NlcnRPdXRwdXREb2VzbnRDb250YWluIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFJQSxTQUFTQSxZQUFULEdBQXlCO0FBQ3ZCLFNBQU87QUFBQyxjQUFVQyxlQUFNQyxHQUFOLENBQVVDLE9BQU8sQ0FBQ0MsTUFBbEIsRUFBMEIsT0FBMUIsQ0FBWDtBQUNDLGNBQVVILGVBQU1DLEdBQU4sQ0FBVUMsT0FBTyxDQUFDRSxNQUFsQixFQUEwQixPQUExQjtBQURYLEdBQVA7QUFFRDs7QUFFRCxTQUFTQyxnQkFBVCxDQUEyQkMsV0FBM0IsRUFBd0NDLFNBQXhDLEVBQW1EQyxNQUFNLEdBQUcsSUFBNUQsRUFBa0U7QUFDaEVOLEVBQUFBLE9BQU8sQ0FBQ08sR0FBUixDQUFZQyxRQUFaLEdBQXVCSixXQUFXLEdBQUcsR0FBSCxHQUFTLEdBQTNDO0FBQ0FKLEVBQUFBLE9BQU8sQ0FBQ08sR0FBUixDQUFZRSxXQUFaLEdBQTBCSixTQUFTLEdBQUcsR0FBSCxHQUFTLEdBQTVDO0FBQ0EsU0FBT0ssWUFBT0MsU0FBUCxDQUFpQkwsTUFBakIsQ0FBUDtBQUNEOztBQUVELFNBQVNNLGNBQVQsQ0FBeUJDLE9BQXpCLEVBQWtDO0FBQ2hDLE9BQUssSUFBSUMsQ0FBVCxJQUFjQyxnQkFBRUMsTUFBRixDQUFTSCxPQUFULENBQWQsRUFBaUM7QUFDL0JDLElBQUFBLENBQUMsQ0FBQ0csT0FBRjtBQUNEO0FBQ0Y7O0FBRUQsU0FBU0MsZ0JBQVQsQ0FBMkJMLE9BQTNCLEVBQW9DTSxNQUFwQyxFQUE0QztBQUMxQyxNQUFJQyxTQUFTLEdBQUcsS0FBaEI7O0FBQ0EsTUFBSUMsV0FBVyxHQUFHdkIsZUFBTXdCLEtBQU4sQ0FBWSxVQUFVQyxLQUFWLEVBQWlCO0FBQzdDLFdBQU9BLEtBQUssSUFBSUEsS0FBSyxDQUFDQyxPQUFOLENBQWNMLE1BQWQsS0FBeUIsQ0FBekM7QUFDRCxHQUZpQixFQUVmLGFBRmUsQ0FBbEI7O0FBSUEsT0FBSyxJQUFJTSxNQUFULElBQW1CVixnQkFBRUMsTUFBRixDQUFTSCxPQUFULENBQW5CLEVBQXNDO0FBQ3BDLFFBQUlZLE1BQU0sQ0FBQ0MsVUFBWCxFQUF1QjtBQUNyQk4sTUFBQUEsU0FBUyxHQUFHSyxNQUFNLENBQUNFLGVBQVAsQ0FBdUJOLFdBQXZCLENBQVo7QUFDQSxVQUFJRCxTQUFKLEVBQWU7QUFDaEI7QUFDRjs7QUFDRCxTQUFPQSxTQUFQO0FBQ0Q7O0FBRUQsU0FBU1Esb0JBQVQsQ0FBK0JmLE9BQS9CLEVBQXdDTSxNQUF4QyxFQUFnRDtBQUM5QyxNQUFJLENBQUNELGdCQUFnQixDQUFDTCxPQUFELEVBQVVNLE1BQVYsQ0FBckIsRUFBd0M7QUFDdEMsVUFBTSxJQUFJVSxLQUFKLENBQVcsaURBQWdEVixNQUFPLEdBQWxFLENBQU47QUFDRDtBQUNGOztBQUVELFNBQVNXLHlCQUFULENBQW9DakIsT0FBcEMsRUFBNkNNLE1BQTdDLEVBQXFEO0FBQ25ELE1BQUlELGdCQUFnQixDQUFDTCxPQUFELEVBQVVNLE1BQVYsQ0FBcEIsRUFBdUM7QUFDckMsVUFBTSxJQUFJVSxLQUFKLENBQVcsK0NBQThDVixNQUFPLEdBQWhFLENBQU47QUFDRDtBQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHNpbm9uIGZyb20gJ3Npbm9uJztcbmltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBsb2dnZXIgfSBmcm9tICcuLi8uLi9saWInO1xuXG5cblxuZnVuY3Rpb24gc2V0dXBXcml0ZXJzICgpIHtcbiAgcmV0dXJuIHsnc3Rkb3V0Jzogc2lub24uc3B5KHByb2Nlc3Muc3Rkb3V0LCAnd3JpdGUnKSxcbiAgICAgICAgICAnc3RkZXJyJzogc2lub24uc3B5KHByb2Nlc3Muc3RkZXJyLCAnd3JpdGUnKX07XG59XG5cbmZ1bmN0aW9uIGdldER5bmFtaWNMb2dnZXIgKHRlc3RpbmdNb2RlLCBmb3JjZUxvZ3MsIHByZWZpeCA9IG51bGwpIHtcbiAgcHJvY2Vzcy5lbnYuX1RFU1RJTkcgPSB0ZXN0aW5nTW9kZSA/ICcxJyA6ICcwJztcbiAgcHJvY2Vzcy5lbnYuX0ZPUkNFX0xPR1MgPSBmb3JjZUxvZ3MgPyAnMScgOiAnMCc7XG4gIHJldHVybiBsb2dnZXIuZ2V0TG9nZ2VyKHByZWZpeCk7XG59XG5cbmZ1bmN0aW9uIHJlc3RvcmVXcml0ZXJzICh3cml0ZXJzKSB7XG4gIGZvciAobGV0IHcgb2YgXy52YWx1ZXMod3JpdGVycykpIHtcbiAgICB3LnJlc3RvcmUoKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBzb21lb25lSGFkT3V0cHV0ICh3cml0ZXJzLCBvdXRwdXQpIHtcbiAgbGV0IGhhZE91dHB1dCA9IGZhbHNlO1xuICBsZXQgbWF0Y2hPdXRwdXQgPSBzaW5vbi5tYXRjaChmdW5jdGlvbiAodmFsdWUpIHtcbiAgICByZXR1cm4gdmFsdWUgJiYgdmFsdWUuaW5kZXhPZihvdXRwdXQpID49IDA7XG4gIH0sICdtYXRjaE91dHB1dCcpO1xuXG4gIGZvciAobGV0IHdyaXRlciBvZiBfLnZhbHVlcyh3cml0ZXJzKSkge1xuICAgIGlmICh3cml0ZXIuY2FsbGVkV2l0aCkge1xuICAgICAgaGFkT3V0cHV0ID0gd3JpdGVyLmNhbGxlZFdpdGhNYXRjaChtYXRjaE91dHB1dCk7XG4gICAgICBpZiAoaGFkT3V0cHV0KSBicmVhazsgLy8gZXNsaW50LWRpc2FibGUtbGluZSBjdXJseVxuICAgIH1cbiAgfVxuICByZXR1cm4gaGFkT3V0cHV0O1xufVxuXG5mdW5jdGlvbiBhc3NlcnRPdXRwdXRDb250YWlucyAod3JpdGVycywgb3V0cHV0KSB7XG4gIGlmICghc29tZW9uZUhhZE91dHB1dCh3cml0ZXJzLCBvdXRwdXQpKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBFeHBlY3RlZCBzb21ldGhpbmcgdG8gaGF2ZSBiZWVuIGNhbGxlZCB3aXRoOiAnJHtvdXRwdXR9J2ApO1xuICB9XG59XG5cbmZ1bmN0aW9uIGFzc2VydE91dHB1dERvZXNudENvbnRhaW4gKHdyaXRlcnMsIG91dHB1dCkge1xuICBpZiAoc29tZW9uZUhhZE91dHB1dCh3cml0ZXJzLCBvdXRwdXQpKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBFeHBlY3RlZCBub3RoaW5nIHRvIGhhdmUgYmVlbiBjYWxsZWQgd2l0aDogJyR7b3V0cHV0fSdgKTtcbiAgfVxufVxuXG5leHBvcnQge1xuICBzZXR1cFdyaXRlcnMsIHJlc3RvcmVXcml0ZXJzLCBhc3NlcnRPdXRwdXRDb250YWlucywgYXNzZXJ0T3V0cHV0RG9lc250Q29udGFpbixcbiAgZ2V0RHluYW1pY0xvZ2dlcixcbn07XG4iXSwiZmlsZSI6InRlc3QvbG9nZ2VyL2hlbHBlcnMuanMiLCJzb3VyY2VSb290IjoiLi4vLi4vLi4ifQ==
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
require("source-map-support/register");
|
|
4
|
-
|
|
5
|
-
var _helpers = require("./helpers");
|
|
6
|
-
|
|
7
|
-
describe('logger with force log', function () {
|
|
8
|
-
let writers, log;
|
|
9
|
-
before(function () {
|
|
10
|
-
writers = (0, _helpers.setupWriters)();
|
|
11
|
-
log = (0, _helpers.getDynamicLogger)(true, true);
|
|
12
|
-
log.level = 'silly';
|
|
13
|
-
});
|
|
14
|
-
after(function () {
|
|
15
|
-
(0, _helpers.restoreWriters)(writers);
|
|
16
|
-
});
|
|
17
|
-
it('should not rewrite log levels even during testing', function () {
|
|
18
|
-
log.silly('silly');
|
|
19
|
-
(0, _helpers.assertOutputContains)(writers, 'silly');
|
|
20
|
-
log.verbose('verbose');
|
|
21
|
-
(0, _helpers.assertOutputContains)(writers, 'verbose');
|
|
22
|
-
log.verbose('debug');
|
|
23
|
-
(0, _helpers.assertOutputContains)(writers, 'debug');
|
|
24
|
-
log.info('info');
|
|
25
|
-
(0, _helpers.assertOutputContains)(writers, 'info');
|
|
26
|
-
log.http('http');
|
|
27
|
-
(0, _helpers.assertOutputContains)(writers, 'http');
|
|
28
|
-
log.warn('warn');
|
|
29
|
-
(0, _helpers.assertOutputContains)(writers, 'warn');
|
|
30
|
-
log.error('error');
|
|
31
|
-
(0, _helpers.assertOutputContains)(writers, 'error');
|
|
32
|
-
(() => {
|
|
33
|
-
log.errorAndThrow('msg');
|
|
34
|
-
}).should.throw('msg');
|
|
35
|
-
(0, _helpers.assertOutputContains)(writers, 'error');
|
|
36
|
-
(0, _helpers.assertOutputContains)(writers, 'msg');
|
|
37
|
-
});
|
|
38
|
-
});require('source-map-support').install();
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInRlc3QvbG9nZ2VyL2xvZ2dlci1mb3JjZS1zcGVjcy5qcyJdLCJuYW1lcyI6WyJkZXNjcmliZSIsIndyaXRlcnMiLCJsb2ciLCJiZWZvcmUiLCJsZXZlbCIsImFmdGVyIiwiaXQiLCJzaWxseSIsInZlcmJvc2UiLCJpbmZvIiwiaHR0cCIsIndhcm4iLCJlcnJvciIsImVycm9yQW5kVGhyb3ciLCJzaG91bGQiLCJ0aHJvdyJdLCJtYXBwaW5ncyI6Ijs7OztBQUVBOztBQUdBQSxRQUFRLENBQUMsdUJBQUQsRUFBMEIsWUFBWTtBQUM1QyxNQUFJQyxPQUFKLEVBQWFDLEdBQWI7QUFDQUMsRUFBQUEsTUFBTSxDQUFDLFlBQVk7QUFDakJGLElBQUFBLE9BQU8sR0FBRyw0QkFBVjtBQUNBQyxJQUFBQSxHQUFHLEdBQUcsK0JBQWlCLElBQWpCLEVBQXVCLElBQXZCLENBQU47QUFDQUEsSUFBQUEsR0FBRyxDQUFDRSxLQUFKLEdBQVksT0FBWjtBQUNELEdBSkssQ0FBTjtBQU1BQyxFQUFBQSxLQUFLLENBQUMsWUFBWTtBQUNoQixpQ0FBZUosT0FBZjtBQUNELEdBRkksQ0FBTDtBQUlBSyxFQUFBQSxFQUFFLENBQUMsbURBQUQsRUFBc0QsWUFBWTtBQUNsRUosSUFBQUEsR0FBRyxDQUFDSyxLQUFKLENBQVUsT0FBVjtBQUNBLHVDQUFxQk4sT0FBckIsRUFBOEIsT0FBOUI7QUFDQUMsSUFBQUEsR0FBRyxDQUFDTSxPQUFKLENBQVksU0FBWjtBQUNBLHVDQUFxQlAsT0FBckIsRUFBOEIsU0FBOUI7QUFDQUMsSUFBQUEsR0FBRyxDQUFDTSxPQUFKLENBQVksT0FBWjtBQUNBLHVDQUFxQlAsT0FBckIsRUFBOEIsT0FBOUI7QUFDQUMsSUFBQUEsR0FBRyxDQUFDTyxJQUFKLENBQVMsTUFBVDtBQUNBLHVDQUFxQlIsT0FBckIsRUFBOEIsTUFBOUI7QUFDQUMsSUFBQUEsR0FBRyxDQUFDUSxJQUFKLENBQVMsTUFBVDtBQUNBLHVDQUFxQlQsT0FBckIsRUFBOEIsTUFBOUI7QUFDQUMsSUFBQUEsR0FBRyxDQUFDUyxJQUFKLENBQVMsTUFBVDtBQUNBLHVDQUFxQlYsT0FBckIsRUFBOEIsTUFBOUI7QUFDQUMsSUFBQUEsR0FBRyxDQUFDVSxLQUFKLENBQVUsT0FBVjtBQUNBLHVDQUFxQlgsT0FBckIsRUFBOEIsT0FBOUI7QUFDQSxLQUFDLE1BQU07QUFBRUMsTUFBQUEsR0FBRyxDQUFDVyxhQUFKLENBQWtCLEtBQWxCO0FBQTJCLEtBQXBDLEVBQXNDQyxNQUF0QyxDQUE2Q0MsS0FBN0MsQ0FBbUQsS0FBbkQ7QUFDQSx1Q0FBcUJkLE9BQXJCLEVBQThCLE9BQTlCO0FBQ0EsdUNBQXFCQSxPQUFyQixFQUE4QixLQUE5QjtBQUNELEdBbEJDLENBQUY7QUFtQkQsQ0EvQk8sQ0FBUiIsInNvdXJjZXNDb250ZW50IjpbIi8vIHRyYW5zcGlsZTptb2NoYVxuXG5pbXBvcnQgeyBnZXREeW5hbWljTG9nZ2VyLCByZXN0b3JlV3JpdGVycywgc2V0dXBXcml0ZXJzLFxuICAgICAgICAgYXNzZXJ0T3V0cHV0Q29udGFpbnMgfSBmcm9tICcuL2hlbHBlcnMnO1xuXG5kZXNjcmliZSgnbG9nZ2VyIHdpdGggZm9yY2UgbG9nJywgZnVuY3Rpb24gKCkge1xuICBsZXQgd3JpdGVycywgbG9nO1xuICBiZWZvcmUoZnVuY3Rpb24gKCkge1xuICAgIHdyaXRlcnMgPSBzZXR1cFdyaXRlcnMoKTtcbiAgICBsb2cgPSBnZXREeW5hbWljTG9nZ2VyKHRydWUsIHRydWUpO1xuICAgIGxvZy5sZXZlbCA9ICdzaWxseSc7XG4gIH0pO1xuXG4gIGFmdGVyKGZ1bmN0aW9uICgpIHtcbiAgICByZXN0b3JlV3JpdGVycyh3cml0ZXJzKTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCBub3QgcmV3cml0ZSBsb2cgbGV2ZWxzIGV2ZW4gZHVyaW5nIHRlc3RpbmcnLCBmdW5jdGlvbiAoKSB7XG4gICAgbG9nLnNpbGx5KCdzaWxseScpO1xuICAgIGFzc2VydE91dHB1dENvbnRhaW5zKHdyaXRlcnMsICdzaWxseScpO1xuICAgIGxvZy52ZXJib3NlKCd2ZXJib3NlJyk7XG4gICAgYXNzZXJ0T3V0cHV0Q29udGFpbnMod3JpdGVycywgJ3ZlcmJvc2UnKTtcbiAgICBsb2cudmVyYm9zZSgnZGVidWcnKTtcbiAgICBhc3NlcnRPdXRwdXRDb250YWlucyh3cml0ZXJzLCAnZGVidWcnKTtcbiAgICBsb2cuaW5mbygnaW5mbycpO1xuICAgIGFzc2VydE91dHB1dENvbnRhaW5zKHdyaXRlcnMsICdpbmZvJyk7XG4gICAgbG9nLmh0dHAoJ2h0dHAnKTtcbiAgICBhc3NlcnRPdXRwdXRDb250YWlucyh3cml0ZXJzLCAnaHR0cCcpO1xuICAgIGxvZy53YXJuKCd3YXJuJyk7XG4gICAgYXNzZXJ0T3V0cHV0Q29udGFpbnMod3JpdGVycywgJ3dhcm4nKTtcbiAgICBsb2cuZXJyb3IoJ2Vycm9yJyk7XG4gICAgYXNzZXJ0T3V0cHV0Q29udGFpbnMod3JpdGVycywgJ2Vycm9yJyk7XG4gICAgKCgpID0+IHsgbG9nLmVycm9yQW5kVGhyb3coJ21zZycpOyB9KS5zaG91bGQudGhyb3coJ21zZycpO1xuICAgIGFzc2VydE91dHB1dENvbnRhaW5zKHdyaXRlcnMsICdlcnJvcicpO1xuICAgIGFzc2VydE91dHB1dENvbnRhaW5zKHdyaXRlcnMsICdtc2cnKTtcbiAgfSk7XG59KTtcbiJdLCJmaWxlIjoidGVzdC9sb2dnZXIvbG9nZ2VyLWZvcmNlLXNwZWNzLmpzIiwic291cmNlUm9vdCI6Ii4uLy4uLy4uIn0=
|
|
@@ -1,113 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
require("source-map-support/register");
|
|
4
|
-
|
|
5
|
-
var _helpers = require("./helpers");
|
|
6
|
-
|
|
7
|
-
const LOG_LEVELS = ['silly', 'verbose', 'info', 'http', 'warn', 'error'];
|
|
8
|
-
describe('normal logger', function () {
|
|
9
|
-
let writers, log;
|
|
10
|
-
beforeEach(function () {
|
|
11
|
-
writers = (0, _helpers.setupWriters)();
|
|
12
|
-
log = (0, _helpers.getDynamicLogger)(false, false);
|
|
13
|
-
log.level = 'silly';
|
|
14
|
-
});
|
|
15
|
-
afterEach(function () {
|
|
16
|
-
(0, _helpers.restoreWriters)(writers);
|
|
17
|
-
});
|
|
18
|
-
it('should not rewrite log levels outside of testing', function () {
|
|
19
|
-
for (const levelName of LOG_LEVELS) {
|
|
20
|
-
log[levelName](levelName);
|
|
21
|
-
(0, _helpers.assertOutputContains)(writers, levelName);
|
|
22
|
-
}
|
|
23
|
-
});
|
|
24
|
-
it('throw should not rewrite log levels outside of testing and throw error', function () {
|
|
25
|
-
(() => {
|
|
26
|
-
log.errorAndThrow('msg1');
|
|
27
|
-
}).should.throw('msg1');
|
|
28
|
-
(() => {
|
|
29
|
-
log.errorAndThrow(new Error('msg2'));
|
|
30
|
-
}).should.throw('msg2');
|
|
31
|
-
(0, _helpers.assertOutputContains)(writers, 'msg1');
|
|
32
|
-
(0, _helpers.assertOutputContains)(writers, 'msg2');
|
|
33
|
-
});
|
|
34
|
-
it('should get and set log levels', function () {
|
|
35
|
-
log.level = 'warn';
|
|
36
|
-
log.level.should.equal('warn');
|
|
37
|
-
log.info('information');
|
|
38
|
-
log.warn('warning');
|
|
39
|
-
(0, _helpers.assertOutputDoesntContain)(writers, 'information');
|
|
40
|
-
(0, _helpers.assertOutputContains)(writers, 'warning');
|
|
41
|
-
});
|
|
42
|
-
it('should split lines of multi-line logs', function () {
|
|
43
|
-
log.level = 'warn';
|
|
44
|
-
log.warn('this is one line\nand this is another');
|
|
45
|
-
(0, _helpers.assertOutputDoesntContain)(writers, 'this is one line\nand this is another');
|
|
46
|
-
(0, _helpers.assertOutputContains)(writers, 'this is one line');
|
|
47
|
-
(0, _helpers.assertOutputContains)(writers, 'and this is another');
|
|
48
|
-
});
|
|
49
|
-
it('should split stack trace of Error', function () {
|
|
50
|
-
log.level = 'warn';
|
|
51
|
-
let error = new Error('this is an error');
|
|
52
|
-
error.stack = 'stack line 1\nstack line 2';
|
|
53
|
-
log.warn(error);
|
|
54
|
-
(0, _helpers.assertOutputDoesntContain)(writers, 'stack line 1\nstack line 2');
|
|
55
|
-
(0, _helpers.assertOutputContains)(writers, 'stack line 1');
|
|
56
|
-
(0, _helpers.assertOutputContains)(writers, 'stack line 2');
|
|
57
|
-
});
|
|
58
|
-
});
|
|
59
|
-
describe('normal logger with static prefix', function () {
|
|
60
|
-
let writers, log;
|
|
61
|
-
const PREFIX = 'my_static_prefix';
|
|
62
|
-
before(function () {
|
|
63
|
-
writers = (0, _helpers.setupWriters)();
|
|
64
|
-
log = (0, _helpers.getDynamicLogger)(false, false, PREFIX);
|
|
65
|
-
log.level = 'silly';
|
|
66
|
-
});
|
|
67
|
-
after(function () {
|
|
68
|
-
(0, _helpers.restoreWriters)(writers);
|
|
69
|
-
});
|
|
70
|
-
it('should not rewrite log levels outside of testing', function () {
|
|
71
|
-
for (const levelName of LOG_LEVELS) {
|
|
72
|
-
log[levelName](levelName);
|
|
73
|
-
(0, _helpers.assertOutputContains)(writers, levelName);
|
|
74
|
-
(0, _helpers.assertOutputContains)(writers, PREFIX);
|
|
75
|
-
}
|
|
76
|
-
});
|
|
77
|
-
it('throw should not rewrite log levels outside of testing and throw error', function () {
|
|
78
|
-
(() => {
|
|
79
|
-
log.errorAndThrow('msg');
|
|
80
|
-
}).should.throw('msg');
|
|
81
|
-
(0, _helpers.assertOutputContains)(writers, 'error');
|
|
82
|
-
(0, _helpers.assertOutputContains)(writers, PREFIX);
|
|
83
|
-
});
|
|
84
|
-
});
|
|
85
|
-
describe('normal logger with dynamic prefix', function () {
|
|
86
|
-
let writers, log;
|
|
87
|
-
const PREFIX = 'my_dynamic_prefix';
|
|
88
|
-
before(function () {
|
|
89
|
-
writers = (0, _helpers.setupWriters)();
|
|
90
|
-
log = (0, _helpers.getDynamicLogger)(false, false, () => PREFIX);
|
|
91
|
-
log.level = 'silly';
|
|
92
|
-
});
|
|
93
|
-
after(function () {
|
|
94
|
-
(0, _helpers.restoreWriters)(writers);
|
|
95
|
-
});
|
|
96
|
-
it('should not rewrite log levels outside of testing', function () {
|
|
97
|
-
for (const levelName of LOG_LEVELS) {
|
|
98
|
-
log[levelName](levelName);
|
|
99
|
-
(0, _helpers.assertOutputContains)(writers, levelName);
|
|
100
|
-
(0, _helpers.assertOutputContains)(writers, PREFIX);
|
|
101
|
-
}
|
|
102
|
-
});
|
|
103
|
-
it('throw should not rewrite log levels outside of testing and throw error', function () {
|
|
104
|
-
(() => {
|
|
105
|
-
log.errorAndThrow('msg');
|
|
106
|
-
}).should.throw('msg');
|
|
107
|
-
(0, _helpers.assertOutputContains)(writers, 'error');
|
|
108
|
-
(0, _helpers.assertOutputContains)(writers, PREFIX);
|
|
109
|
-
});
|
|
110
|
-
});require('source-map-support').install();
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInRlc3QvbG9nZ2VyL2xvZ2dlci1ub3JtYWwtc3BlY3MuanMiXSwibmFtZXMiOlsiTE9HX0xFVkVMUyIsImRlc2NyaWJlIiwid3JpdGVycyIsImxvZyIsImJlZm9yZUVhY2giLCJsZXZlbCIsImFmdGVyRWFjaCIsIml0IiwibGV2ZWxOYW1lIiwiZXJyb3JBbmRUaHJvdyIsInNob3VsZCIsInRocm93IiwiRXJyb3IiLCJlcXVhbCIsImluZm8iLCJ3YXJuIiwiZXJyb3IiLCJzdGFjayIsIlBSRUZJWCIsImJlZm9yZSIsImFmdGVyIl0sIm1hcHBpbmdzIjoiOzs7O0FBRUE7O0FBR0EsTUFBTUEsVUFBVSxHQUFHLENBQUMsT0FBRCxFQUFVLFNBQVYsRUFBcUIsTUFBckIsRUFBNkIsTUFBN0IsRUFBcUMsTUFBckMsRUFBNkMsT0FBN0MsQ0FBbkI7QUFFQUMsUUFBUSxDQUFDLGVBQUQsRUFBa0IsWUFBWTtBQUNwQyxNQUFJQyxPQUFKLEVBQWFDLEdBQWI7QUFDQUMsRUFBQUEsVUFBVSxDQUFDLFlBQVk7QUFDckJGLElBQUFBLE9BQU8sR0FBRyw0QkFBVjtBQUNBQyxJQUFBQSxHQUFHLEdBQUcsK0JBQWlCLEtBQWpCLEVBQXdCLEtBQXhCLENBQU47QUFDQUEsSUFBQUEsR0FBRyxDQUFDRSxLQUFKLEdBQVksT0FBWjtBQUNELEdBSlMsQ0FBVjtBQU1BQyxFQUFBQSxTQUFTLENBQUMsWUFBWTtBQUNwQixpQ0FBZUosT0FBZjtBQUNELEdBRlEsQ0FBVDtBQUlBSyxFQUFBQSxFQUFFLENBQUMsa0RBQUQsRUFBcUQsWUFBWTtBQUNqRSxTQUFLLE1BQU1DLFNBQVgsSUFBd0JSLFVBQXhCLEVBQW9DO0FBQ2xDRyxNQUFBQSxHQUFHLENBQUNLLFNBQUQsQ0FBSCxDQUFlQSxTQUFmO0FBQ0EseUNBQXFCTixPQUFyQixFQUE4Qk0sU0FBOUI7QUFDRDtBQUNGLEdBTEMsQ0FBRjtBQU1BRCxFQUFBQSxFQUFFLENBQUMsd0VBQUQsRUFBMkUsWUFBWTtBQUN2RixLQUFDLE1BQU07QUFB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c291cmNlc0NvbnRlbnQiOlsiLy8gdHJhbnNwaWxlOm1vY2hhXG5cbmltcG9ydCB7IGdldER5bmFtaWNMb2dnZXIsIHJlc3RvcmVXcml0ZXJzLCBzZXR1cFdyaXRlcnMsXG4gICAgICAgICBhc3NlcnRPdXRwdXRDb250YWlucywgYXNzZXJ0T3V0cHV0RG9lc250Q29udGFpbiB9IGZyb20gJy4vaGVscGVycyc7XG5cbmNvbnN0IExPR19MRVZFTFMgPSBbJ3NpbGx5JywgJ3ZlcmJvc2UnLCAnaW5mbycsICdodHRwJywgJ3dhcm4nLCAnZXJyb3InXTtcblxuZGVzY3JpYmUoJ25vcm1hbCBsb2dnZXInLCBmdW5jdGlvbiAoKSB7XG4gIGxldCB3cml0ZXJzLCBsb2c7XG4gIGJlZm9yZUVhY2goZnVuY3Rpb24gKCkge1xuICAgIHdyaXRlcnMgPSBzZXR1cFdyaXRlcnMoKTtcbiAgICBsb2cgPSBnZXREeW5hbWljTG9nZ2VyKGZhbHNlLCBmYWxzZSk7XG4gICAgbG9nLmxldmVsID0gJ3NpbGx5JztcbiAgfSk7XG5cbiAgYWZ0ZXJFYWNoKGZ1bmN0aW9uICgpIHtcbiAgICByZXN0b3JlV3JpdGVycyh3cml0ZXJzKTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCBub3QgcmV3cml0ZSBsb2cgbGV2ZWxzIG91dHNpZGUgb2YgdGVzdGluZycsIGZ1bmN0aW9uICgpIHtcbiAgICBmb3IgKGNvbnN0IGxldmVsTmFtZSBvZiBMT0dfTEVWRUxTKSB7XG4gICAgICBsb2dbbGV2ZWxOYW1lXShsZXZlbE5hbWUpO1xuICAgICAgYXNzZXJ0T3V0cHV0Q29udGFpbnMod3JpdGVycywgbGV2ZWxOYW1lKTtcbiAgICB9XG4gIH0pO1xuICBpdCgndGhyb3cgc2hvdWxkIG5vdCByZXdyaXRlIGxvZyBsZXZlbHMgb3V0c2lkZSBvZiB0ZXN0aW5nIGFuZCB0aHJvdyBlcnJvcicsIGZ1bmN0aW9uICgpIHtcbiAgICAoKCkgPT4geyBsb2cuZXJyb3JBbmRUaHJvdygnbXNnMScpOyB9KS5zaG91bGQudGhyb3coJ21zZzEnKTtcbiAgICAoKCkgPT4geyBsb2cuZXJyb3JBbmRUaHJvdyhuZXcgRXJyb3IoJ21zZzInKSk7IH0pLnNob3VsZC50aHJvdygnbXNnMicpO1xuICAgIGFzc2VydE91dHB1dENvbnRhaW5zKHdyaXRlcnMsICdtc2cxJyk7XG4gICAgYXNzZXJ0T3V0cHV0Q29udGFpbnMod3JpdGVycywgJ21zZzInKTtcbiAgfSk7XG4gIGl0KCdzaG91bGQgZ2V0IGFuZCBzZXQgbG9nIGxldmVscycsIGZ1bmN0aW9uICgpIHtcbiAgICBsb2cubGV2ZWwgPSAnd2Fybic7XG4gICAgbG9nLmxldmVsLnNob3VsZC5lcXVhbCgnd2FybicpO1xuICAgIGxvZy5pbmZvKCdpbmZvcm1hdGlvbicpO1xuICAgIGxvZy53YXJuKCd3YXJuaW5nJyk7XG4gICAgYXNzZXJ0T3V0cHV0RG9lc250Q29udGFpbih3cml0ZXJzLCAnaW5mb3JtYXRpb24nKTtcbiAgICBhc3NlcnRPdXRwdXRDb250YWlucyh3cml0ZXJzLCAnd2FybmluZycpO1xuICB9KTtcbiAgaXQoJ3Nob3VsZCBzcGxpdCBsaW5lcyBvZiBtdWx0aS1saW5lIGxvZ3MnLCBmdW5jdGlvbiAoKSB7XG4gICAgbG9nLmxldmVsID0gJ3dhcm4nO1xuICAgIGxvZy53YXJuKCd0aGlzIGlzIG9uZSBsaW5lXFxuYW5kIHRoaXMgaXMgYW5vdGhlcicpO1xuICAgIGFzc2VydE91dHB1dERvZXNudENvbnRhaW4od3JpdGVycywgJ3RoaXMgaXMgb25lIGxpbmVcXG5hbmQgdGhpcyBpcyBhbm90aGVyJyk7XG4gICAgYXNzZXJ0T3V0cHV0Q29udGFpbnMod3JpdGVycywgJ3RoaXMgaXMgb25lIGxpbmUnKTtcbiAgICBhc3NlcnRPdXRwdXRDb250YWlucyh3cml0ZXJzLCAnYW5kIHRoaXMgaXMgYW5vdGhlcicpO1xuICB9KTtcbiAgaXQoJ3Nob3VsZCBzcGxpdCBzdGFjayB0cmFjZSBvZiBFcnJvcicsIGZ1bmN0aW9uICgpIHtcbiAgICBsb2cubGV2ZWwgPSAnd2Fybic7XG4gICAgbGV0IGVycm9yID0gbmV3IEVycm9yKCd0aGlzIGlzIGFuIGVycm9yJyk7XG4gICAgZXJyb3Iuc3RhY2sgPSAnc3RhY2sgbGluZSAxXFxuc3RhY2sgbGluZSAyJztcbiAgICBsb2cud2FybihlcnJvcik7XG4gICAgYXNzZXJ0T3V0cHV0RG9lc250Q29udGFpbih3cml0ZXJzLCAnc3RhY2sgbGluZSAxXFxuc3RhY2sgbGluZSAyJyk7XG4gICAgYXNzZXJ0T3V0cHV0Q29udGFpbnMod3JpdGVycywgJ3N0YWNrIGxpbmUgMScpO1xuICAgIGFzc2VydE91dHB1dENvbnRhaW5zKHdyaXRlcnMsICdzdGFjayBsaW5lIDInKTtcbiAgfSk7XG59KTtcblxuZGVzY3JpYmUoJ25vcm1hbCBsb2dnZXIgd2l0aCBzdGF0aWMgcHJlZml4JywgZnVuY3Rpb24gKCkge1xuICBsZXQgd3JpdGVycywgbG9nO1xuICBjb25zdCBQUkVGSVggPSAnbXlfc3RhdGljX3ByZWZpeCc7XG5cbiAgYmVmb3JlKGZ1bmN0aW9uICgpIHtcbiAgICB3cml0ZXJzID0gc2V0dXBXcml0ZXJzKCk7XG4gICAgbG9nID0gZ2V0RHluYW1pY0xvZ2dlcihmYWxzZSwgZmFsc2UsIFBSRUZJWCk7XG4gICAgbG9nLmxldmVsID0gJ3NpbGx5JztcbiAgfSk7XG5cbiAgYWZ0ZXIoZnVuY3Rpb24gKCkge1xuICAgIHJlc3RvcmVXcml0ZXJzKHdyaXRlcnMpO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIG5vdCByZXdyaXRlIGxvZyBsZXZlbHMgb3V0c2lkZSBvZiB0ZXN0aW5nJywgZnVuY3Rpb24gKCkge1xuICAgIGZvciAoY29uc3QgbGV2ZWxOYW1lIG9mIExPR19MRVZFTFMpIHtcbiAgICAgIGxvZ1tsZXZlbE5hbWVdKGxldmVsTmFtZSk7XG4gICAgICBhc3NlcnRPdXRwdXRDb250YWlucyh3cml0ZXJzLCBsZXZlbE5hbWUpO1xuICAgICAgYXNzZXJ0T3V0cHV0Q29udGFpbnMod3JpdGVycywgUFJFRklYKTtcbiAgICB9XG4gIH0pO1xuICBpdCgndGhyb3cgc2hvdWxkIG5vdCByZXdyaXRlIGxvZyBsZXZlbHMgb3V0c2lkZSBvZiB0ZXN0aW5nIGFuZCB0aHJvdyBlcnJvcicsIGZ1bmN0aW9uICgpIHtcbiAgICAoKCkgPT4geyBsb2cuZXJyb3JBbmRUaHJvdygnbXNnJyk7IH0pLnNob3VsZC50aHJvdygnbXNnJyk7XG4gICAgYXNzZXJ0T3V0cHV0Q29udGFpbnMod3JpdGVycywgJ2Vycm9yJyk7XG4gICAgYXNzZXJ0T3V0cHV0Q29udGFpbnMod3JpdGVycywgUFJFRklYKTtcbiAgfSk7XG59KTtcblxuZGVzY3JpYmUoJ25vcm1hbCBsb2dnZXIgd2l0aCBkeW5hbWljIHByZWZpeCcsIGZ1bmN0aW9uICgpIHtcbiAgbGV0IHdyaXRlcnMsIGxvZztcbiAgY29uc3QgUFJFRklYID0gJ215X2R5bmFtaWNfcHJlZml4JztcblxuICBiZWZvcmUoZnVuY3Rpb24gKCkge1xuICAgIHdyaXRlcnMgPSBzZXR1cFdyaXRlcnMoKTtcbiAgICBsb2cgPSBnZXREeW5hbWljTG9nZ2VyKGZhbHNlLCBmYWxzZSwgKCkgPT4gUFJFRklYKTtcbiAgICBsb2cubGV2ZWwgPSAnc2lsbHknO1xuICB9KTtcblxuICBhZnRlcihmdW5jdGlvbiAoKSB7XG4gICAgcmVzdG9yZVdyaXRlcnMod3JpdGVycyk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgbm90IHJld3JpdGUgbG9nIGxldmVscyBvdXRzaWRlIG9mIHRlc3RpbmcnLCBmdW5jdGlvbiAoKSB7XG4gICAgZm9yIChjb25zdCBsZXZlbE5hbWUgb2YgTE9HX0xFVkVMUykge1xuICAgICAgbG9nW2xldmVsTmFtZV0obGV2ZWxOYW1lKTtcbiAgICAgIGFzc2VydE91dHB1dENvbnRhaW5zKHdyaXRlcnMsIGxldmVsTmFtZSk7XG4gICAgICBhc3NlcnRPdXRwdXRDb250YWlucyh3cml0ZXJzLCBQUkVGSVgpO1xuICAgIH1cbiAgfSk7XG4gIGl0KCd0aHJvdyBzaG91bGQgbm90IHJld3JpdGUgbG9nIGxldmVscyBvdXRzaWRlIG9mIHRlc3RpbmcgYW5kIHRocm93IGVycm9yJywgZnVuY3Rpb24gKCkge1xuICAgICgoKSA9PiB7IGxvZy5lcnJvckFuZFRocm93KCdtc2cnKTsgfSkuc2hvdWxkLnRocm93KCdtc2cnKTtcbiAgICBhc3NlcnRPdXRwdXRDb250YWlucyh3cml0ZXJzLCAnZXJyb3InKTtcbiAgICBhc3NlcnRPdXRwdXRDb250YWlucyh3cml0ZXJzLCBQUkVGSVgpO1xuICB9KTtcbn0pO1xuIl0sImZpbGUiOiJ0ZXN0L2xvZ2dlci9sb2dnZXItbm9ybWFsLXNwZWNzLmpzIiwic291cmNlUm9vdCI6Ii4uLy4uLy4uIn0=
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
require("source-map-support/register");
|
|
4
|
-
|
|
5
|
-
var _helpers = require("./helpers");
|
|
6
|
-
|
|
7
|
-
describe('test logger', function () {
|
|
8
|
-
let writers, log;
|
|
9
|
-
before(function () {
|
|
10
|
-
writers = (0, _helpers.setupWriters)();
|
|
11
|
-
log = (0, _helpers.getDynamicLogger)(true);
|
|
12
|
-
});
|
|
13
|
-
after(function () {
|
|
14
|
-
(0, _helpers.restoreWriters)(writers);
|
|
15
|
-
});
|
|
16
|
-
it('should contains levels', function () {
|
|
17
|
-
log.levels.should.have.length.above(3);
|
|
18
|
-
log.levels[2].should.equal('debug');
|
|
19
|
-
});
|
|
20
|
-
it('should unwrap', function () {
|
|
21
|
-
log.unwrap.should.exist;
|
|
22
|
-
log.unwrap().should.exist;
|
|
23
|
-
});
|
|
24
|
-
it('should rewrite npmlog levels during testing', function () {
|
|
25
|
-
const text = 'hi';
|
|
26
|
-
log.silly(text);
|
|
27
|
-
log.verbose(text);
|
|
28
|
-
log.info(text);
|
|
29
|
-
log.http(text);
|
|
30
|
-
log.warn(text);
|
|
31
|
-
log.error(text);
|
|
32
|
-
(() => {
|
|
33
|
-
log.errorAndThrow(text);
|
|
34
|
-
}).should.throw(text);
|
|
35
|
-
(0, _helpers.assertOutputDoesntContain)(writers, text);
|
|
36
|
-
});
|
|
37
|
-
});require('source-map-support').install();
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInRlc3QvbG9nZ2VyL2xvZ2dlci10ZXN0LXNwZWNzLmpzIl0sIm5hbWVzIjpbImRlc2NyaWJlIiwid3JpdGVycyIsImxvZyIsImJlZm9yZSIsImFmdGVyIiwiaXQiLCJsZXZlbHMiLCJzaG91bGQiLCJoYXZlIiwibGVuZ3RoIiwiYWJvdmUiLCJlcXVhbCIsInVud3JhcCIsImV4aXN0IiwidGV4dCIsInNpbGx5IiwidmVyYm9zZSIsImluZm8iLCJodHRwIiwid2FybiIsImVycm9yIiwiZXJyb3JBbmRUaHJvdyIsInRocm93Il0sIm1hcHBpbmdzIjoiOzs7O0FBRUE7O0FBR0FBLFFBQVEsQ0FBQyxhQUFELEVBQWdCLFlBQVk7QUFDbEMsTUFBSUMsT0FBSixFQUFhQyxHQUFiO0FBQ0FDLEVBQUFBLE1BQU0sQ0FBQyxZQUFZO0FBQ2pCRixJQUFBQSxPQUFPLEdBQUcsNEJBQVY7QUFDQUMsSUFBQUEsR0FBRyxHQUFHLCtCQUFpQixJQUFqQixDQUFOO0FBQ0QsR0FISyxDQUFOO0FBS0FFLEVBQUFBLEtBQUssQ0FBQyxZQUFZO0FBQ2hCLGlDQUFlSCxPQUFmO0FBQ0QsR0FGSSxDQUFMO0FBSUFJLEVBQUFBLEVBQUUsQ0FBQyx3QkFBRCxFQUEyQixZQUFZO0FBQ3ZDSCxJQUFBQSxHQUFHLENBQUNJLE1BQUosQ0FBV0MsTUFBWCxDQUFrQkMsSUFBbEIsQ0FBdUJDLE1BQXZCLENBQThCQyxLQUE5QixDQUFvQyxDQUFwQztBQUNBUixJQUFBQSxHQUFHLENBQUNJLE1BQUosQ0FBVyxDQUFYLEVBQWNDLE1BQWQsQ0FBcUJJLEtBQXJCLENBQTJCLE9BQTNCO0FBQ0QsR0FIQyxDQUFGO0FBS0FOLEVBQUFBLEVBQUUsQ0FBQyxlQUFELEVBQWtCLFlBQVk7QUFDOUJILElBQUFBLEdBQUcsQ0FBQ1UsTUFBSixDQUFXTCxNQUFYLENBQWtCTSxLQUFsQjtBQUNBWCxJQUFBQSxHQUFHLENBQUNVLE1BQUosR0FBYUwsTUFBYixDQUFvQk0sS0FBcEI7QUFDRCxHQUhDLENBQUY7QUFLQVIsRUFBQUEsRUFBRSxDQUFDLDZDQUFELEVBQWdELFlBQVk7QUFDNUQsVUFBTVMsSUFBSSxHQUFHLElBQWI7QUFDQVosSUFBQUEsR0FBRyxDQUFDYSxLQUFKLENBQVVELElBQVY7QUFDQVosSUFBQUEsR0FBRyxDQUFDYyxPQUFKLENBQVlGLElBQVo7QUFDQVosSUFBQUEsR0FBRyxDQUFDZSxJQUFKLENBQVNILElBQVQ7QUFDQVosSUFBQUEsR0FBRyxDQUFDZ0IsSUFBSixDQUFTSixJQUFUO0FBQ0FaLElBQUFBLEdBQUcsQ0FBQ2lCLElBQUosQ0FBU0wsSUFBVDtBQUNBWixJQUFBQSxHQUFHLENBQUNrQixLQUFKLENBQVVOLElBQVY7QUFDQSxLQUFDLE1BQU07QUFBRVosTUFBQUEsR0FBRyxDQUFDbUIsYUFBSixDQUFrQlAsSUFBbEI7QUFBMEIsS0FBbkMsRUFBcUNQLE1BQXJDLENBQTRDZSxLQUE1QyxDQUFrRFIsSUFBbEQ7QUFDQSw0Q0FBMEJiLE9BQTFCLEVBQW1DYSxJQUFuQztBQUNELEdBVkMsQ0FBRjtBQVdELENBaENPLENBQVIiLCJzb3VyY2VzQ29udGVudCI6WyIvLyB0cmFuc3BpbGU6bW9jaGFcblxuaW1wb3J0IHsgZ2V0RHluYW1pY0xvZ2dlciwgcmVzdG9yZVdyaXRlcnMsIHNldHVwV3JpdGVycyxcbiAgICAgICAgIGFzc2VydE91dHB1dERvZXNudENvbnRhaW4gfSBmcm9tICcuL2hlbHBlcnMnO1xuXG5kZXNjcmliZSgndGVzdCBsb2dnZXInLCBmdW5jdGlvbiAoKSB7XG4gIGxldCB3cml0ZXJzLCBsb2c7XG4gIGJlZm9yZShmdW5jdGlvbiAoKSB7XG4gICAgd3JpdGVycyA9IHNldHVwV3JpdGVycygpO1xuICAgIGxvZyA9IGdldER5bmFtaWNMb2dnZXIodHJ1ZSk7XG4gIH0pO1xuXG4gIGFmdGVyKGZ1bmN0aW9uICgpIHtcbiAgICByZXN0b3JlV3JpdGVycyh3cml0ZXJzKTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCBjb250YWlucyBsZXZlbHMnLCBmdW5jdGlvbiAoKSB7XG4gICAgbG9nLmxldmVscy5zaG91bGQuaGF2ZS5sZW5ndGguYWJvdmUoMyk7XG4gICAgbG9nLmxldmVsc1syXS5zaG91bGQuZXF1YWwoJ2RlYnVnJyk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgdW53cmFwJywgZnVuY3Rpb24gKCkge1xuICAgIGxvZy51bndyYXAuc2hvdWxkLmV4aXN0O1xuICAgIGxvZy51bndyYXAoKS5zaG91bGQuZXhpc3Q7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgcmV3cml0ZSBucG1sb2cgbGV2ZWxzIGR1cmluZyB0ZXN0aW5nJywgZnVuY3Rpb24gKCkge1xuICAgIGNvbnN0IHRleHQgPSAnaGknO1xuICAgIGxvZy5zaWxseSh0ZXh0KTtcbiAgICBsb2cudmVyYm9zZSh0ZXh0KTtcbiAgICBsb2cuaW5mbyh0ZXh0KTtcbiAgICBsb2cuaHR0cCh0ZXh0KTtcbiAgICBsb2cud2Fybih0ZXh0KTtcbiAgICBsb2cuZXJyb3IodGV4dCk7XG4gICAgKCgpID0+IHsgbG9nLmVycm9yQW5kVGhyb3codGV4dCk7IH0pLnNob3VsZC50aHJvdyh0ZXh0KTtcbiAgICBhc3NlcnRPdXRwdXREb2VzbnRDb250YWluKHdyaXRlcnMsIHRleHQpO1xuICB9KTtcbn0pO1xuIl0sImZpbGUiOiJ0ZXN0L2xvZ2dlci9sb2dnZXItdGVzdC1zcGVjcy5qcyIsInNvdXJjZVJvb3QiOiIuLi8uLi8uLiJ9
|
|
@@ -1,96 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
|
-
require("source-map-support/register");
|
|
6
|
-
|
|
7
|
-
var _lodash = _interopRequireDefault(require("lodash"));
|
|
8
|
-
|
|
9
|
-
var _lib = require("../lib");
|
|
10
|
-
|
|
11
|
-
var _bluebird = _interopRequireDefault(require("bluebird"));
|
|
12
|
-
|
|
13
|
-
var _http = _interopRequireDefault(require("http"));
|
|
14
|
-
|
|
15
|
-
var _mjpegServer = _interopRequireDefault(require("mjpeg-server"));
|
|
16
|
-
|
|
17
|
-
var _getPort = _interopRequireDefault(require("get-port"));
|
|
18
|
-
|
|
19
|
-
const {
|
|
20
|
-
MJpegStream
|
|
21
|
-
} = _lib.mjpeg;
|
|
22
|
-
const TEST_IMG_JPG = '/9j/4QAYRXhpZgAASUkqAAgAAAAAAAAAAAAAAP/sABFEdWNreQABAAQAAAAeAAD/4QOBaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLwA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/PiA8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA1LjYtYzE0MCA3OS4xNjA0NTEsIDIwMTcvMDUvMDYtMDE6MDg6MjEgICAgICAgICI+IDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+IDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ9InhtcC5kaWQ6NGY5ODc1OTctZGE2My00Y2M0LTkzNDMtNGYyNjgzMGUwNjk3IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjlDMzI3QkY0N0Q3NTExRThCMTlDOTVDMDc2RDE5MDY5IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjlDMzI3QkYzN0Q3NTExRThCMTlDOTVDMDc2RDE5MDY5IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE4IChNYWNpbnRvc2gpIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NGY5ODc1OTctZGE2My00Y2M0LTkzNDMtNGYyNjgzMGUwNjk3IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjRmOTg3NTk3LWRhNjMtNGNjNC05MzQzLTRmMjY4MzBlMDY5NyIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Pv/uAA5BZG9iZQBkwAAAAAH/2wCEABALCwsMCxAMDBAXDw0PFxsUEBAUGx8XFxcXFx8eFxoaGhoXHh4jJSclIx4vLzMzLy9AQEBAQEBAQEBAQEBAQEABEQ8PERMRFRISFRQRFBEUGhQWFhQaJhoaHBoaJjAjHh4eHiMwKy4nJycuKzU1MDA1NUBAP0BAQEBAQEBAQEBAQP/AABEIACAAIAMBIgACEQEDEQH/xABgAAEAAwEAAAAAAAAAAAAAAAAABAUHCAEBAAAAAAAAAAAAAAAAAAAAABAAAQMCAgsAAAAAAAAAAAAAAAECBBEDEgYhMRODo7PTVAUWNhEBAAAAAAAAAAAAAAAAAAAAAP/aAAwDAQACEQMRAD8Az8AAdAAAAAAI8+fE8dEuTZtzZR7VMb6OdTE5GJoYirrUp/e8qd9wb3TGe/lJ2551sx8D/9k=';
|
|
23
|
-
const MJPEG_HOST = '127.0.0.1';
|
|
24
|
-
|
|
25
|
-
function initMJpegServer(port, intMs = 300, times = 20) {
|
|
26
|
-
const server = _http.default.createServer(async function (req, res) {
|
|
27
|
-
const mJpegReqHandler = _mjpegServer.default.createReqHandler(req, res);
|
|
28
|
-
|
|
29
|
-
const jpg = Buffer.from(TEST_IMG_JPG, 'base64');
|
|
30
|
-
|
|
31
|
-
for (let i = 0; i < times; i++) {
|
|
32
|
-
await _bluebird.default.delay(intMs);
|
|
33
|
-
|
|
34
|
-
mJpegReqHandler._write(jpg, null, _lodash.default.noop);
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
mJpegReqHandler.close();
|
|
38
|
-
}).listen(port);
|
|
39
|
-
|
|
40
|
-
return server;
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
describe('MJpeg Stream (e2e)', function () {
|
|
44
|
-
let mJpegServer, stream;
|
|
45
|
-
let serverUrl, port;
|
|
46
|
-
before(async function () {
|
|
47
|
-
if (process.version.startsWith('v12')) {
|
|
48
|
-
return this.skip();
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
port = await (0, _getPort.default)();
|
|
52
|
-
serverUrl = `http://${MJPEG_HOST}:${port}`;
|
|
53
|
-
mJpegServer = await initMJpegServer(port);
|
|
54
|
-
});
|
|
55
|
-
after(function () {
|
|
56
|
-
if (mJpegServer) {
|
|
57
|
-
mJpegServer.close();
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
if (stream) {
|
|
61
|
-
stream.stop();
|
|
62
|
-
}
|
|
63
|
-
});
|
|
64
|
-
it('should update mjpeg stream based on new data from mjpeg server', async function () {
|
|
65
|
-
stream = new MJpegStream(serverUrl, _lodash.default.noop);
|
|
66
|
-
should.not.exist(stream.lastChunk);
|
|
67
|
-
await stream.start();
|
|
68
|
-
should.exist(stream.lastChunk);
|
|
69
|
-
stream.updateCount.should.eql(1);
|
|
70
|
-
await _bluebird.default.delay(1000);
|
|
71
|
-
stream.updateCount.should.be.above(1);
|
|
72
|
-
const startBytes = Buffer.from([0xff, 0xd8]);
|
|
73
|
-
const endBytes = Buffer.from([0xff, 0xd9]);
|
|
74
|
-
const startPos = stream.lastChunk.indexOf(startBytes);
|
|
75
|
-
const endPos = stream.lastChunk.indexOf(endBytes);
|
|
76
|
-
startPos.should.eql(0);
|
|
77
|
-
endPos.should.eql(1278);
|
|
78
|
-
const b64 = stream.lastChunkBase64;
|
|
79
|
-
b64.should.eql(TEST_IMG_JPG);
|
|
80
|
-
const png = await stream.lastChunkPNGBase64();
|
|
81
|
-
png.should.be.a('string');
|
|
82
|
-
png.indexOf('iVBOR').should.eql(0);
|
|
83
|
-
png.length.should.be.above(400);
|
|
84
|
-
stream.stop();
|
|
85
|
-
await _bluebird.default.delay(1000);
|
|
86
|
-
should.not.exist(stream.lastChunk);
|
|
87
|
-
stream.updateCount.should.eql(0);
|
|
88
|
-
});
|
|
89
|
-
it('should error out if the server does not send any images before a timeout', async function () {
|
|
90
|
-
stream = new MJpegStream(serverUrl, _lodash.default.noop);
|
|
91
|
-
await stream.start(0).should.eventually.be.rejectedWith(/never sent/);
|
|
92
|
-
});
|
|
93
|
-
});require('source-map-support').install();
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInRlc3QvbWpwZWctZTJlLXNwZWNzLmpzIl0sIm5hbWVzIjpbIk1KcGVnU3RyZWFtIiwibWpwZWciLCJURVNUX0lNR19KUEciLCJNSlBFR19IT1NUIiwiaW5pdE1KcGVnU2VydmVyIiwicG9ydCIsImludE1zIiwidGltZXMiLCJzZXJ2ZXIiLCJodHRwIiwiY3JlYXRlU2VydmVyIiwicmVxIiwicmVzIiwibUpwZWdSZXFIYW5kbGVyIiwibUpwZWdTZXJ2ZXIiLCJjcmVhdGVSZXFIYW5kbGVyIiwianBnIiwiQnVmZmVyIiwiZnJvbSIsImkiLCJCIiwiZGVsYXkiLCJfd3JpdGUiLCJfIiwibm9vcCIsImNsb3NlIiwibGlzdGVuIiwiZGVzY3JpYmUiLCJzdHJlYW0iLCJzZXJ2ZXJVcmwiLCJiZWZvcmUiLCJwcm9jZXNzIiwidmVyc2lvbiIsInN0YXJ0c1dpdGgiLCJza2lwIiwiYWZ0ZXIiLCJzdG9wIiwiaXQiLCJzaG91bGQiLCJub3QiLCJleGlzdCIsImxhc3RDaHVuayIsInN0YXJ0IiwidXBkYXRlQ291bnQiLCJlcWwiLCJiZSIsImFib3ZlIiwic3RhcnRCeXRlcyIsImVuZEJ5dGVzIiwic3RhcnRQb3MiLCJpbmRleE9mIiwiZW5kUG9zIiwiYjY0IiwibGFzdENodW5rQmFzZTY0IiwicG5nIiwibGFzdENodW5rUE5HQmFzZTY0IiwiYSIsImxlbmd0aCIsImV2ZW50dWFsbHkiLCJyZWplY3RlZFdpdGgiXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUVBLE1BQU07QUFBQ0EsRUFBQUE7QUFBRCxJQUFnQkMsVUFBdEI7QUFFQSxNQUFNQyxZQUFZLEdBQUcsOHFEQUFyQjtBQUVBLE1BQU1DLFVBQVUsR0FBRyxXQUFuQjs7QUFXQSxTQUFTQyxlQUFULENBQTBCQyxJQUExQixFQUFnQ0MsS0FBSyxHQUFHLEdBQXhDLEVBQTZDQyxLQUFLLEdBQUcsRUFBckQsRUFBeUQ7QUFDdkQsUUFBTUMsTUFBTSxHQUFHQyxj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IF8gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IG1qcGVnIH0gZnJvbSAnLi4vbGliJztcbmltcG9ydCBCIGZyb20gJ2JsdWViaXJkJztcbmltcG9ydCBodHRwIGZyb20gJ2h0dHAnO1xuaW1wb3J0IG1KcGVnU2VydmVyIGZyb20gJ21qcGVnLXNlcnZlcic7XG5pbXBvcnQgZ2V0UG9ydCBmcm9tICdnZXQtcG9ydCc7XG5cbmNvbnN0IHtNSnBlZ1N0cmVhbX0gPSBtanBlZztcblxuY29uc3QgVEVTVF9JTUdfSlBHID0gJy85ai80UUFZUlhocFpnQUFTVWtxQUFnQUFBQUFBQUFBQUFBQUFQL3NBQkZFZFdOcmVRQUJBQVFBQUFBZUFBRC80UU9CYUhSMGNEb3ZMMjV6TG1Ga2IySmxMbU52YlM5NFlYQXZNUzR3THdBOFAzaHdZV05yWlhRZ1ltVm5hVzQ5SXUrN3Z5SWdhV1E5SWxjMVRUQk5jRU5sYUdsSWVuSmxVM3BPVkdONmEyTTVaQ0kvUGlBOGVEcDRiWEJ0WlhSaElIaHRiRzV6T25nOUltRmtiMkpsT201ek9tMWxkR0V2SWlCNE9uaHRjSFJyUFNKQlpHOWlaU0JZVFZBZ1EyOXlaU0ExTGpZdFl6RTBNQ0EzT1M0eE5qQTBOVEVzSURJd01UY3ZNRFV2TURZdE1ERTZNRGc2TWpFZ0lDQWdJQ0FnSUNJK0lEeHlaR1k2VWtSR0lIaHRiRzV6T25Ka1pqMGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNVGs1T1M4d01pOHlNaTF5WkdZdGMzbHVkR0Y0TFc1ekl5SStJRHh5WkdZNlJHVnpZM0pwY0hScGIyNGdjbVJtT21GaWIzVjBQU0lpSUhodGJHNXpPbmh0Y0UxTlBTSm9kSFJ3T2k4dmJuTXVZV1J2WW1VdVkyOXRMM2hoY0M4eExqQXZiVzB2SWlCNGJXeHVjenB6ZEZKbFpqMGlhSFIwY0RvdkwyNXpMbUZrYjJKbExtTnZiUzk0WVhBdk1TNHdMM05VZVhCbEwxSmxjMjkxY21ObFVtVm1JeUlnZUcxc2JuTTZlRzF3UFNKb2RIUndPaTh2Ym5NdVlXUnZZbVV1WTI5dEwzaGhjQzh4TGpBdklpQjRiWEJOVFRwUGNtbG5hVzVoYkVSdlkzVnRaVzUwU1VROUluaHRjQzVrYVdRNk5HWTVPRGMxT1RjdFpHRTJNeTAwWTJNMExUa3pORE10TkdZeU5qZ3pNR1V3TmprM0lpQjRiWEJOVFRwRWIyTjFiV1Z1ZEVsRVBTSjRiWEF1Wkdsa09qbERNekkzUWtZME4wUTNOVEV4UlRoQ01UbERPVFZETURjMlJERTVNRFk1SWlCNGJYQk5UVHBKYm5OMFlXNWpaVWxFUFNKNGJYQXVhV2xrT2psRE16STNRa1l6TjBRM05URXhSVGhDTVRsRE9UVkRNRGMyUkRFNU1EWTVJaUI0YlhBNlEzSmxZWFJ2Y2xSdmIydzlJa0ZrYjJKbElGQm9iM1J2YzJodmNDQkRReUF5TURFNElDaE5ZV05wYm5SdmMyZ3BJajRnUEhodGNFMU5Pa1JsY21sMlpXUkdjbTl0SUhOMFVtVm1PbWx1YzNSaGJtTmxTVVE5SW5odGNDNXBhV1E2TkdZNU9EYzFPVGN0WkdFMk15MDBZMk0wTFRrek5ETXROR1l5Tmpnek1HVXdOamszSWlCemRGSmxaanBrYjJOMWJXVnVkRWxFUFNKNGJYQXVaR2xrT2pSbU9UZzNOVGszTFdSaE5qTXROR05qTkMwNU16UXpMVFJtTWpZNE16QmxNRFk1TnlJdlBpQThMM0prWmpwRVpYTmpjbWx3ZEdsdmJqNGdQQzl5WkdZNlVrUkdQaUE4TDNnNmVHMXdiV1YwWVQ0Z1BEOTRjR0ZqYTJWMElHVnVaRDBpY2lJL1B2L3VBQTVCWkc5aVpRQmt3QUFBQUFILzJ3Q0VBQkFMQ3dzTUN4QU1EQkFYRHcwUEZ4c1VFQkFVR3g4WEZ4Y1hGeDhlRnhvYUdob1hIaDRqSlNjbEl4NHZMek16THk5QVFFQkFRRUJBUUVCQVFFQkFRRUFCRVE4UEVSTVJGUklTRlJRUkZCRVVHaFFXRmhRYUpob2FIQm9hSmpBakhoNGVIaU13S3k0bkp5Y3VLelUxTURBMU5VQkFQMEJBUUVCQVFFQkFRRUJBUVAvQUFCRUlBQ0FBSUFNQklnQUNFUUVERVFIL3hBQmdBQUVBQXdFQUFBQUFBQUFBQUFBQUFBQUFCQVVIQ0FFQkFBQUFBQUFBQUFBQUFBQUFBQUFBQUJBQUFRTUNBZ3NBQUFBQUFBQUFBQUFBQUFFQ0JCRURFZ1loTVJPRG83UFRWQVVXTmhFQkFBQUFBQUFBQUFBQUFBQUFBQUFBQVAvYUFBd0RBUUFDRVFNUkFEOEF6OEFBZEFBQUFBQUk4K2ZFOGRFdVRadHpaUjdWTWI2T2RURTVHSm9ZaXJyVXAvZThxZDl3YjNUR2UvbEoyNTUxc3g4RC85az0nO1xuXG5jb25zdCBNSlBFR19IT1NUID0gJzEyNy4wLjAuMSc7XG5cbi8qKlxuICogU3RhcnQgYW4gbWpwZWcgc2VydmVyIGZvciB0aGUgcHVycG9zZSBvZiB0ZXN0aW5nLCB3aGljaCBqdXN0IHNlbmRzIHRoZSBzYW1lXG4gKiBpbWFnZSBvdmVyIGFuZCBvdmVyLiBDYWxsZXIgaXMgcmVzcG9uc2libGUgZm9yIGNsb3NpbmcgdGhlIHNlcnZlci5cbiAqIEBwYXJhbSB7aW50fSBwb3J0IC0gcG9ydCB0aGUgc2VydmVyIHNob3VsZCBsaXN0ZW4gb25cbiAqIEBwYXJhbSB7aW50fSBbaW50TXNdIC0gaG93IG9mdGVuIHRoZSBzZXJ2ZXIgc2hvdWxkIHB1c2ggYW4gaW1hZ2VcbiAqIEBwYXJhbSB7aW50fSBbdGltZXNdIC0gaG93IG1hbnkgdGltZXMgdGhlIHNlcnZlciBzaG91bGQgcHVzaCBhbiBpbWFnZSBiZWZvcmVcbiAqIGl0IGNsb3NlcyB0aGUgY29ubmVjdGlvblxuICogQHJldHVybnMge2h0dHAuU2VydmVyfVxuICovXG5mdW5jdGlvbiBpbml0TUpwZWdTZXJ2ZXIgKHBvcnQsIGludE1zID0gMzAwLCB0aW1lcyA9IDIwKSB7XG4gIGNvbnN0IHNlcnZlciA9IGh0dHAuY3JlYXRlU2VydmVyKGFzeW5jIGZ1bmN0aW9uIChyZXEsIHJlcykge1xuICAgIGNvbnN0IG1KcGVnUmVxSGFuZGxlciA9IG1KcGVnU2VydmVyLmNyZWF0ZVJlcUhhbmRsZXIocmVxLCByZXMpO1xuICAgIGNvbnN0IGpwZyA9IEJ1ZmZlci5mcm9tKFRFU1RfSU1HX0pQRywgJ2Jhc2U2NCcpO1xuXG4gICAgLy8ganVzdCBzZW5kIHRoZSBzYW1lIGpwZWcgb3ZlciBhbmQgb3ZlclxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGltZXM7IGkrKykge1xuICAgICAgYXdhaXQgQi5kZWxheShpbnRNcyk7XG4gICAgICBtSnBlZ1JlcUhhbmRsZXIuX3dyaXRlKGpwZywgbnVsbCwgXy5ub29wKTtcbiAgICB9XG4gICAgbUpwZWdSZXFIYW5kbGVyLmNsb3NlKCk7XG4gIH0pLmxpc3Rlbihwb3J0KTtcblxuICByZXR1cm4gc2VydmVyO1xufVxuXG5cbmRlc2NyaWJlKCdNSnBlZyBTdHJlYW0gKGUyZSknLCBmdW5jdGlvbiAoKSB7XG4gIGxldCBtSnBlZ1NlcnZlciwgc3RyZWFtO1xuICBsZXQgc2VydmVyVXJsLCBwb3J0O1xuXG4gIGJlZm9yZShhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgLy8gVE9ETzogcmVtb3ZlIHdoZW4gYnVmZmVydG9vbHMgY2FuIGhhbmRsZSB2MTJcbiAgICBpZiAocHJvY2Vzcy52ZXJzaW9uLnN0YXJ0c1dpdGgoJ3YxMicpKSB7XG4gICAgICByZXR1cm4gdGhpcy5za2lwKCk7XG4gICAgfVxuXG4gICAgcG9ydCA9IGF3YWl0IGdldFBvcnQoKTtcbiAgICBzZXJ2ZXJVcmwgPSBgaHR0cDovLyR7TUpQRUdfSE9TVH06JHtwb3J0fWA7XG4gICAgbUpwZWdTZXJ2ZXIgPSBhd2FpdCBpbml0TUpwZWdTZXJ2ZXIocG9ydCk7XG4gIH0pO1xuXG4gIGFmdGVyKGZ1bmN0aW9uICgpIHtcbiAgICBpZiAobUpwZWdTZXJ2ZXIpIHtcbiAgICAgIG1KcGVnU2VydmVyLmNsb3NlKCk7XG4gICAgfVxuICAgIGlmIChzdHJlYW0pIHtcbiAgICAgIHN0cmVhbS5zdG9wKCk7IC8vIGVuc3VyZSBzdHJlYW1zIGFyZSBhbHdheXMgc3RvcHBlZFxuICAgIH1cbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCB1cGRhdGUgbWpwZWcgc3RyZWFtIGJhc2VkIG9uIG5ldyBkYXRhIGZyb20gbWpwZWcgc2VydmVyJywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgIHN0cmVhbSA9IG5ldyBNSnBlZ1N0cmVhbShzZXJ2ZXJVcmwsIF8ubm9vcCk7XG4gICAgc2hvdWxkLm5vdC5leGlzdChzdHJlYW0ubGFzdENodW5rKTtcbiAgICBhd2FpdCBzdHJlYW0uc3RhcnQoKTtcbiAgICBzaG91bGQuZXhpc3Qoc3RyZWFtLmxhc3RDaHVuayk7XG4gICAgc3RyZWFtLnVwZGF0ZUNvdW50LnNob3VsZC5lcWwoMSk7XG5cbiAgICBhd2FpdCBCLmRlbGF5KDEwMDApOyAvLyBsZXQgdGhlIHN0cmVhbSB1cGRhdGUgYSBiaXRcbiAgICBzdHJlYW0udXBkYXRlQ291bnQuc2hvdWxkLmJlLmFib3ZlKDEpO1xuXG4gICAgLy8gdmVyaWZ5IGpwZWcgdHlwZSBhbmQgYnl0ZSBsZW5ndGggb2YgZml4dHVyZSBpbWFnZVxuICAgIGNvbnN0IHN0YXJ0Qnl0ZXMgPSBCdWZmZXIuZnJvbShbMHhmZiwgMHhkOF0pO1xuICAgIGNvbnN0IGVuZEJ5dGVzID0gQnVmZmVyLmZyb20oWzB4ZmYsIDB4ZDldKTtcbiAgICBjb25zdCBzdGFydFBvcyA9IHN0cmVhbS5sYXN0Q2h1bmsuaW5kZXhPZihzdGFydEJ5dGVzKTtcbiAgICBjb25zdCBlbmRQb3MgPSBzdHJlYW0ubGFzdENodW5rLmluZGV4T2YoZW5kQnl0ZXMpO1xuICAgIHN0YXJ0UG9zLnNob3VsZC5lcWwoMCk7IC8vIHByb3ZlcyB3ZSBoYXZlIGEganBlZ1xuICAgIGVuZFBvcy5zaG91bGQuZXFsKDEyNzgpOyAvLyBwcm92ZXMgd2UgaGF2ZSBhIGpwZWcgb2YgdGhlIHJpZ2h0IHNpemVcblxuICAgIC8vIHZlcmlmeSB3ZSBjYW4gZ2V0IHRoZSBiYXNlNjQgdmVyc2lvbiB0b29cbiAgICBjb25zdCBiNjQgPSBzdHJlYW0ubGFzdENodW5rQmFzZTY0O1xuICAgIGI2NC5zaG91bGQuZXFsKFRFU1RfSU1HX0pQRyk7XG5cbiAgICAvLyB2ZXJpZnkgd2UgY2FuIGdldCB0aGUgUE5HIHZlcnNpb24gdG9vXG4gICAgY29uc3QgcG5nID0gYXdhaXQgc3RyZWFtLmxhc3RDaHVua1BOR0Jhc2U2NCgpO1xuICAgIHBuZy5zaG91bGQuYmUuYSgnc3RyaW5nJyk7XG4gICAgcG5nLmluZGV4T2YoJ2lWQk9SJykuc2hvdWxkLmVxbCgwKTtcbiAgICBwbmcubGVuZ3RoLnNob3VsZC5iZS5hYm92ZSg0MDApO1xuXG5cbiAgICAvLyBub3cgc3RvcCB0aGUgc3RyZWFtIGFuZCB3YWl0IHNvbWUgbW9yZSB0aGVuIGFzc2VydCBubyBuZXcgZGF0YSBoYXMgY29tZSBpblxuICAgIHN0cmVhbS5zdG9wKCk7XG4gICAgYXdhaXQgQi5kZWxheSgxMDAwKTtcbiAgICBzaG91bGQubm90LmV4aXN0KHN0cmVhbS5sYXN0Q2h1bmspO1xuICAgIHN0cmVhbS51cGRhdGVDb3VudC5zaG91bGQuZXFsKDApO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIGVycm9yIG91dCBpZiB0aGUgc2VydmVyIGRvZXMgbm90IHNlbmQgYW55IGltYWdlcyBiZWZvcmUgYSB0aW1lb3V0JywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgIHN0cmVhbSA9IG5ldyBNSnBlZ1N0cmVhbShzZXJ2ZXJVcmwsIF8ubm9vcCk7XG4gICAgYXdhaXQgc3RyZWFtLnN0YXJ0KDApLnNob3VsZC5ldmVudHVhbGx5LmJlLnJlamVjdGVkV2l0aCgvbmV2ZXIgc2VudC8pO1xuICB9KTtcblxufSk7XG4iXSwiZmlsZSI6InRlc3QvbWpwZWctZTJlLXNwZWNzLmpzIiwic291cmNlUm9vdCI6Ii4uLy4uIn0=
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
|
-
require("source-map-support/register");
|
|
6
|
-
|
|
7
|
-
var _path = _interopRequireDefault(require("path"));
|
|
8
|
-
|
|
9
|
-
var _net = require("../lib/net");
|
|
10
|
-
|
|
11
|
-
var _index = require("../lib/index");
|
|
12
|
-
|
|
13
|
-
describe('#net', function () {
|
|
14
|
-
let tmpRoot;
|
|
15
|
-
beforeEach(async function () {
|
|
16
|
-
tmpRoot = await _index.tempDir.openDir();
|
|
17
|
-
});
|
|
18
|
-
afterEach(async function () {
|
|
19
|
-
await _index.fs.rimraf(tmpRoot);
|
|
20
|
-
});
|
|
21
|
-
describe('downloadFile()', function () {
|
|
22
|
-
it('should download file into the target folder', async function () {
|
|
23
|
-
const dstPath = _path.default.join(tmpRoot, 'download.tmp');
|
|
24
|
-
|
|
25
|
-
await (0, _net.downloadFile)('https://appium.io/ico/apple-touch-icon-114x114-precomposed.png', dstPath);
|
|
26
|
-
await _index.fs.exists(dstPath).should.eventually.be.true;
|
|
27
|
-
});
|
|
28
|
-
});
|
|
29
|
-
});require('source-map-support').install();
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInRlc3QvbmV0LWUyZS1zcGVjcy5qcyJdLCJuYW1lcyI6WyJkZXNjcmliZSIsInRtcFJvb3QiLCJiZWZvcmVFYWNoIiwidGVtcERpciIsIm9wZW5EaXIiLCJhZnRlckVhY2giLCJmcyIsInJpbXJhZiIsIml0IiwiZHN0UGF0aCIsInBhdGgiLCJqb2luIiwiZXhpc3RzIiwic2hvdWxkIiwiZXZlbnR1YWxseSIsImJlIiwidHJ1ZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBR0FBLFFBQVEsQ0FBQyxNQUFELEVBQVMsWUFBWTtBQUMzQixNQUFJQyxPQUFKO0FBRUFDLEVBQUFBLFVBQVUsQ0FBQyxrQkFBa0I7QUFDM0JELElBQUFBLE9BQU8sR0FBRyxNQUFNRSxlQUFRQyxPQUFSLEVBQWhCO0FBQ0QsR0FGUyxDQUFWO0FBSUFDLEVBQUFBLFNBQVMsQ0FBQyxrQkFBa0I7QUFDMUIsVUFBTUMsVUFBR0MsTUFBSCxDQUFVTixPQUFWLENBQU47QUFDRCxHQUZRLENBQVQ7QUFJQUQsRUFBQUEsUUFBUSxDQUFDLGdCQUFELEVBQW1CLFlBQVk7QUFDckNRLElBQUFBLEVBQUUsQ0FBQyw2Q0FBRCxFQUFnRCxrQkFBa0I7QUFDbEUsWUFBTUMsT0FBTyxHQUFHQyxjQUFLQyxJQUFMLENBQVVWLE9BQVYsRUFBbUIsY0FBbkIsQ0FBaEI7O0FBQ0EsWUFBTSx1QkFBYSxnRUFBYixFQUNKUSxPQURJLENBQU47QUFFQSxZQUFNSCxVQUFHTSxNQUFILENBQVVILE9BQVYsRUFBbUJJLE1BQW5CLENBQTBCQyxVQUExQixDQUFxQ0MsRUFBckMsQ0FBd0NDLElBQTlDO0FBQ0QsS0FMQyxDQUFGO0FBTUQsR0FQTyxDQUFSO0FBU0QsQ0FwQk8sQ0FBUiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBwYXRoIGZyb20gJ3BhdGgnO1xuaW1wb3J0IHsgZG93bmxvYWRGaWxlIH0gZnJvbSAnLi4vbGliL25ldCc7XG5pbXBvcnQgeyB0ZW1wRGlyLCBmcyB9IGZyb20gJy4uL2xpYi9pbmRleCc7XG5cblxuZGVzY3JpYmUoJyNuZXQnLCBmdW5jdGlvbiAoKSB7XG4gIGxldCB0bXBSb290O1xuXG4gIGJlZm9yZUVhY2goYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgIHRtcFJvb3QgPSBhd2FpdCB0ZW1wRGlyLm9wZW5EaXIoKTtcbiAgfSk7XG5cbiAgYWZ0ZXJFYWNoKGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICBhd2FpdCBmcy5yaW1yYWYodG1wUm9vdCk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdkb3dubG9hZEZpbGUoKScsIGZ1bmN0aW9uICgpIHtcbiAgICBpdCgnc2hvdWxkIGRvd25sb2FkIGZpbGUgaW50byB0aGUgdGFyZ2V0IGZvbGRlcicsIGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICAgIGNvbnN0IGRzdFBhdGggPSBwYXRoLmpvaW4odG1wUm9vdCwgJ2Rvd25sb2FkLnRtcCcpO1xuICAgICAgYXdhaXQgZG93bmxvYWRGaWxlKCdodHRwczovL2FwcGl1bS5pby9pY28vYXBwbGUtdG91Y2gtaWNvbi0xMTR4MTE0LXByZWNvbXBvc2VkLnBuZycsXG4gICAgICAgIGRzdFBhdGgpO1xuICAgICAgYXdhaXQgZnMuZXhpc3RzKGRzdFBhdGgpLnNob3VsZC5ldmVudHVhbGx5LmJlLnRydWU7XG4gICAgfSk7XG4gIH0pO1xuXG59KTtcbiJdLCJmaWxlIjoidGVzdC9uZXQtZTJlLXNwZWNzLmpzIiwic291cmNlUm9vdCI6Ii4uLy4uIn0=
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
require("source-map-support/register");
|
|
4
|
-
|
|
5
|
-
var _lib = require("../lib");
|
|
6
|
-
|
|
7
|
-
describe('node utilities', function () {
|
|
8
|
-
describe('requirePackage', function () {
|
|
9
|
-
it('should be able to require a local package', async function () {
|
|
10
|
-
await _lib.node.requirePackage('chai').should.not.be.rejected;
|
|
11
|
-
});
|
|
12
|
-
it.skip('should be able to require a global package', async function () {
|
|
13
|
-
await _lib.node.requirePackage('npm').should.not.be.rejected;
|
|
14
|
-
});
|
|
15
|
-
it('should fail to find uninstalled package', async function () {
|
|
16
|
-
await _lib.node.requirePackage('appium-foo-driver').should.eventually.be.rejectedWith(/Unable to load package/);
|
|
17
|
-
});
|
|
18
|
-
});
|
|
19
|
-
});require('source-map-support').install();
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInRlc3Qvbm9kZS1lMmUtc3BlY3MuanMiXSwibmFtZXMiOlsiZGVzY3JpYmUiLCJpdCIsIm5vZGUiLCJyZXF1aXJlUGFja2FnZSIsInNob3VsZCIsIm5vdCIsImJlIiwicmVqZWN0ZWQiLCJza2lwIiwiZXZlbnR1YWxseSIsInJlamVjdGVkV2l0aCJdLCJtYXBwaW5ncyI6Ijs7OztBQUFBOztBQUlBQSxRQUFRLENBQUMsZ0JBQUQsRUFBbUIsWUFBWTtBQUNyQ0EsRUFBQUEsUUFBUSxDQUFDLGdCQUFELEVBQW1CLFlBQVk7QUFDckNDLElBQUFBLEVBQUUsQ0FBQywyQ0FBRCxFQUE4QyxrQkFBa0I7QUFDaEUsWUFBTUMsVUFBS0MsY0FBTCxDQUFvQixNQUFwQixFQUE0QkMsTUFBNUIsQ0FBbUNDLEdBQW5DLENBQXVDQyxFQUF2QyxDQUEwQ0MsUUFBaEQ7QUFDRCxLQUZDLENBQUY7QUFJQU4sSUFBQUEsRUFBRSxDQUFDTyxJQUFILENBQVEsNENBQVIsRUFBc0Qsa0JBQWtCO0FBQ3RFLFlBQU1OLFVBQUtDLGNBQUwsQ0FBb0IsS0FBcEIsRUFBMkJDLE1BQTNCLENBQWtDQyxHQUFsQyxDQUFzQ0MsRUFBdEMsQ0FBeUNDLFFBQS9DO0FBQ0QsS0FGRDtBQUdBTixJQUFBQSxFQUFFLENBQUMseUNBQUQsRUFBNEMsa0JBQWtCO0FBQzlELFlBQU1DLFVBQUtDLGNBQUwsQ0FBb0IsbUJBQXBCLEVBQXlDQyxNQUF6QyxDQUFnREssVUFBaEQsQ0FBMkRILEVBQTNELENBQThESSxZQUE5RCxDQUEyRSx3QkFBM0UsQ0FBTjtBQUNELEtBRkMsQ0FBRjtBQUdELEdBWE8sQ0FBUjtBQVlELENBYk8sQ0FBUiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IG5vZGUgfSBmcm9tICcuLi9saWInO1xuXG5cblxuZGVzY3JpYmUoJ25vZGUgdXRpbGl0aWVzJywgZnVuY3Rpb24gKCkge1xuICBkZXNjcmliZSgncmVxdWlyZVBhY2thZ2UnLCBmdW5jdGlvbiAoKSB7XG4gICAgaXQoJ3Nob3VsZCBiZSBhYmxlIHRvIHJlcXVpcmUgYSBsb2NhbCBwYWNrYWdlJywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgYXdhaXQgbm9kZS5yZXF1aXJlUGFja2FnZSgnY2hhaScpLnNob3VsZC5ub3QuYmUucmVqZWN0ZWQ7XG4gICAgfSk7XG4gICAgLy8gWFhYOiBzZWUgIzE1OTUxXG4gICAgaXQuc2tpcCgnc2hvdWxkIGJlIGFibGUgdG8gcmVxdWlyZSBhIGdsb2JhbCBwYWNrYWdlJywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgYXdhaXQgbm9kZS5yZXF1aXJlUGFja2FnZSgnbnBtJykuc2hvdWxkLm5vdC5iZS5yZWplY3RlZDtcbiAgICB9KTtcbiAgICBpdCgnc2hvdWxkIGZhaWwgdG8gZmluZCB1bmluc3RhbGxlZCBwYWNrYWdlJywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgYXdhaXQgbm9kZS5yZXF1aXJlUGFja2FnZSgnYXBwaXVtLWZvby1kcml2ZXInKS5zaG91bGQuZXZlbnR1YWxseS5iZS5yZWplY3RlZFdpdGgoL1VuYWJsZSB0byBsb2FkIHBhY2thZ2UvKTtcbiAgICB9KTtcbiAgfSk7XG59KTtcbiJdLCJmaWxlIjoidGVzdC9ub2RlLWUyZS1zcGVjcy5qcyIsInNvdXJjZVJvb3QiOiIuLi8uLiJ9
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
|
-
require("source-map-support/register");
|
|
6
|
-
|
|
7
|
-
var _path = _interopRequireDefault(require("path"));
|
|
8
|
-
|
|
9
|
-
var _index = require("../lib/index.js");
|
|
10
|
-
|
|
11
|
-
const binaryPlistPath = _path.default.join(__dirname, 'assets', 'sample_binary.plist');
|
|
12
|
-
|
|
13
|
-
const textPlistPath = _path.default.join(__dirname, 'assets', 'sample_text.plist');
|
|
14
|
-
|
|
15
|
-
describe('plist', function () {
|
|
16
|
-
it('should parse plist file as binary', async function () {
|
|
17
|
-
let content = await _index.plist.parsePlistFile(binaryPlistPath);
|
|
18
|
-
content.should.have.property('com.apple.locationd.bundle-/System/Library/PrivateFrameworks/Parsec.framework');
|
|
19
|
-
});
|
|
20
|
-
it(`should return an empty object if file doesn't exist and mustExist is set to false`, async function () {
|
|
21
|
-
let mustExist = false;
|
|
22
|
-
let content = await _index.plist.parsePlistFile('doesntExist.plist', mustExist);
|
|
23
|
-
content.should.be.an('object');
|
|
24
|
-
content.should.be.empty;
|
|
25
|
-
});
|
|
26
|
-
it('should write plist file as binary', async function () {
|
|
27
|
-
let plistFile = _path.default.resolve(await _index.tempDir.openDir(), 'sample.plist');
|
|
28
|
-
|
|
29
|
-
await _index.fs.copyFile(binaryPlistPath, plistFile);
|
|
30
|
-
let updatedFields = {
|
|
31
|
-
'io.appium.test': true
|
|
32
|
-
};
|
|
33
|
-
await _index.plist.updatePlistFile(plistFile, updatedFields, true);
|
|
34
|
-
let content = await _index.plist.parsePlistFile(plistFile);
|
|
35
|
-
content.should.have.property('io.appium.test');
|
|
36
|
-
});
|
|
37
|
-
it('should read binary plist', async function () {
|
|
38
|
-
const content = await _index.fs.readFile(binaryPlistPath);
|
|
39
|
-
|
|
40
|
-
const object = _index.plist.parsePlist(content);
|
|
41
|
-
|
|
42
|
-
object.should.have.property('com.apple.locationd.bundle-/System/Library/PrivateFrameworks/Parsec.framework');
|
|
43
|
-
});
|
|
44
|
-
it('should read text plist', async function () {
|
|
45
|
-
const content = await _index.fs.readFile(textPlistPath);
|
|
46
|
-
|
|
47
|
-
const object = _index.plist.parsePlist(content);
|
|
48
|
-
|
|
49
|
-
object.should.have.property('com.apple.locationd.bundle-/System/Library/PrivateFrameworks/Parsec.framework');
|
|
50
|
-
});
|
|
51
|
-
});require('source-map-support').install();
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInRlc3QvcGxpc3Qtc3BlY3MuanMiXSwibmFtZXMiOlsiYmluYXJ5UGxpc3RQYXRoIiwicGF0aCIsImpvaW4iLCJfX2Rpcm5hbWUiLCJ0ZXh0UGxpc3RQYXRoIiwiZGVzY3JpYmUiLCJpdCIsImNvbnRlbnQiLCJwbGlzdCIsInBhcnNlUGxpc3RGaWxlIiwic2hvdWxkIiwiaGF2ZSIsInByb3BlcnR5IiwibXVzdEV4aXN0IiwiYmUiLCJhbiIsImVtcHR5IiwicGxpc3RGaWxlIiwicmVzb2x2ZSIsInRlbXBEaXIiLCJvcGVuRGlyIiwiZnMiLCJjb3B5RmlsZSIsInVwZGF0ZWRGaWVsZHMiLCJ1cGRhdGVQbGlzdEZpbGUiLCJyZWFkRmlsZSIsIm9iamVjdCIsInBhcnNlUGxpc3QiXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBOztBQUNBOztBQUlBLE1BQU1BLGVBQWUsR0FBR0MsY0FBS0MsSUFBTCxDQUFVQyxTQUFWLEVBQXFCLFFBQXJCLEVBQStCLHFCQUEvQixDQUF4Qjs7QUFDQSxNQUFNQyxhQUFhLEdBQUdILGNBQUtDLElBQUwsQ0FBVUMsU0FBVixFQUFxQixRQUFyQixFQUErQixtQkFBL0IsQ0FBdEI7O0FBRUFFLFFBQVEsQ0FBQyxPQUFELEVBQVUsWUFBWTtBQUM1QkMsRUFBQUEsRUFBRSxDQUFDLG1DQUFELEVBQXNDLGtCQUFrQjtBQUN4RCxRQUFJQyxPQUFPLEdBQUcsTUFBTUMsYUFBTUMsY0FBTixDQUFxQlQsZUFBckIsQ0FBcEI7QUFDQU8sSUFBQUEsT0FBTyxDQUFDRyxNQUFSLENBQWVDLElBQWYsQ0FBb0JDLFFBQXBCLENBQTZCLCtFQUE3QjtBQUNELEdBSEMsQ0FBRjtBQUtBTixFQUFBQSxFQUFFLENBQUUsbUZBQUYsRUFBc0Ysa0JBQWtCO0FBQ3hHLFFBQUlPLFNBQVMsR0FBRyxLQUFoQjtBQUNBLFFBQUlOLE9BQU8sR0FBRyxNQUFNQyxhQUFNQyxjQUFOLENBQXFCLG1CQUFyQixFQUEwQ0ksU0FBMUMsQ0FBcEI7QUFDQU4sSUFBQUEsT0FBTyxDQUFDRyxNQUFSLENBQWVJLEVBQWYsQ0FBa0JDLEVBQWxCLENBQXFCLFFBQXJCO0FBQ0FSLElBQUFBLE9BQU8sQ0FBQ0csTUFBUixDQUFlSSxFQUFmLENBQWtCRSxLQUFsQjtBQUNELEdBTEMsQ0FBRjtBQU9BVixFQUFBQSxFQUFFLENBQUMsbUNBQUQsRUFBc0Msa0JBQWtCO0FBRXhELFFBQUlXLFNBQVMsR0FBR2hCLGNBQUtpQixPQUFMLENBQWEsTUFBTUMsZUFBUUMsT0FBUixFQUFuQixFQUFzQyxjQUF0QyxDQUFoQjs7QUFDQSxVQUFNQyxVQUFHQyxRQUFILENBQVl0QixlQUFaLEVBQTZCaUIsU0FBN0IsQ0FBTjtBQUdBLFFBQUlNLGFBQWEsR0FBRztBQUNsQix3QkFBa0I7QUFEQSxLQUFwQjtBQUdBLFVBQU1mLGFBQU1nQixlQUFOLENBQXNCUCxTQUF0QixFQUFpQ00sYUFBakMsRUFBZ0QsSUFBaEQsQ0FBTjtBQUdBLFFBQUloQixPQUFPLEdBQUcsTUFBTUMsYUFBTUMsY0FBTixDQUFxQlEsU0FBckIsQ0FBcEI7QUFDQVYsSUFBQUEsT0FBTyxDQUFDRyxNQUFSLENBQWVDLElBQWYsQ0FBb0JDLFFBQXBCLENBQTZCLGdCQUE3QjtBQUNELEdBZEMsQ0FBRjtBQWdCQU4sRUFBQUEsRUFBRSxDQUFDLDBCQUFELEVBQTZCLGtCQUFrQjtBQUMvQyxVQUFNQyxPQUFPLEdBQUcsTUFBTWMsVUFBR0ksUUFBSCxDQUFZekIsZUFBWixDQUF0Qjs7QUFDQSxVQUFNMEIsTUFBTSxHQUFHbEIsYUFBTW1CLFVBQU4sQ0FBaUJwQixPQUFqQixDQUFmOztBQUNBbUIsSUFBQUEsTUFBTSxDQUFDaEIsTUFBUCxDQUFjQyxJQUFkLENBQW1CQyxRQUFuQixDQUE0QiwrRUFBNUI7QUFDRCxHQUpDLENBQUY7QUFNQU4sRUFBQUEsRUFBRSxDQUFDLHdCQUFELEVBQTJCLGtCQUFrQjtBQUM3QyxVQUFNQyxPQUFPLEdBQUcsTUFBTWMsVUFBR0ksUUFBSCxDQUFZckIsYUFBWixDQUF0Qjs7QUFDQSxVQUFNc0IsTUFBTSxHQUFHbEIsYUFBTW1CLFVBQU4sQ0FBaUJwQixPQUFqQixDQUFmOztBQUNBbUIsSUFBQUEsTUFBTSxDQUFDaEIsTUFBUCxDQUFjQyxJQUFkLENBQW1CQyxRQUFuQixDQUE0QiwrRUFBNUI7QUFDRCxHQUpDLENBQUY7QUFLRCxDQXhDTyxDQUFSIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQgeyBwbGlzdCwgdGVtcERpciwgZnMgfSBmcm9tICcuLi9saWIvaW5kZXguanMnO1xuXG5cblxuY29uc3QgYmluYXJ5UGxpc3RQYXRoID0gcGF0aC5qb2luKF9fZGlybmFtZSwgJ2Fzc2V0cycsICdzYW1wbGVfYmluYXJ5LnBsaXN0Jyk7XG5jb25zdCB0ZXh0UGxpc3RQYXRoID0gcGF0aC5qb2luKF9fZGlybmFtZSwgJ2Fzc2V0cycsICdzYW1wbGVfdGV4dC5wbGlzdCcpO1xuXG5kZXNjcmliZSgncGxpc3QnLCBmdW5jdGlvbiAoKSB7XG4gIGl0KCdzaG91bGQgcGFyc2UgcGxpc3QgZmlsZSBhcyBiaW5hcnknLCBhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgbGV0IGNvbnRlbnQgPSBhd2FpdCBwbGlzdC5wYXJzZVBsaXN0RmlsZShiaW5hcnlQbGlzdFBhdGgpO1xuICAgIGNvbnRlbnQuc2hvdWxkLmhhdmUucHJvcGVydHkoJ2NvbS5hcHBsZS5sb2NhdGlvbmQuYnVuZGxlLS9TeXN0ZW0vTGlicmFyeS9Qcml2YXRlRnJhbWV3b3Jrcy9QYXJzZWMuZnJhbWV3b3JrJyk7XG4gIH0pO1xuXG4gIGl0KGBzaG91bGQgcmV0dXJuIGFuIGVtcHR5IG9iamVjdCBpZiBmaWxlIGRvZXNuJ3QgZXhpc3QgYW5kIG11c3RFeGlzdCBpcyBzZXQgdG8gZmFsc2VgLCBhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgbGV0IG11c3RFeGlzdCA9IGZhbHNlO1xuICAgIGxldCBjb250ZW50ID0gYXdhaXQgcGxpc3QucGFyc2VQbGlzdEZpbGUoJ2RvZXNudEV4aXN0LnBsaXN0JywgbXVzdEV4aXN0KTtcbiAgICBjb250ZW50LnNob3VsZC5iZS5hbignb2JqZWN0Jyk7XG4gICAgY29udGVudC5zaG91bGQuYmUuZW1wdHk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgd3JpdGUgcGxpc3QgZmlsZSBhcyBiaW5hcnknLCBhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgLy8gY3JlYXRlIGEgdGVtcG9yYXJ5IGZpbGUsIHRvIHdoaWNoIHdlIHdpbGwgd3JpdGVcbiAgICBsZXQgcGxpc3RGaWxlID0gcGF0aC5yZXNvbHZlKGF3YWl0IHRlbXBEaXIub3BlbkRpcigpLCAnc2FtcGxlLnBsaXN0Jyk7XG4gICAgYXdhaXQgZnMuY29weUZpbGUoYmluYXJ5UGxpc3RQYXRoLCBwbGlzdEZpbGUpO1xuXG4gICAgLy8gd3JpdGUgc29tZSBkYXRhXG4gICAgbGV0IHVwZGF0ZWRGaWVsZHMgPSB7XG4gICAgICAnaW8uYXBwaXVtLnRlc3QnOiB0cnVlXG4gICAgfTtcbiAgICBhd2FpdCBwbGlzdC51cGRhdGVQbGlzdEZpbGUocGxpc3RGaWxlLCB1cGRhdGVkRmllbGRzLCB0cnVlKTtcblxuICAgIC8vIG1ha2Ugc3VyZSB0aGUgZGF0YSBpcyB0aGVyZVxuICAgIGxldCBjb250ZW50ID0gYXdhaXQgcGxpc3QucGFyc2VQbGlzdEZpbGUocGxpc3RGaWxlKTtcbiAgICBjb250ZW50LnNob3VsZC5oYXZlLnByb3BlcnR5KCdpby5hcHBpdW0udGVzdCcpO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIHJlYWQgYmluYXJ5IHBsaXN0JywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgIGNvbnN0IGNvbnRlbnQgPSBhd2FpdCBmcy5yZWFkRmlsZShiaW5hcnlQbGlzdFBhdGgpO1xuICAgIGNvbnN0IG9iamVjdCA9IHBsaXN0LnBhcnNlUGxpc3QoY29udGVudCk7XG4gICAgb2JqZWN0LnNob3VsZC5oYXZlLnByb3BlcnR5KCdjb20uYXBwbGUubG9jYXRpb25kLmJ1bmRsZS0vU3lzdGVtL0xpYnJhcnkvUHJpdmF0ZUZyYW1ld29ya3MvUGFyc2VjLmZyYW1ld29yaycpO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIHJlYWQgdGV4dCBwbGlzdCcsIGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICBjb25zdCBjb250ZW50ID0gYXdhaXQgZnMucmVhZEZpbGUodGV4dFBsaXN0UGF0aCk7XG4gICAgY29uc3Qgb2JqZWN0ID0gcGxpc3QucGFyc2VQbGlzdChjb250ZW50KTtcbiAgICBvYmplY3Quc2hvdWxkLmhhdmUucHJvcGVydHkoJ2NvbS5hcHBsZS5sb2NhdGlvbmQuYnVuZGxlLS9TeXN0ZW0vTGlicmFyeS9Qcml2YXRlRnJhbWV3b3Jrcy9QYXJzZWMuZnJhbWV3b3JrJyk7XG4gIH0pO1xufSk7XG4iXSwiZmlsZSI6InRlc3QvcGxpc3Qtc3BlY3MuanMiLCJzb3VyY2VSb290IjoiLi4vLi4ifQ==
|