@@ -2,10 +2,20 @@ var expect = require("expect.js"),
2
2
detectStrictMode = require ( "../lib/detectStrictMode.js" ) ;
3
3
4
4
describe ( "detectStrictMode" , function ( ) {
5
- it ( "should detect \"use strict\"; at the beginning of a string and ignore all whitespace before " , function ( ) {
5
+ it ( "should detect all valid uses of \"use strict\";" , function ( ) {
6
6
expect ( detectStrictMode ( '"use strict";' ) ) . to . be ( true ) ;
7
- expect ( detectStrictMode ( ' "use strict";' ) ) . to . be ( true ) ;
8
- expect ( detectStrictMode ( ' \n "use strict";' ) ) . to . be ( true ) ;
7
+ expect ( detectStrictMode ( "'use strict';" ) ) . to . be ( true ) ;
8
+ expect ( detectStrictMode ( ' "use strict";' ) ) . to . be ( true ) ;
9
+ expect ( detectStrictMode ( '\n"use strict";' ) ) . to . be ( true ) ;
10
+ expect ( detectStrictMode ( '\r\n"use strict";' ) ) . to . be ( true ) ;
11
+ expect ( detectStrictMode ( '"use strict"\r\n' ) ) . to . be ( true ) ;
12
+ expect ( detectStrictMode ( '"use strict" ; test();' ) ) . to . be ( true ) ;
13
+ } ) ;
14
+ it ( "should not detect invalid uses of \"use strict\";" , function ( ) {
15
+ expect ( detectStrictMode ( '" use strict ";' ) ) . to . be ( false ) ;
16
+ expect ( detectStrictMode ( '"use strict".replace("use", "fail");' ) ) . to . be ( false ) ;
17
+ expect ( detectStrictMode ( '"use strict" .replace("use", "fail");' ) ) . to . be ( false ) ;
18
+ expect ( detectStrictMode ( ';"use strict";' ) ) . to . be ( false ) ;
9
19
} ) ;
10
20
it ( "should not detect \"use strict\"; if it occurs in some nested function" , function ( ) {
11
21
expect ( detectStrictMode ( 'function () {"use strict";}' ) ) . to . be ( false ) ;
0 commit comments