Linux iad1-shared-b7-18 6.6.49-grsec-jammy+ #10 SMP Thu Sep 12 23:23:08 UTC 2024 x86_64
Apache
: 67.205.6.31 | : 216.73.216.13
Cant Read [ /etc/named.conf ]
8.2.29
fernandoquevedo
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
UNLOCK SHELL
HASH IDENTIFIER
README
+ Create Folder
+ Create File
/
usr /
share /
nodejs /
@nodelib /
fs.walk /
out /
readers /
[ HOME SHELL ]
Name
Size
Permission
Action
async.d.ts
1.12
KB
-rw-r--r--
async.d.ts.map
1.07
KB
-rw-r--r--
async.js
3.13
KB
-rw-r--r--
async.spec.d.ts
52
B
-rw-r--r--
async.spec.d.ts.map
125
B
-rw-r--r--
async.spec.js
7.86
KB
-rw-r--r--
common.d.ts
499
B
-rw-r--r--
common.d.ts.map
559
B
-rw-r--r--
common.js
1.06
KB
-rw-r--r--
common.spec.d.ts
53
B
-rw-r--r--
common.spec.d.ts.map
127
B
-rw-r--r--
common.spec.js
4.07
KB
-rw-r--r--
reader.d.ts
245
B
-rw-r--r--
reader.d.ts.map
306
B
-rw-r--r--
reader.js
369
B
-rw-r--r--
reader.spec.d.ts
53
B
-rw-r--r--
reader.spec.d.ts.map
127
B
-rw-r--r--
reader.spec.js
912
B
-rw-r--r--
sync.d.ts
521
B
-rw-r--r--
sync.d.ts.map
560
B
-rw-r--r--
sync.js
1.9
KB
-rw-r--r--
sync.spec.d.ts
51
B
-rw-r--r--
sync.spec.d.ts.map
123
B
-rw-r--r--
sync.spec.js
4.69
KB
-rw-r--r--
Delete
Unzip
Zip
${this.title}
Close
Code Editor : async.spec.js
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const assert = require("assert"); const path = require("path"); const sinon = require("sinon"); const settings_1 = require("../settings"); const tests = require("../tests"); const async_1 = require("./async"); class TestReader extends async_1.default { constructor(_root, _settings = new settings_1.default()) { super(_root, _settings); this._scandir = sinon.stub(); } get scandir() { return this._scandir; } } describe('Readers → Async', () => { describe('.read', () => { it('should emit "error" event when the first call of scandir is broken', (done) => { const reader = new TestReader('non-exist-directory'); reader.scandir.yields(tests.EPERM_ERRNO); reader.onError((error) => { assert.ok(error); done(); }); reader.read(); }); it('should emit "end" event when the first call of scandir is broken but this error can be suppressed', (done) => { const settings = new settings_1.default({ errorFilter: (error) => error.code === 'EPERM' }); const reader = new TestReader('non-exist-directory', settings); reader.scandir.yields(tests.EPERM_ERRNO); reader.onEnd(() => { done(); }); reader.read(); }); it('should do not emit events after first broken scandir call', (done) => { const reader = new TestReader('directory'); const firstFakeDirectoryEntry = tests.buildFakeDirectoryEntry({ name: 'a', path: 'directory/a' }); const secondFakeDirectoryEntry = tests.buildFakeDirectoryEntry({ name: 'b', path: 'directory/b' }); reader.scandir.onFirstCall().yields(null, [firstFakeDirectoryEntry, secondFakeDirectoryEntry]); reader.scandir.onSecondCall().yieldsAsync(tests.EPERM_ERRNO); reader.scandir.onThirdCall().yieldsAsync(tests.EPERM_ERRNO); /** * If the behavior is broken, then a third scandir call will trigger an unhandled error. */ reader.onError((error) => { assert.ok(error); done(); }); reader.read(); }); it('should return entries', (done) => { const reader = new TestReader('directory'); const fakeDirectoryEntry = tests.buildFakeDirectoryEntry(); const fakeFileEntry = tests.buildFakeFileEntry(); reader.scandir.onFirstCall().yields(null, [fakeDirectoryEntry]); reader.scandir.onSecondCall().yields(null, [fakeFileEntry]); const entries = []; reader.onEntry((entry) => entries.push(entry)); reader.onEnd(() => { assert.deepStrictEqual(entries, [fakeDirectoryEntry, fakeFileEntry]); done(); }); reader.read(); }); it('should push to results only directories', (done) => { const settings = new settings_1.default({ entryFilter: (entry) => !entry.dirent.isFile() }); const reader = new TestReader('directory', settings); const fakeDirectoryEntry = tests.buildFakeDirectoryEntry(); const fakeFileEntry = tests.buildFakeFileEntry(); reader.scandir.onFirstCall().yields(null, [fakeDirectoryEntry]); reader.scandir.onSecondCall().yields(null, [fakeFileEntry]); const entries = []; reader.onEntry((entry) => entries.push(entry)); reader.onEnd(() => { assert.deepStrictEqual(entries, [fakeDirectoryEntry]); done(); }); reader.read(); }); it('should do not read root directory', (done) => { const settings = new settings_1.default({ deepFilter: () => false }); const reader = new TestReader('directory', settings); const fakeDirectoryEntry = tests.buildFakeDirectoryEntry(); const fakeFileEntry = tests.buildFakeFileEntry(); reader.scandir.onFirstCall().yields(null, [fakeDirectoryEntry]); reader.scandir.onSecondCall().yields(null, [fakeFileEntry]); const entries = []; reader.onEntry((entry) => entries.push(entry)); reader.onEnd(() => { assert.deepStrictEqual(entries, [fakeDirectoryEntry]); done(); }); reader.read(); }); it('should set base path to entry when the `basePath` option is exist', (done) => { const settings = new settings_1.default({ basePath: 'base' }); const reader = new TestReader('directory', settings); const fakeDirectoryEntry = tests.buildFakeDirectoryEntry(); const fakeFileEntry = tests.buildFakeFileEntry(); reader.scandir.onFirstCall().yields(null, [fakeDirectoryEntry]); reader.scandir.onSecondCall().yields(null, [fakeFileEntry]); const entries = []; reader.onEntry((entry) => entries.push(entry)); reader.onEnd(() => { assert.strictEqual(entries[0].path, path.join('base', fakeDirectoryEntry.name)); assert.strictEqual(entries[1].path, path.join('base', 'fake', fakeFileEntry.name)); done(); }); reader.read(); }); it('should set base path to entry when the `basePath` option is exist and value is an empty string', (done) => { const settings = new settings_1.default({ basePath: '' }); const reader = new TestReader('directory', settings); const fakeDirectoryEntry = tests.buildFakeDirectoryEntry(); const fakeFileEntry = tests.buildFakeFileEntry(); reader.scandir.onFirstCall().yields(null, [fakeDirectoryEntry]); reader.scandir.onSecondCall().yields(null, [fakeFileEntry]); const entries = []; reader.onEntry((entry) => entries.push(entry)); reader.onEnd(() => { assert.strictEqual(entries[0].path, path.join(fakeDirectoryEntry.name)); assert.strictEqual(entries[1].path, path.join('fake', fakeFileEntry.name)); done(); }); reader.read(); }); }); describe('.destroy', () => { it('should do not emit entries after destroy', (done) => { const reader = new TestReader('directory'); const firstFakeDirectoryEntry = tests.buildFakeDirectoryEntry({ name: 'a', path: 'directory/a' }); const fakeFileEntry = tests.buildFakeFileEntry(); reader.scandir.onFirstCall().yields(null, [firstFakeDirectoryEntry]); reader.scandir.onSecondCall().yields(null, [fakeFileEntry]); reader.onEntry((entry) => { if (entry.name === 'a') { reader.destroy(); } else { assert.fail('should do not emit entries after destroy'); } }); reader.onEnd(() => { done(); }); reader.read(); }); it('should mark stream as "destroyed" after first destroy', () => { const reader = new TestReader('directory'); reader.destroy(); assert.ok(reader.isDestroyed); }); it('should throw an error when trying to destroy reader twice', () => { const reader = new TestReader('directory'); const expectedErrorMessageRe = /The reader is already destroyed/; reader.destroy(); assert.throws(() => reader.destroy(), expectedErrorMessageRe); }); }); });
Close