mirror of
				https://github.com/LadybirdBrowser/ladybird.git
				synced 2025-10-31 13:20:59 +00:00 
			
		
		
		
	
		
			
	
	
		
			64 lines
		
	
	
	
		
			1.5 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
		
		
			
		
	
	
			64 lines
		
	
	
	
		
			1.5 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
|   | load("test-common.js"); | ||
|  | 
 | ||
|  | try { | ||
|  |     assert((0 << 0) === 0); | ||
|  |     assert((0 << 1) === 0); | ||
|  |     assert((0 << 2) === 0); | ||
|  |     assert((0 << 3) === 0); | ||
|  |     assert((0 << 4) === 0); | ||
|  |     assert((0 << 5) === 0); | ||
|  | 
 | ||
|  |     assert((1 << 0) === 1); | ||
|  |     assert((1 << 1) === 2); | ||
|  |     assert((1 << 2) === 4); | ||
|  |     assert((1 << 3) === 8); | ||
|  |     assert((1 << 4) === 16); | ||
|  |     assert((1 << 5) === 32); | ||
|  | 
 | ||
|  |     assert((2 << 0) === 2); | ||
|  |     assert((2 << 1) === 4); | ||
|  |     assert((2 << 2) === 8); | ||
|  |     assert((2 << 3) === 16); | ||
|  |     assert((2 << 4) === 32); | ||
|  |     assert((2 << 5) === 64); | ||
|  | 
 | ||
|  |     assert((3 << 0) === 3); | ||
|  |     assert((3 << 1) === 6); | ||
|  |     assert((3 << 2) === 12); | ||
|  |     assert((3 << 3) === 24); | ||
|  |     assert((3 << 4) === 48); | ||
|  |     assert((3 << 5) === 96); | ||
|  | 
 | ||
|  |     assert((4 << 0) === 4); | ||
|  |     assert((4 << 1) === 8); | ||
|  |     assert((4 << 2) === 16); | ||
|  |     assert((4 << 3) === 32); | ||
|  |     assert((4 << 4) === 64); | ||
|  |     assert((4 << 5) === 128); | ||
|  | 
 | ||
|  |     assert((5 << 0) === 5); | ||
|  |     assert((5 << 1) === 10); | ||
|  |     assert((5 << 2) === 20); | ||
|  |     assert((5 << 3) === 40); | ||
|  |     assert((5 << 4) === 80); | ||
|  |     assert((5 << 5) === 160); | ||
|  | 
 | ||
|  |     var x = 3; | ||
|  |     var y = 7; | ||
|  |     assert(("42" << 6) === 2688); | ||
|  |     assert((x << y) === 384); | ||
|  |     assert((x << [[[[12]]]]) === 12288); | ||
|  |     assert((undefined << y) === 0); | ||
|  |     assert(("a" << "b") === 0); | ||
|  |     assert((null << null) === 0); | ||
|  |     assert((undefined << undefined) === 0); | ||
|  |     assert((NaN << NaN) === 0); | ||
|  |     assert((NaN << 6) === 0); | ||
|  |     assert((Infinity << Infinity) === 0); | ||
|  |     assert((-Infinity << Infinity) === 0); | ||
|  | 
 | ||
|  |     console.log("PASS"); | ||
|  | } catch (e) { | ||
|  |     console.log("FAIL: " + e); | ||
|  | } |