mirror of
				https://github.com/tc39/test262.git
				synced 2025-10-31 11:44:31 +01:00 
			
		
		
		
	Temporal: Add tests for unknown annotation with critical flag
See https://github.com/tc39/proposal-temporal/pull/2397 Adds tests for ISO strings with unrecognized annotations with the critical flag. These strings should all be rejected.
This commit is contained in:
		
							parent
							
								
									dc11e501d6
								
							
						
					
					
						commit
						705cf94429
					
				| @ -0,0 +1,25 @@ | ||||
| // Copyright (C) 2022 Igalia, S.L. All rights reserved.
 | ||||
| // This code is governed by the BSD license found in the LICENSE file.
 | ||||
| 
 | ||||
| /*--- | ||||
| esid: sec-temporal.calendar.prototype.dateadd | ||||
| description: Unknown annotations with critical flag are rejected | ||||
| features: [Temporal] | ||||
| ---*/ | ||||
| 
 | ||||
| const invalidStrings = [ | ||||
|   "1970-01-01[!foo=bar]", | ||||
|   "1970-01-01T00:00[!foo=bar]", | ||||
|   "1970-01-01T00:00[UTC][!foo=bar]", | ||||
|   "1970-01-01T00:00[u-ca=iso8601][!foo=bar]", | ||||
|   "1970-01-01T00:00[UTC][!foo=bar][u-ca=iso8601]", | ||||
|   "1970-01-01T00:00[foo=bar][!_foo-bar0=Dont-Ignore-This-99999999999]", | ||||
| ]; | ||||
| const instance = new Temporal.Calendar("iso8601"); | ||||
| invalidStrings.forEach((arg) => { | ||||
|   assert.throws( | ||||
|     RangeError, | ||||
|     () => instance.dateAdd(arg, new Temporal.Duration()), | ||||
|     `reject unknown annotation with critical flag: ${arg}` | ||||
|   ); | ||||
| }); | ||||
| @ -0,0 +1,30 @@ | ||||
| // Copyright (C) 2022 Igalia, S.L. All rights reserved.
 | ||||
| // This code is governed by the BSD license found in the LICENSE file.
 | ||||
| 
 | ||||
| /*--- | ||||
| esid: sec-temporal.calendar.prototype.dateuntil | ||||
| description: Unknown annotations with critical flag are rejected | ||||
| features: [Temporal] | ||||
| ---*/ | ||||
| 
 | ||||
| const invalidStrings = [ | ||||
|   "1970-01-01[!foo=bar]", | ||||
|   "1970-01-01T00:00[!foo=bar]", | ||||
|   "1970-01-01T00:00[UTC][!foo=bar]", | ||||
|   "1970-01-01T00:00[u-ca=iso8601][!foo=bar]", | ||||
|   "1970-01-01T00:00[UTC][!foo=bar][u-ca=iso8601]", | ||||
|   "1970-01-01T00:00[foo=bar][!_foo-bar0=Dont-Ignore-This-99999999999]", | ||||
| ]; | ||||
| const instance = new Temporal.Calendar("iso8601"); | ||||
| invalidStrings.forEach((arg) => { | ||||
|   assert.throws( | ||||
|     RangeError, | ||||
|     () => instance.dateUntil(arg, new Temporal.PlainDate(1977, 11, 19)), | ||||
|     `reject unknown annotation with critical flag: ${arg} (first argument)` | ||||
|   ); | ||||
|   assert.throws( | ||||
|     RangeError, | ||||
|     () => instance.dateUntil(new Temporal.PlainDate(1977, 11, 19), arg), | ||||
|     `reject unknown annotation with critical flag: ${arg} (second argument)` | ||||
|   ); | ||||
| }); | ||||
							
								
								
									
										25
									
								
								test/built-ins/Temporal/Calendar/prototype/day/argument-string-critical-unknown-annotation.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										25
									
								
								test/built-ins/Temporal/Calendar/prototype/day/argument-string-critical-unknown-annotation.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,25 @@ | ||||
| // Copyright (C) 2022 Igalia, S.L. All rights reserved.
 | ||||
| // This code is governed by the BSD license found in the LICENSE file.
 | ||||
| 
 | ||||
| /*--- | ||||
| esid: sec-temporal.calendar.prototype.day | ||||
| description: Unknown annotations with critical flag are rejected | ||||
| features: [Temporal] | ||||
| ---*/ | ||||
| 
 | ||||
| const invalidStrings = [ | ||||
|   "1970-01-01[!foo=bar]", | ||||
|   "1970-01-01T00:00[!foo=bar]", | ||||
|   "1970-01-01T00:00[UTC][!foo=bar]", | ||||
|   "1970-01-01T00:00[u-ca=iso8601][!foo=bar]", | ||||
|   "1970-01-01T00:00[UTC][!foo=bar][u-ca=iso8601]", | ||||
|   "1970-01-01T00:00[foo=bar][!_foo-bar0=Dont-Ignore-This-99999999999]", | ||||
| ]; | ||||
| const instance = new Temporal.Calendar("iso8601"); | ||||
| invalidStrings.forEach((arg) => { | ||||
|   assert.throws( | ||||
|     RangeError, | ||||
|     () => instance.day(arg), | ||||
|     `reject unknown annotation with critical flag: ${arg}` | ||||
|   ); | ||||
| }); | ||||
| @ -0,0 +1,25 @@ | ||||
| // Copyright (C) 2022 Igalia, S.L. All rights reserved.
 | ||||
| // This code is governed by the BSD license found in the LICENSE file.
 | ||||
| 
 | ||||
| /*--- | ||||
| esid: sec-temporal.calendar.prototype.dayofweek | ||||
| description: Unknown annotations with critical flag are rejected | ||||
| features: [Temporal] | ||||
| ---*/ | ||||
| 
 | ||||
| const invalidStrings = [ | ||||
|   "1970-01-01[!foo=bar]", | ||||
|   "1970-01-01T00:00[!foo=bar]", | ||||
|   "1970-01-01T00:00[UTC][!foo=bar]", | ||||
|   "1970-01-01T00:00[u-ca=iso8601][!foo=bar]", | ||||
|   "1970-01-01T00:00[UTC][!foo=bar][u-ca=iso8601]", | ||||
|   "1970-01-01T00:00[foo=bar][!_foo-bar0=Dont-Ignore-This-99999999999]", | ||||
| ]; | ||||
| const instance = new Temporal.Calendar("iso8601"); | ||||
| invalidStrings.forEach((arg) => { | ||||
|   assert.throws( | ||||
|     RangeError, | ||||
|     () => instance.dayOfWeek(arg), | ||||
|     `reject unknown annotation with critical flag: ${arg}` | ||||
|   ); | ||||
| }); | ||||
| @ -0,0 +1,25 @@ | ||||
| // Copyright (C) 2022 Igalia, S.L. All rights reserved.
 | ||||
| // This code is governed by the BSD license found in the LICENSE file.
 | ||||
| 
 | ||||
| /*--- | ||||
| esid: sec-temporal.calendar.prototype.dayofyear | ||||
| description: Unknown annotations with critical flag are rejected | ||||
| features: [Temporal] | ||||
| ---*/ | ||||
| 
 | ||||
| const invalidStrings = [ | ||||
|   "1970-01-01[!foo=bar]", | ||||
|   "1970-01-01T00:00[!foo=bar]", | ||||
|   "1970-01-01T00:00[UTC][!foo=bar]", | ||||
|   "1970-01-01T00:00[u-ca=iso8601][!foo=bar]", | ||||
|   "1970-01-01T00:00[UTC][!foo=bar][u-ca=iso8601]", | ||||
|   "1970-01-01T00:00[foo=bar][!_foo-bar0=Dont-Ignore-This-99999999999]", | ||||
| ]; | ||||
| const instance = new Temporal.Calendar("iso8601"); | ||||
| invalidStrings.forEach((arg) => { | ||||
|   assert.throws( | ||||
|     RangeError, | ||||
|     () => instance.dayOfYear(arg), | ||||
|     `reject unknown annotation with critical flag: ${arg}` | ||||
|   ); | ||||
| }); | ||||
| @ -0,0 +1,25 @@ | ||||
| // Copyright (C) 2022 Igalia, S.L. All rights reserved.
 | ||||
| // This code is governed by the BSD license found in the LICENSE file.
 | ||||
| 
 | ||||
| /*--- | ||||
| esid: sec-temporal.calendar.prototype.daysinmonth | ||||
| description: Unknown annotations with critical flag are rejected | ||||
| features: [Temporal] | ||||
| ---*/ | ||||
| 
 | ||||
| const invalidStrings = [ | ||||
|   "1970-01-01[!foo=bar]", | ||||
|   "1970-01-01T00:00[!foo=bar]", | ||||
|   "1970-01-01T00:00[UTC][!foo=bar]", | ||||
|   "1970-01-01T00:00[u-ca=iso8601][!foo=bar]", | ||||
|   "1970-01-01T00:00[UTC][!foo=bar][u-ca=iso8601]", | ||||
|   "1970-01-01T00:00[foo=bar][!_foo-bar0=Dont-Ignore-This-99999999999]", | ||||
| ]; | ||||
| const instance = new Temporal.Calendar("iso8601"); | ||||
| invalidStrings.forEach((arg) => { | ||||
|   assert.throws( | ||||
|     RangeError, | ||||
|     () => instance.daysInMonth(arg), | ||||
|     `reject unknown annotation with critical flag: ${arg}` | ||||
|   ); | ||||
| }); | ||||
| @ -0,0 +1,25 @@ | ||||
| // Copyright (C) 2022 Igalia, S.L. All rights reserved.
 | ||||
| // This code is governed by the BSD license found in the LICENSE file.
 | ||||
| 
 | ||||
| /*--- | ||||
| esid: sec-temporal.calendar.prototype.daysinweek | ||||
| description: Unknown annotations with critical flag are rejected | ||||
| features: [Temporal] | ||||
| ---*/ | ||||
| 
 | ||||
| const invalidStrings = [ | ||||
|   "1970-01-01[!foo=bar]", | ||||
|   "1970-01-01T00:00[!foo=bar]", | ||||
|   "1970-01-01T00:00[UTC][!foo=bar]", | ||||
|   "1970-01-01T00:00[u-ca=iso8601][!foo=bar]", | ||||
|   "1970-01-01T00:00[UTC][!foo=bar][u-ca=iso8601]", | ||||
|   "1970-01-01T00:00[foo=bar][!_foo-bar0=Dont-Ignore-This-99999999999]", | ||||
| ]; | ||||
| const instance = new Temporal.Calendar("iso8601"); | ||||
| invalidStrings.forEach((arg) => { | ||||
|   assert.throws( | ||||
|     RangeError, | ||||
|     () => instance.daysInWeek(arg), | ||||
|     `reject unknown annotation with critical flag: ${arg}` | ||||
|   ); | ||||
| }); | ||||
| @ -0,0 +1,25 @@ | ||||
| // Copyright (C) 2022 Igalia, S.L. All rights reserved.
 | ||||
| // This code is governed by the BSD license found in the LICENSE file.
 | ||||
| 
 | ||||
| /*--- | ||||
| esid: sec-temporal.calendar.prototype.daysinyear | ||||
| description: Unknown annotations with critical flag are rejected | ||||
| features: [Temporal] | ||||
| ---*/ | ||||
| 
 | ||||
