@appium/support 2.55.3 → 2.56.1
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 +4 -339
- 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/image-util.js +3 -578
- 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 +21 -9
- 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 -227
- 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,227 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
|
-
require("source-map-support/register");
|
|
6
|
-
|
|
7
|
-
var _imageUtil = require("../lib/image-util");
|
|
8
|
-
|
|
9
|
-
var _path = _interopRequireDefault(require("path"));
|
|
10
|
-
|
|
11
|
-
var _lodash = _interopRequireDefault(require("lodash"));
|
|
12
|
-
|
|
13
|
-
var _lib = require("../lib");
|
|
14
|
-
|
|
15
|
-
const FIXTURES_ROOT = _path.default.resolve(__dirname, '..', '..', 'test', 'images');
|
|
16
|
-
|
|
17
|
-
async function getImage(name) {
|
|
18
|
-
const imagePath = _path.default.resolve(FIXTURES_ROOT, name);
|
|
19
|
-
|
|
20
|
-
return await _lib.fs.readFile(imagePath, 'utf8');
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
describe('image-util', function () {
|
|
24
|
-
before(function () {
|
|
25
|
-
return this.skip();
|
|
26
|
-
});
|
|
27
|
-
describe('cropBase64Image', function () {
|
|
28
|
-
let originalImage = null;
|
|
29
|
-
before(async function () {
|
|
30
|
-
const originalImage64 = await getImage('full-image.b64');
|
|
31
|
-
originalImage = await (0, _imageUtil.base64ToImage)(originalImage64);
|
|
32
|
-
originalImage.width.should.be.equal(640, 'unexpected width');
|
|
33
|
-
originalImage.height.should.be.equal(1136, 'unexpected height');
|
|
34
|
-
});
|
|
35
|
-
it('should verify that an image is cropped correctly', async function () {
|
|
36
|
-
const croppedImage = await (0, _imageUtil.cropImage)(originalImage, {
|
|
37
|
-
left: 35,
|
|
38
|
-
top: 107,
|
|
39
|
-
width: 323,
|
|
40
|
-
height: 485
|
|
41
|
-
});
|
|
42
|
-
croppedImage.width.should.be.equal(323, 'unexpected width');
|
|
43
|
-
croppedImage.height.should.be.equal(485, 'unexpected height');
|
|
44
|
-
const croppedImageShouldBe = await getImage('cropped-image.b64');
|
|
45
|
-
const croppedImage64 = await (0, _imageUtil.imageToBase64)(croppedImage);
|
|
46
|
-
croppedImage64.should.be.equal(croppedImageShouldBe);
|
|
47
|
-
});
|
|
48
|
-
});
|
|
49
|
-
describe('OpenCV helpers', function () {
|
|
50
|
-
this.timeout(120000);
|
|
51
|
-
let imgFixture = null;
|
|
52
|
-
let fullImage = null;
|
|
53
|
-
let partialImage = null;
|
|
54
|
-
let originalImage = null;
|
|
55
|
-
let changedImage = null;
|
|
56
|
-
let rotatedImage = null;
|
|
57
|
-
let numberImage = null;
|
|
58
|
-
before(async function () {
|
|
59
|
-
const imagePath = _path.default.resolve(FIXTURES_ROOT, 'full-image.b64');
|
|
60
|
-
|
|
61
|
-
imgFixture = Buffer.from(await _lib.fs.readFile(imagePath, 'binary'), 'base64');
|
|
62
|
-
fullImage = await _lib.fs.readFile(_path.default.resolve(FIXTURES_ROOT, 'findwaldo.jpg'));
|
|
63
|
-
partialImage = await _lib.fs.readFile(_path.default.resolve(FIXTURES_ROOT, 'waldo.jpg'));
|
|
64
|
-
originalImage = await _lib.fs.readFile(_path.default.resolve(FIXTURES_ROOT, 'cc1.png'));
|
|
65
|
-
changedImage = await _lib.fs.readFile(_path.default.resolve(FIXTURES_ROOT, 'cc2.png'));
|
|
66
|
-
numberImage = await _lib.fs.readFile(_path.default.resolve(FIXTURES_ROOT, 'number5.png'));
|
|
67
|
-
rotatedImage = await _lib.fs.readFile(_path.default.resolve(FIXTURES_ROOT, 'cc_rotated.png'));
|
|
68
|
-
});
|
|
69
|
-
describe('getImagesMatches', function () {
|
|
70
|
-
it('should calculate the number of matches between two images', async function () {
|
|
71
|
-
for (const detectorName of ['AKAZE', 'ORB']) {
|
|
72
|
-
const {
|
|
73
|
-
count,
|
|
74
|
-
totalCount
|
|
75
|
-
} = await (0, _imageUtil.getImagesMatches)(fullImage, fullImage, {
|
|
76
|
-
detectorName
|
|
77
|
-
});
|
|
78
|
-
count.should.be.above(0);
|
|
79
|
-
totalCount.should.eql(count);
|
|
80
|
-
}
|
|
81
|
-
});
|
|
82
|
-
it('should visualize matches between two images', async function () {
|
|
83
|
-
const {
|
|
84
|
-
visualization
|
|
85
|
-
} = await (0, _imageUtil.getImagesMatches)(fullImage, fullImage, {
|
|
86
|
-
visualize: true
|
|
87
|
-
});
|
|
88
|
-
visualization.should.not.be.empty;
|
|
89
|
-
});
|
|
90
|
-
it('should visualize matches between two images and apply goodMatchesFactor', async function () {
|
|
91
|
-
const {
|
|
92
|
-
visualization,
|
|
93
|
-
points1,
|
|
94
|
-
rect1,
|
|
95
|
-
points2,
|
|
96
|
-
rect2
|
|
97
|
-
} = await (0, _imageUtil.getImagesMatches)(rotatedImage, originalImage, {
|
|
98
|
-
visualize: true,
|
|
99
|
-
matchFunc: 'BruteForceHamming',
|
|
100
|
-
goodMatchesFactor: 40
|
|
101
|
-
});
|
|
102
|
-
visualization.should.not.be.empty;
|
|
103
|
-
points1.length.should.be.above(4);
|
|
104
|
-
rect1.x.should.be.above(0);
|
|
105
|
-
rect1.y.should.be.above(0);
|
|
106
|
-
rect1.width.should.be.above(0);
|
|
107
|
-
rect1.height.should.be.above(0);
|
|
108
|
-
points2.length.should.be.above(4);
|
|
109
|
-
rect2.x.should.be.above(0);
|
|
110
|
-
rect2.y.should.be.above(0);
|
|
111
|
-
rect2.width.should.be.above(0);
|
|
112
|
-
rect2.height.should.be.above(0);
|
|
113
|
-
});
|
|
114
|
-
});
|
|
115
|
-
describe('getImagesSimilarity', function () {
|
|
116
|
-
it('should calculate the similarity score between two images', async function () {
|
|
117
|
-
const {
|
|
118
|
-
score
|
|
119
|
-
} = await (0, _imageUtil.getImagesSimilarity)(imgFixture, imgFixture);
|
|
120
|
-
score.should.be.above(0);
|
|
121
|
-
});
|
|
122
|
-
it('should visualize the similarity between two images', async function () {
|
|
123
|
-
const {
|
|
124
|
-
visualization
|
|
125
|
-
} = await (0, _imageUtil.getImagesSimilarity)(originalImage, changedImage, {
|
|
126
|
-
visualize: true
|
|
127
|
-
});
|
|
128
|
-
visualization.should.not.be.empty;
|
|
129
|
-
});
|
|
130
|
-
});
|
|
131
|
-
describe('getImageOccurrence', function () {
|
|
132
|
-
it('should calculate the partial image position in the full image', async function () {
|
|
133
|
-
const {
|
|
134
|
-
rect,
|
|
135
|
-
score
|
|
136
|
-
} = await (0, _imageUtil.getImageOccurrence)(fullImage, partialImage);
|
|
137
|
-
rect.x.should.be.above(0);
|
|
138
|
-
rect.y.should.be.above(0);
|
|
139
|
-
rect.width.should.be.above(0);
|
|
140
|
-
rect.height.should.be.above(0);
|
|
141
|
-
score.should.be.above(0);
|
|
142
|
-
});
|
|
143
|
-
it('should reject matches that fall below a threshold', async function () {
|
|
144
|
-
await (0, _imageUtil.getImageOccurrence)(fullImage, partialImage, {
|
|
145
|
-
threshold: 1.0
|
|
146
|
-
}).should.eventually.be.rejectedWith(/threshold/);
|
|
147
|
-
});
|
|
148
|
-
it('should visualize the partial image position in the full image', async function () {
|
|
149
|
-
const {
|
|
150
|
-
visualization
|
|
151
|
-
} = await (0, _imageUtil.getImageOccurrence)(fullImage, partialImage, {
|
|
152
|
-
visualize: true
|
|
153
|
-
});
|
|
154
|
-
visualization.should.not.be.empty;
|
|
155
|
-
});
|
|
156
|
-
describe('multiple', function () {
|
|
157
|
-
it('should return matches in the full image', async function () {
|
|
158
|
-
const {
|
|
159
|
-
multiple
|
|
160
|
-
} = await (0, _imageUtil.getImageOccurrence)(originalImage, numberImage, {
|
|
161
|
-
threshold: 0.8,
|
|
162
|
-
multiple: true
|
|
163
|
-
});
|
|
164
|
-
multiple.length.should.be.eq(3);
|
|
165
|
-
|
|
166
|
-
for (const result of multiple) {
|
|
167
|
-
result.rect.x.should.be.above(0);
|
|
168
|
-
result.rect.y.should.be.above(0);
|
|
169
|
-
result.rect.width.should.be.above(0);
|
|
170
|
-
result.rect.height.should.be.above(0);
|
|
171
|
-
result.score.should.be.above(0);
|
|
172
|
-
}
|
|
173
|
-
});
|
|
174
|
-
it('should reject matches that fall below a threshold', async function () {
|
|
175
|
-
await (0, _imageUtil.getImageOccurrence)(originalImage, numberImage, {
|
|
176
|
-
threshold: 1.0,
|
|
177
|
-
multiple: true
|
|
178
|
-
}).should.eventually.be.rejectedWith(/threshold/);
|
|
179
|
-
});
|
|
180
|
-
it('should visualize the partial image position in the full image', async function () {
|
|
181
|
-
const {
|
|
182
|
-
multiple
|
|
183
|
-
} = await (0, _imageUtil.getImageOccurrence)(originalImage, numberImage, {
|
|
184
|
-
visualize: true,
|
|
185
|
-
multiple: true
|
|
186
|
-
});
|
|
187
|
-
|
|
188
|
-
for (const result of multiple) {
|
|
189
|
-
result.visualization.should.not.be.empty;
|
|
190
|
-
}
|
|
191
|
-
});
|
|
192
|
-
});
|
|
193
|
-
});
|
|
194
|
-
});
|
|
195
|
-
describe('Jimp helpers', function () {
|
|
196
|
-
it('should get a jimp object using image buffer', async function () {
|
|
197
|
-
const base64Image = await getImage('cropped-image.b64');
|
|
198
|
-
const imageBuffer = Buffer.from(base64Image, 'base64');
|
|
199
|
-
const jimpImg = await (0, _imageUtil.getJimpImage)(imageBuffer);
|
|
200
|
-
jimpImg.hash().should.eql('80000000000');
|
|
201
|
-
jimpImg.bitmap.height.should.eql(485);
|
|
202
|
-
jimpImg.bitmap.width.should.eql(323);
|
|
203
|
-
});
|
|
204
|
-
it('should get a jimp object using b64 string', async function () {
|
|
205
|
-
const base64Image = await getImage('cropped-image.b64');
|
|
206
|
-
const jimpImg = await (0, _imageUtil.getJimpImage)(base64Image);
|
|
207
|
-
jimpImg.hash().should.eql('80000000000');
|
|
208
|
-
jimpImg.bitmap.height.should.eql(485);
|
|
209
|
-
jimpImg.bitmap.width.should.eql(323);
|
|
210
|
-
});
|
|
211
|
-
it('should error with incorrect data type', async function () {
|
|
212
|
-
await (0, _imageUtil.getJimpImage)(1234).should.eventually.be.rejectedWith(/string or buffer/);
|
|
213
|
-
});
|
|
214
|
-
it('should error with incorrect image data', async function () {
|
|
215
|
-
await (0, _imageUtil.getJimpImage)('foo').should.eventually.be.rejectedWith(/Could not find MIME for Buffer/);
|
|
216
|
-
});
|
|
217
|
-
it('should get an image buffer via the overridden getBuffer method', async function () {
|
|
218
|
-
const base64Image = await getImage('cropped-image.b64');
|
|
219
|
-
const jimpImg = await (0, _imageUtil.getJimpImage)(base64Image);
|
|
220
|
-
const buf = await jimpImg.getBuffer(_imageUtil.MIME_PNG);
|
|
221
|
-
_lodash.default.isBuffer(buf).should.be.true;
|
|
222
|
-
});
|
|
223
|
-
});
|
|
224
|
-
});require('source-map-support').install();
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInRlc3QvaW1hZ2UtdXRpbC1lMmUtc3BlY3MuanMiXSwibmFtZXMiOlsiRklYVFVSRVNfUk9PVCIsInBhdGgiLCJyZXNvbHZlIiwiX19kaXJuYW1lIiwiZ2V0SW1hZ2UiLCJuYW1lIiwiaW1hZ2VQYXRoIiwiZnMiLCJyZWFkRmlsZSIsImRlc2NyaWJlIiwiYmVmb3JlIiwic2tpcCIsIm9yaWdpbmFsSW1hZ2UiLCJvcmlnaW5hbEltYWdlNjQiLCJ3aWR0aCIsInNob3VsZCIsImJlIiwiZXF1YWwiLCJoZWlnaHQiLCJpdCIsImNyb3BwZWRJbWFnZSIsImxlZnQiLCJ0b3AiLCJjcm9wcGVkSW1hZ2VTaG91bGRCZSIsImNyb3BwZWRJbWFnZTY0IiwidGltZW91dCIsImltZ0ZpeHR1cmUiLCJmdWxsSW1hZ2UiLCJwYXJ0aWFsSW1hZ2UiLCJjaGFuZ2VkSW1hZ2UiLCJyb3RhdGVkSW1hZ2UiLCJudW1iZXJJbWFnZSIsIkJ1ZmZlciIsImZyb20iLCJkZXRlY3Rvck5hbWUiLCJjb3VudCIsInRvdGFsQ291bnQiLCJhYm92ZSIsImVxbCIsInZpc3VhbGl6YXRpb24iLCJ2aXN1YWxpemUiLCJub3QiLCJlbXB0eSIsInBvaW50czEiLCJyZWN0MSIsInBvaW50czIiLCJyZWN0MiIsIm1hdGNoRnVuYyIsImdvb2RNYXRjaGVzRmFjdG9yIiwibGVuZ3RoIiwieCIsInkiLCJzY29yZSIsInJlY3QiLCJ0aHJlc2hvbGQiLCJldmVudHVhbGx5IiwicmVqZWN0ZWRXaXRoIiwibXVsdGlwbGUiLCJlcSIsInJlc3VsdCIsImJhc2U2NEltYWdlIiwiaW1hZ2VCdWZmZXIiLCJqaW1wSW1nIiwiaGFzaCIsImJpdG1hcCIsImJ1ZiIsImdldEJ1ZmZlciIsIk1JTUVfUE5HIiwiXyIsImlzQnVmZmVyIiwidHJ1ZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUE7O0FBS0E7O0FBQ0E7O0FBQ0E7O0FBR0EsTUFBTUEsYUFBYSxHQUFHQyxjQUFLQyxPQUFMLENBQWFDLFNBQWIsRUFBd0IsSUFBeEIs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QXJDLElBQUFBLEVBQUUsQ0FBQyx3Q0FBRCxFQUEyQyxrQkFBa0I7QUFDN0QsWUFBTSw2QkFBYSxLQUFiLEVBQW9CSixNQUFwQixDQUEyQndDLFVBQTNCLENBQXNDdkMsRUFBdEMsQ0FBeUN3QyxZQUF6QyxDQUFzRCxnQ0FBdEQsQ0FBTjtBQUNELEtBRkMsQ0FBRjtBQUdBckMsSUFBQUEsRUFBRSxDQUFDLGdFQUFELEVBQW1FLGtCQUFrQjtBQUNyRixZQUFNeUMsV0FBVyxHQUFHLE1BQU14RCxRQUFRLENBQUMsbUJBQUQsQ0FBbEM7QUFDQSxZQUFNMEQsT0FBTyxHQUFHLE1BQU0sNkJBQWFGLFdBQWIsQ0FBdEI7QUFDQSxZQUFNSyxHQUFHLEdBQUcsTUFBTUgsT0FBTyxDQUFDSSxTQUFSLENBQWtCQyxtQkFBbEIsQ0FBbEI7QUFDQUMsc0JBQUVDLFFBQUYsQ0FBV0osR0FBWCxFQUFnQmxELE1BQWhCLENBQXVCQyxFQUF2QixDQUEwQnNELElBQTFCO0FBQ0QsS0FMQyxDQUFGO0FBTUQsR0E1Qk8sQ0FBUjtBQTZCRCxDQXBMTyxDQUFSIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgYmFzZTY0VG9JbWFnZSwgaW1hZ2VUb0Jhc2U2NCwgY3JvcEltYWdlLFxuICBnZXRJbWFnZXNNYXRjaGVzLCBnZXRJbWFnZXNTaW1pbGFyaXR5LCBnZXRJbWFnZU9jY3VycmVuY2UsXG4gIGdldEppbXBJbWFnZSwgTUlNRV9QTkcsXG59IGZyb20gJy4uL2xpYi9pbWFnZS11dGlsJztcbmltcG9ydCBwYXRoIGZyb20gJ3BhdGgnO1xuaW1wb3J0IF8gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IGZzIH0gZnJvbSAnLi4vbGliJztcblxuXG5jb25zdCBGSVhUVVJFU19ST09UID0gcGF0aC5yZXNvbHZlKF9fZGlybmFtZSwgJy4uJywgJy4uJywgJ3Rlc3QnLCAnaW1hZ2VzJyk7XG5cbmFzeW5jIGZ1bmN0aW9uIGdldEltYWdlIChuYW1lKSB7XG4gIGNvbnN0IGltYWdlUGF0aCA9IHBhdGgucmVzb2x2ZShGSVhUVVJFU19ST09ULCBuYW1lKTtcbiAgcmV0dXJuIGF3YWl0IGZzLnJlYWRGaWxlKGltYWdlUGF0aCwgJ3V0ZjgnKTtcbn1cblxuZGVzY3JpYmUoJ2ltYWdlLXV0aWwnLCBmdW5jdGlvbiAoKSB7XG4gIGJlZm9yZShmdW5jdGlvbiAoKSB7XG4gICAgLy8gVE9ETzogcmVtb3ZlIHdoZW4gb3BlbmN2NG5vZGVqcyBpcyBmaXhlZFxuICAgIHJldHVybiB0aGlzLnNraXAoKTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ2Nyb3BCYXNlNjRJbWFnZScsIGZ1bmN0aW9uICgpIHtcbiAgICBsZXQgb3JpZ2luYWxJbWFnZSA9IG51bGw7XG5cbiAgICBiZWZvcmUoYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgY29uc3Qgb3JpZ2luYWxJbWFnZTY0ID0gYXdhaXQgZ2V0SW1hZ2UoJ2Z1bGwtaW1hZ2UuYjY0Jyk7XG4gICAgICBvcmlnaW5hbEltYWdlID0gYXdhaXQgYmFzZTY0VG9JbWFnZShvcmlnaW5hbEltYWdlNjQpO1xuXG4gICAgICAvLyB2ZXJpZnkgb3JpZ2luYWwgaW1hZ2Ugc2l6ZSwgdG8gYmUgc3VyZSB0aGF0IG9yaWdpbmFsIGltYWdlIGlzIGNvcnJlY3RcbiAgICAgIG9yaWdpbmFsSW1hZ2Uud2lkdGguc2hvdWxkLmJlLmVxdWFsKDY0MCwgJ3VuZXhwZWN0ZWQgd2lkdGgnKTtcbiAgICAgIG9yaWdpbmFsSW1hZ2UuaGVpZ2h0LnNob3VsZC5iZS5lcXVhbCgxMTM2LCAndW5leHBlY3RlZCBoZWlnaHQnKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgdmVyaWZ5IHRoYXQgYW4gaW1hZ2UgaXMgY3JvcHBlZCBjb3JyZWN0bHknLCBhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgICBjb25zdCBjcm9wcGVkSW1hZ2UgPSBhd2FpdCBjcm9wSW1hZ2Uob3JpZ2luYWxJbWFnZSwge2xlZnQ6IDM1LCB0b3A6IDEwNywgd2lkdGg6IDMyMywgaGVpZ2h0OiA0ODV9KTtcblxuICAgICAgLy8gdmVyaWZ5IGNyb3BwZWQgaW1hZ2Ugc2l6ZSwgaXQgc2hvdWxkIGJlIGxlc3MgdGhhbiBvcmlnaW5hbCBpbWFnZSBhY2NvcmRpbmcgdG8gY3JvcCByZWdpb25cbiAgICAgIGNyb3BwZWRJbWFnZS53aWR0aC5zaG91bGQuYmUuZXF1YWwoMzIzLCAndW5leHBlY3RlZCB3aWR0aCcpO1xuICAgICAgY3JvcHBlZEltYWdlLmhlaWdodC5zaG91bGQuYmUuZXF1YWwoNDg1LCAndW5leHBlY3RlZCBoZWlnaHQnKTtcblxuICAgICAgLy8gdmVyaWZ5IHRoYXQgaW1hZ2UgY3JvcHBlZCwgY29tcGFyZSBiYXNlNjQgcmVwcmVzZW50YXRpb25cbiAgICAgIGNvbnN0IGNyb3BwZWRJbWFnZVNob3VsZEJlID0gYXdhaXQgZ2V0SW1hZ2UoJ2Nyb3BwZWQtaW1hZ2UuYjY0Jyk7XG4gICAgICBjb25zdCBjcm9wcGVkSW1hZ2U2NCA9IGF3YWl0IGltYWdlVG9CYXNlNjQoY3JvcHBlZEltYWdlKTtcbiAgICAgIGNyb3BwZWRJbWFnZTY0LnNob3VsZC5iZS5lcXVhbChjcm9wcGVkSW1hZ2VTaG91bGRCZSk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdPcGVuQ1YgaGVscGVycycsIGZ1bmN0aW9uICgpIHtcbiAgICAvLyBPcGVuQ1YgbmVlZHMgc2V2ZXJhbCBzZWNvbmRzIGZvciBpbml0aWFsaXphdGlvblxuICAgIHRoaXMudGltZW91dCgxMjAwMDApO1xuXG4gICAgbGV0IGltZ0ZpeHR1cmUgPSBudWxsO1xuICAgIGxldCBmdWxsSW1hZ2UgPSBudWxsO1xuICAgIGxldCBwYXJ0aWFsSW1hZ2UgPSBudWxsO1xuICAgIGxldCBvcmlnaW5hbEltYWdlID0gbnVsbDtcbiAgICBsZXQgY2hhbmdlZEltYWdlID0gbnVsbDtcbiAgICBsZXQgcm90YXRlZEltYWdlID0gbnVsbDtcbiAgICBsZXQgbnVtYmVySW1hZ2UgPSBudWxsO1xuXG4gICAgYmVmb3JlKGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICAgIGNvbnN0IGltYWdlUGF0aCA9IHBhdGgucmVzb2x2ZShGSVhUVVJFU19ST09ULCAnZnVsbC1pbWFnZS5iNjQnKTtcbiAgICAgIGltZ0ZpeHR1cmUgPSBCdWZmZXIuZnJvbShhd2FpdCBmcy5yZWFkRmlsZShpbWFnZVBhdGgsICdiaW5hcnknKSwgJ2Jhc2U2NCcpO1xuICAgICAgZnVsbEltYWdlID0gYXdhaXQgZnMucmVhZEZpbGUocGF0aC5yZXNvbHZlKEZJWFRVUkVTX1JPT1QsICdmaW5kd2FsZG8uanBnJykpO1xuICAgICAgcGFydGlhbEltYWdlID0gYXdhaXQgZnMucmVhZEZpbGUocGF0aC5yZXNvbHZlKEZJWFRVUkVTX1JPT1QsICd3YWxkby5qcGcnKSk7XG4gICAgICBvcmlnaW5hbEltYWdlID0gYXdhaXQgZnMucmVhZEZpbGUocGF0aC5yZXNvbHZlKEZJWFRVUkVTX1JPT1QsICdjYzEucG5nJykpO1xuICAgICAgY2hhbmdlZEltYWdlID0gYXdhaXQgZnMucmVhZEZpbGUocGF0aC5yZXNvbHZlKEZJWFRVUkVTX1JPT1QsICdjYzIucG5nJykpO1xuICAgICAgbnVtYmVySW1hZ2UgPSBhd2FpdCBmcy5yZWFkRmlsZShwYXRoLnJlc29sdmUoRklYVFVSRVNfUk9PVCwgJ251bWJlcjUucG5nJykpO1xuICAgICAgcm90YXRlZEltYWdlID0gYXdhaXQgZnMucmVhZEZpbGUocGF0aC5yZXNvbHZlKEZJWFRVUkVTX1JPT1QsICdjY19yb3RhdGVkLnBuZycpKTtcbiAgICB9KTtcblxuICAgIGRlc2NyaWJlKCdnZXRJbWFnZXNNYXRjaGVzJywgZnVuY3Rpb24gKCkge1xuICAgICAgaXQoJ3Nob3VsZCBjYWxjdWxhdGUgdGhlIG51bWJlciBvZiBtYXRjaGVzIGJldHdlZW4gdHdvIGltYWdlcycsIGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgZm9yIChjb25zdCBkZXRlY3Rvck5hbWUgb2YgWydBS0FaRScsICdPUkInXSkge1xuICAgICAgICAgIGNvbnN0IHtjb3VudCwgdG90YWxDb3VudH0gPSBhd2FpdCBnZXRJbWFnZXNNYXRjaGVzKGZ1bGxJbWFnZSwgZnVsbEltYWdlLCB7ZGV0ZWN0b3JOYW1lfSk7XG4gICAgICAgICAgY291bnQuc2hvdWxkLmJlLmFib3ZlKDApO1xuICAgICAgICAgIHRvdGFsQ291bnQuc2hvdWxkLmVxbChjb3VudCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgICBpdCgnc2hvdWxkIHZpc3VhbGl6ZSBtYXRjaGVzIGJldHdlZW4gdHdvIGltYWdlcycsIGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgY29uc3Qge3Zpc3VhbGl6YXRpb259ID0gYXdhaXQgZ2V0SW1hZ2VzTWF0Y2hlcyhmdWxsSW1hZ2UsIGZ1bGxJbWFnZSwge3Zpc3VhbGl6ZTogdHJ1ZX0pO1xuICAgICAgICB2aXN1YWxpemF0aW9uLnNob3VsZC5ub3QuYmUuZW1wdHk7XG4gICAgICB9KTtcblxuICAgICAgaXQoJ3Nob3VsZCB2aXN1YWxpemUgbWF0Y2hlcyBiZXR3ZWVuIHR3byBpbWFnZXMgYW5kIGFwcGx5IGdvb2RNYXRjaGVzRmFjdG9yJywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgICBjb25zdCB7dmlzdWFsaXphdGlvbiwgcG9pbnRzMSwgcmVjdDEsIHBvaW50czIsIHJlY3QyfSA9IGF3YWl0IGdldEltYWdlc01hdGNoZXMocm90YXRlZEltYWdlLCBvcmlnaW5hbEltYWdlLCB7XG4gICAgICAgICAgdmlzdWFsaXplOiB0cnVlLFxuICAgICAgICAgIG1hdGNoRnVuYzogJ0JydXRlRm9yY2VIYW1taW5nJyxcbiAgICAgICAgICBnb29kTWF0Y2hlc0ZhY3RvcjogNDBcbiAgICAgICAgfSk7XG4gICAgICAgIHZpc3VhbGl6YXRpb24uc2hvdWxkLm5vdC5iZS5lbXB0eTtcbiAgICAgICAgcG9pbnRzMS5sZW5ndGguc2hvdWxkLmJlLmFib3ZlKDQpO1xuICAgICAgICByZWN0MS54LnNob3VsZC5iZS5hYm92ZSgwKTtcbiAgICAgICAgcmVjdDEueS5zaG91bGQuYmUuYWJvdmUoMCk7XG4gICAgICAgIHJlY3QxLndpZHRoLnNob3VsZC5iZS5hYm92ZSgwKTtcbiAgICAgICAgcmVjdDEuaGVpZ2h0LnNob3VsZC5iZS5hYm92ZSgwKTtcbiAgICAgICAgcG9pbnRzMi5sZW5ndGguc2hvdWxkLmJlLmFib3ZlKDQpO1xuICAgICAgICByZWN0Mi54LnNob3VsZC5iZS5hYm92ZSgwKTtcbiAgICAgICAgcmVjdDIueS5zaG91bGQuYmUuYWJvdmUoMCk7XG4gICAgICAgIHJlY3QyLndpZHRoLnNob3VsZC5iZS5hYm92ZSgwKTtcbiAgICAgICAgcmVjdDIuaGVpZ2h0LnNob3VsZC5iZS5hYm92ZSgwKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgZGVzY3JpYmUoJ2dldEltYWdlc1NpbWlsYXJpdHknLCBmdW5jdGlvbiAoKSB7XG4gICAgICBpdCgnc2hvdWxkIGNhbGN1bGF0ZSB0aGUgc2ltaWxhcml0eSBzY29yZSBiZXR3ZWVuIHR3byBpbWFnZXMnLCBhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgICAgIGNvbnN0IHtzY29yZX0gPSBhd2FpdCBnZXRJbWFnZXNTaW1pbGFyaXR5KGltZ0ZpeHR1cmUsIGltZ0ZpeHR1cmUpO1xuICAgICAgICBzY29yZS5zaG91bGQuYmUuYWJvdmUoMCk7XG4gICAgICB9KTtcblxuICAgICAgaXQoJ3Nob3VsZCB2aXN1YWxpemUgdGhlIHNpbWlsYXJpdHkgYmV0d2VlbiB0d28gaW1hZ2VzJywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgICBjb25zdCB7dmlzdWFsaXphdGlvbn0gPSBhd2FpdCBnZXRJbWFnZXNTaW1pbGFyaXR5KG9yaWdpbmFsSW1hZ2UsIGNoYW5nZWRJbWFnZSwge3Zpc3VhbGl6ZTogdHJ1ZX0pO1xuICAgICAgICB2aXN1YWxpemF0aW9uLnNob3VsZC5ub3QuYmUuZW1wdHk7XG4gICAgICB9KTtcbiAgICB9KTtcblxuICAgIGRlc2NyaWJlKCdnZXRJbWFnZU9jY3VycmVuY2UnLCBmdW5jdGlvbiAoKSB7XG4gICAgICBpdCgnc2hvdWxkIGNhbGN1bGF0ZSB0aGUgcGFydGlhbCBpbWFnZSBwb3NpdGlvbiBpbiB0aGUgZnVsbCBpbWFnZScsIGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgY29uc3Qge3JlY3QsIHNjb3JlfSA9IGF3YWl0IGdldEltYWdlT2NjdXJyZW5jZShmdWxsSW1hZ2UsIHBhcnRpYWxJbWFnZSk7XG4gICAgICAgIHJlY3QueC5zaG91bGQuYmUuYWJvdmUoMCk7XG4gICAgICAgIHJlY3QueS5zaG91bGQuYmUuYWJvdmUoMCk7XG4gICAgICAgIHJlY3Qud2lkdGguc2hvdWxkLmJlLmFib3ZlKDApO1xuICAgICAgICByZWN0LmhlaWdodC5zaG91bGQuYmUuYWJvdmUoMCk7XG4gICAgICAgIHNjb3JlLnNob3VsZC5iZS5hYm92ZSgwKTtcbiAgICAgIH0pO1xuXG4gICAgICBpdCgnc2hvdWxkIHJlamVjdCBtYXRjaGVzIHRoYXQgZmFsbCBiZWxvdyBhIHRocmVzaG9sZCcsIGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgYXdhaXQgZ2V0SW1hZ2VPY2N1cnJlbmNlKGZ1bGxJbWFnZSwgcGFydGlhbEltYWdlLCB7dGhyZXNob2xkOiAxLjB9KVxuICAgICAgICAgIC5zaG91bGQuZXZlbnR1YWxseS5iZS5yZWplY3RlZFdpdGgoL3RocmVzaG9sZC8pO1xuICAgICAgfSk7XG5cbiAgICAgIGl0KCdzaG91bGQgdmlzdWFsaXplIHRoZSBwYXJ0aWFsIGltYWdlIHBvc2l0aW9uIGluIHRoZSBmdWxsIGltYWdlJywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgICBjb25zdCB7dmlzdWFsaXphdGlvbn0gPSBhd2FpdCBnZXRJbWFnZU9jY3VycmVuY2UoZnVsbEltYWdlLCBwYXJ0aWFsSW1hZ2UsIHt2aXN1YWxpemU6IHRydWV9KTtcbiAgICAgICAgdmlzdWFsaXphdGlvbi5zaG91bGQubm90LmJlLmVtcHR5O1xuICAgICAgfSk7XG5cbiAgICAgIGRlc2NyaWJlKCdtdWx0aXBsZScsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgaXQoJ3Nob3VsZCByZXR1cm4gbWF0Y2hlcyBpbiB0aGUgZnVsbCBpbWFnZScsIGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICBjb25zdCB7IG11bHRpcGxlIH0gPSBhd2FpdCBnZXRJbWFnZU9jY3VycmVuY2Uob3JpZ2luYWxJbWFnZSwgbnVtYmVySW1hZ2UsIHt0aHJlc2hvbGQ6IDAuOCwgbXVsdGlwbGU6IHRydWV9KTtcbiAgICAgICAgICBtdWx0aXBsZS5sZW5ndGguc2hvdWxkLmJlLmVxKDMpO1xuXG4gICAgICAgICAgZm9yIChjb25zdCByZXN1bHQgb2YgbXVsdGlwbGUpIHtcbiAgICAgICAgICAgIHJlc3VsdC5yZWN0Lnguc2hvdWxkLmJlLmFib3ZlKDApO1xuICAgICAgICAgICAgcmVzdWx0LnJlY3QueS5zaG91bGQuYmUuYWJvdmUoMCk7XG4gICAgICAgICAgICByZXN1bHQucmVjdC53aWR0aC5zaG91bGQuYmUuYWJvdmUoMCk7XG4gICAgICAgICAgICByZXN1bHQucmVjdC5oZWlnaHQuc2hvdWxkLmJlLmFib3ZlKDApO1xuICAgICAgICAgICAgcmVzdWx0LnNjb3JlLnNob3VsZC5iZS5hYm92ZSgwKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGl0KCdzaG91bGQgcmVqZWN0IG1hdGNoZXMgdGhhdCBmYWxsIGJlbG93IGEgdGhyZXNob2xkJywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgICAgIGF3YWl0IGdldEltYWdlT2NjdXJyZW5jZShvcmlnaW5hbEltYWdlLCBudW1iZXJJbWFnZSwge3RocmVzaG9sZDogMS4wLCBtdWx0aXBsZTogdHJ1ZX0pXG4gICAgICAgICAgICAuc2hvdWxkLmV2ZW50dWFsbHkuYmUucmVqZWN0ZWRXaXRoKC90aHJlc2hvbGQvKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgaXQoJ3Nob3VsZCB2aXN1YWxpemUgdGhlIHBhcnRpYWwgaW1hZ2UgcG9zaXRpb24gaW4gdGhlIGZ1bGwgaW1hZ2UnLCBhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgY29uc3QgeyBtdWx0aXBsZSB9ID0gYXdhaXQgZ2V0SW1hZ2VPY2N1cnJlbmNlKG9yaWdpbmFsSW1hZ2UsIG51bWJlckltYWdlLCB7dmlzdWFsaXplOiB0cnVlLCBtdWx0aXBsZTogdHJ1ZX0pO1xuXG4gICAgICAgICAgZm9yIChjb25zdCByZXN1bHQgb2YgbXVsdGlwbGUpIHtcbiAgICAgICAgICAgIHJlc3VsdC52aXN1YWxpemF0aW9uLnNob3VsZC5ub3QuYmUuZW1wdHk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgnSmltcCBoZWxwZXJzJywgZnVuY3Rpb24gKCkge1xuICAgIGl0KCdzaG91bGQgZ2V0IGEgamltcCBvYmplY3QgdXNpbmcgaW1hZ2UgYnVmZmVyJywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgY29uc3QgYmFzZTY0SW1hZ2UgPSBhd2FpdCBnZXRJbWFnZSgnY3JvcHBlZC1pbWFnZS5iNjQnKTtcbiAgICAgIGNvbnN0IGltYWdlQnVmZmVyID0gQnVmZmVyLmZyb20oYmFzZTY0SW1hZ2UsICdiYXNlNjQnKTtcbiAgICAgIGNvbnN0IGppbXBJbWcgPSBhd2FpdCBnZXRKaW1wSW1hZ2UoaW1hZ2VCdWZmZXIpO1xuICAgICAgamltcEltZy5oYXNoKCkuc2hvdWxkLmVxbCgnODAwMDAwMDAwMDAnKTtcbiAgICAgIGppbXBJbWcuYml0bWFwLmhlaWdodC5zaG91bGQuZXFsKDQ4NSk7XG4gICAgICBqaW1wSW1nLmJpdG1hcC53aWR0aC5zaG91bGQuZXFsKDMyMyk7XG4gICAgfSk7XG4gICAgaXQoJ3Nob3VsZCBnZXQgYSBqaW1wIG9iamVjdCB1c2luZyBiNjQgc3RyaW5nJywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgY29uc3QgYmFzZTY0SW1hZ2UgPSBhd2FpdCBnZXRJbWFnZSgnY3JvcHBlZC1pbWFnZS5iNjQnKTtcbiAgICAgIGNvbnN0IGppbXBJbWcgPSBhd2FpdCBnZXRKaW1wSW1hZ2UoYmFzZTY0SW1hZ2UpO1xuICAgICAgamltcEltZy5oYXNoKCkuc2hvdWxkLmVxbCgnODAwMDAwMDAwMDAnKTtcbiAgICAgIGppbXBJbWcuYml0bWFwLmhlaWdodC5zaG91bGQuZXFsKDQ4NSk7XG4gICAgICBqaW1wSW1nLmJpdG1hcC53aWR0aC5zaG91bGQuZXFsKDMyMyk7XG4gICAgfSk7XG4gICAgaXQoJ3Nob3VsZCBlcnJvciB3aXRoIGluY29ycmVjdCBkYXRhIHR5cGUnLCBhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgICBhd2FpdCBnZXRKaW1wSW1hZ2UoMTIzNCkuc2hvdWxkLmV2ZW50dWFsbHkuYmUucmVqZWN0ZWRXaXRoKC9zdHJpbmcgb3IgYnVmZmVyLyk7XG4gICAgfSk7XG4gICAgaXQoJ3Nob3VsZCBlcnJvciB3aXRoIGluY29ycmVjdCBpbWFnZSBkYXRhJywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgYXdhaXQgZ2V0SmltcEltYWdlKCdmb28nKS5zaG91bGQuZXZlbnR1YWxseS5iZS5yZWplY3RlZFdpdGgoL0NvdWxkIG5vdCBmaW5kIE1JTUUgZm9yIEJ1ZmZlci8pO1xuICAgIH0pO1xuICAgIGl0KCdzaG91bGQgZ2V0IGFuIGltYWdlIGJ1ZmZlciB2aWEgdGhlIG92ZXJyaWRkZW4gZ2V0QnVmZmVyIG1ldGhvZCcsIGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICAgIGNvbnN0IGJhc2U2NEltYWdlID0gYXdhaXQgZ2V0SW1hZ2UoJ2Nyb3BwZWQtaW1hZ2UuYjY0Jyk7XG4gICAgICBjb25zdCBqaW1wSW1nID0gYXdhaXQgZ2V0SmltcEltYWdlKGJhc2U2NEltYWdlKTtcbiAgICAgIGNvbnN0IGJ1ZiA9IGF3YWl0IGppbXBJbWcuZ2V0QnVmZmVyKE1JTUVfUE5HKTtcbiAgICAgIF8uaXNCdWZmZXIoYnVmKS5zaG91bGQuYmUudHJ1ZTtcbiAgICB9KTtcbiAgfSk7XG59KTtcbiJdLCJmaWxlIjoidGVzdC9pbWFnZS11dGlsLWUyZS1zcGVjcy5qcyIsInNvdXJjZVJvb3QiOiIuLi8uLiJ9
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
|
-
require("source-map-support/register");
|
|
6
|
-
|
|
7
|
-
var _index = _interopRequireDefault(require("../lib/index.js"));
|
|
8
|
-
|
|
9
|
-
let {
|
|
10
|
-
system,
|
|
11
|
-
tempDir,
|
|
12
|
-
util
|
|
13
|
-
} = _index.default;
|
|
14
|
-
describe('index', function () {
|
|
15
|
-
describe('default', function () {
|
|
16
|
-
it('should expose an object', function () {
|
|
17
|
-
_index.default.should.exist;
|
|
18
|
-
|
|
19
|
-
_index.default.should.be.an.instanceof(Object);
|
|
20
|
-
});
|
|
21
|
-
it('should expose system object', function () {
|
|
22
|
-
_index.default.system.should.exist;
|
|
23
|
-
|
|
24
|
-
_index.default.system.should.be.an.instanceof(Object);
|
|
25
|
-
});
|
|
26
|
-
it('should expose tempDir object', function () {
|
|
27
|
-
_index.default.tempDir.should.exist;
|
|
28
|
-
|
|
29
|
-
_index.default.tempDir.should.be.an.instanceof(Object);
|
|
30
|
-
});
|
|
31
|
-
it('should expose util object', function () {
|
|
32
|
-
_index.default.util.should.exist;
|
|
33
|
-
|
|
34
|
-
_index.default.util.should.be.an.instanceof(Object);
|
|
35
|
-
});
|
|
36
|
-
});
|
|
37
|
-
it('should expose an object as "system" ', function () {
|
|
38
|
-
system.should.be.an.instanceof(Object);
|
|
39
|
-
});
|
|
40
|
-
it('should expose an object as "tempDir" ', function () {
|
|
41
|
-
tempDir.should.be.an.instanceof(Object);
|
|
42
|
-
});
|
|
43
|
-
it('should expose an object as "util" ', function () {
|
|
44
|
-
util.should.be.an.instanceof(Object);
|
|
45
|
-
});
|
|
46
|
-
});require('source-map-support').install();
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInRlc3QvaW5kZXgtc3BlY3MuanMiXSwibmFtZXMiOlsic3lzdGVtIiwidGVtcERpciIsInV0aWwiLCJBcHBpdW1TdXBwb3J0IiwiZGVzY3JpYmUiLCJpdCIsInNob3VsZCIsImV4aXN0IiwiYmUiLCJhbiIsImluc3RhbmNlb2YiLCJPYmplY3QiXSwibWFwcGluZ3MiOiI7Ozs7OztBQUNBOztBQUVBLElBQUk7QUFBRUEsRUFBQUEsTUFBRjtBQUFVQyxFQUFBQSxPQUFWO0FBQW1CQyxFQUFBQTtBQUFuQixJQUE0QkMsY0FBaEM7QUFFQUMsUUFBUSxDQUFDLE9BQUQsRUFBVSxZQUFZO0FBQzVCQSxFQUFBQSxRQUFRLENBQUMsU0FBRCxFQUFZLFlBQVk7QUFDOUJDLElBQUFBLEVBQUUsQ0FBQyx5QkFBRCxFQUE0QixZQUFZO0FBQ3hDRixxQkFBY0csTUFBZCxDQUFxQkMsS0FBckI7O0FBQ0FKLHFCQUFjRyxNQUFkLENBQXFCRSxFQUFyQixDQUF3QkMsRUFBeEIsQ0FBMkJDLFVBQTNCLENBQXNDQyxNQUF0QztBQUNELEtBSEMsQ0FBRjtBQUlBTixJQUFBQSxFQUFFLENBQUMsNkJBQUQsRUFBZ0MsWUFBWTtBQUM1Q0YscUJBQWNILE1BQWQsQ0FBcUJNLE1BQXJCLENBQTRCQyxLQUE1Qjs7QUFDQUoscUJBQWNILE1BQWQsQ0FBcUJNLE1BQXJCLENBQTRCRSxFQUE1QixDQUErQkMsRUFBL0IsQ0FBa0NDLFVBQWxDLENBQTZDQyxNQUE3QztBQUNELEtBSEMsQ0FBRjtBQUlBTixJQUFBQSxFQUFFLENBQUMsOEJBQUQsRUFBaUMsWUFBWTtBQUM3Q0YscUJBQWNGLE9BQWQsQ0FBc0JLLE1BQXRCLENBQTZCQyxLQUE3Qjs7QUFDQUoscUJBQWNGLE9BQWQsQ0FBc0JLLE1BQXRCLENBQTZCRSxFQUE3QixDQUFnQ0MsRUFBaEMsQ0FBbUNDLFVBQW5DLENBQThDQyxNQUE5QztBQUNELEtBSEMsQ0FBRjtBQUlBTixJQUFBQSxFQUFFLENBQUMsMkJBQUQsRUFBOEIsWUFBWTtBQUMxQ0YscUJBQWNELElBQWQsQ0FBbUJJLE1BQW5CLENBQTBCQyxLQUExQjs7QUFDQUoscUJBQWNELElBQWQsQ0FBbUJJLE1BQW5CLENBQTBCRSxFQUExQixDQUE2QkMsRUFBN0IsQ0FBZ0NDLFVBQWhDLENBQTJDQyxNQUEzQztBQUNELEtBSEMsQ0FBRjtBQUlELEdBakJPLENBQVI7QUFtQkFOLEVBQUFBLEVBQUUsQ0FBQyxzQ0FBRCxFQUF5QyxZQUFZO0FBQ3JETCxJQUFBQSxNQUFNLENBQUNNLE1BQVAsQ0FBY0UsRUFBZCxDQUFpQkMsRUFBakIsQ0FBb0JDLFVBQXBCLENBQStCQyxNQUEvQjtBQUNELEdBRkMsQ0FBRjtBQUlBTixFQUFBQSxFQUFFLENBQUMsdUNBQUQsRUFBMEMsWUFBWTtBQUN0REosSUFBQUEsT0FBTyxDQUFDSyxNQUFSLENBQWVFLEVBQWYsQ0FBa0JDLEVBQWxCLENBQXFCQyxVQUFyQixDQUFnQ0MsTUFBaEM7QUFDRCxHQUZDLENBQUY7QUFJQU4sRUFBQUEsRUFBRSxDQUFDLG9DQUFELEVBQXVDLFlBQVk7QUFDbkRILElBQUFBLElBQUksQ0FBQ0ksTUFBTCxDQUFZRSxFQUFaLENBQWVDLEVBQWYsQ0FBa0JDLFVBQWxCLENBQTZCQyxNQUE3QjtBQUNELEdBRkMsQ0FBRjtBQUdELENBL0JPLENBQVIiLCJzb3VyY2VzQ29udGVudCI6WyJcbmltcG9ydCBBcHBpdW1TdXBwb3J0IGZyb20gJy4uL2xpYi9pbmRleC5qcyc7XG5cbmxldCB7IHN5c3RlbSwgdGVtcERpciwgdXRpbCB9ID0gQXBwaXVtU3VwcG9ydDtcblxuZGVzY3JpYmUoJ2luZGV4JywgZnVuY3Rpb24gKCkge1xuICBkZXNjcmliZSgnZGVmYXVsdCcsIGZ1bmN0aW9uICgpIHtcbiAgICBpdCgnc2hvdWxkIGV4cG9zZSBhbiBvYmplY3QnLCBmdW5jdGlvbiAoKSB7XG4gICAgICBBcHBpdW1TdXBwb3J0LnNob3VsZC5leGlzdDtcbiAgICAgIEFwcGl1bVN1cHBvcnQuc2hvdWxkLmJlLmFuLmluc3RhbmNlb2YoT2JqZWN0KTtcbiAgICB9KTtcbiAgICBpdCgnc2hvdWxkIGV4cG9zZSBzeXN0ZW0gb2JqZWN0JywgZnVuY3Rpb24gKCkge1xuICAgICAgQXBwaXVtU3VwcG9ydC5zeXN0ZW0uc2hvdWxkLmV4aXN0O1xuICAgICAgQXBwaXVtU3VwcG9ydC5zeXN0ZW0uc2hvdWxkLmJlLmFuLmluc3RhbmNlb2YoT2JqZWN0KTtcbiAgICB9KTtcbiAgICBpdCgnc2hvdWxkIGV4cG9zZSB0ZW1wRGlyIG9iamVjdCcsIGZ1bmN0aW9uICgpIHtcbiAgICAgIEFwcGl1bVN1cHBvcnQudGVtcERpci5zaG91bGQuZXhpc3Q7XG4gICAgICBBcHBpdW1TdXBwb3J0LnRlbXBEaXIuc2hvdWxkLmJlLmFuLmluc3RhbmNlb2YoT2JqZWN0KTtcbiAgICB9KTtcbiAgICBpdCgnc2hvdWxkIGV4cG9zZSB1dGlsIG9iamVjdCcsIGZ1bmN0aW9uICgpIHtcbiAgICAgIEFwcGl1bVN1cHBvcnQudXRpbC5zaG91bGQuZXhpc3Q7XG4gICAgICBBcHBpdW1TdXBwb3J0LnV0aWwuc2hvdWxkLmJlLmFuLmluc3RhbmNlb2YoT2JqZWN0KTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCBleHBvc2UgYW4gb2JqZWN0IGFzIFwic3lzdGVtXCIgJywgZnVuY3Rpb24gKCkge1xuICAgIHN5c3RlbS5zaG91bGQuYmUuYW4uaW5zdGFuY2VvZihPYmplY3QpO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIGV4cG9zZSBhbiBvYmplY3QgYXMgXCJ0ZW1wRGlyXCIgJywgZnVuY3Rpb24gKCkge1xuICAgIHRlbXBEaXIuc2hvdWxkLmJlLmFuLmluc3RhbmNlb2YoT2JqZWN0KTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCBleHBvc2UgYW4gb2JqZWN0IGFzIFwidXRpbFwiICcsIGZ1bmN0aW9uICgpIHtcbiAgICB1dGlsLnNob3VsZC5iZS5hbi5pbnN0YW5jZW9mKE9iamVjdCk7XG4gIH0pO1xufSk7XG4iXSwiZmlsZSI6InRlc3QvaW5kZXgtc3BlY3MuanMiLCJzb3VyY2VSb290IjoiLi4vLi4ifQ==
|
|
@@ -1,97 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
|
-
require("source-map-support/register");
|
|
6
|
-
|
|
7
|
-
var _index = require("../lib/index");
|
|
8
|
-
|
|
9
|
-
var _os = _interopRequireDefault(require("os"));
|
|
10
|
-
|
|
11
|
-
var _path = _interopRequireDefault(require("path"));
|
|
12
|
-
|
|
13
|
-
var _logInternal = require("../lib/log-internal");
|
|
14
|
-
|
|
15
|
-
const CONFIG_PATH = _path.default.resolve(_os.default.tmpdir(), 'rules.json');
|
|
16
|
-
|
|
17
|
-
describe('Log Internals', function () {
|
|
18
|
-
let preprocessor;
|
|
19
|
-
beforeEach(function () {
|
|
20
|
-
preprocessor = new _logInternal.SecureValuesPreprocessor();
|
|
21
|
-
});
|
|
22
|
-
it('should preprocess a string and make replacements', async function () {
|
|
23
|
-
const issues = await preprocessor.loadRules(['yolo']);
|
|
24
|
-
issues.length.should.eql(0);
|
|
25
|
-
preprocessor.rules.length.should.eql(1);
|
|
26
|
-
const replacer = preprocessor.rules[0].replacer;
|
|
27
|
-
preprocessor.preprocess(':yolo" yo Yolo yyolo').should.eql(`:${replacer}" yo Yolo yyolo`);
|
|
28
|
-
});
|
|
29
|
-
it('should preprocess a string and make replacements with multiple simple rules', async function () {
|
|
30
|
-
const issues = await preprocessor.loadRules(['yolo', 'yo']);
|
|
31
|
-
issues.length.should.eql(0);
|
|
32
|
-
preprocessor.rules.length.should.eql(2);
|
|
33
|
-
const replacer = preprocessor.rules[0].replacer;
|
|
34
|
-
preprocessor.preprocess(':yolo" yo Yolo yyolo').should.eql(`:${replacer}" ${replacer} Yolo yyolo`);
|
|
35
|
-
});
|
|
36
|
-
it('should preprocess a string and make replacements with multiple complex rules', async function () {
|
|
37
|
-
const replacer2 = '***';
|
|
38
|
-
const issues = await preprocessor.loadRules([{
|
|
39
|
-
text: 'yolo',
|
|
40
|
-
flags: 'i'
|
|
41
|
-
}, {
|
|
42
|
-
pattern: '^:',
|
|
43
|
-
replacer: replacer2
|
|
44
|
-
}]);
|
|
45
|
-
issues.length.should.eql(0);
|
|
46
|
-
preprocessor.rules.length.should.eql(2);
|
|
47
|
-
const replacer = preprocessor.rules[0].replacer;
|
|
48
|
-
preprocessor.preprocess(':yolo" yo Yolo yyolo').should.eql(`${replacer2}${replacer}" yo ${replacer} yyolo`);
|
|
49
|
-
});
|
|
50
|
-
it(`should preprocess a string and apply a rule where 'pattern' has priority over 'text'`, async function () {
|
|
51
|
-
const replacer = '***';
|
|
52
|
-
const issues = await preprocessor.loadRules([{
|
|
53
|
-
pattern: '^:',
|
|
54
|
-
text: 'yo',
|
|
55
|
-
replacer
|
|
56
|
-
}]);
|
|
57
|
-
issues.length.should.eql(0);
|
|
58
|
-
preprocessor.rules.length.should.eql(1);
|
|
59
|
-
preprocessor.preprocess(':yolo" yo Yolo yyolo').should.eql(`${replacer}yolo" yo Yolo yyolo`);
|
|
60
|
-
});
|
|
61
|
-
it('should preprocess a string and make replacements with multiple complex rules and issues', async function () {
|
|
62
|
-
const replacer2 = '***';
|
|
63
|
-
const issues = await preprocessor.loadRules([{
|
|
64
|
-
text: 'yolo',
|
|
65
|
-
flags: 'i'
|
|
66
|
-
}, {
|
|
67
|
-
pattern: '^:(',
|
|
68
|
-
replacer: replacer2
|
|
69
|
-
}]);
|
|
70
|
-
issues.length.should.eql(1);
|
|
71
|
-
preprocessor.rules.length.should.eql(1);
|
|
72
|
-
const replacer = preprocessor.rules[0].replacer;
|
|
73
|
-
preprocessor.preprocess(':yolo" yo Yolo yyolo').should.eql(`:${replacer}" yo ${replacer} yyolo`);
|
|
74
|
-
});
|
|
75
|
-
it('should leave the string unchanged if all rules have issues', async function () {
|
|
76
|
-
const replacer2 = '***';
|
|
77
|
-
const issues = await preprocessor.loadRules([null, {
|
|
78
|
-
flags: 'i'
|
|
79
|
-
}, {
|
|
80
|
-
pattern: '^:(',
|
|
81
|
-
replacer: replacer2
|
|
82
|
-
}]);
|
|
83
|
-
issues.length.should.eql(3);
|
|
84
|
-
preprocessor.rules.length.should.eql(0);
|
|
85
|
-
preprocessor.preprocess(':yolo" yo Yolo yyolo').should.eql(':yolo" yo Yolo yyolo');
|
|
86
|
-
});
|
|
87
|
-
it('should fail if rules cannot be accessed', async function () {
|
|
88
|
-
await preprocessor.loadRules('bla').should.eventually.be.rejected;
|
|
89
|
-
});
|
|
90
|
-
it('should fail if rules JSON cannot be parsed', async function () {
|
|
91
|
-
await _index.fs.writeFile(CONFIG_PATH, 'blabla', 'utf8');
|
|
92
|
-
await preprocessor.loadRules(CONFIG_PATH).should.eventually.be.rejected;
|
|
93
|
-
});
|
|
94
|
-
});require('source-map-support').install();
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInRlc3QvbG9nLWludGVybmFscy1zcGVjcy5qcyJdLCJuYW1lcyI6WyJDT05GSUdfUEFUSCIsInBhdGgiLCJyZXNvbHZlIiwib3MiLCJ0bXBkaXIiLCJkZXNjcmliZSIsInByZXByb2Nlc3NvciIsImJlZm9yZUVhY2giLCJTZWN1cmVWYWx1ZXNQcmVwcm9jZXNzb3IiLCJpdCIsImlzc3VlcyIsImxvYWRSdWxlcyIsImxlbmd0aCIsInNob3VsZCIsImVxbCIsInJ1bGVzIiwicmVwbGFjZXIiLCJwcmVwcm9jZXNzIiwicmVwbGFjZXIyIiwidGV4dCIsImZsYWdzIiwicGF0dGVybiIsImV2ZW50dWFsbHkiLCJiZSIsInJlamVjdGVkIiwiZnMiLCJ3cml0ZUZpbGUiXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBOztBQUNBOztBQUNBOztBQUNBOztBQUdBLE1BQU1BLFdBQVcsR0FBR0MsY0FBS0MsT0FBTCxDQUFhQyxZQUFHQyxNQUFILEVBQWIsRUFBMEIsWUFBMUIsQ0FBcEI7O0FBS0FDLFFBQVEsQ0FBQyxlQUFELEVBQWtCLFlBQVk7QUFDcEMsTUFBSUMsWUFBSjtBQUVBQyxFQUFBQSxVQUFVLENBQUMsWUFBWTtBQUNyQkQsSUFBQUEsWUFBWSxHQUFHLElBQUlFLHFDQUFKLEVBQWY7QUFDRCxHQUZTLENBQVY7QUFJQUMsRUFBQUEsRUFBRSxDQUFDLGtEQUFELEVBQXFELGtCQUFrQjtBQUN2RSxVQUFNQyxNQUFNLEdBQUcsTUFBTUosWUFBWSxDQUFDSyxTQUFiLENBQXVCLENBQzFDLE1BRDBDLENBQXZCLENBQXJCO0FBR0FELElBQUFBLE1BQU0sQ0FBQ0UsTUFBUCxDQUFjQyxNQUFkLENBQXFCQyxHQUFyQixDQUF5QixDQUF6QjtBQUNBUixJQUFBQSxZQUFZLENBQUNTLEtBQWIsQ0FBbUJILE1BQW5CLENBQTBCQyxNQUExQixDQUFpQ0MsR0FBakMsQ0FBcUMsQ0FBckM7QUFDQSxVQUFNRSxRQUFRLEdBQUdWLFlBQVksQ0FBQ1MsS0FBYixDQUFtQixDQUFuQixFQUFz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QyxDQUFGO0FBWUFMLEVBQUFBLEVBQUUsQ0FBQyx5Q0FBRCxFQUE0QyxrQkFBa0I7QUFDOUQsVUFBTUgsWUFBWSxDQUFDSyxTQUFiLENBQXVCLEtBQXZCLEVBQThCRSxNQUE5QixDQUFxQ1MsVUFBckMsQ0FBZ0RDLEVBQWhELENBQW1EQyxRQUF6RDtBQUNELEdBRkMsQ0FBRjtBQUlBZixFQUFBQSxFQUFFLENBQUMsNENBQUQsRUFBK0Msa0JBQWtCO0FBQ2pFLFVBQU1nQixVQUFHQyxTQUFILENBQWExQixXQUFiLEVBQTBCLFFBQTFCLEVBQW9DLE1BQXBDLENBQU47QUFDQSxVQUFNTSxZQUFZLENBQUNLLFNBQWIsQ0FBdUJYLFdBQXZCLEVBQW9DYSxNQUFwQyxDQUEyQ1MsVUFBM0MsQ0FBc0RDLEVBQXRELENBQXlEQyxRQUEvRDtBQUNELEdBSEMsQ0FBRjtBQUlELENBbEZPLENBQVIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBmcyB9IGZyb20gJy4uL2xpYi9pbmRleCc7XG5pbXBvcnQgb3MgZnJvbSAnb3MnO1xuaW1wb3J0IHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQgeyBTZWN1cmVWYWx1ZXNQcmVwcm9jZXNzb3IgfSBmcm9tICcuLi9saWIvbG9nLWludGVybmFsJztcblxuXG5jb25zdCBDT05GSUdfUEFUSCA9IHBhdGgucmVzb2x2ZShvcy50bXBkaXIoKSwgJ3J1bGVzLmpzb24nKTtcblxuXG5cblxuZGVzY3JpYmUoJ0xvZyBJbnRlcm5hbHMnLCBmdW5jdGlvbiAoKSB7XG4gIGxldCBwcmVwcm9jZXNzb3I7XG5cbiAgYmVmb3JlRWFjaChmdW5jdGlvbiAoKSB7XG4gICAgcHJlcHJvY2Vzc29yID0gbmV3IFNlY3VyZVZhbHVlc1ByZXByb2Nlc3NvcigpO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIHByZXByb2Nlc3MgYSBzdHJpbmcgYW5kIG1ha2UgcmVwbGFjZW1lbnRzJywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgIGNvbnN0IGlzc3VlcyA9IGF3YWl0IHByZXByb2Nlc3Nvci5sb2FkUnVsZXMoW1xuICAgICAgJ3lvbG8nLFxuICAgIF0pO1xuICAgIGlzc3Vlcy5sZW5ndGguc2hvdWxkLmVxbCgwKTtcbiAgICBwcmVwcm9jZXNzb3IucnVsZXMubGVuZ3RoLnNob3VsZC5lcWwoMSk7XG4gICAgY29uc3QgcmVwbGFjZXIgPSBwcmVwcm9jZXNzb3IucnVsZXNbMF0ucmVwbGFjZXI7XG4gICAgcHJlcHJvY2Vzc29yLnByZXByb2Nlc3MoJzp5b2xvXCIgeW8gWW9sbyB5eW9sbycpLnNob3VsZC5lcWwoYDoke3JlcGxhY2VyfVwiIHlvIFlvbG8geXlvbG9gKTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCBwcmVwcm9jZXNzIGEgc3RyaW5nIGFuZCBtYWtlIHJlcGxhY2VtZW50cyB3aXRoIG11bHRpcGxlIHNpbXBsZSBydWxlcycsIGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICBjb25zdCBpc3N1ZXMgPSBhd2FpdCBwcmVwcm9jZXNzb3IubG9hZFJ1bGVzKFtcbiAgICAgICd5b2xvJyxcbiAgICAgICd5bycsXG4gICAgXSk7XG4gICAgaXNzdWVzLmxlbmd0aC5zaG91bGQuZXFsKDApO1xuICAgIHByZXByb2Nlc3Nvci5ydWxlcy5sZW5ndGguc2hvdWxkLmVxbCgyKTtcbiAgICBjb25zdCByZXBsYWNlciA9IHByZXByb2Nlc3Nvci5ydWxlc1swXS5yZXBsYWNlcjtcbiAgICBwcmVwcm9jZXNzb3IucHJlcHJvY2VzcygnOnlvbG9cIiB5byBZb2xvIHl5b2xvJykuc2hvdWxkLmVxbChgOiR7cmVwbGFjZXJ9XCIgJHtyZXBsYWNlcn0gWW9sbyB5eW9sb2ApO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIHByZXByb2Nlc3MgYSBzdHJpbmcgYW5kIG1ha2UgcmVwbGFjZW1lbnRzIHdpdGggbXVsdGlwbGUgY29tcGxleCBydWxlcycsIGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICBjb25zdCByZXBsYWNlcjIgPSAnKioqJztcbiAgICBjb25zdCBpc3N1ZXMgPSBhd2FpdCBwcmVwcm9jZXNzb3IubG9hZFJ1bGVzKFtcbiAgICAgIHsgdGV4dDogJ3lvbG8nLCBmbGFnczogJ2knIH0sXG4gICAgICB7IHBhdHRlcm46ICdeOicsIHJlcGxhY2VyOiByZXBsYWNlcjIgfSxcbiAgICBdKTtcbiAgICBpc3N1ZXMubGVuZ3RoLnNob3VsZC5lcWwoMCk7XG4gICAgcHJlcHJvY2Vzc29yLnJ1bGVzLmxlbmd0aC5zaG91bGQuZXFsKDIpO1xuICAgIGNvbnN0IHJlcGxhY2VyID0gcHJlcHJvY2Vzc29yLnJ1bGVzWzBdLnJlcGxhY2VyO1xuICAgIHByZXByb2Nlc3Nvci5wcmVwcm9jZXNzKCc6eW9sb1wiIHlvIFlvbG8geXlvbG8nKS5zaG91bGQuZXFsKGAke3JlcGxhY2VyMn0ke3JlcGxhY2VyfVwiIHlvICR7cmVwbGFjZXJ9IHl5b2xvYCk7XG4gIH0pO1xuXG4gIGl0KGBzaG91bGQgcHJlcHJvY2VzcyBhIHN0cmluZyBhbmQgYXBwbHkgYSBydWxlIHdoZXJlICdwYXR0ZXJuJyBoYXMgcHJpb3JpdHkgb3ZlciAndGV4dCdgLCBhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgY29uc3QgcmVwbGFjZXIgPSAnKioqJztcbiAgICBjb25zdCBpc3N1ZXMgPSBhd2FpdCBwcmVwcm9jZXNzb3IubG9hZFJ1bGVzKFtcbiAgICAgIHsgcGF0dGVybjogJ146JywgdGV4dDogJ3lvJywgcmVwbGFjZXIgfSxcbiAgICBdKTtcbiAgICBpc3N1ZXMubGVuZ3RoLnNob3VsZC5lcWwoMCk7XG4gICAgcHJlcHJvY2Vzc29yLnJ1bGVzLmxlbmd0aC5zaG91bGQuZXFsKDEpO1xuICAgIHByZXByb2Nlc3Nvci5wcmVwcm9jZXNzKCc6eW9sb1wiIHlvIFlvbG8geXlvbG8nKS5zaG91bGQuZXFsKGAke3JlcGxhY2VyfXlvbG9cIiB5byBZb2xvIHl5b2xvYCk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgcHJlcHJvY2VzcyBhIHN0cmluZyBhbmQgbWFrZSByZXBsYWNlbWVudHMgd2l0aCBtdWx0aXBsZSBjb21wbGV4IHJ1bGVzIGFuZCBpc3N1ZXMnLCBhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgY29uc3QgcmVwbGFjZXIyID0gJyoqKic7XG4gICAgY29uc3QgaXNzdWVzID0gYXdhaXQgcHJlcHJvY2Vzc29yLmxvYWRSdWxlcyhbXG4gICAgICB7IHRleHQ6ICd5b2xvJywgZmxhZ3M6ICdpJyB9LFxuICAgICAgeyBwYXR0ZXJuOiAnXjooJywgcmVwbGFjZXI6IHJlcGxhY2VyMiB9LFxuICAgIF0pO1xuICAgIGlzc3Vlcy5sZW5ndGguc2hvdWxkLmVxbCgxKTtcbiAgICBwcmVwcm9jZXNzb3IucnVsZXMubGVuZ3RoLnNob3VsZC5lcWwoMSk7XG4gICAgY29uc3QgcmVwbGFjZXIgPSBwcmVwcm9jZXNzb3IucnVsZXNbMF0ucmVwbGFjZXI7XG4gICAgcHJlcHJvY2Vzc29yLnByZXByb2Nlc3MoJzp5b2xvXCIgeW8gWW9sbyB5eW9sbycpLnNob3VsZC5lcWwoYDoke3JlcGxhY2VyfVwiIHlvICR7cmVwbGFjZXJ9IHl5b2xvYCk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgbGVhdmUgdGhlIHN0cmluZyB1bmNoYW5nZWQgaWYgYWxsIHJ1bGVzIGhhdmUgaXNzdWVzJywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgIGNvbnN0IHJlcGxhY2VyMiA9ICcqKionO1xuICAgIGNvbnN0IGlzc3VlcyA9IGF3YWl0IHByZXByb2Nlc3Nvci5sb2FkUnVsZXMoW1xuICAgICAgbnVsbCxcbiAgICAgIHsgZmxhZ3M6ICdpJyB9LFxuICAgICAgeyBwYXR0ZXJuOiAnXjooJywgcmVwbGFjZXI6IHJlcGxhY2VyMiB9LFxuICAgIF0pO1xuICAgIGlzc3Vlcy5sZW5ndGguc2hvdWxkLmVxbCgzKTtcbiAgICBwcmVwcm9jZXNzb3IucnVsZXMubGVuZ3RoLnNob3VsZC5lcWwoMCk7XG4gICAgcHJlcHJvY2Vzc29yLnByZXByb2Nlc3MoJzp5b2xvXCIgeW8gWW9sbyB5eW9sbycpLnNob3VsZC5lcWwoJzp5b2xvXCIgeW8gWW9sbyB5eW9sbycpO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIGZhaWwgaWYgcnVsZXMgY2Fubm90IGJlIGFjY2Vzc2VkJywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgIGF3YWl0IHByZXByb2Nlc3Nvci5sb2FkUnVsZXMoJ2JsYScpLnNob3VsZC5ldmVudHVhbGx5LmJlLnJlamVjdGVkO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIGZhaWwgaWYgcnVsZXMgSlNPTiBjYW5ub3QgYmUgcGFyc2VkJywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgIGF3YWl0IGZzLndyaXRlRmlsZShDT05GSUdfUEFUSCwgJ2JsYWJsYScsICd1dGY4Jyk7XG4gICAgYXdhaXQgcHJlcHJvY2Vzc29yLmxvYWRSdWxlcyhDT05GSUdfUEFUSCkuc2hvdWxkLmV2ZW50dWFsbHkuYmUucmVqZWN0ZWQ7XG4gIH0pO1xufSk7XG4iXSwiZmlsZSI6InRlc3QvbG9nLWludGVybmFscy1zcGVjcy5qcyIsInNvdXJjZVJvb3QiOiIuLi8uLiJ9
|
|
@@ -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=
|