tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

constructor-options-calendar-invalid.js (1136B)


      1 // Copyright 2020 André Bargull; Igalia, S.L. All rights reserved.
      2 // This code is governed by the BSD license found in the LICENSE file.
      3 
      4 /*---
      5 esid: sec-createdatetimeformat
      6 description: >
      7    Checks error cases for the options argument to the DateTimeFormat constructor.
      8 info: |
      9    CreateDateTimeFormat ( dateTimeFormat, locales, options, required, defaults )
     10 
     11    ...
     12    8. If calendar is not undefined, then
     13        a. If calendar does not match the Unicode Locale Identifier type nonterminal, throw a RangeError exception.
     14 ---*/
     15 
     16 /*
     17 alphanum = (ALPHA / DIGIT)     ; letters and numbers
     18 numberingSystem = (3*8alphanum) *("-" (3*8alphanum))
     19 */
     20 const invalidCalendarOptions = [
     21  "",
     22  "a",
     23  "ab",
     24  "abcdefghi",
     25  "abc-abcdefghi",
     26  "!invalid!",
     27  "-gregory-",
     28  "gregory-",
     29  "gregory--",
     30  "gregory-nu",
     31  "gregory-nu-",
     32  "gregory-nu-latn",
     33  "gregoryé",
     34  "gregory역법",
     35 ];
     36 for (const calendar of invalidCalendarOptions) {
     37  assert.throws(RangeError, function() {
     38    new Intl.DateTimeFormat('en', {calendar});
     39  }, `new Intl.DateTimeFormat("en", {calendar: "${calendar}"}) throws RangeError`);
     40 }
     41 
     42 reportCompare(0, 0);