| 
									
										
										
										
											2020-07-05 17:26:26 -07:00
										 |  |  | test("basic functionality", () => { | 
					
						
							| 
									
										
										
										
											2020-07-06 07:37:45 -07:00
										 |  |  |     expect(10 % 3).toBe(1); | 
					
						
							|  |  |  |     expect(10.5 % 2.5).toBe(0.5); | 
					
						
							|  |  |  |     expect(-0.99 % 0.99).toBe(-0); | 
					
						
							| 
									
										
										
										
											2020-04-05 01:32:04 -07:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-07-06 07:37:45 -07:00
										 |  |  |     // Examples from MDN:
 | 
					
						
							|  |  |  |     // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Arithmetic_Operators
 | 
					
						
							|  |  |  |     expect(12 % 5).toBe(2); | 
					
						
							|  |  |  |     expect(-1 % 2).toBe(-1); | 
					
						
							|  |  |  |     expect(1 % -2).toBe(1); | 
					
						
							|  |  |  |     expect(1 % 2).toBe(1); | 
					
						
							|  |  |  |     expect(2 % 3).toBe(2); | 
					
						
							|  |  |  |     expect(-4 % 2).toBe(-0); | 
					
						
							|  |  |  |     expect(5.5 % 2).toBe(1.5); | 
					
						
							|  |  |  |     expect(NaN % 2).toBeNaN(); | 
					
						
							| 
									
										
										
										
											2021-09-01 16:50:56 +01:00
										 |  |  |     expect(2 % NaN).toBeNaN(); | 
					
						
							|  |  |  |     expect(NaN % NaN).toBeNaN(); | 
					
						
							|  |  |  |     expect(Infinity % 1).toBeNaN(); | 
					
						
							|  |  |  |     expect(-Infinity % 1).toBeNaN(); | 
					
						
							|  |  |  |     expect(1 % Infinity).toBe(1); | 
					
						
							|  |  |  |     expect(1 % -Infinity).toBe(1); | 
					
						
							|  |  |  |     expect(1 % 0).toBeNaN(); | 
					
						
							|  |  |  |     expect(1 % -0).toBeNaN(); | 
					
						
							|  |  |  |     expect(0 % 5).toBe(0); | 
					
						
							|  |  |  |     expect(-0 % 5).toBe(-0); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     // test262 examples
 | 
					
						
							|  |  |  |     expect(1 % null).toBeNaN(); | 
					
						
							|  |  |  |     expect(null % 1).toBe(0); | 
					
						
							|  |  |  |     expect(true % null).toBeNaN(); | 
					
						
							|  |  |  |     expect(null % true).toBe(0); | 
					
						
							|  |  |  |     expect("1" % null).toBeNaN(); | 
					
						
							|  |  |  |     expect(null % "1").toBe(0); | 
					
						
							|  |  |  |     expect(null % undefined).toBeNaN(); | 
					
						
							|  |  |  |     expect(undefined % null).toBeNaN(); | 
					
						
							|  |  |  |     expect(undefined % undefined).toBeNaN(); | 
					
						
							|  |  |  |     expect(null % null).toBeNaN(); | 
					
						
							| 
									
										
										
										
											2020-07-05 17:26:26 -07:00
										 |  |  | }); |