Merge pull request #13661 from Microsoft/fix13646

More exhaustive needsDotDotForPropertyAccess for integer literals
This commit is contained in:
Ron Buckton
2017-01-26 12:40:21 -08:00
committed by GitHub
10 changed files with 199 additions and 5 deletions

View File

@@ -0,0 +1,14 @@
//// [propertyAccessNumericLiterals.es6.ts]
0xffffffff.toString();
0o01234.toString();
0b01101101.toString();
1234..toString();
1e0.toString();
//// [propertyAccessNumericLiterals.es6.js]
0xffffffff.toString();
0o01234.toString();
0b01101101.toString();
1234..toString();
1e0.toString();

View File

@@ -0,0 +1,21 @@
=== tests/cases/conformance/es6/propertyAccess/propertyAccessNumericLiterals.es6.ts ===
0xffffffff.toString();
>0xffffffff.toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --))
>toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --))
0o01234.toString();
>0o01234.toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --))
>toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --))
0b01101101.toString();
>0b01101101.toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --))
>toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --))
1234..toString();
>1234..toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --))
>toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --))
1e0.toString();
>1e0.toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --))
>toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --))

View File

@@ -0,0 +1,31 @@
=== tests/cases/conformance/es6/propertyAccess/propertyAccessNumericLiterals.es6.ts ===
0xffffffff.toString();
>0xffffffff.toString() : string
>0xffffffff.toString : (radix?: number) => string
>0xffffffff : 4294967295
>toString : (radix?: number) => string
0o01234.toString();
>0o01234.toString() : string
>0o01234.toString : (radix?: number) => string
>0o01234 : 668
>toString : (radix?: number) => string
0b01101101.toString();
>0b01101101.toString() : string
>0b01101101.toString : (radix?: number) => string
>0b01101101 : 109
>toString : (radix?: number) => string
1234..toString();
>1234..toString() : string
>1234..toString : (radix?: number) => string
>1234. : 1234
>toString : (radix?: number) => string
1e0.toString();
>1e0.toString() : string
>1e0.toString : (radix?: number) => string
>1e0 : 1
>toString : (radix?: number) => string

View File

@@ -0,0 +1,15 @@
//// [propertyAccessNumericLiterals.ts]
0xffffffff.toString();
0o01234.toString();
0b01101101.toString();
1234..toString();
1e0.toString();
000.toString();
//// [propertyAccessNumericLiterals.js]
0xffffffff.toString();
668..toString();
109..toString();
1234..toString();
1e0.toString();
000.toString();

View File

@@ -0,0 +1,25 @@
=== tests/cases/conformance/expressions/propertyAccess/propertyAccessNumericLiterals.ts ===
0xffffffff.toString();
>0xffffffff.toString : Symbol(Number.toString, Decl(lib.d.ts, --, --))
>toString : Symbol(Number.toString, Decl(lib.d.ts, --, --))
0o01234.toString();
>0o01234.toString : Symbol(Number.toString, Decl(lib.d.ts, --, --))
>toString : Symbol(Number.toString, Decl(lib.d.ts, --, --))
0b01101101.toString();
>0b01101101.toString : Symbol(Number.toString, Decl(lib.d.ts, --, --))
>toString : Symbol(Number.toString, Decl(lib.d.ts, --, --))
1234..toString();
>1234..toString : Symbol(Number.toString, Decl(lib.d.ts, --, --))
>toString : Symbol(Number.toString, Decl(lib.d.ts, --, --))
1e0.toString();
>1e0.toString : Symbol(Number.toString, Decl(lib.d.ts, --, --))
>toString : Symbol(Number.toString, Decl(lib.d.ts, --, --))
000.toString();
>000.toString : Symbol(Number.toString, Decl(lib.d.ts, --, --))
>toString : Symbol(Number.toString, Decl(lib.d.ts, --, --))

View File

@@ -0,0 +1,37 @@
=== tests/cases/conformance/expressions/propertyAccess/propertyAccessNumericLiterals.ts ===
0xffffffff.toString();
>0xffffffff.toString() : string
>0xffffffff.toString : (radix?: number) => string
>0xffffffff : 4294967295
>toString : (radix?: number) => string
0o01234.toString();
>0o01234.toString() : string
>0o01234.toString : (radix?: number) => string
>0o01234 : 668
>toString : (radix?: number) => string
0b01101101.toString();
>0b01101101.toString() : string
>0b01101101.toString : (radix?: number) => string
>0b01101101 : 109
>toString : (radix?: number) => string
1234..toString();
>1234..toString() : string
>1234..toString : (radix?: number) => string
>1234. : 1234
>toString : (radix?: number) => string
1e0.toString();
>1e0.toString() : string
>1e0.toString : (radix?: number) => string
>1e0 : 1
>toString : (radix?: number) => string
000.toString();
>000.toString() : string
>000.toString : (radix?: number) => string
>000 : 0
>toString : (radix?: number) => string

View File

@@ -0,0 +1,6 @@
// @target: es6
0xffffffff.toString();
0o01234.toString();
0b01101101.toString();
1234..toString();
1e0.toString();

View File

@@ -0,0 +1,7 @@
// @target: es3
0xffffffff.toString();
0o01234.toString();
0b01101101.toString();
1234..toString();
1e0.toString();
000.toString();