| 
									
										
										
										
											2020-04-23 16:06:01 +01:00
										 |  |  | load("test-common.js"); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | try { | 
					
						
							| 
									
										
										
										
											2020-07-05 09:27:00 -07:00
										 |  |  |   ["foo", 123, null, undefined].forEach(value => { | 
					
						
							|  |  |  |     assertThrowsError( | 
					
						
							|  |  |  |       () => { | 
					
						
							|  |  |  |         "prop" in value; | 
					
						
							|  |  |  |       }, | 
					
						
							|  |  |  |       { | 
					
						
							|  |  |  |         error: TypeError, | 
					
						
							|  |  |  |         message: "'in' operator must be used on an object", | 
					
						
							|  |  |  |       } | 
					
						
							|  |  |  |     ); | 
					
						
							|  |  |  |   }); | 
					
						
							| 
									
										
										
										
											2020-04-23 16:06:01 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-07-05 09:27:00 -07:00
										 |  |  |   var o = { foo: "bar", bar: undefined }; | 
					
						
							|  |  |  |   assert("" in o === false); | 
					
						
							|  |  |  |   assert("foo" in o === true); | 
					
						
							|  |  |  |   assert("bar" in o === true); | 
					
						
							|  |  |  |   assert("baz" in o === false); | 
					
						
							|  |  |  |   assert("toString" in o === true); | 
					
						
							| 
									
										
										
										
											2020-04-23 16:06:01 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-07-05 09:27:00 -07:00
										 |  |  |   var a = ["hello", "friends"]; | 
					
						
							|  |  |  |   assert(0 in a === true); | 
					
						
							|  |  |  |   assert(1 in a === true); | 
					
						
							|  |  |  |   assert(2 in a === false); | 
					
						
							|  |  |  |   assert("0" in a === true); | 
					
						
							|  |  |  |   assert("hello" in a === false); | 
					
						
							|  |  |  |   assert("friends" in a === false); | 
					
						
							|  |  |  |   assert("length" in a === true); | 
					
						
							| 
									
										
										
										
											2020-04-23 16:06:01 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-07-05 09:27:00 -07:00
										 |  |  |   var s = new String("foo"); | 
					
						
							|  |  |  |   assert("length" in s); | 
					
						
							| 
									
										
										
										
											2020-04-23 16:06:01 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-07-05 09:27:00 -07:00
										 |  |  |   console.log("PASS"); | 
					
						
							| 
									
										
										
										
											2020-04-23 16:06:01 +01:00
										 |  |  | } catch (e) { | 
					
						
							| 
									
										
										
										
											2020-07-05 09:27:00 -07:00
										 |  |  |   console.log("FAIL: " + e); | 
					
						
							| 
									
										
										
										
											2020-04-23 16:06:01 +01:00
										 |  |  | } |