mirror of
				https://github.com/RGBCube/serenity
				synced 2025-10-31 17:32:44 +00:00 
			
		
		
		
	 f6786881aa
			
		
	
	
		f6786881aa
		
	
	
	
	
		
			
			Simply defer to LibTimeZone to retrieve the system's current time zone. Also update some Temporal tests to explicitly set the time zone to UTC.
		
			
				
	
	
		
			43 lines
		
	
	
	
		
			1.6 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			43 lines
		
	
	
	
		
			1.6 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| describe("correct behavior", () => {
 | |
|     test("length is 0", () => {
 | |
|         expect(Temporal.Now.plainDateISO).toHaveLength(0);
 | |
|     });
 | |
| 
 | |
|     test("basic functionality", () => {
 | |
|         const plainDate = Temporal.Now.plainDateISO();
 | |
|         expect(plainDate).toBeInstanceOf(Temporal.PlainDate);
 | |
|         expect(plainDate.calendar.id).toBe("iso8601");
 | |
|     });
 | |
| 
 | |
|     test("custom time zone", () => {
 | |
|         const timeZone = {
 | |
|             getOffsetNanosecondsFor() {
 | |
|                 return 86400000000000;
 | |
|             },
 | |
|         };
 | |
|         const plainDate = Temporal.Now.plainDateISO("UTC");
 | |
|         const plainDateWithOffset = Temporal.Now.plainDateISO(timeZone);
 | |
|         if (plainDate.dayOfYear === plainDate.daysInYear) {
 | |
|             expect(plainDateWithOffset.year).toBe(plainDate.year + 1);
 | |
|             expect(plainDateWithOffset.month).toBe(1);
 | |
|             expect(plainDateWithOffset.day).toBe(1);
 | |
|         } else {
 | |
|             expect(plainDateWithOffset.year).toBe(plainDate.year);
 | |
|             if (plainDate.day === plainDate.daysInMonth) {
 | |
|                 expect(plainDateWithOffset.month).toBe(plainDate.month + 1);
 | |
|                 expect(plainDateWithOffset.day).toBe(1);
 | |
|             } else {
 | |
|                 expect(plainDateWithOffset.month).toBe(plainDate.month);
 | |
|                 expect(plainDateWithOffset.day).toBe(plainDate.day + 1);
 | |
|             }
 | |
|         }
 | |
|     });
 | |
| });
 | |
| 
 | |
| describe("errors", () => {
 | |
|     test("custom time zone doesn't have a getOffsetNanosecondsFor function", () => {
 | |
|         expect(() => {
 | |
|             Temporal.Now.plainDateISO({});
 | |
|         }).toThrowWithMessage(TypeError, "null is not a function");
 | |
|     });
 | |
| });
 |