@@ -2,10 +2,20 @@ var expect = require("expect.js"),
22 detectStrictMode = require ( "../lib/detectStrictMode.js" ) ;
33
44describe ( "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 ( ) {
66 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 ) ;
919 } ) ;
1020 it ( "should not detect \"use strict\"; if it occurs in some nested function" , function ( ) {
1121 expect ( detectStrictMode ( 'function () {"use strict";}' ) ) . to . be ( false ) ;
0 commit comments