mirror of
				https://github.com/LadybirdBrowser/ladybird.git
				synced 2025-10-31 05:10:57 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			59 lines
		
	
	
	
		
			1.4 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			59 lines
		
	
	
	
		
			1.4 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| test("parsing numbers", () => {
 | |
|   [
 | |
|     [0, 0],
 | |
|     [1, 1],
 | |
|     [0.23, 0.23],
 | |
|     [1.23, 1.23],
 | |
|     [0.0123e2, 1.23],
 | |
|     [1.23e4, 12300],
 | |
|     [Infinity, Infinity],
 | |
|   ].forEach(test => {
 | |
|     expect(parseFloat(test[0])).toBe(test[1]);
 | |
|     expect(parseFloat(+test[0])).toBe(test[1]);
 | |
|     expect(parseFloat(-test[0])).toBe(-test[1]);
 | |
|   });
 | |
| });
 | |
| 
 | |
| test("parsing strings", () => {
 | |
|   [
 | |
|     ["0", 0],
 | |
|     ["1", 1],
 | |
|     [".23", 0.23],
 | |
|     ["1.23", 1.23],
 | |
|     ["0.0123E+2", 1.23],
 | |
|     ["1.23e4", 12300],
 | |
|     ["Infinity", Infinity],
 | |
|   ].forEach(test => {
 | |
|     expect(parseFloat(test[0])).toBe(test[1]);
 | |
|     expect(parseFloat(`+${test[0]}`)).toBe(test[1]);
 | |
|     expect(parseFloat(`-${test[0]}`)).toBe(-test[1]);
 | |
|     expect(parseFloat(`${test[0]}foo`)).toBe(test[1]);
 | |
|     expect(parseFloat(`+${test[0]}foo`)).toBe(test[1]);
 | |
|     expect(parseFloat(`-${test[0]}foo`)).toBe(-test[1]);
 | |
|     expect(parseFloat(`   \n  \t ${test[0]} \v  foo   `)).toBe(test[1]);
 | |
|     expect(parseFloat(`   \r -${test[0]} \f \n\n  foo   `)).toBe(-test[1]);
 | |
|     expect(parseFloat({ toString: () => test[0] })).toBe(test[1]);
 | |
|   });
 | |
| });
 | |
| 
 | |
| test("parsing NaN", () => {
 | |
|   [
 | |
|     "",
 | |
|     [],
 | |
|     [],
 | |
|     true,
 | |
|     false,
 | |
|     null,
 | |
|     undefined,
 | |
|     NaN,
 | |
|     "foo123",
 | |
|     "foo+123",
 | |
|     "fooInfinity",
 | |
|     "foo+Infinity",
 | |
|   ].forEach(value => {
 | |
|     expect(parseFloat(value)).toBeNaN();
 | |
|   });
 | |
| 
 | |
|   expect(parseFloat()).toBeNaN();
 | |
|   expect(parseFloat("", 123, Infinity)).toBeNaN();
 | |
| });
 | 
