mirror of
				https://github.com/LadybirdBrowser/ladybird.git
				synced 2025-10-31 05:10:57 +00:00 
			
		
		
		
	LibJS: Reorganize tests into subfolders
This commit is contained in:
		
							parent
							
								
									21064a1883
								
							
						
					
					
						commit
						4c48c9d69d
					
				
				
				Notes:
				
					sideshowbarker
				
				2024-07-19 05:13:22 +09:00 
				
			
			Author: https://github.com/mattco98
Commit: 4c48c9d69d
Pull-request: https://github.com/SerenityOS/serenity/pull/2681
Reviewed-by: https://github.com/linusg
			
					 213 changed files with 10 additions and 2 deletions
				
			
		
							
								
								
									
										112
									
								
								Libraries/LibJS/Tests/functions/function-default-parameters.js
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										112
									
								
								Libraries/LibJS/Tests/functions/function-default-parameters.js
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,112 @@ | |||
| load("test-common.js"); | ||||
| 
 | ||||
| try { | ||||
|     function func1(a, b = 1) { | ||||
|         return a + b; | ||||
|     } | ||||
| 
 | ||||
|     const arrowFunc1 = (a, b = 1) => a + b; | ||||
| 
 | ||||
|     assert(func1(4, 5) === 9); | ||||
|     assert(func1(4) === 5); | ||||
|     assert(func1(4, undefined) === 5); | ||||
|     assert(Number.isNaN(func1())); | ||||
| 
 | ||||
|     assert(arrowFunc1(4, 5) === 9); | ||||
|     assert(arrowFunc1(4) === 5); | ||||
|     assert(arrowFunc1(4, undefined) === 5); | ||||
|     assert(Number.isNaN(arrowFunc1())); | ||||
| 
 | ||||
|     function func2(a = 6) { | ||||
|         return typeof a; | ||||
|     } | ||||
| 
 | ||||
|     const arrowFunc2 = (a = 6) => typeof a; | ||||
| 
 | ||||
|     assert(func2() === "number"); | ||||
|     assert(func2(5) === "number"); | ||||
|     assert(func2(undefined) === "number"); | ||||
|     assert(func2(false) === "boolean"); | ||||
|     assert(func2(null) === "object"); | ||||
|     assert(func2({}) === "object"); | ||||
| 
 | ||||
|     assert(arrowFunc2() === "number"); | ||||
|     assert(arrowFunc2(5) === "number"); | ||||
|     assert(arrowFunc2(undefined) === "number"); | ||||
|     assert(arrowFunc2(false) === "boolean"); | ||||
|     assert(arrowFunc2(null) === "object"); | ||||
|     assert(arrowFunc2({}) === "object"); | ||||
| 
 | ||||
|     function func3(a = 5, b) { | ||||
|         return a + b; | ||||
|     } | ||||
| 
 | ||||
|     const arrowFunc3 = (a = 5, b) => a + b; | ||||
| 
 | ||||
|     assert(func3(4, 5) === 9); | ||||
|     assert(func3(undefined, 4) === 9); | ||||
|     assert(Number.isNaN(func3())); | ||||
| 
 | ||||
|     assert(arrowFunc3(4, 5) === 9); | ||||
|     assert(arrowFunc3(undefined, 4) === 9); | ||||
|     assert(Number.isNaN(arrowFunc3())); | ||||
| 
 | ||||
|     function func4(a, b = a) { | ||||
|         return a + b; | ||||
|     } | ||||
| 
 | ||||
|     const arrowFunc4 = (a, b = a) => a + b; | ||||
| 
 | ||||
|     assert(func4(4, 5) === 9); | ||||
|     assert(func4(4) === 8); | ||||
|     assert(func4("hf") === "hfhf"); | ||||
|     assert(func4(true) === 2); | ||||
|     assert(Number.isNaN(func4())); | ||||
| 
 | ||||
|     assert(arrowFunc4(4, 5) === 9); | ||||
|     assert(arrowFunc4(4) === 8); | ||||
|     assert(arrowFunc4("hf") === "hfhf"); | ||||
|     assert(arrowFunc4(true) === 2); | ||||
|     assert(Number.isNaN(arrowFunc4())); | ||||
| 
 | ||||
|     function func5(a = function() { return 5; }) {  | ||||
|       return a(); | ||||
|     } | ||||
| 
 | ||||
|     const arrowFunc5 = (a = function() { return 5; }) => a(); | ||||
| 
 | ||||
|     assert(func5() === 5); | ||||
|     assert(func5(function() { return 10; }) === 10); | ||||
|     assert(func5(() => 10) === 10); | ||||
|     assert(arrowFunc5() === 5); | ||||
|     assert(arrowFunc5(function() { return 10; }) === 10); | ||||
|     assert(arrowFunc5(() => 10) === 10); | ||||
| 
 | ||||
|     function func6(a = () => 5) { | ||||
|       return a(); | ||||
|     } | ||||
| 
 | ||||
|     const arrowFunc6 = (a = () => 5) => a(); | ||||
|      | ||||
|     assert(func6() === 5); | ||||
|     assert(func6(function() { return 10; }) === 10); | ||||
|     assert(func6(() => 10) === 10); | ||||
|     assert(arrowFunc6() === 5); | ||||
|     assert(arrowFunc6(function() { return 10; }) === 10); | ||||
|     assert(arrowFunc6(() => 10) === 10); | ||||
| 
 | ||||
|     function func7(a = { foo: "bar" }) { | ||||
|       return a.foo; | ||||
|     } | ||||
| 
 | ||||
|     const arrowFunc7 = (a = { foo: "bar" }) => a.foo | ||||
| 
 | ||||
|     assert(func7() === "bar"); | ||||
|     assert(func7({ foo: "baz" }) === "baz"); | ||||
|     assert(arrowFunc7() === "bar"); | ||||
|     assert(arrowFunc7({ foo: "baz" }) === "baz"); | ||||
| 
 | ||||
|     console.log("PASS"); | ||||
| } catch (e) { | ||||
|     console.log("FAIL: " + e); | ||||
| } | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Matthew Olsson
						Matthew Olsson