mirror of
				https://github.com/LadybirdBrowser/ladybird.git
				synced 2025-11-03 23:00:58 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			61 lines
		
	
	
	
		
			1.1 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			61 lines
		
	
	
	
		
			1.1 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
"do not use strict";
 | 
						|
"no really";
 | 
						|
// /\ Valid directives which should not trigger strict mode
 | 
						|
 | 
						|
test("basic functionality", () => {
 | 
						|
    expect(isStrictMode()).toBeFalse();
 | 
						|
 | 
						|
    (function () {
 | 
						|
        expect(isStrictMode()).toBeFalse();
 | 
						|
    })();
 | 
						|
 | 
						|
    (() => {
 | 
						|
        expect(isStrictMode()).toBeFalse();
 | 
						|
    })();
 | 
						|
 | 
						|
    (() => {
 | 
						|
        expect(isStrictMode()).toBeFalse();
 | 
						|
    })();
 | 
						|
 | 
						|
    function a() {
 | 
						|
        expect(isStrictMode()).toBeFalse();
 | 
						|
    }
 | 
						|
 | 
						|
    a();
 | 
						|
 | 
						|
    eval("expect(isStrictMode()).toBeFalse()");
 | 
						|
});
 | 
						|
 | 
						|
test("functions with strict mode", () => {
 | 
						|
    expect(isStrictMode()).toBeFalse();
 | 
						|
 | 
						|
    function a() {
 | 
						|
        "this is allowed trust me";
 | 
						|
        "use strict";
 | 
						|
        expect(isStrictMode()).toBeTrue();
 | 
						|
    }
 | 
						|
 | 
						|
    a();
 | 
						|
 | 
						|
    expect(isStrictMode()).toBeFalse();
 | 
						|
 | 
						|
    (() => {
 | 
						|
        "use strict";
 | 
						|
        expect(isStrictMode()).toBeTrue();
 | 
						|
    })();
 | 
						|
 | 
						|
    function b() {
 | 
						|
        eval("expect(isStrictMode()).toBeFalse()");
 | 
						|
 | 
						|
        function nested() {
 | 
						|
            "use strict";
 | 
						|
            eval("expect(isStrictMode()).toBeTrue()");
 | 
						|
        }
 | 
						|
 | 
						|
        nested();
 | 
						|
 | 
						|
        eval("expect(isStrictMode()).toBeFalse()");
 | 
						|
    }
 | 
						|
 | 
						|
    b();
 | 
						|
});
 |