| const invalidStrings = [ | ||||
|   "1970-01-01[!foo=bar]", | ||||
|   "1970-01-01T00:00[!foo=bar]", | ||||
|   "1970-01-01T00:00[UTC][!foo=bar]", | ||||
|   "1970-01-01T00:00[u-ca=iso8601][!foo=bar]", | ||||
|   "1970-01-01T00:00[UTC][!foo=bar][u-ca=iso8601]", | ||||
|   "1970-01-01T00:00[foo=bar][!_foo-bar0=Dont-Ignore-This-99999999999]", | ||||
| ]; | ||||
| const instance = new Temporal.Calendar("iso8601"); | ||||
| invalidStrings.forEach((arg) => { | ||||
|   assert.throws( | ||||
|     RangeError, | ||||
|     () => instance.daysInYear(arg), | ||||
|     `reject unknown annotation with critical flag: ${arg}` | ||||
|   ); | ||||
| }); | ||||
| @ -0,0 +1,25 @@ | ||||
| // Copyright (C) 2022 Igalia, S.L. All rights reserved.
 | ||||
| // This code is governed by the BSD license found in the LICENSE file.
 | ||||
| 
 | ||||
| /*--- | ||||
| esid: sec-temporal.calendar.prototype.inleapyear | ||||
| description: Unknown annotations with critical flag are rejected | ||||
| features: [Temporal] | ||||
| ---*/ | ||||
| 
 | ||||
| const invalidStrings = [ | ||||
|   "1970-01-01[!foo=bar]", | ||||
|   "1970-01-01T00:00[!foo=bar]", | ||||
|   "1970-01-01T00:00[UTC][!foo=bar]", | ||||
|   "1970-01-01T00:00[u-ca=iso8601][!foo=bar]", | ||||
|   "1970-01-01T00:00[UTC][!foo=bar][u-ca=iso8601]", | ||||
|   "1970-01-01T00:00[foo=bar][!_foo-bar0=Dont-Ignore-This-99999999999]", | ||||
| ]; | ||||
| const instance = new Temporal.Calendar("iso8601"); | ||||
| invalidStrings.forEach((arg) => { | ||||
|   assert.throws( | ||||
|     RangeError, | ||||
|     () => instance.inLeapYear(arg), | ||||
|     `reject unknown annotation with critical flag: ${arg}` | ||||
|   ); | ||||
| }); | ||||
							
								
								
									
										25
									
								
								test/built-ins/Temporal/Calendar/prototype/month/argument-string-critical-unknown-annotation.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										25
									
								
								test/built-ins/Temporal/Calendar/prototype/month/argument-string-critical-unknown-annotation.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,25 @@ | ||||
| // Copyright (C) 2022 Igalia, S.L. All rights reserved.
 | ||||
| // This code is governed by the BSD license found in the LICENSE file.
 | ||||
| 
 | ||||
| /*--- | ||||
| esid: sec-temporal.calendar.prototype.month | ||||
| description: Unknown annotations with critical flag are rejected | ||||
| features: [Temporal] | ||||
| ---*/ | ||||
| 
 | ||||
| const invalidStrings = [ | ||||
|   "1970-01-01[!foo=bar]", | ||||
|   "1970-01-01T00:00[!foo=bar]", | ||||
|   "1970-01-01T00:00[UTC][!foo=bar]", | ||||
|   "1970-01-01T00:00[u-ca=iso8601][!foo=bar]", | ||||
|   "1970-01-01T00:00[UTC][!foo=bar][u-ca=iso8601]", | ||||
|   "1970-01-01T00:00[foo=bar][!_foo-bar0=Dont-Ignore-This-99999999999]", | ||||
| ]; | ||||
| const instance = new Temporal.Calendar("iso8601"); | ||||
| invalidStrings.forEach((arg) => { | ||||
|   assert.throws( | ||||
|     RangeError, | ||||
|     () => instance.month(arg), | ||||
|     `reject unknown annotation with critical flag: ${arg}` | ||||
|   ); | ||||
| }); | ||||
| @ -0,0 +1,25 @@ | ||||
| // Copyright (C) 2022 Igalia, S.L. All rights reserved.
 | ||||
| // This code is governed by the BSD license found in the LICENSE file.
 | ||||
| 
 | ||||
| /*--- | ||||
| esid: sec-temporal.calendar.prototype.monthcode | ||||
| description: Unknown annotations with critical flag are rejected | ||||
| features: [Temporal] | ||||
| ---*/ | ||||
| 
 | ||||
| const invalidStrings = [ | ||||
|   "1970-01-01[!foo=bar]", | ||||
|   "1970-01-01T00:00[!foo=bar]", | ||||
|   "1970-01-01T00:00[UTC][!foo=bar]", | ||||
|   "1970-01-01T00:00[u-ca=iso8601][!foo=bar]", | ||||
|   "1970-01-01T00:00[UTC][!foo=bar][u-ca=iso8601]", | ||||
|   "1970-01-01T00:00[foo=bar][!_foo-bar0=Dont-Ignore-This-99999999999]", | ||||
| ]; | ||||
| const instance = new Temporal.Calendar("iso8601"); | ||||
| invalidStrings.forEach((arg) => { | ||||
|   assert.throws( | ||||
|     RangeError, | ||||
|     () => instance.monthCode(arg), | ||||
|     `reject unknown annotation with critical flag: ${arg}` | ||||
|   ); | ||||
| }); | ||||
| @ -0,0 +1,25 @@ | ||||
| // Copyright (C) 2022 Igalia, S.L. All rights reserved.
 | ||||
| // This code is governed by the BSD license found in the LICENSE file.
 | ||||
| 
 | ||||
| /*--- | ||||
| esid: sec-temporal.calendar.prototype.monthsinyear | ||||
| description: Unknown annotations with critical flag are rejected | ||||
| features: [Temporal] | ||||
| ---*/ | ||||
| 
 | ||||
| const invalidStrings = [ | ||||
|   "1970-01-01[!foo=bar]", | ||||
|   "1970-01-01T00:00[!foo=bar]", | ||||
|   "1970-01-01T00:00[UTC][!foo=bar]", | ||||
|   "1970-01-01T00:00[u-ca=iso8601][!foo=bar]", | ||||
|   "1970-01-01T00:00[UTC][!foo=bar][u-ca=iso8601]", | ||||
|   "1970-01-01T00:00[foo=bar][!_foo-bar0=Dont-Ignore-This-99999999999]", | ||||
| ]; | ||||
| const instance = new Temporal.Calendar("iso8601"); | ||||
| invalidStrings.forEach((arg) => { | ||||
|   assert.throws( | ||||
|     RangeError, | ||||
|     () => instance.monthsInYear(arg), | ||||
|     `reject unknown annotation with critical flag: ${arg}` | ||||
|   ); | ||||
| }); | ||||
| @ -0,0 +1,25 @@ | ||||
| // Copyright (C) 2022 Igalia, S.L. All rights reserved.
 | ||||
| // This code is governed by the BSD license found in the LICENSE file.
 | ||||
| 
 | ||||
| /*--- | ||||
| esid: sec-temporal.calendar.prototype.weekofyear | ||||
| description: Unknown annotations with critical flag are rejected | ||||
| features: [Temporal] | ||||
| ---*/ | ||||
| 
 | ||||
| const invalidStrings = [ | ||||
|   "1970-01-01[!foo=bar]", | ||||
|   "1970-01-01T00:00[!foo=bar]", | ||||
|   "1970-01-01T00:00[UTC][!foo=bar]", | ||||
|   "1970-01-01T00:00[u-ca=iso8601][!foo=bar]", | ||||
|   "1970-01-01T00:00[UTC][!foo=bar][u-ca=iso8601]", | ||||
|   "1970-01-01T00:00[foo=bar][!_foo-bar0=Dont-Ignore-This-99999999999]", | ||||
| ]; | ||||
| const instance = new Temporal.Calendar("iso8601"); | ||||
| invalidStrings.forEach((arg) => { | ||||
|   assert.throws( | ||||
|     RangeError, | ||||
|     () => instance.weekOfYear(arg), | ||||
|     `reject unknown annotation with critical flag: ${arg}` | ||||
|   ); | ||||
| }); | ||||
							
								
								
									
										25
									
								
								test/built-ins/Temporal/Calendar/prototype/year/argument-string-critical-unknown-annotation.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										25
									
								
								test/built-ins/Temporal/Calendar/prototype/year/argument-string-critical-unknown-annotation.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,25 @@ | ||||
| // Copyright (C) 2022 Igalia, S.L. All rights reserved.
 | ||||
| // This code is governed by the BSD license found in the LICENSE file.
 | ||||
| 
 | ||||
| /*--- | ||||
| esid: sec-temporal.calendar.prototype.year | ||||
| description: Unknown annotations with critical flag are rejected | ||||
| features: [Temporal] | ||||
| ---*/ | ||||
| 
 | ||||
| const invalidStrings = [ | ||||
|   "1970-01-01[!foo=bar]", | ||||
|   "1970-01-01T00:00[!foo=bar]", | ||||
|   "1970-01-01T00:00[UTC][!foo=bar]", | ||||
|   "1970-01-01T00:00[u-ca=iso8601][!foo=bar]", | ||||
|   "1970-01-01T00:00[UTC][!foo=bar][u-ca=iso8601]", | ||||
|   "1970-01-01T00:00[foo=bar][!_foo-bar0=Dont-Ignore-This-99999999999]", | ||||
| ]; | ||||
| const instance = new Temporal.Calendar("iso8601"); | ||||
| invalidStrings.forEach((arg) => { | ||||
|   assert.throws( | ||||
|     RangeError, | ||||
|     () => instance.year(arg), | ||||
|     `reject unknown annotation with critical flag: ${arg}` | ||||
|   ); | ||||
| }); | ||||
| @ -0,0 +1,31 @@ | ||||
| // Copyright (C) 2022 Igalia, S.L. All rights reserved.
 | ||||
| // This code is governed by the BSD license found in the LICENSE file.
 | ||||
| 
 | ||||
| /*--- | ||||
| esid: sec-temporal.instant.compare | ||||
| description: Unknown annotations with critical flag are rejected | ||||
| features: [Temporal] | ||||
| ---*/ | ||||
| 
 | ||||
| const invalidStrings = [ | ||||
|   "1970-01-01T00:00Z[!foo=bar]", | ||||
|   "1970-01-01T00:00Z[UTC][!foo=bar]", | ||||
|   "1970-01-01T00:00Z[u-ca=iso8601][!foo=bar]", | ||||
|   "1970-01-01T00:00Z[UTC][!foo=bar][u-ca=iso8601]", | ||||
|   "1970-01-01T00:00Z[foo=bar][!_foo-bar0=Dont-Ignore-This-99999999999]", | ||||
| ]; | ||||
| 
 | ||||
| const epoch = new Temporal.Instant(0n); | ||||
| 
 | ||||
| invalidStrings.forEach((arg) => { | ||||
|   assert.throws( | ||||
|     RangeError, | ||||
|     () => Temporal.Instant.compare(arg, epoch), | ||||
|     `reject unknown annotation with critical flag: ${arg} (first argument)` | ||||
|   ); | ||||
|   assert.throws( | ||||
|     RangeError, | ||||
|     () => Temporal.Instant.compare(epoch, arg), | ||||
|     `reject unknown annotation with critical flag: ${arg} (second argument)` | ||||
|   ); | ||||
| }); | ||||
| @ -0,0 +1,24 @@ | ||||
| // Copyright (C) 2022 Igalia, S.L. All rights reserved.
 | ||||
| // This code is governed by the BSD license found in the LICENSE file.
 | ||||
| 
 | ||||
| /*--- | ||||
| esid: sec-temporal.instant.from | ||||
| description: Unknown annotations with critical flag are rejected | ||||
| features: [Temporal] | ||||
| ---*/ | ||||
| 
 | ||||
