@@ -9,6 +9,8 @@ describe("The 'getStaticValue' function", () => {
99 { code : "[1, 2, 3]" , expected : { value : [ 1 , 2 , 3 ] } } ,
1010 { code : "[,, 3]" , expected : { value : [ , , 3 ] } } , //eslint-disable-line no-sparse-arrays
1111 { code : "[1, ...[2, 3]]" , expected : { value : [ 1 , 2 , 3 ] } } ,
12+ { code : "[1, ...[2, 3]].length" , expected : { value : 3 } } ,
13+ { code : "[1, ...[2, 3]]['1']" , expected : { value : 2 } } ,
1214 { code : "[0, a]" , expected : null } ,
1315 { code : "[0, ...a]" , expected : null } ,
1416 { code : "a = 1 + 2" , expected : { value : 3 } } ,
@@ -74,6 +76,14 @@ describe("The 'getStaticValue' function", () => {
7476 { code : "1" , expected : { value : 1 } } ,
7577 { code : "'hello'" , expected : { value : "hello" } } ,
7678 { code : "/foo/gu" , expected : { value : / f o o / gu } } ,
79+ { code : "RegExp(/foo/gu)" , expected : { value : / f o o / gu } } ,
80+ { code : "RegExp(/foo/, 'gu')" , expected : { value : / f o o / gu } } ,
81+ { code : "RegExp('foo', 'gu')" , expected : { value : / f o o / gu } } ,
82+ { code : "new RegExp('foo', 'gu')" , expected : { value : / f o o / gu } } ,
83+ { code : "/foo/gu.source" , expected : { value : "foo" } } ,
84+ { code : "/foo/gu.flags" , expected : { value : "gu" } } ,
85+ { code : "/foo/gu.unicode" , expected : { value : true } } ,
86+ { code : "/foo/gu.ignoreCase" , expected : { value : false } } ,
7787 { code : "true && 1" , expected : { value : 1 } } ,
7888 { code : "false && a" , expected : { value : false } } ,
7989 { code : "true || a" , expected : { value : true } } ,
@@ -160,6 +170,8 @@ describe("The 'getStaticValue' function", () => {
160170 { code : "String.raw`\\unicode`" , expected : { value : "\\unicode" } } ,
161171 { code : "`he${a}o`" , expected : null } , //eslint-disable-line no-template-curly-in-string
162172 { code : "x`hello`" , expected : null } ,
173+ { code : "'abc'.length" , expected : { value : 3 } } ,
174+ { code : "'abc'[1]" , expected : { value : "b" } } ,
163175 { code : "' foo '.trim()" , expected : { value : "foo" } } ,
164176 { code : "' foo '.trim().toUpperCase()" , expected : { value : "FOO" } } ,
165177 { code : "' foo '.indexOf('f')" , expected : { value : 2 } } ,
0 commit comments