| 
									
										
										
										
											2020-04-23 13:36:14 +01:00
										 |  |  | load("test-common.js"); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | try { | 
					
						
							| 
									
										
										
										
											2020-07-05 09:27:00 -07:00
										 |  |  |   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"); | 
					
						
							| 
									
										
										
										
											2020-04-23 13:36:14 +01:00
										 |  |  | } catch (e) { | 
					
						
							| 
									
										
										
										
											2020-07-05 09:27:00 -07:00
										 |  |  |   console.log("FAIL: " + e); | 
					
						
							| 
									
										
										
										
											2020-04-23 13:36:14 +01:00
										 |  |  | } |