| const invalidStrings = [ | ||||
|   "1970-01-01T00:00Z[!foo=bar]", | ||||
|   "1970-01-01T00:00Z[UTC][!foo=bar]", | ||||
|   "1970-01-01T00:00Z[u-ca=iso8601][!foo=bar]", | ||||
|   "1970-01-01T00:00Z[UTC][!foo=bar][u-ca=iso8601]", | ||||
|   "1970-01-01T00:00Z[foo=bar][!_foo-bar0=Dont-Ignore-This-99999999999]", | ||||
| ]; | ||||
| 
 | ||||
| invalidStrings.forEach((arg) => { | ||||
|   assert.throws( | ||||
|     RangeError, | ||||
|     () => Temporal.Instant.from(arg), | ||||
|     `reject unknown annotation with critical flag: ${arg}` | ||||
|   ); | ||||
| }); | ||||
							
								
								
									
										24
									
								
								test/built-ins/Temporal/Instant/prototype/equals/argument-string-critical-unknown-annotation.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										24
									
								
								test/built-ins/Temporal/Instant/prototype/equals/argument-string-critical-unknown-annotation.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,24 @@ | ||||
| // Copyright (C) 2022 Igalia, S.L. All rights reserved.
 | ||||
| // This code is governed by the BSD license found in the LICENSE file.
 | ||||
| 
 | ||||
| /*--- | ||||
| esid: sec-temporal.instant.prototype.equals | ||||
| description: Unknown annotations with critical flag are rejected | ||||
| features: [Temporal] | ||||
| ---*/ | ||||
| 
 | ||||
| const invalidStrings = [ | ||||
|   "1970-01-01T00:00Z[!foo=bar]", | ||||
|   "1970-01-01T00:00Z[UTC][!foo=bar]", | ||||
|   "1970-01-01T00:00Z[u-ca=iso8601][!foo=bar]", | ||||
|   "1970-01-01T00:00Z[UTC][!foo=bar][u-ca=iso8601]", | ||||
|   "1970-01-01T00:00Z[foo=bar][!_foo-bar0=Dont-Ignore-This-99999999999]", | ||||
| ]; | ||||
| const instance = new Temporal.Instant(0n); | ||||
| invalidStrings.forEach((arg) => { | ||||
|   assert.throws( | ||||
|     RangeError, | ||||
|     () => instance.equals(arg), | ||||
|     `reject unknown annotation with critical flag: ${arg}` | ||||
|   ); | ||||
| }); | ||||
							
								
								
									
										24
									
								
								test/built-ins/Temporal/Instant/prototype/since/argument-string-critical-unknown-annotation.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										24
									
								
								test/built-ins/Temporal/Instant/prototype/since/argument-string-critical-unknown-annotation.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,24 @@ | ||||
| // Copyright (C) 2022 Igalia, S.L. All rights reserved.
 | ||||
| // This code is governed by the BSD license found in the LICENSE file.
 | ||||
| 
 | ||||
| /*--- | ||||
| esid: sec-temporal.instant.prototype.since | ||||
| description: Unknown annotations with critical flag are rejected | ||||
| features: [Temporal] | ||||
| ---*/ | ||||
| 
 | ||||
| const invalidStrings = [ | ||||
|   "1970-01-01T00:00Z[!foo=bar]", | ||||
|   "1970-01-01T00:00Z[UTC][!foo=bar]", | ||||
|   "1970-01-01T00:00Z[u-ca=iso8601][!foo=bar]", | ||||
|   "1970-01-01T00:00Z[UTC][!foo=bar][u-ca=iso8601]", | ||||
|   "1970-01-01T00:00Z[foo=bar][!_foo-bar0=Dont-Ignore-This-99999999999]", | ||||
| ]; | ||||
| const instance = new Temporal.Instant(0n); | ||||
| invalidStrings.forEach((arg) => { | ||||
|   assert.throws( | ||||
|     RangeError, | ||||
|     () => instance.since(arg), | ||||
|     `reject unknown annotation with critical flag: ${arg}` | ||||
|   ); | ||||
| }); | ||||
							
								
								
									
										24
									
								
								test/built-ins/Temporal/Instant/prototype/until/argument-string-critical-unknown-annotation.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										24
									
								
								test/built-ins/Temporal/Instant/prototype/until/argument-string-critical-unknown-annotation.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,24 @@ | ||||
| // Copyright (C) 2022 Igalia, S.L. All rights reserved.
 | ||||
| // This code is governed by the BSD license found in the LICENSE file.
 | ||||
| 
 | ||||
| /*--- | ||||
| esid: sec-temporal.instant.prototype.until | ||||
| description: Unknown annotations with critical flag are rejected | ||||
| features: [Temporal] | ||||
| ---*/ | ||||
| 
 | ||||
| const invalidStrings = [ | ||||
|   "1970-01-01T00:00Z[!foo=bar]", | ||||
|   "1970-01-01T00:00Z[UTC][!foo=bar]", | ||||
|   "1970-01-01T00:00Z[u-ca=iso8601][!foo=bar]", | ||||
|   "1970-01-01T00:00Z[UTC][!foo=bar][u-ca=iso8601]", | ||||
|   "1970-01-01T00:00Z[foo=bar][!_foo-bar0=Dont-Ignore-This-99999999999]", | ||||
| ]; | ||||
| const instance = new Temporal.Instant(0n); | ||||
| invalidStrings.forEach((arg) => { | ||||
|   assert.throws( | ||||
|     RangeError, | ||||
|     () => instance.until(arg), | ||||
|     `reject unknown annotation with critical flag: ${arg}` | ||||
|   ); | ||||
| }); | ||||
| @ -0,0 +1,30 @@ | ||||
| // Copyright (C) 2022 Igalia, S.L. All rights reserved.
 | ||||
| // This code is governed by the BSD license found in the LICENSE file.
 | ||||
| 
 | ||||
| /*--- | ||||
| esid: sec-temporal.plaindate.compare | ||||
| description: Unknown annotations with critical flag are rejected | ||||
| features: [Temporal] | ||||
| ---*/ | ||||
| 
 | ||||
| const invalidStrings = [ | ||||
|   "1970-01-01[!foo=bar]", | ||||
|   "1970-01-01T00:00[!foo=bar]", | ||||
|   "1970-01-01T00:00[UTC][!foo=bar]", | ||||
|   "1970-01-01T00:00[u-ca=iso8601][!foo=bar]", | ||||
|   "1970-01-01T00:00[UTC][!foo=bar][u-ca=iso8601]", | ||||
|   "1970-01-01T00:00[foo=bar][!_foo-bar0=Dont-Ignore-This-99999999999]", | ||||
| ]; | ||||
| 
 | ||||
| invalidStrings.forEach((arg) => { | ||||
|   assert.throws( | ||||
|     RangeError, | ||||
|     () => Temporal.PlainDate.compare(arg, new Temporal.PlainDate(1976, 11, 18)), | ||||
|     `reject unknown annotation with critical flag: ${arg} (first argument)` | ||||
|   ); | ||||
|   assert.throws( | ||||
|     RangeError, | ||||
|     () => Temporal.PlainDate.compare(new Temporal.PlainDate(1976, 11, 18), arg), | ||||
|     `reject unknown annotation with critical flag: ${arg} (second argument)` | ||||
|   ); | ||||
| }); | ||||
| @ -0,0 +1,25 @@ | ||||
| // Copyright (C) 2022 Igalia, S.L. All rights reserved.
 | ||||
| // This code is governed by the BSD license found in the LICENSE file.
 | ||||
| 
 | ||||
| /*--- | ||||
| esid: sec-temporal.plaindate.from | ||||
| description: Unknown annotations with critical flag are rejected | ||||
| features: [Temporal] | ||||
| ---*/ | ||||
| 
 | ||||
| const invalidStrings = [ | ||||
|   "1970-01-01[!foo=bar]", | ||||
|   "1970-01-01T00:00[!foo=bar]", | ||||
|   "1970-01-01T00:00[UTC][!foo=bar]", | ||||
|   "1970-01-01T00:00[u-ca=iso8601][!foo=bar]", | ||||
|   "1970-01-01T00:00[UTC][!foo=bar][u-ca=iso8601]", | ||||
|   "1970-01-01T00:00[foo=bar][!_foo-bar0=Dont-Ignore-This-99999999999]", | ||||
| ]; | ||||
| 
 | ||||
| invalidStrings.forEach((arg) => { | ||||
|   assert.throws( | ||||
|     RangeError, | ||||
|     () => Temporal.PlainDate.from(arg), | ||||
|     `reject unknown annotation with critical flag: ${arg}` | ||||
|   ); | ||||
| }); | ||||
| @ -0,0 +1,25 @@ | ||||
| // Copyright (C) 2022 Igalia, S.L. All rights reserved.
 | ||||
| // This code is governed by the BSD license found in the LICENSE file.
 | ||||
| 
 | ||||
| /*--- | ||||
| esid: sec-temporal.plaindate.prototype.equals | ||||
| description: Unknown annotations with critical flag are rejected | ||||
| features: [Temporal] | ||||
| ---*/ | ||||
| 
 | ||||
| const invalidStrings = [ | ||||
|   "1970-01-01[!foo=bar]", | ||||
|   "1970-01-01T00:00[!foo=bar]", | ||||
|   "1970-01-01T00:00[UTC][!foo=bar]", | ||||
|   "1970-01-01T00:00[u-ca=iso8601][!foo=bar]", | ||||
|   "1970-01-01T00:00[UTC][!foo=bar][u-ca=iso8601]", | ||||
|   "1970-01-01T00:00[foo=bar][!_foo-bar0=Dont-Ignore-This-99999999999]", | ||||
| ]; | ||||
| const instance = new Temporal.PlainDate(2000, 5, 2); | ||||
| invalidStrings.forEach((arg) => { | ||||
|   assert.throws( | ||||
|     RangeError, | ||||
|     () => instance.equals(arg), | ||||
|     `reject unknown annotation with critical flag: ${arg}` | ||||
|   ); | ||||
| }); | ||||
							
								
								
									
										25
									
								
								test/built-ins/Temporal/PlainDate/prototype/since/argument-string-critical-unknown-annotation.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										25
									
								
								test/built-ins/Temporal/PlainDate/prototype/since/argument-string-critical-unknown-annotation.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,25 @@ | ||||
| // Copyright (C) 2022 Igalia, S.L. All rights reserved.
 | ||||
| // This code is governed by the BSD license found in the LICENSE file.
 | ||||
| 
 | ||||
| /*--- | ||||
| esid: sec-temporal.plaindate.prototype.since | ||||
| description: Unknown annotations with critical flag are rejected | ||||
| features: [Temporal] | ||||
| ---*/ | ||||
| 
 | ||||
| const invalidStrings = [ | ||||
|   "1970-01-01[!foo=bar]", | ||||
|   "1970-01-01T00:00[!foo=bar]", | ||||
|   "1970-01-01T00:00[UTC][!foo=bar]", | ||||
|   "1970-01-01T00:00[u-ca=iso8601][!foo=bar]", | ||||
|   "1970-01-01T00:00[UTC][!foo=bar][u-ca=iso8601]", | ||||
|   "1970-01-01T00:00[foo=bar][!_foo-bar0=Dont-Ignore-This-99999999999]", | ||||
| ]; | ||||
| const instance = new Temporal.PlainDate(2000, 5, 2); | ||||
| invalidStrings.forEach((arg) => { | ||||
|   assert.throws( | ||||
|     RangeError, | ||||
|     () => instance.since(arg), | ||||
|     `reject unknown annotation with critical flag: ${arg}` | ||||
|   ); | ||||
| }); | ||||
| @ -0,0 +1,26 @@ | ||||
| // Copyright (C) 2022 Igalia, S.L. All rights reserved.
 | ||||
