Skip to content

Commit

Permalink
buffer: add @@toStringTag to Blob
Browse files Browse the repository at this point in the history
This commit adds the toStringTag to the Blob class to match
the behavior of Chrome and Firefox.
  • Loading branch information
cjihrig committed Feb 12, 2021
1 parent f2c2615 commit 05a2a62
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 0 deletions.
7 changes: 7 additions & 0 deletions lib/internal/blob.js
Expand Up @@ -2,12 +2,14 @@

const {
ArrayFrom,
ObjectDefineProperty,
ObjectSetPrototypeOf,
PromiseResolve,
RegExpPrototypeTest,
StringPrototypeToLowerCase,
Symbol,
SymbolIterator,
SymbolToStringTag,
Uint8Array,
} = primordials;

Expand Down Expand Up @@ -217,6 +219,11 @@ class Blob extends JSTransferable {
}
}

ObjectDefineProperty(Blob.prototype, SymbolToStringTag, {
configurable: true,
value: 'Blob',
});

InternalBlob.prototype.constructor = Blob;
ObjectSetPrototypeOf(
InternalBlob.prototype,
Expand Down
11 changes: 11 additions & 0 deletions test/parallel/test-blob.js
Expand Up @@ -184,3 +184,14 @@ assert.throws(() => new Blob(['test', 1]), {
const b = new Blob(['hello'], { type: '\x01' });
assert.strictEqual(b.type, '');
}

{
const descriptor =
Object.getOwnPropertyDescriptor(Blob.prototype, Symbol.toStringTag);
assert.deepStrictEqual(descriptor, {
configurable: true,
enumerable: false,
value: 'Blob',
writable: false
});
}

0 comments on commit 05a2a62

Please sign in to comment.