diff --git a/src/harness/vfsUtil.ts b/src/harness/vfsUtil.ts index 4799927a70a14..596575beece2c 100644 --- a/src/harness/vfsUtil.ts +++ b/src/harness/vfsUtil.ts @@ -637,7 +637,7 @@ export class FileSystem { * * NOTE: do not rename this method as it is intended to align with the same named export of the "fs" module. */ - public readFileSync(path: string, encoding?: null): Buffer; // eslint-disable-line no-restricted-syntax + public readFileSync(path: string, encoding?: null): Buffer; // eslint-disable-line no-restricted-syntax /** * Read from a file. * @@ -649,7 +649,7 @@ export class FileSystem { * * NOTE: do not rename this method as it is intended to align with the same named export of the "fs" module. */ - public readFileSync(path: string, encoding?: BufferEncoding | null): string | Buffer; // eslint-disable-line no-restricted-syntax + public readFileSync(path: string, encoding?: BufferEncoding | null): string | Buffer; // eslint-disable-line no-restricted-syntax public readFileSync(path: string, encoding: BufferEncoding | null = null) { // eslint-disable-line no-restricted-syntax const { node } = this._walk(this._resolve(path)); if (!node) throw createIOError("ENOENT"); diff --git a/src/lib/es2015.symbol.wellknown.d.ts b/src/lib/es2015.symbol.wellknown.d.ts index ed5d1ddbb388f..1ab84be969fca 100644 --- a/src/lib/es2015.symbol.wellknown.d.ts +++ b/src/lib/es2015.symbol.wellknown.d.ts @@ -251,7 +251,7 @@ interface String { } interface ArrayBuffer { - readonly [Symbol.toStringTag]: string; + readonly [Symbol.toStringTag]: "ArrayBuffer"; } interface DataView { diff --git a/tests/baselines/reference/assignSharedArrayBufferToArrayBuffer.errors.txt b/tests/baselines/reference/assignSharedArrayBufferToArrayBuffer.errors.txt new file mode 100644 index 0000000000000..cc22119ec5064 --- /dev/null +++ b/tests/baselines/reference/assignSharedArrayBufferToArrayBuffer.errors.txt @@ -0,0 +1,11 @@ +assignSharedArrayBufferToArrayBuffer.ts(1,5): error TS2322: Type 'SharedArrayBuffer' is not assignable to type 'ArrayBuffer'. + Types of property '[Symbol.toStringTag]' are incompatible. + Type '"SharedArrayBuffer"' is not assignable to type '"ArrayBuffer"'. + + +==== assignSharedArrayBufferToArrayBuffer.ts (1 errors) ==== + var foo: ArrayBuffer = new SharedArrayBuffer(1024); // should error + ~~~ +!!! error TS2322: Type 'SharedArrayBuffer' is not assignable to type 'ArrayBuffer'. +!!! error TS2322: Types of property '[Symbol.toStringTag]' are incompatible. +!!! error TS2322: Type '"SharedArrayBuffer"' is not assignable to type '"ArrayBuffer"'. \ No newline at end of file diff --git a/tests/baselines/reference/assignSharedArrayBufferToArrayBuffer.js b/tests/baselines/reference/assignSharedArrayBufferToArrayBuffer.js new file mode 100644 index 0000000000000..f7642aae6275d --- /dev/null +++ b/tests/baselines/reference/assignSharedArrayBufferToArrayBuffer.js @@ -0,0 +1,7 @@ +//// [tests/cases/conformance/es2017/assignSharedArrayBufferToArrayBuffer.ts] //// + +//// [assignSharedArrayBufferToArrayBuffer.ts] +var foo: ArrayBuffer = new SharedArrayBuffer(1024); // should error + +//// [assignSharedArrayBufferToArrayBuffer.js] +var foo = new SharedArrayBuffer(1024); // should error diff --git a/tests/baselines/reference/assignSharedArrayBufferToArrayBuffer.symbols b/tests/baselines/reference/assignSharedArrayBufferToArrayBuffer.symbols new file mode 100644 index 0000000000000..43cfb5a1787b0 --- /dev/null +++ b/tests/baselines/reference/assignSharedArrayBufferToArrayBuffer.symbols @@ -0,0 +1,8 @@ +//// [tests/cases/conformance/es2017/assignSharedArrayBufferToArrayBuffer.ts] //// + +=== assignSharedArrayBufferToArrayBuffer.ts === +var foo: ArrayBuffer = new SharedArrayBuffer(1024); // should error +>foo : Symbol(foo, Decl(assignSharedArrayBufferToArrayBuffer.ts, 0, 3)) +>ArrayBuffer : Symbol(ArrayBuffer, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>SharedArrayBuffer : Symbol(SharedArrayBuffer, Decl(lib.es2017.sharedmemory.d.ts, --, --), Decl(lib.es2017.sharedmemory.d.ts, --, --)) + diff --git a/tests/baselines/reference/assignSharedArrayBufferToArrayBuffer.types b/tests/baselines/reference/assignSharedArrayBufferToArrayBuffer.types new file mode 100644 index 0000000000000..1f6b881dfb452 --- /dev/null +++ b/tests/baselines/reference/assignSharedArrayBufferToArrayBuffer.types @@ -0,0 +1,13 @@ +//// [tests/cases/conformance/es2017/assignSharedArrayBufferToArrayBuffer.ts] //// + +=== assignSharedArrayBufferToArrayBuffer.ts === +var foo: ArrayBuffer = new SharedArrayBuffer(1024); // should error +>foo : ArrayBuffer +> : ^^^^^^^^^^^ +>new SharedArrayBuffer(1024) : SharedArrayBuffer +> : ^^^^^^^^^^^^^^^^^ +>SharedArrayBuffer : SharedArrayBufferConstructor +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>1024 : 1024 +> : ^^^^ + diff --git a/tests/cases/conformance/es2017/assignSharedArrayBufferToArrayBuffer.ts b/tests/cases/conformance/es2017/assignSharedArrayBufferToArrayBuffer.ts new file mode 100644 index 0000000000000..f0a38d9ee04f4 --- /dev/null +++ b/tests/cases/conformance/es2017/assignSharedArrayBufferToArrayBuffer.ts @@ -0,0 +1,4 @@ +// @target: es5 +// @lib: es2015,es2017.sharedmemory + +var foo: ArrayBuffer = new SharedArrayBuffer(1024); // should error \ No newline at end of file