| // This code is governed by the BSD license found in the LICENSE file.
 | ||||
| 
 | ||||
| /*--- | ||||
| esid: sec-temporal.plaindate.prototype.toplaindatetime | ||||
| description: Unknown annotations with critical flag are rejected | ||||
| features: [Temporal] | ||||
| ---*/ | ||||
| 
 | ||||
| const invalidStrings = [ | ||||
|   "00:00[!foo=bar]", | ||||
|   "T00:00[!foo=bar]", | ||||
|   "1970-01-01T00:00[!foo=bar]", | ||||
|   "1970-01-01T00:00[UTC][!foo=bar]", | ||||
|   "1970-01-01T00:00[u-ca=iso8601][!foo=bar]", | ||||
|   "1970-01-01T00:00[UTC][!foo=bar][u-ca=iso8601]", | ||||
|   "1970-01-01T00:00[foo=bar][!_foo-bar0=Dont-Ignore-This-99999999999]", | ||||
| ]; | ||||
| const instance = new Temporal.PlainDate(2000, 5, 2); | ||||
| invalidStrings.forEach((arg) => { | ||||
|   assert.throws( | ||||
|     RangeError, | ||||
|     () => instance.toPlainDateTime(arg), | ||||
|     `reject unknown annotation with critical flag: ${arg}` | ||||
|   ); | ||||
| }); | ||||
| @ -0,0 +1,26 @@ | ||||
| // Copyright (C) 2022 Igalia, S.L. All rights reserved.
 | ||||
| // This code is governed by the BSD license found in the LICENSE file.
 | ||||
| 
 | ||||
| /*--- | ||||
| esid: sec-temporal.plaindate.prototype.tozoneddatetime | ||||
| description: Unknown annotations with critical flag are rejected | ||||
| features: [Temporal] | ||||
| ---*/ | ||||
| 
 | ||||
| const invalidStrings = [ | ||||
|   "00:00[!foo=bar]", | ||||
|   "T00:00[!foo=bar]", | ||||
|   "1970-01-01T00:00[!foo=bar]", | ||||
|   "1970-01-01T00:00[UTC][!foo=bar]", | ||||
|   "1970-01-01T00:00[u-ca=iso8601][!foo=bar]", | ||||
|   "1970-01-01T00:00[UTC][!foo=bar][u-ca=iso8601]", | ||||
|   "1970-01-01T00:00[foo=bar][!_foo-bar0=Dont-Ignore-This-99999999999]", | ||||
| ]; | ||||
| const instance = new Temporal.PlainDate(2000, 5, 2); | ||||
| invalidStrings.forEach((arg) => { | ||||
|   assert.throws( | ||||
|     RangeError, | ||||
|     () => instance.toZonedDateTime({ plainTime: arg, timeZone: "UTC" }), | ||||
|     `reject unknown annotation with critical flag: ${arg}` | ||||
|   ); | ||||
| }); | ||||
							
								
								
									
										25
									
								
								test/built-ins/Temporal/PlainDate/prototype/until/argument-string-critical-unknown-annotation.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										25
									
								
								test/built-ins/Temporal/PlainDate/prototype/until/argument-string-critical-unknown-annotation.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,25 @@ | ||||
| // Copyright (C) 2022 Igalia, S.L. All rights reserved.
 | ||||
| // This code is governed by the BSD license found in the LICENSE file.
 | ||||
| 
 | ||||
| /*--- | ||||
| esid: sec-temporal.plaindate.prototype.until | ||||
| description: Unknown annotations with critical flag are rejected | ||||
| features: [Temporal] | ||||
| ---*/ | ||||
| 
 | ||||
| const invalidStrings = [ | ||||
|   "1970-01-01[!foo=bar]", | ||||
|   "1970-01-01T00:00[!foo=bar]", | ||||
|   "1970-01-01T00:00[UTC][!foo=bar]", | ||||
|   "1970-01-01T00:00[u-ca=iso8601][!foo=bar]", | ||||
|   "1970-01-01T00:00[UTC][!foo=bar][u-ca=iso8601]", | ||||
|   "1970-01-01T00:00[foo=bar][!_foo-bar0=Dont-Ignore-This-99999999999]", | ||||
| ]; | ||||
| const instance = new Temporal.PlainDate(2000, 5, 2); | ||||
| invalidStrings.forEach((arg) => { | ||||
|   assert.throws( | ||||
|     RangeError, | ||||
|     () => instance.until(arg), | ||||
|     `reject unknown annotation with critical flag: ${arg}` | ||||
|   ); | ||||
| }); | ||||
| @ -0,0 +1,29 @@ | ||||
| // Copyright (C) 2022 Igalia, S.L. All rights reserved.
 | ||||
| // This code is governed by the BSD license found in the LICENSE file.
 | ||||
| 
 | ||||
| /*--- | ||||
| esid: sec-temporal.plaindatetime.compare | ||||
| description: Unknown annotations with critical flag are rejected | ||||
| features: [Temporal] | ||||
| ---*/ | ||||
| 
 | ||||
| const invalidStrings = [ | ||||
|   "1970-01-01T00:00[!foo=bar]", | ||||
|   "1970-01-01T00:00[UTC][!foo=bar]", | ||||
|   "1970-01-01T00:00[u-ca=iso8601][!foo=bar]", | ||||
|   "1970-01-01T00:00[UTC][!foo=bar][u-ca=iso8601]", | ||||
|   "1970-01-01T00:00[foo=bar][!_foo-bar0=Dont-Ignore-This-99999999999]", | ||||
| ]; | ||||
| 
 | ||||
| invalidStrings.forEach((arg) => { | ||||
|   assert.throws( | ||||
|     RangeError, | ||||
|     () => Temporal.PlainDateTime.compare(arg, new Temporal.PlainDateTime(1976, 11, 18)), | ||||
|     `reject unknown annotation with critical flag: ${arg} (first argument)` | ||||
|   ); | ||||
|   assert.throws( | ||||
|     RangeError, | ||||
|     () => Temporal.PlainDateTime.compare(new Temporal.PlainDateTime(1976, 11, 18), arg), | ||||
|     `reject unknown annotation with critical flag: ${arg} (second argument)` | ||||
|   ); | ||||
| }); | ||||
| @ -0,0 +1,24 @@ | ||||
| // Copyright (C) 2022 Igalia, S.L. All rights reserved.
 | ||||
| // This code is governed by the BSD license found in the LICENSE file.
 | ||||
| 
 | ||||
| /*--- | ||||
| esid: sec-temporal.plaindatetime.from | ||||
| description: Unknown annotations with critical flag are rejected | ||||
| features: [Temporal] | ||||
| ---*/ | ||||
| 
 | ||||
| const invalidStrings = [ | ||||
|   "1970-01-01T00:00[!foo=bar]", | ||||
|   "1970-01-01T00:00[UTC][!foo=bar]", | ||||
|   "1970-01-01T00:00[u-ca=iso8601][!foo=bar]", | ||||
|   "1970-01-01T00:00[UTC][!foo=bar][u-ca=iso8601]", | ||||
|   "1970-01-01T00:00[foo=bar][!_foo-bar0=Dont-Ignore-This-99999999999]", | ||||
| ]; | ||||
| 
 | ||||
| invalidStrings.forEach((arg) => { | ||||
|   assert.throws( | ||||
|     RangeError, | ||||
|     () => Temporal.PlainDateTime.from(arg), | ||||
|     `reject unknown annotation with critical flag: ${arg}` | ||||
|   ); | ||||
| }); | ||||
| @ -0,0 +1,24 @@ | ||||
| // Copyright (C) 2022 Igalia, S.L. All rights reserved.
 | ||||
| // This code is governed by the BSD license found in the LICENSE file.
 | ||||
| 
 | ||||
| /*--- | ||||
| esid: sec-temporal.plaindatetime.prototype.equals | ||||
| description: Unknown annotations with critical flag are rejected | ||||
| features: [Temporal] | ||||
| ---*/ | ||||
| 
 | ||||
| const invalidStrings = [ | ||||
|   "1970-01-01T00:00[!foo=bar]", | ||||
|   "1970-01-01T00:00[UTC][!foo=bar]", | ||||
|   "1970-01-01T00:00[u-ca=iso8601][!foo=bar]", | ||||
|   "1970-01-01T00:00[UTC][!foo=bar][u-ca=iso8601]", | ||||
|   "1970-01-01T00:00[foo=bar][!_foo-bar0=Dont-Ignore-This-99999999999]", | ||||
| ]; | ||||
| const instance = new Temporal.PlainDateTime(2000, 5, 2, 12, 34, 56, 987, 654, 321); | ||||
| invalidStrings.forEach((arg) => { | ||||
|   assert.throws( | ||||
|     RangeError, | ||||
|     () => instance.equals(arg), | ||||
|     `reject unknown annotation with critical flag: ${arg}` | ||||
|   ); | ||||
| }); | ||||
| @ -0,0 +1,24 @@ | ||||
| // Copyright (C) 2022 Igalia, S.L. All rights reserved.
 | ||||
| // This code is governed by the BSD license found in the LICENSE file.
 | ||||
| 
 | ||||
| /*--- | ||||
| esid: sec-temporal.plaindatetime.prototype.since | ||||
| description: Unknown annotations with critical flag are rejected | ||||
| features: [Temporal] | ||||
| ---*/ | ||||
| 
 | ||||
| const invalidStrings = [ | ||||
|   "1970-01-01T00:00[!foo=bar]", | ||||
|   "1970-01-01T00:00[UTC][!foo=bar]", | ||||
|   "1970-01-01T00:00[u-ca=iso8601][!foo=bar]", | ||||
|   "1970-01-01T00:00[UTC][!foo=bar][u-ca=iso8601]", | ||||
|   "1970-01-01T00:00[foo=bar][!_foo-bar0=Dont-Ignore-This-99999999999]", | ||||
| ]; | ||||
| const instance = new Temporal.PlainDateTime(2000, 5, 2, 12, 34, 56, 987, 654, 321); | ||||
| invalidStrings.forEach((arg) => { | ||||
|   assert.throws( | ||||
|     RangeError, | ||||
|     () => instance.since(arg), | ||||
|     `reject unknown annotation with critical flag: ${arg}` | ||||
|   ); | ||||
| }); | ||||
| @ -0,0 +1,24 @@ | ||||
| // Copyright (C) 2022 Igalia, S.L. All rights reserved.
 | ||||
| // This code is governed by the BSD license found in the LICENSE file.
 | ||||
| 
 | ||||
| /*--- | ||||
| esid: sec-temporal.plaindatetime.prototype.until | ||||
| description: Unknown annotations with critical flag are rejected | ||||
| features: [Temporal] | ||||
| ---*/ | ||||
| 
 | ||||
| const invalidStrings = [ | ||||
|   "1970-01-01T00:00[!foo=bar]", | ||||
|   "1970-01-01T00:00[UTC][!foo=bar]", | ||||
|   "1970-01-01T00:00[u-ca=iso8601][!foo=bar]", | ||||
|   "1970-01-01T00:00[UTC][!foo=bar][u-ca=iso8601]", | ||||
|   "1970-01-01T00:00[foo=bar][!_foo-bar0=Dont-Ignore-This-99999999999]", | ||||
| ]; | ||||
| const instance = new Temporal.PlainDateTime(2000, 5, 2, 12, 34, 56, 987, 654, 321); | ||||
| invalidStrings.forEach((arg) => { | ||||
|   assert.throws( | ||||
|     RangeError, | ||||
|     () => instance.until(arg), | ||||
|     `reject unknown annotation with critical flag: ${arg}` | ||||
|   ); | ||||
| }); | ||||
| @ -0,0 +1,25 @@ | ||||
| // Copyright (C) 2022 Igalia, S.L. All rights reserved.
 | ||||
