mirror of
				https://github.com/RGBCube/serenity
				synced 2025-10-31 17:12:43 +00:00 
			
		
		
		
	LibJS: Start implementing Temporal.ZonedDateTime
This commit adds the ZonedDateTime object itself, its constructor and prototype (currently empty), and the CreateTemporalZonedDateTime abstract operation.
This commit is contained in:
		
							parent
							
								
									1b9b995f93
								
							
						
					
					
						commit
						cfb77b66e5
					
				
					 11 changed files with 297 additions and 1 deletions
				
			
		|  | @ -0,0 +1,39 @@ | |||
| describe("errors", () => { | ||||
|     test("called without new", () => { | ||||
|         expect(() => { | ||||
|             Temporal.ZonedDateTime(); | ||||
|         }).toThrowWithMessage( | ||||
|             TypeError, | ||||
|             "Temporal.ZonedDateTime constructor must be called with 'new'" | ||||
|         ); | ||||
|     }); | ||||
| 
 | ||||
|     test("out-of-range epoch nanoseconds value", () => { | ||||
|         expect(() => { | ||||
|             new Temporal.ZonedDateTime(8_640_000_000_000_000_000_001n); | ||||
|         }).toThrowWithMessage( | ||||
|             RangeError, | ||||
|             "Invalid epoch nanoseconds value, must be in range -86400 * 10^17 to 86400 * 10^17" | ||||
|         ); | ||||
|         expect(() => { | ||||
|             new Temporal.ZonedDateTime(-8_640_000_000_000_000_000_001n); | ||||
|         }).toThrowWithMessage( | ||||
|             RangeError, | ||||
|             "Invalid epoch nanoseconds value, must be in range -86400 * 10^17 to 86400 * 10^17" | ||||
|         ); | ||||
|     }); | ||||
| }); | ||||
| 
 | ||||
| describe("normal behavior", () => { | ||||
|     test("length is 2", () => { | ||||
|         expect(Temporal.ZonedDateTime).toHaveLength(2); | ||||
|     }); | ||||
| 
 | ||||
|     test("basic functionality", () => { | ||||
|         const timeZone = new Temporal.TimeZone("UTC"); | ||||
|         const zonedDateTime = new Temporal.ZonedDateTime(0n, timeZone); | ||||
|         expect(typeof zonedDateTime).toBe("object"); | ||||
|         expect(zonedDateTime).toBeInstanceOf(Temporal.ZonedDateTime); | ||||
|         expect(Object.getPrototypeOf(zonedDateTime)).toBe(Temporal.ZonedDateTime.prototype); | ||||
|     }); | ||||
| }); | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Linus Groh
						Linus Groh