mirror of
https://github.com/zebrajr/node.git
synced 2026-01-15 12:15:26 +00:00
test: improve test coverage of internal/blob
PR-URL: https://github.com/nodejs/node/pull/41513 Refs: https://coverage.nodejs.org/coverage-74b9baa4265a8f0d/lib/internal/blob.js.html Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Daijiro Wachi <daijiro.wachi@gmail.com>
This commit is contained in:
24
test/parallel/test-blob-buffer-too-large.js
Normal file
24
test/parallel/test-blob-buffer-too-large.js
Normal file
@@ -0,0 +1,24 @@
|
||||
// Flags: --no-warnings
|
||||
'use strict';
|
||||
|
||||
const common = require('../common');
|
||||
const assert = require('assert');
|
||||
const { Blob } = require('buffer');
|
||||
|
||||
if (common.isFreeBSD)
|
||||
common.skip('Oversized buffer make the FreeBSD CI runner crash');
|
||||
|
||||
try {
|
||||
new Blob([new Uint8Array(0xffffffff), [1]]);
|
||||
} catch (e) {
|
||||
if (
|
||||
e.message === 'Array buffer allocation failed' ||
|
||||
e.message === 'Invalid typed array length: 4294967295'
|
||||
) {
|
||||
common.skip(
|
||||
'Insufficient memory on this platform for oversized buffer test.'
|
||||
);
|
||||
} else {
|
||||
assert.strictEqual(e.code, 'ERR_BUFFER_TOO_LARGE');
|
||||
}
|
||||
}
|
||||
@@ -198,6 +198,8 @@ assert.throws(() => new Blob({}), {
|
||||
const b = new Blob();
|
||||
assert.strictEqual(inspect(b, { depth: null }),
|
||||
'Blob { size: 0, type: \'\' }');
|
||||
assert.strictEqual(inspect(b, { depth: 1 }),
|
||||
'Blob { size: 0, type: \'\' }');
|
||||
assert.strictEqual(inspect(b, { depth: -1 }), '[Blob]');
|
||||
}
|
||||
|
||||
@@ -230,6 +232,30 @@ assert.throws(() => new Blob({}), {
|
||||
});
|
||||
}
|
||||
|
||||
{
|
||||
assert.throws(() => Reflect.get(Blob.prototype, 'type', {}), {
|
||||
code: 'ERR_INVALID_THIS',
|
||||
});
|
||||
assert.throws(() => Reflect.get(Blob.prototype, 'size', {}), {
|
||||
code: 'ERR_INVALID_THIS',
|
||||
});
|
||||
assert.throws(() => Blob.prototype.slice(Blob.prototype, 0, 1), {
|
||||
code: 'ERR_INVALID_THIS',
|
||||
});
|
||||
assert.throws(() => Blob.prototype.stream.call(), {
|
||||
code: 'ERR_INVALID_THIS',
|
||||
});
|
||||
}
|
||||
|
||||
(async () => {
|
||||
assert.rejects(async () => Blob.prototype.arrayBuffer.call(), {
|
||||
code: 'ERR_INVALID_THIS',
|
||||
});
|
||||
assert.rejects(async () => Blob.prototype.text.call(), {
|
||||
code: 'ERR_INVALID_THIS',
|
||||
});
|
||||
})().then(common.mustCall());
|
||||
|
||||
(async () => {
|
||||
const blob = new Blob([
|
||||
new Uint8Array([0x50, 0x41, 0x53, 0x53]),
|
||||
|
||||
Reference in New Issue
Block a user