| // This code is governed by the BSD license found in the LICENSE file.
 | ||||
| 
 | ||||
| /*--- | ||||
| esid: sec-temporal.plaindatetime.prototype.withplaindate | ||||
| description: Unknown annotations with critical flag are rejected | ||||
| features: [Temporal] | ||||
| ---*/ | ||||
| 
 | ||||
| const invalidStrings = [ | ||||
|   "1970-01-01[!foo=bar]", | ||||
|   "1970-01-01T00:00[!foo=bar]", | ||||
|   "1970-01-01T00:00[UTC][!foo=bar]", | ||||
|   "1970-01-01T00:00[u-ca=iso8601][!foo=bar]", | ||||
|   "1970-01-01T00:00[UTC][!foo=bar][u-ca=iso8601]", | ||||
|   "1970-01-01T00:00[foo=bar][!_foo-bar0=Dont-Ignore-This-99999999999]", | ||||
| ]; | ||||
| const instance = new Temporal.PlainDateTime(2000, 5, 2, 12, 34, 56, 987, 654, 321); | ||||
| invalidStrings.forEach((arg) => { | ||||
|   assert.throws( | ||||
|     RangeError, | ||||
|     () => instance.withPlainDate(arg), | ||||
|     `reject unknown annotation with critical flag: ${arg}` | ||||
|   ); | ||||
| }); | ||||
| @ -0,0 +1,26 @@ | ||||
| // Copyright (C) 2022 Igalia, S.L. All rights reserved.
 | ||||
| // This code is governed by the BSD license found in the LICENSE file.
 | ||||
| 
 | ||||
| /*--- | ||||
| esid: sec-temporal.plaindatetime.prototype.withplaintime | ||||
| description: Unknown annotations with critical flag are rejected | ||||
| features: [Temporal] | ||||
| ---*/ | ||||
| 
 | ||||
| const invalidStrings = [ | ||||
|   "00:00[!foo=bar]", | ||||
|   "T00:00[!foo=bar]", | ||||
|   "1970-01-01T00:00[!foo=bar]", | ||||
|   "1970-01-01T00:00[UTC][!foo=bar]", | ||||
|   "1970-01-01T00:00[u-ca=iso8601][!foo=bar]", | ||||
|   "1970-01-01T00:00[UTC][!foo=bar][u-ca=iso8601]", | ||||
|   "1970-01-01T00:00[foo=bar][!_foo-bar0=Dont-Ignore-This-99999999999]", | ||||
| ]; | ||||
| const instance = new Temporal.PlainDateTime(2000, 5, 2, 12, 34, 56, 987, 654, 321); | ||||
| invalidStrings.forEach((arg) => { | ||||
|   assert.throws( | ||||
|     RangeError, | ||||
|     () => instance.withPlainTime(arg), | ||||
|     `reject unknown annotation with critical flag: ${arg}` | ||||
|   ); | ||||
| }); | ||||
| @ -0,0 +1,24 @@ | ||||
| // Copyright (C) 2022 Igalia, S.L. All rights reserved.
 | ||||
| // This code is governed by the BSD license found in the LICENSE file.
 | ||||
| 
 | ||||
| /*--- | ||||
| esid: sec-temporal.plainmonthday.from | ||||
| description: Unknown annotations with critical flag are rejected | ||||
| features: [Temporal] | ||||
| ---*/ | ||||
| 
 | ||||
| const invalidStrings = [ | ||||
|   "1970-01-01T00:00[!foo=bar]", | ||||
|   "1970-01-01T00:00[UTC][!foo=bar]", | ||||
|   "1970-01-01T00:00[u-ca=iso8601][!foo=bar]", | ||||
|   "1970-01-01T00:00[UTC][!foo=bar][u-ca=iso8601]", | ||||
|   "1970-01-01T00:00[foo=bar][!_foo-bar0=Dont-Ignore-This-99999999999]", | ||||
| ]; | ||||
| 
 | ||||
| invalidStrings.forEach((arg) => { | ||||
|   assert.throws( | ||||
|     RangeError, | ||||
|     () => Temporal.PlainMonthDay.from(arg), | ||||
|     `reject unknown annotation with critical flag: ${arg}` | ||||
|   ); | ||||
| }); | ||||
| @ -0,0 +1,24 @@ | ||||
| // Copyright (C) 2022 Igalia, S.L. All rights reserved.
 | ||||
| // This code is governed by the BSD license found in the LICENSE file.
 | ||||
| 
 | ||||
| /*--- | ||||
| esid: sec-temporal.plainmonthday.prototype.equals | ||||
| description: Unknown annotations with critical flag are rejected | ||||
| features: [Temporal] | ||||
| ---*/ | ||||
| 
 | ||||
| const invalidStrings = [ | ||||
|   "1970-01-01T00:00[!foo=bar]", | ||||
|   "1970-01-01T00:00[UTC][!foo=bar]", | ||||
|   "1970-01-01T00:00[u-ca=iso8601][!foo=bar]", | ||||
|   "1970-01-01T00:00[UTC][!foo=bar][u-ca=iso8601]", | ||||
|   "1970-01-01T00:00[foo=bar][!_foo-bar0=Dont-Ignore-This-99999999999]", | ||||
| ]; | ||||
| const instance = new Temporal.PlainMonthDay(5, 2); | ||||
| invalidStrings.forEach((arg) => { | ||||
|   assert.throws( | ||||
|     RangeError, | ||||
|     () => instance.equals(arg), | ||||
|     `reject unknown annotation with critical flag: ${arg}` | ||||
|   ); | ||||
| }); | ||||
| @ -0,0 +1,31 @@ | ||||
| // Copyright (C) 2022 Igalia, S.L. All rights reserved.
 | ||||
| // This code is governed by the BSD license found in the LICENSE file.
 | ||||
| 
 | ||||
| /*--- | ||||
| esid: sec-temporal.plaintime.compare | ||||
| description: Unknown annotations with critical flag are rejected | ||||
| features: [Temporal] | ||||
| ---*/ | ||||
| 
 | ||||
| const invalidStrings = [ | ||||
|   "00:00[!foo=bar]", | ||||
|   "T00:00[!foo=bar]", | ||||
|   "1970-01-01T00:00[!foo=bar]", | ||||
|   "1970-01-01T00:00[UTC][!foo=bar]", | ||||
|   "1970-01-01T00:00[u-ca=iso8601][!foo=bar]", | ||||
|   "1970-01-01T00:00[UTC][!foo=bar][u-ca=iso8601]", | ||||
|   "1970-01-01T00:00[foo=bar][!_foo-bar0=Dont-Ignore-This-99999999999]", | ||||
| ]; | ||||
| 
 | ||||
| invalidStrings.forEach((arg) => { | ||||
|   assert.throws( | ||||
|     RangeError, | ||||
|     () => Temporal.PlainTime.compare(arg, new Temporal.PlainTime(12, 34, 56, 987, 654, 321)), | ||||
|     `reject unknown annotation with critical flag: ${arg} (first argument)` | ||||
|   ); | ||||
|   assert.throws( | ||||
|     RangeError, | ||||
|     () => Temporal.PlainTime.compare(new Temporal.PlainTime(12, 34, 56, 987, 654, 321), arg), | ||||
|     `reject unknown annotation with critical flag: ${arg} (second argument)` | ||||
|   ); | ||||
| }); | ||||
| @ -0,0 +1,26 @@ | ||||
| // Copyright (C) 2022 Igalia, S.L. All rights reserved.
 | ||||
| // This code is governed by the BSD license found in the LICENSE file.
 | ||||
| 
 | ||||
| /*--- | ||||
| esid: sec-temporal.plaintime.from | ||||
| description: Unknown annotations with critical flag are rejected | ||||
| features: [Temporal] | ||||
| ---*/ | ||||
| 
 | ||||
| const invalidStrings = [ | ||||
|   "00:00[!foo=bar]", | ||||
|   "T00:00[!foo=bar]", | ||||
|   "1970-01-01T00:00[!foo=bar]", | ||||
|   "1970-01-01T00:00[UTC][!foo=bar]", | ||||
|   "1970-01-01T00:00[u-ca=iso8601][!foo=bar]", | ||||
|   "1970-01-01T00:00[UTC][!foo=bar][u-ca=iso8601]", | ||||
|   "1970-01-01T00:00[foo=bar][!_foo-bar0=Dont-Ignore-This-99999999999]", | ||||
| ]; | ||||
| 
 | ||||
| invalidStrings.forEach((arg) => { | ||||
|   assert.throws( | ||||
|     RangeError, | ||||
|     () => Temporal.PlainTime.from(arg), | ||||
|     `reject unknown annotation with critical flag: ${arg}` | ||||
|   ); | ||||
| }); | ||||
| @ -0,0 +1,26 @@ | ||||
| // Copyright (C) 2022 Igalia, S.L. All rights reserved.
 | ||||
| // This code is governed by the BSD license found in the LICENSE file.
 | ||||
| 
 | ||||
| /*--- | ||||
| esid: sec-temporal.plaintime.prototype.equals | ||||
| description: Unknown annotations with critical flag are rejected | ||||
| features: [Temporal] | ||||
| ---*/ | ||||
| 
 | ||||
| const invalidStrings = [ | ||||
|   "00:00[!foo=bar]", | ||||
|   "T00:00[!foo=bar]", | ||||
|   "1970-01-01T00:00[!foo=bar]", | ||||
|   "1970-01-01T00:00[UTC][!foo=bar]", | ||||
|   "1970-01-01T00:00[u-ca=iso8601][!foo=bar]", | ||||
|   "1970-01-01T00:00[UTC][!foo=bar][u-ca=iso8601]", | ||||
|   "1970-01-01T00:00[foo=bar][!_foo-bar0=Dont-Ignore-This-99999999999]", | ||||
| ]; | ||||
| const instance = new Temporal.PlainTime(12, 34, 56, 987, 654, 321); | ||||
| invalidStrings.forEach((arg) => { | ||||
|   assert.throws( | ||||
|     RangeError, | ||||
|     () => instance.equals(arg), | ||||
|     `reject unknown annotation with critical flag: ${arg}` | ||||
|   ); | ||||
| }); | ||||
							
								
								
									
										26
									
								
								test/built-ins/Temporal/PlainTime/prototype/since/argument-string-critical-unknown-annotation.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										26
									
								
								test/built-ins/Temporal/PlainTime/prototype/since/argument-string-critical-unknown-annotation.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,26 @@ | ||||
| // Copyright (C) 2022 Igalia, S.L. All rights reserved.
 | ||||
| // This code is governed by the BSD license found in the LICENSE file.
 | ||||
| 
 | ||||
| /*--- | ||||
| esid: sec-temporal.plaintime.prototype.since | ||||
| description: Unknown annotations with critical flag are rejected | ||||
| features: [Temporal] | ||||
| ---*/ | ||||
| 
 | ||||
| const invalidStrings = [ | ||||
|   "00:00[!foo=bar]", | ||||
|   "T00:00[!foo=bar]", | ||||
|   "1970-01-01T00:00[!foo=bar]", | ||||
|   "1970-01-01T00:00[UTC][!foo=bar]", | ||||
|   "1970-01-01T00:00[u-ca=iso8601][!foo=bar]", | ||||
|   "1970-01-01T00:00[UTC][!foo=bar][u-ca=iso8601]", | ||||
|   "1970-01-01T00:00[foo=bar][!_foo-bar0=Dont-Ignore-This-99999999999]", | ||||
| ]; | ||||
| const instance = new Temporal.PlainTime(12, 34, 56, 987, 654, 321); | ||||
| invalidStrings.forEach((arg) => { | ||||
|   assert.throws( | ||||
|     RangeError, | ||||
|     () => instance.since(arg), | ||||
|     `reject unknown annotation with critical flag: ${arg}` | ||||
|   ); | ||||
| }); | ||||
| @ -0,0 +1,25 @@ | ||||
| // Copyright (C) 2022 Igalia, S.L. All rights reserved.
 | ||||
| // This code is governed by the BSD license found in the LICENSE file.
 | ||||
| 
 | ||||
| /*--- | ||||
| esid: sec-temporal.plaintime.prototype.toplaindatetime | ||||
| description: Unknown annotations with critical flag are rejected | ||||
| features: [Temporal] | ||||
| ---*/ | ||||
| 
 | ||||
| const invalidStrings = [ | ||||
|   "1970-01-01[!foo=bar]", | ||||
|   "1970-01-01T00:00[!foo=bar]", | ||||
|   "1970-01-01T00:00[UTC][!foo=bar]", | ||||
|   "1970-01-01T00:00[u-ca=iso8601][!foo=bar]", | ||||
|   "1970-01-01T00:00[UTC][!foo=bar][u-ca=iso8601]", | ||||
|   "1970-01-01T00:00[foo=bar][!_foo-bar0=Dont-Ignore-This-99999999999]", | ||||
| ]; | ||||
| const instance = new Temporal.PlainTime(12, 34, 56, 987, 654, 321); | ||||
| invalidStrings.forEach((arg) => { | ||||
|   assert.throws( | ||||
|     RangeError, | ||||
|     () => instance.toPlainDateTime(arg), | ||||
|     `reject unknown annotation with critical flag: ${arg}` | ||||
|   ); | ||||
| }); | ||||
| @ -0,0 +1,25 @@ | ||||
| // Copyright (C) 2022 Igalia, S.L. All rights reserved.
 | ||||
| // This code is governed by the BSD license found in the LICENSE file.
 | ||||
| 
 | ||||
| /*--- | ||||
| esid: sec-temporal.plaintime.prototype.tozoneddatetime | ||||
| description: Unknown annotations with critical flag are rejected | ||||
| features: [Temporal] | ||||
| ---*/ | ||||
| 
 | ||||
| const invalidStrings = [ | ||||
|   "1970-01-01[!foo=bar]", | ||||
|   "1970-01-01T00:00[!foo=bar]", | ||||
|   "1970-01-01T00:00[UTC][!foo=bar]", | ||||
|   "1970-01-01T00:00[u-ca=iso8601][!foo=bar]", | ||||
|   "1970-01-01T00:00[UTC][!foo=bar][u-ca=iso8601]", | ||||
|   "1970-01-01T00:00[foo=bar][!_foo-bar0=Dont-Ignore-This-99999999999]", | ||||
| ]; | ||||
| const instance = new Temporal.PlainTime(12, 34, 56, 987, 654, 321); | ||||
| invalidStrings.forEach((arg) => { | ||||
|   assert.throws( | ||||
|     RangeError, | ||||
|     () => instance.toZonedDateTime({ plainDate: arg, timeZone: "UTC" }), | ||||
|     `reject unknown annotation with critical flag: ${arg}` | ||||
|   ); | ||||
| }); | ||||
							
								
								
									
										26
									
								
								test/built-ins/Temporal/PlainTime/prototype/until/argument-string-critical-unknown-annotation.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										26
									
								
								test/built-ins/Temporal/PlainTime/prototype/until/argument-string-critical-unknown-annotation.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,26 @@ | ||||
| // Copyright (C) 2022 Igalia, S.L. All rights reserved.
 | ||||
| // This code is governed by the BSD license found in the LICENSE file.
 | ||||
| 
 | ||||
| /*--- | ||||
| esid: sec-temporal.plaintime.prototype.until | ||||
| description: Unknown annotations with critical flag are rejected | ||||
| features: [Temporal] | ||||
| ---*/ | ||||
| 
 | ||||
| const invalidStrings = [ | ||||
|   "00:00[!foo=bar]", | ||||
|   "T00:00[!foo=bar]", | ||||
|   "1970-01-01T00:00[!foo=bar]", | ||||
|   "1970-01-01T00:00[UTC][!foo=bar]", | ||||
|   "1970-01-01T00:00[u-ca=iso8601][!foo=bar]", | ||||
|   "1970-01-01T00:00[UTC][!foo=bar][u-ca=iso8601]", | ||||
|   "1970-01-01T00:00[foo=bar][!_foo-bar0=Dont-Ignore-This-99999999999]", | ||||
| ]; | ||||
| const instance = new Temporal.PlainTime(12, 34, 56, 987, 654, 321); | ||||
| invalidStrings.forEach((arg) => { | ||||
|   assert.throws( | ||||
|     RangeError, | ||||
|     () => instance.until(arg), | ||||
|     `reject unknown annotation with critical flag: ${arg}` | ||||
|   ); | ||||
| }); | ||||
| @ -0,0 +1,29 @@ | ||||
| // Copyright (C) 2022 Igalia, S.L. All rights reserved.
 | ||||
| // This code is governed by the BSD license found in the LICENSE file.
 | ||||
| 
 | ||||
| /*--- | ||||
| esid: sec-temporal.plainyearmonth.compare | ||||
| description: Unknown annotations with critical flag are rejected | ||||
| features: [Temporal] | ||||
| ---*/ | ||||
| 
 | ||||
| const invalidStrings = [ | ||||
|   "1970-01-01T00:00[!foo=bar]", | ||||
|   "1970-01-01T00:00[UTC][!foo=bar]", | ||||
|   "1970-01-01T00:00[u-ca=iso8601][!foo=bar]", | ||||
|   "1970-01-01T00:00[UTC][!foo=bar][u-ca=iso8601]", | ||||
|   "1970-01-01T00:00[foo=bar][!_foo-bar0=Dont-Ignore-This-99999999999]", | ||||
| ]; | ||||
| 
 | ||||
| invalidStrings.forEach((arg) => { | ||||
|   assert.throws( | ||||
|     RangeError, | ||||
|     () => Temporal.PlainYearMonth.compare(arg, new Temporal.PlainYearMonth(2019, 6)), | ||||
|     `reject unknown annotation with critical flag: ${arg} (first argument)` | ||||
|   ); | ||||
|   assert.throws( | ||||
|     RangeError, | ||||
|     () => Temporal.PlainYearMonth.compare(new Temporal.PlainYearMonth(2019, 6), arg), | ||||
|     `reject unknown annotation with critical flag: ${arg} (second argument)` | ||||
|   ); | ||||
| }); | ||||
| @ -0,0 +1,24 @@ | ||||
| // Copyright (C) 2022 Igalia, S.L. All rights reserved.
 | ||||
| // This code is governed by the BSD license found in the LICENSE file.
 | ||||
| 
 | ||||
| /*--- | ||||
| esid: sec-temporal.plainyearmonth.from | ||||
| description: Unknown annotations with critical flag are rejected | ||||
| features: [Temporal] | ||||
| ---*/ | ||||
| 
 | ||||
| const invalidStrings = [ | ||||
|   "1970-01-01T00:00[!foo=bar]", | ||||
|   "1970-01-01T00:00[UTC][!foo=bar]", | ||||
|   "1970-01-01T00:00[u-ca=iso8601][!foo=bar]", | ||||
|   "1970-01-01T00:00[UTC][!foo=bar][u-ca=iso8601]", | ||||
|   "1970-01-01T00:00[foo=bar][!_foo-bar0=Dont-Ignore-This-99999999999]", | ||||
| ]; | ||||
| 
 | ||||
| invalidStrings.forEach((arg) => { | ||||
|   assert.throws( | ||||
|     RangeError, | ||||
|     () => Temporal.PlainYearMonth.from(arg), | ||||
|     `reject unknown annotation with critical flag: ${arg}` | ||||
|   ); | ||||
| }); | ||||
| @ -0,0 +1,24 @@ | ||||
| // Copyright (C) 2022 Igalia, S.L. All rights reserved.
 | ||||
| // This code is governed by the BSD license found in the LICENSE file.
 | ||||
| 
 | ||||
| /*--- | ||||
| esid: sec-temporal.plainyearmonth.prototype.equals | ||||
| description: Unknown annotations with critical flag are rejected | ||||
| features: [Temporal] | ||||
| ---*/ | ||||
| 
 | ||||
| const invalidStrings = [ | ||||
|   "1970-01-01T00:00[!foo=bar]", | ||||
|   "1970-01-01T00:00[UTC][!foo=bar]", | ||||
|   "1970-01-01T00:00[u-ca=iso8601][!foo=bar]", | ||||
|   "1970-01-01T00:00[UTC][!foo=bar][u-ca=iso8601]", | ||||
|   "1970-01-01T00:00[foo=bar][!_foo-bar0=Dont-Ignore-This-99999999999]", | ||||
| ]; | ||||
| const instance = new Temporal.PlainYearMonth(2000, 5); | ||||
| invalidStrings.forEach((arg) => { | ||||
|   assert.throws( | ||||
|     RangeError, | ||||
|     () => instance.equals(arg), | ||||
|     `reject unknown annotation with critical flag: ${arg}` | ||||
|   ); | ||||
| }); | ||||
| @ -0,0 +1,24 @@ | ||||
| // Copyright (C) 2022 Igalia, S.L. All rights reserved.
 | ||||
| // This code is governed by the BSD license found in the LICENSE file.
 | ||||
| 
 | ||||
| /*--- | ||||
| esid: sec-temporal.plainyearmonth.prototype.since | ||||
| description: Unknown annotations with critical flag are rejected | ||||
| features: [Temporal] | ||||
| ---*/ | ||||
| 
 | ||||
| const invalidStrings = [ | ||||
|   "1970-01-01T00:00[!foo=bar]", | ||||
|   "1970-01-01T00:00[UTC][!foo=bar]", | ||||
|   "1970-01-01T00:00[u-ca=iso8601][!foo=bar]", | ||||
|   "1970-01-01T00:00[UTC][!foo=bar][u-ca=iso8601]", | ||||
|   "1970-01-01T00:00[foo=bar][!_foo-bar0=Dont-Ignore-This-99999999999]", | ||||
| ]; | ||||
| const instance = new Temporal.PlainYearMonth(2000, 5); | ||||
| invalidStrings.forEach((arg) => { | ||||
|   assert.throws( | ||||
|     RangeError, | ||||
|     () => instance.since(arg), | ||||
|     `reject unknown annotation with critical flag: ${arg}` | ||||
|   ); | ||||
| }); | ||||
| @ -0,0 +1,24 @@ | ||||
| // Copyright (C) 2022 Igalia, S.L. All rights reserved.
 | ||||
| // This code is governed by the BSD license found in the LICENSE file.
 | ||||
| 
 | ||||
| /*--- | ||||
| esid: sec-temporal.plainyearmonth.prototype.until | ||||
| description: Unknown annotations with critical flag are rejected | ||||
| features: [Temporal] | ||||
| ---*/ | ||||
| 
 | ||||
| const invalidStrings = [ | ||||
|   "1970-01-01T00:00[!foo=bar]", | ||||
|   "1970-01-01T00:00[UTC][!foo=bar]", | ||||
|   "1970-01-01T00:00[u-ca=iso8601][!foo=bar]", | ||||
|   "1970-01-01T00:00[UTC][!foo=bar][u-ca=iso8601]", | ||||
|   "1970-01-01T00:00[foo=bar][!_foo-bar0=Dont-Ignore-This-99999999999]", | ||||
| ]; | ||||
| const instance = new Temporal.PlainYearMonth(2000, 5); | ||||
| invalidStrings.forEach((arg) => { | ||||
|   assert.throws( | ||||
|     RangeError, | ||||
|     () => instance.until(arg), | ||||
|     `reject unknown annotation with critical flag: ${arg}` | ||||
|   ); | ||||
| }); | ||||
| @ -0,0 +1,24 @@ | ||||
| // Copyright (C) 2022 Igalia, S.L. All rights reserved.
 | ||||
| // This code is governed by the BSD license found in the LICENSE file.
 | ||||
| 
 | ||||
| /*--- | ||||
| esid: sec-temporal.timezone.prototype.getinstantfor | ||||
| description: Unknown annotations with critical flag are rejected | ||||
| features: [Temporal] | ||||
| ---*/ | ||||
| 
 | ||||
| const invalidStrings = [ | ||||
|   "1970-01-01T00:00[!foo=bar]", | ||||
|   "1970-01-01T00:00[UTC][!foo=bar]", | ||||
|   "1970-01-01T00:00[u-ca=iso8601][!foo=bar]", | ||||
|   "1970-01-01T00:00[UTC][!foo=bar][u-ca=iso8601]", | ||||
|   "1970-01-01T00:00[foo=bar][!_foo-bar0=Dont-Ignore-This-99999999999]", | ||||
| ]; | ||||
| const instance = new Temporal.TimeZone("UTC"); | ||||
| invalidStrings.forEach((arg) => { | ||||
|   assert.throws( | ||||
|     RangeError, | ||||
|     () => instance.getInstantFor(arg), | ||||
|     `reject unknown annotation with critical flag: ${arg}` | ||||
|   ); | ||||
| }); | ||||
| @ -0,0 +1,24 @@ | ||||
| // Copyright (C) 2022 Igalia, S.L. All rights reserved.
 | ||||
| // This code is governed by the BSD license found in the LICENSE file.
 | ||||
| 
 | ||||
| /*--- | ||||
| esid: sec-temporal.timezone.prototype.getnexttransition | ||||
| description: Unknown annotations with critical flag are rejected | ||||
| features: [Temporal] | ||||
| ---*/ | ||||
| 
 | ||||
| const invalidStrings = [ | ||||
|   "1970-01-01T00:00Z[!foo=bar]", | ||||
|   "1970-01-01T00:00Z[UTC][!foo=bar]", | ||||
|   "1970-01-01T00:00Z[u-ca=iso8601][!foo=bar]", | ||||
|   "1970-01-01T00:00Z[UTC][!foo=bar][u-ca=iso8601]", | ||||
|   "1970-01-01T00:00Z[foo=bar][!_foo-bar0=Dont-Ignore-This-99999999999]", | ||||
| ]; | ||||
| const instance = new Temporal.TimeZone("UTC"); | ||||
| invalidStrings.forEach((arg) => { | ||||
|   assert.throws( | ||||
|     RangeError, | ||||
|     () => instance.getNextTransition(arg), | ||||
|     `reject unknown annotation with critical flag: ${arg}` | ||||
|   ); | ||||
| }); | ||||
| @ -0,0 +1,24 @@ | ||||
| // Copyright (C) 2022 Igalia, S.L. All rights reserved.
 | ||||
| // This code is governed by the BSD license found in the LICENSE file.
 | ||||
| 
 | ||||
| /*--- | ||||
| esid: sec-temporal.timezone.prototype.getoffsetnanosecondsfor | ||||
| description: Unknown annotations with critical flag are rejected | ||||
| features: [Temporal] | ||||
| ---*/ | ||||
| 
 | ||||
| const invalidStrings = [ | ||||
|   "1970-01-01T00:00Z[!foo=bar]", | ||||
|   "1970-01-01T00:00Z[UTC][!foo=bar]", | ||||
|   "1970-01-01T00:00Z[u-ca=iso8601][!foo=bar]", | ||||
|   "1970-01-01T00:00Z[UTC][!foo=bar][u-ca=iso8601]", | ||||
|   "1970-01-01T00:00Z[foo=bar][!_foo-bar0=Dont-Ignore-This-99999999999]", | ||||
| ]; | ||||
| const instance = new Temporal.TimeZone("UTC"); | ||||
| invalidStrings.forEach((arg) => { | ||||
|   assert.throws( | ||||
|     RangeError, | ||||
|     () => instance.getOffsetNanosecondsFor(arg), | ||||
|     `reject unknown annotation with critical flag: ${arg}` | ||||
|   ); | ||||
| }); | ||||
| @ -0,0 +1,24 @@ | ||||
| // Copyright (C) 2022 Igalia, S.L. All rights reserved.
 | ||||
| // This code is governed by the BSD license found in the LICENSE file.
 | ||||
| 
 | ||||
| /*--- | ||||
| esid: sec-temporal.timezone.prototype.getoffsetstringfor | ||||
| description: Unknown annotations with critical flag are rejected | ||||
| features: [Temporal] | ||||
| ---*/ | ||||
| 
 | ||||
| const invalidStrings = [ | ||||
|   "1970-01-01T00:00Z[!foo=bar]", | ||||
|   "1970-01-01T00:00Z[UTC][!foo=bar]", | ||||
|   "1970-01-01T00:00Z[u-ca=iso8601][!foo=bar]", | ||||
|   "1970-01-01T00:00Z[UTC][!foo=bar][u-ca=iso8601]", | ||||
|   "1970-01-01T00:00Z[foo=bar][!_foo-bar0=Dont-Ignore-This-99999999999]", | ||||
| ]; | ||||
| const instance = new Temporal.TimeZone("UTC"); | ||||
| invalidStrings.forEach((arg) => { | ||||
|   assert.throws( | ||||
|     RangeError, | ||||
|     () => instance.getOffsetStringFor(arg), | ||||
|     `reject unknown annotation with critical flag: ${arg}` | ||||
|   ); | ||||
| }); | ||||
| @ -0,0 +1,24 @@ | ||||
| // Copyright (C) 2022 Igalia, S.L. All rights reserved.
 | ||||
| // This code is governed by the BSD license found in the LICENSE file.
 | ||||
| 
 | ||||
| /*--- | ||||
| esid: sec-temporal.timezone.prototype.getplaindatetimefor | ||||
| description: Unknown annotations with critical flag are rejected | ||||
| features: [Temporal] | ||||
| ---*/ | ||||
| 
 | ||||
| const invalidStrings = [ | ||||
|   "1970-01-01T00:00Z[!foo=bar]", | ||||
|   "1970-01-01T00:00Z[UTC][!foo=bar]", | ||||
|   "1970-01-01T00:00Z[u-ca=iso8601][!foo=bar]", | ||||
|   "1970-01-01T00:00Z[UTC][!foo=bar][u-ca=iso8601]", | ||||
|   "1970-01-01T00:00Z[foo=bar][!_foo-bar0=Dont-Ignore-This-99999999999]", | ||||
| ]; | ||||
| const instance = new Temporal.TimeZone("UTC"); | ||||
| invalidStrings.forEach((arg) => { | ||||
|   assert.throws( | ||||
|     RangeError, | ||||
|     () => instance.getPlainDateTimeFor(arg), | ||||
|     `reject unknown annotation with critical flag: ${arg}` | ||||
|   ); | ||||
| }); | ||||
| @ -0,0 +1,24 @@ | ||||
| // Copyright (C) 2022 Igalia, S.L. All rights reserved.
 | ||||
| // This code is governed by the BSD license found in the LICENSE file.
 | ||||
| 
 | ||||
| /*--- | ||||
| esid: sec-temporal.timezone.prototype.getpossibleinstantsfor | ||||
| description: Unknown annotations with critical flag are rejected | ||||
| features: [Temporal] | ||||
| ---*/ | ||||
| 
 | ||||
| const invalidStrings = [ | ||||
|   "1970-01-01T00:00[!foo=bar]", | ||||
|   "1970-01-01T00:00[UTC][!foo=bar]", | ||||
|   "1970-01-01T00:00[u-ca=iso8601][!foo=bar]", | ||||
|   "1970-01-01T00:00[UTC][!foo=bar][u-ca=iso8601]", | ||||
|   "1970-01-01T00:00[foo=bar][!_foo-bar0=Dont-Ignore-This-99999999999]", | ||||
| ]; | ||||
| const instance = new Temporal.TimeZone("UTC"); | ||||
| invalidStrings.forEach((arg) => { | ||||
|   assert.throws( | ||||
|     RangeError, | ||||
|     () => instance.getPossibleInstantsFor(arg), | ||||
|     `reject unknown annotation with critical flag: ${arg}` | ||||
|   ); | ||||
| }); | ||||
| @ -0,0 +1,24 @@ | ||||
| // Copyright (C) 2022 Igalia, S.L. All rights reserved.
 | ||||
| // This code is governed by the BSD license found in the LICENSE file.
 | ||||
| 
 | ||||
| /*--- | ||||
| esid: sec-temporal.timezone.prototype.getprevioustransition | ||||
| description: Unknown annotations with critical flag are rejected | ||||
| features: [Temporal] | ||||
| ---*/ | ||||
| 
 | ||||
| const invalidStrings = [ | ||||
|   "1970-01-01T00:00Z[!foo=bar]", | ||||
|   "1970-01-01T00:00Z[UTC][!foo=bar]", | ||||
|   "1970-01-01T00:00Z[u-ca=iso8601][!foo=bar]", | ||||
|   "1970-01-01T00:00Z[UTC][!foo=bar][u-ca=iso8601]", | ||||
|   "1970-01-01T00:00Z[foo=bar][!_foo-bar0=Dont-Ignore-This-99999999999]", | ||||
| ]; | ||||
| const instance = new Temporal.TimeZone("UTC"); | ||||
| invalidStrings.forEach((arg) => { | ||||
|   assert.throws( | ||||
|     RangeError, | ||||
|     () => instance.getPreviousTransition(arg), | ||||
|     `reject unknown annotation with critical flag: ${arg}` | ||||
|   ); | ||||
| }); | ||||
| @ -0,0 +1,30 @@ | ||||
| // Copyright (C) 2022 Igalia, S.L. All rights reserved.
 | ||||
| // This code is governed by the BSD license found in the LICENSE file.
 | ||||
| 
 | ||||
| /*--- | ||||
| esid: sec-temporal.zoneddatetime.compare | ||||
| description: Unknown annotations with critical flag are rejected | ||||
| features: [Temporal] | ||||
| ---*/ | ||||
| 
 | ||||
| const invalidStrings = [ | ||||
|   "1970-01-01T00:00[UTC][!foo=bar]", | ||||
|   "1970-01-01T00:00[UTC][!foo=bar][u-ca=iso8601]", | ||||
|   "1970-01-01T00:00[UTC][u-ca=iso8601][!foo=bar]", | ||||
|   "1970-01-01T00:00[foo=bar][!_foo-bar0=Dont-Ignore-This-99999999999]", | ||||
| ]; | ||||
| 
 | ||||
| const datetime = new Temporal.ZonedDateTime(1_000_000_000_000_000_000n, "UTC"); | ||||
| 
 | ||||
| invalidStrings.forEach((arg) => { | ||||
|   assert.throws( | ||||
|     RangeError, | ||||
|     () => Temporal.ZonedDateTime.compare(arg, datetime), | ||||
|     `reject unknown annotation with critical flag: ${arg} (first argument)` | ||||
|   ); | ||||
|   assert.throws( | ||||
|     RangeError, | ||||
|     () => Temporal.ZonedDateTime.compare(datetime, arg), | ||||
|     `reject unknown annotation with critical flag: ${arg} (second argument)` | ||||
|   ); | ||||
| }); | ||||
| @ -0,0 +1,23 @@ | ||||
| // Copyright (C) 2022 Igalia, S.L. All rights reserved.
 | ||||
| // This code is governed by the BSD license found in the LICENSE file.
 | ||||
| 
 | ||||
| /*--- | ||||
| esid: sec-temporal.zoneddatetime.from | ||||
| description: Unknown annotations with critical flag are rejected | ||||
| features: [Temporal] | ||||
| ---*/ | ||||
| 
 | ||||
| const invalidStrings = [ | ||||
|   "1970-01-01T00:00[UTC][!foo=bar]", | ||||
|   "1970-01-01T00:00[UTC][!foo=bar][u-ca=iso8601]", | ||||
|   "1970-01-01T00:00[UTC][u-ca=iso8601][!foo=bar]", | ||||
|   "1970-01-01T00:00[foo=bar][!_foo-bar0=Dont-Ignore-This-99999999999]", | ||||
| ]; | ||||
| 
 | ||||
| invalidStrings.forEach((arg) => { | ||||
|   assert.throws( | ||||
|     RangeError, | ||||
|     () => Temporal.ZonedDateTime.from(arg), | ||||
|     `reject unknown annotation with critical flag: ${arg}` | ||||
|   ); | ||||
| }); | ||||
| @ -0,0 +1,24 @@ | ||||
| // Copyright (C) 2022 Igalia, S.L. All rights reserved.
 | ||||
| // This code is governed by the BSD license found in the LICENSE file.
 | ||||
| 
 | ||||
| /*--- | ||||
| esid: sec-temporal.zoneddatetime.prototype.equals | ||||
| description: Unknown annotations with critical flag are rejected | ||||
| features: [Temporal] | ||||
| ---*/ | ||||
| 
 | ||||
| const invalidStrings = [ | ||||
|   "1970-01-01T00:00[UTC][!foo=bar]", | ||||
|   "1970-01-01T00:00[UTC][!foo=bar][u-ca=iso8601]", | ||||
|   "1970-01-01T00:00[UTC][u-ca=iso8601][!foo=bar]", | ||||
|   "1970-01-01T00:00[foo=bar][!_foo-bar0=Dont-Ignore-This-99999999999]", | ||||
| ]; | ||||
| const timeZone = new Temporal.TimeZone("UTC"); | ||||
| const instance = new Temporal.ZonedDateTime(0n, timeZone); | ||||
| invalidStrings.forEach((arg) => { | ||||
|   assert.throws( | ||||
|     RangeError, | ||||
|     () => instance.equals(arg), | ||||
|     `reject unknown annotation with critical flag: ${arg}` | ||||
|   ); | ||||
| }); | ||||
| @ -0,0 +1,24 @@ | ||||
| // Copyright (C) 2022 Igalia, S.L. All rights reserved.
 | ||||
| // This code is governed by the BSD license found in the LICENSE file.
 | ||||
| 
 | ||||
| /*--- | ||||
| esid: sec-temporal.zoneddatetime.prototype.since | ||||
| description: Unknown annotations with critical flag are rejected | ||||
| features: [Temporal] | ||||
| ---*/ | ||||
| 
 | ||||
| const invalidStrings = [ | ||||
|   "1970-01-01T00:00[UTC][!foo=bar]", | ||||
|   "1970-01-01T00:00[UTC][!foo=bar][u-ca=iso8601]", | ||||
|   "1970-01-01T00:00[UTC][u-ca=iso8601][!foo=bar]", | ||||
|   "1970-01-01T00:00[foo=bar][!_foo-bar0=Dont-Ignore-This-99999999999]", | ||||
| ]; | ||||
| const timeZone = new Temporal.TimeZone("UTC"); | ||||
| const instance = new Temporal.ZonedDateTime(0n, timeZone); | ||||
| invalidStrings.forEach((arg) => { | ||||
|   assert.throws( | ||||
|     RangeError, | ||||
|     () => instance.since(arg), | ||||
|     `reject unknown annotation with critical flag: ${arg}` | ||||
|   ); | ||||
| }); | ||||
| @ -0,0 +1,24 @@ | ||||
| // Copyright (C) 2022 Igalia, S.L. All rights reserved.
 | ||||
| // This code is governed by the BSD license found in the LICENSE file.
 | ||||
| 
 | ||||
| /*--- | ||||
| esid: sec-temporal.zoneddatetime.prototype.until | ||||
| description: Unknown annotations with critical flag are rejected | ||||
| features: [Temporal] | ||||
| ---*/ | ||||
| 
 | ||||
| const invalidStrings = [ | ||||
|   "1970-01-01T00:00[UTC][!foo=bar]", | ||||
|   "1970-01-01T00:00[UTC][!foo=bar][u-ca=iso8601]", | ||||
|   "1970-01-01T00:00[UTC][u-ca=iso8601][!foo=bar]", | ||||
|   "1970-01-01T00:00[foo=bar][!_foo-bar0=Dont-Ignore-This-99999999999]", | ||||
| ]; | ||||
| const timeZone = new Temporal.TimeZone("UTC"); | ||||
| const instance = new Temporal.ZonedDateTime(0n, timeZone); | ||||
| invalidStrings.forEach((arg) => { | ||||
|   assert.throws( | ||||
|     RangeError, | ||||
|     () => instance.until(arg), | ||||
|     `reject unknown annotation with critical flag: ${arg}` | ||||
|   ); | ||||
| }); | ||||
| @ -0,0 +1,26 @@ | ||||
| // Copyright (C) 2022 Igalia, S.L. All rights reserved.
 | ||||
| // This code is governed by the BSD license found in the LICENSE file.
 | ||||
| 
 | ||||
| /*--- | ||||
| esid: sec-temporal.zoneddatetime.prototype.withplaindate | ||||
| description: Unknown annotations with critical flag are rejected | ||||
| features: [Temporal] | ||||
| ---*/ | ||||
| 
 | ||||
| const invalidStrings = [ | ||||
|   "1970-01-01[!foo=bar]", | ||||
|   "1970-01-01T00:00[!foo=bar]", | ||||
|   "1970-01-01T00:00[UTC][!foo=bar]", | ||||
|   "1970-01-01T00:00[u-ca=iso8601][!foo=bar]", | ||||
|   "1970-01-01T00:00[UTC][!foo=bar][u-ca=iso8601]", | ||||
|   "1970-01-01T00:00[foo=bar][!_foo-bar0=Dont-Ignore-This-99999999999]", | ||||
| ]; | ||||
| const timeZone = new Temporal.TimeZone("UTC"); | ||||
| const instance = new Temporal.ZonedDateTime(0n, timeZone); | ||||
| invalidStrings.forEach((arg) => { | ||||
|   assert.throws( | ||||
|     RangeError, | ||||
|     () => instance.withPlainDate(arg), | ||||
|     `reject unknown annotation with critical flag: ${arg}` | ||||
|   ); | ||||
| }); | ||||
| @ -0,0 +1,27 @@ | ||||
| // Copyright (C) 2022 Igalia, S.L. All rights reserved.
 | ||||
| // This code is governed by the BSD license found in the LICENSE file.
 | ||||
| 
 | ||||
| /*--- | ||||
| esid: sec-temporal.zoneddatetime.prototype.withplaintime | ||||
| description: Unknown annotations with critical flag are rejected | ||||
| features: [Temporal] | ||||
| ---*/ | ||||
| 
 | ||||
| const invalidStrings = [ | ||||
|   "00:00[!foo=bar]", | ||||
|   "T00:00[!foo=bar]", | ||||
|   "1970-01-01T00:00[!foo=bar]", | ||||
|   "1970-01-01T00:00[UTC][!foo=bar]", | ||||
|   "1970-01-01T00:00[u-ca=iso8601][!foo=bar]", | ||||
|   "1970-01-01T00:00[UTC][!foo=bar][u-ca=iso8601]", | ||||
|   "1970-01-01T00:00[foo=bar][!_foo-bar0=Dont-Ignore-This-99999999999]", | ||||
| ]; | ||||
| const timeZone = new Temporal.TimeZone("UTC"); | ||||
| const instance = new Temporal.ZonedDateTime(0n, timeZone); | ||||
| invalidStrings.forEach((arg) => { | ||||
|   assert.throws( | ||||
|     RangeError, | ||||
|     () => instance.withPlainTime(arg), | ||||
|     `reject unknown annotation with critical flag: ${arg}` | ||||
|   ); | ||||
| }); | ||||
							
								
								
									
										25
									
								
								test/intl402/Temporal/Calendar/prototype/era/argument-string-critical-unknown-annotation.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										25
									
								
								test/intl402/Temporal/Calendar/prototype/era/argument-string-critical-unknown-annotation.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,25 @@ | ||||
| // Copyright (C) 2022 Igalia, S.L. All rights reserved.
 | ||||
| // This code is governed by the BSD license found in the LICENSE file.
 | ||||
| 
 | ||||
| /*--- | ||||
| esid: sec-temporal.calendar.prototype.era | ||||
| description: Unknown annotations with critical flag are rejected | ||||
| features: [Temporal] | ||||
| ---*/ | ||||
| 
 | ||||
| const invalidStrings = [ | ||||
|   "1970-01-01[!foo=bar]", | ||||
|   "1970-01-01T00:00[!foo=bar]", | ||||
|   "1970-01-01T00:00[UTC][!foo=bar]", | ||||
|   "1970-01-01T00:00[u-ca=iso8601][!foo=bar]", | ||||
|   "1970-01-01T00:00[UTC][!foo=bar][u-ca=iso8601]", | ||||
|   "1970-01-01T00:00[foo=bar][!_foo-bar0=Dont-Ignore-This-99999999999]", | ||||
| ]; | ||||
| const instance = new Temporal.Calendar("iso8601"); | ||||
| invalidStrings.forEach((arg) => { | ||||
|   assert.throws( | ||||
|     RangeError, | ||||
|     () => instance.era(arg), | ||||
|     `reject unknown annotation with critical flag: ${arg}` | ||||
|   ); | ||||
| }); | ||||
							
								
								
									
										25
									
								
								test/intl402/Temporal/Calendar/prototype/eraYear/argument-string-critical-unknown-annotation.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										25
									
								
								test/intl402/Temporal/Calendar/prototype/eraYear/argument-string-critical-unknown-annotation.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,25 @@ | ||||
| // Copyright (C) 2022 Igalia, S.L. All rights reserved.
 | ||||
| // This code is governed by the BSD license found in the LICENSE file.
 | ||||
| 
 | ||||
| /*--- | ||||
| esid: sec-temporal.calendar.prototype.erayear | ||||
| description: Unknown annotations with critical flag are rejected | ||||
| features: [Temporal] | ||||
| ---*/ | ||||
| 
 | ||||
| const invalidStrings = [ | ||||
|   "1970-01-01[!foo=bar]", | ||||
|   "1970-01-01T00:00[!foo=bar]", | ||||
|   "1970-01-01T00:00[UTC][!foo=bar]", | ||||
|   "1970-01-01T00:00[u-ca=iso8601][!foo=bar]", | ||||
|   "1970-01-01T00:00[UTC][!foo=bar][u-ca=iso8601]", | ||||
|   "1970-01-01T00:00[foo=bar][!_foo-bar0=Dont-Ignore-This-99999999999]", | ||||
| ]; | ||||
| const instance = new Temporal.Calendar("iso8601"); | ||||
| invalidStrings.forEach((arg) => { | ||||
|   assert.throws( | ||||
|     RangeError, | ||||
|     () => instance.eraYear(arg), | ||||
|     `reject unknown annotation with critical flag: ${arg}` | ||||
|   ); | ||||
| }); | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user