<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[194395] trunk</title>
</head>
<body>
<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; }
#msg dl a { font-weight: bold}
#msg dl a:link { color:#fc3; }
#msg dl a:active { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; }
#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta">
<dt>Revision</dt> <dd><a href="http://trac.webkit.org/projects/webkit/changeset/194395">194395</a></dd>
<dt>Author</dt> <dd>commit-queue@webkit.org</dd>
<dt>Date</dt> <dd>2015-12-23 13:50:47 -0800 (Wed, 23 Dec 2015)</dd>
</dl>
<h3>Log Message</h3>
<pre>[INTL] Implement DateTime Format Functions
https://bugs.webkit.org/show_bug.cgi?id=147606
Patch by Andy VanWagoner <andy@instructure.com> on 2015-12-23
Reviewed by Benjamin Poulain.
Source/JavaScriptCore:
Initialize a UDateFormat from the generated pattern. Use udat_format()
to format the value. Make sure that the UDateFormat is cleaned up when
the DateTimeFormat is deconstructed.
* runtime/IntlDateTimeFormat.cpp:
(JSC::IntlDateTimeFormat::~IntlDateTimeFormat):
(JSC::IntlDateTimeFormat::initializeDateTimeFormat):
(JSC::IntlDateTimeFormat::format):
* runtime/IntlDateTimeFormat.h:
LayoutTests:
* js/intl-datetimeformat-expected.txt: Added format tests.
* js/intl-datetimeformat.html: Used utf-8.
* js/script-tests/intl-datetimeformat.js: Added format tests.</pre>
<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkLayoutTestsChangeLog">trunk/LayoutTests/ChangeLog</a></li>
<li><a href="#trunkLayoutTestsjsintldatetimeformatexpectedtxt">trunk/LayoutTests/js/intl-datetimeformat-expected.txt</a></li>
<li><a href="#trunkLayoutTestsjsintldatetimeformathtml">trunk/LayoutTests/js/intl-datetimeformat.html</a></li>
<li><a href="#trunkLayoutTestsjsscripttestsintldatetimeformatjs">trunk/LayoutTests/js/script-tests/intl-datetimeformat.js</a></li>
<li><a href="#trunkSourceJavaScriptCoreChangeLog">trunk/Source/JavaScriptCore/ChangeLog</a></li>
<li><a href="#trunkSourceJavaScriptCoreruntimeIntlDateTimeFormatcpp">trunk/Source/JavaScriptCore/runtime/IntlDateTimeFormat.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoreruntimeIntlDateTimeFormath">trunk/Source/JavaScriptCore/runtime/IntlDateTimeFormat.h</a></li>
</ul>
</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkLayoutTestsChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/ChangeLog (194394 => 194395)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/ChangeLog        2015-12-23 20:02:37 UTC (rev 194394)
+++ trunk/LayoutTests/ChangeLog        2015-12-23 21:50:47 UTC (rev 194395)
</span><span class="lines">@@ -1,3 +1,14 @@
</span><ins>+2015-12-23 Andy VanWagoner <andy@instructure.com>
+
+ [INTL] Implement DateTime Format Functions
+ https://bugs.webkit.org/show_bug.cgi?id=147606
+
+ Reviewed by Benjamin Poulain.
+
+ * js/intl-datetimeformat-expected.txt: Added format tests.
+ * js/intl-datetimeformat.html: Used utf-8.
+ * js/script-tests/intl-datetimeformat.js: Added format tests.
+
</ins><span class="cx"> 2015-12-23 Andy VanWagoner <thetalecrafter@gmail.com>
</span><span class="cx">
</span><span class="cx"> [INTL] Implement String.prototype.localeCompare in ECMA-402
</span></span></pre></div>
<a id="trunkLayoutTestsjsintldatetimeformatexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/js/intl-datetimeformat-expected.txt (194394 => 194395)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/js/intl-datetimeformat-expected.txt        2015-12-23 20:02:37 UTC (rev 194394)
+++ trunk/LayoutTests/js/intl-datetimeformat-expected.txt        2015-12-23 21:50:47 UTC (rev 194395)
</span><span class="lines">@@ -61,6 +61,8 @@
</span><span class="cx"> PASS new Intl.DateTimeFormat().format.call(null, 0) is Intl.DateTimeFormat().format(0)
</span><span class="cx"> PASS new Intl.DateTimeFormat().format.call(Intl.DateTimeFormat('ar'), 0) is Intl.DateTimeFormat().format(0)
</span><span class="cx"> PASS new Intl.DateTimeFormat().format.call(5, 0) is Intl.DateTimeFormat().format(0)
</span><ins>+PASS typeof Intl.DateTimeFormat.prototype.format() === 'string' is true
+PASS Intl.DateTimeFormat('en', { timeZone: 'America/Denver' }).format(new Date(1451099872641)) is '12/25/2015'
</ins><span class="cx"> PASS Intl.DateTimeFormat.prototype.resolvedOptions.length is 0
</span><span class="cx"> PASS Intl.DateTimeFormat.prototype.resolvedOptions() is an instance of Object
</span><span class="cx"> PASS Intl.DateTimeFormat.prototype.resolvedOptions().locale is new Intl.DateTimeFormat().resolvedOptions().locale
</span><span class="lines">@@ -91,6 +93,10 @@
</span><span class="cx"> PASS Intl.DateTimeFormat('en').resolvedOptions().minute is undefined
</span><span class="cx"> PASS Intl.DateTimeFormat('en').resolvedOptions().second is undefined
</span><span class="cx"> PASS Intl.DateTimeFormat('en').resolvedOptions().timeZoneName is undefined
</span><ins>+PASS Intl.DateTimeFormat('ar-SA', { timeZone: 'America/Denver' }).format(1451099872641) is '\u0661\u0664\u200F/\u0663\u200F/\u0661\u0664\u0663\u0667'
+PASS Intl.DateTimeFormat('de', { timeZone: 'America/Denver' }).format(1451099872641) is '25.12.2015'
+PASS Intl.DateTimeFormat('ja', { timeZone: 'America/Denver' }).format(1451099872641) is '2015/12/25'
+PASS Intl.DateTimeFormat('pt', { timeZone: 'America/Denver' }).format(1451099872641) is '25/12/2015'
</ins><span class="cx"> PASS Intl.DateTimeFormat('en', { localeMatcher: { toString() { throw 'nope' } } }) threw exception nope.
</span><span class="cx"> PASS Intl.DateTimeFormat('en', { localeMatcher:'bad' }) threw exception RangeError: localeMatcher must be either "lookup" or "best fit".
</span><span class="cx"> PASS Intl.DateTimeFormat('en', { localeMatcher:'lookup' }) did not throw exception.
</span><span class="lines">@@ -193,6 +199,8 @@
</span><span class="cx"> PASS Intl.DateTimeFormat('en', { timeZone: 'Universal' }).resolvedOptions().timeZone is 'UTC'
</span><span class="cx"> PASS Intl.DateTimeFormat('en', { timeZone: 'W-SU' }).resolvedOptions().timeZone is 'Europe/Moscow'
</span><span class="cx"> PASS Intl.DateTimeFormat('en', { timeZone: 'Zulu' }).resolvedOptions().timeZone is 'UTC'
</span><ins>+PASS Intl.DateTimeFormat('en', { timeZone: 'America/Los_Angeles' }).format(1451099872641) is '12/25/2015'
+PASS Intl.DateTimeFormat('en', { timeZone: 'Pacific/Auckland' }).format(1451099872641) is '12/26/2015'
</ins><span class="cx"> PASS Intl.DateTimeFormat('ar-sa').resolvedOptions().locale is 'ar-SA'
</span><span class="cx"> PASS Intl.DateTimeFormat('ar-sa').resolvedOptions().calendar is 'islamic-umalqura'
</span><span class="cx"> PASS Intl.DateTimeFormat('ar-sa').resolvedOptions().numberingSystem is 'arab'
</span><span class="lines">@@ -215,6 +223,21 @@
</span><span class="cx"> PASS Intl.DateTimeFormat('en-u-ca-japanese').resolvedOptions().calendar is 'japanese'
</span><span class="cx"> PASS Intl.DateTimeFormat('en-u-ca-persian').resolvedOptions().calendar is 'persian'
</span><span class="cx"> PASS Intl.DateTimeFormat('en-u-ca-roc').resolvedOptions().calendar is 'roc'
</span><ins>+PASS Intl.DateTimeFormat('en-u-ca-buddhist', { timeZone: 'America/Los_Angeles' }).format(1451099872641) is '12/25/2558'
+PASS Intl.DateTimeFormat('en-u-ca-chinese', { timeZone: 'America/Los_Angeles' }).format(1451099872641) is '11/15/32'
+PASS Intl.DateTimeFormat('en-u-ca-coptic', { timeZone: 'America/Los_Angeles' }).format(1451099872641) is '4/15/1732'
+PASS Intl.DateTimeFormat('en-u-ca-dangi', { timeZone: 'America/Los_Angeles' }).format(1451099872641) is '11/15/32'
+PASS Intl.DateTimeFormat('en-u-ca-ethioaa', { timeZone: 'America/Los_Angeles' }).format(1451099872641) is '4/15/7508'
+PASS Intl.DateTimeFormat('en-u-ca-ethiopic', { timeZone: 'America/Los_Angeles' }).format(1451099872641) is '4/15/2008'
+PASS Intl.DateTimeFormat('en-u-ca-gregory', { timeZone: 'America/Los_Angeles' }).format(1451099872641) is '12/25/2015'
+PASS Intl.DateTimeFormat('en-u-ca-hebrew', { timeZone: 'America/Los_Angeles' }).format(1451099872641) is '4/13/5776'
+PASS Intl.DateTimeFormat('en-u-ca-indian', { timeZone: 'America/Los_Angeles' }).format(1451099872641) is '10/4/1937'
+PASS Intl.DateTimeFormat('en-u-ca-islamic', { timeZone: 'America/Los_Angeles' }).format(1451099872641) is '3/14/1437'
+PASS Intl.DateTimeFormat('en-u-ca-islamicc', { timeZone: 'America/Los_Angeles' }).format(1451099872641) is '3/13/1437'
+PASS Intl.DateTimeFormat('en-u-ca-ISO8601', { timeZone: 'America/Los_Angeles' }).format(1451099872641) is '12/25/2015'
+PASS Intl.DateTimeFormat('en-u-ca-japanese', { timeZone: 'America/Los_Angeles' }).format(1451099872641) is '12/25/27'
+PASS Intl.DateTimeFormat('en-u-ca-persian', { timeZone: 'America/Los_Angeles' }).format(1451099872641) is '10/4/1394'
+PASS Intl.DateTimeFormat('en-u-ca-roc', { timeZone: 'America/Los_Angeles' }).format(1451099872641) is '12/25/104'
</ins><span class="cx"> PASS Intl.DateTimeFormat('en', { numberingSystem:'gujr' }).resolvedOptions().numberingSystem is 'latn'
</span><span class="cx"> PASS Intl.DateTimeFormat('en-u-nu-bogus').resolvedOptions().locale is 'en'
</span><span class="cx"> PASS Intl.DateTimeFormat('en-u-nu-bogus').resolvedOptions().numberingSystem is 'latn'
</span><span class="lines">@@ -273,1487 +296,1922 @@
</span><span class="cx"> PASS Intl.DateTimeFormat('en-u-nu-thai').resolvedOptions().numberingSystem is 'thai'
</span><span class="cx"> PASS Intl.DateTimeFormat('en-u-nu-tibt').resolvedOptions().numberingSystem is 'tibt'
</span><span class="cx"> PASS Intl.DateTimeFormat('en-u-nu-vaii').resolvedOptions().numberingSystem is 'vaii'
</span><ins>+PASS Intl.DateTimeFormat('en-u-nu-arab', { timeZone: 'America/Los_Angeles' }).format(1451099872641) is '١٢/٢٥/٢٠١٥'
+PASS Intl.DateTimeFormat('en-u-nu-arabext', { timeZone: 'America/Los_Angeles' }).format(1451099872641) is '۱۲/۲۵/۲۰۱۵'
+PASS Intl.DateTimeFormat('en-u-nu-armn', { timeZone: 'America/Los_Angeles' }).format(1451099872641) is 'ԺԲ/ԻԵ/ՍԺԵ'
+PASS Intl.DateTimeFormat('en-u-nu-armnlow', { timeZone: 'America/Los_Angeles' }).format(1451099872641) is 'ժբ/իե/սժե'
+PASS Intl.DateTimeFormat('en-u-nu-bali', { timeZone: 'America/Los_Angeles' }).format(1451099872641) is '᭑᭒/᭒᭕/᭒᭐᭑᭕'
+PASS Intl.DateTimeFormat('en-u-nu-beng', { timeZone: 'America/Los_Angeles' }).format(1451099872641) is '১২/২৫/২০১৫'
+PASS Intl.DateTimeFormat('en-u-nu-cham', { timeZone: 'America/Los_Angeles' }).format(1451099872641) is '꩑꩒/꩒꩕/꩒꩐꩑꩕'
+PASS Intl.DateTimeFormat('en-u-nu-deva', { timeZone: 'America/Los_Angeles' }).format(1451099872641) is '१२/२५/२०१५'
+PASS Intl.DateTimeFormat('en-u-nu-ethi', { timeZone: 'America/Los_Angeles' }).format(1451099872641) is '፲፪/፳፭/፳፻፲፭'
+PASS Intl.DateTimeFormat('en-u-nu-fullwide', { timeZone: 'America/Los_Angeles' }).format(1451099872641) is '12/25/2015'
+PASS Intl.DateTimeFormat('en-u-nu-geor', { timeZone: 'America/Los_Angeles' }).format(1451099872641) is 'იბ/კე/ჩიე'
+PASS Intl.DateTimeFormat('en-u-nu-grek', { timeZone: 'America/Los_Angeles' }).format(1451099872641) is 'ΙΒ´/ΚΕ´/͵ΒΙΕ´'
+PASS Intl.DateTimeFormat('en-u-nu-greklow', { timeZone: 'America/Los_Angeles' }).format(1451099872641) is 'ιβ´/κε´/͵βιε´'
+PASS Intl.DateTimeFormat('en-u-nu-gujr', { timeZone: 'America/Los_Angeles' }).format(1451099872641) is '૧૨/૨૫/૨૦૧૫'
+PASS Intl.DateTimeFormat('en-u-nu-guru', { timeZone: 'America/Los_Angeles' }).format(1451099872641) is '੧੨/੨੫/੨੦੧੫'
+PASS Intl.DateTimeFormat('en-u-nu-hanidays', { timeZone: 'America/Los_Angeles' }).format(1451099872641) is '12/廿五/2015'
+PASS Intl.DateTimeFormat('en-u-nu-hanidec', { timeZone: 'America/Los_Angeles' }).format(1451099872641) is '一二/二五/二〇一五'
+PASS Intl.DateTimeFormat('en-u-nu-hans', { timeZone: 'America/Los_Angeles' }).format(1451099872641) is '十二/二十五/二千零一十五'
+PASS Intl.DateTimeFormat('en-u-nu-hansfin', { timeZone: 'America/Los_Angeles' }).format(1451099872641) is '拾贰/贰拾伍/贰仟零壹拾伍'
+PASS Intl.DateTimeFormat('en-u-nu-hant', { timeZone: 'America/Los_Angeles' }).format(1451099872641) is '十二/二十五/二千零一十五'
+PASS Intl.DateTimeFormat('en-u-nu-hantfin', { timeZone: 'America/Los_Angeles' }).format(1451099872641) is '拾貳/貳拾伍/貳仟零壹拾伍'
+PASS Intl.DateTimeFormat('en-u-nu-hebr', { timeZone: 'America/Los_Angeles' }).format(1451099872641) is 'י״ב/כ״ה/ב׳ט״ו'
+PASS Intl.DateTimeFormat('en-u-nu-java', { timeZone: 'America/Los_Angeles' }).format(1451099872641) is '꧑꧒/꧒꧕/꧒꧐꧑꧕'
+PASS Intl.DateTimeFormat('en-u-nu-jpan', { timeZone: 'America/Los_Angeles' }).format(1451099872641) is '十二/二十五/二千十五'
+PASS Intl.DateTimeFormat('en-u-nu-jpanfin', { timeZone: 'America/Los_Angeles' }).format(1451099872641) is '拾弐/弐拾伍/弐千拾伍'
+PASS Intl.DateTimeFormat('en-u-nu-kali', { timeZone: 'America/Los_Angeles' }).format(1451099872641) is '꤁꤂/꤂꤅/꤂꤀꤁꤅'
+PASS Intl.DateTimeFormat('en-u-nu-khmr', { timeZone: 'America/Los_Angeles' }).format(1451099872641) is '១២/២៥/២០១៥'
+PASS Intl.DateTimeFormat('en-u-nu-knda', { timeZone: 'America/Los_Angeles' }).format(1451099872641) is '೧೨/೨೫/೨೦೧೫'
+PASS Intl.DateTimeFormat('en-u-nu-lana', { timeZone: 'America/Los_Angeles' }).format(1451099872641) is '᪁᪂/᪂᪅/᪂᪀᪁᪅'
+PASS Intl.DateTimeFormat('en-u-nu-lanatham', { timeZone: 'America/Los_Angeles' }).format(1451099872641) is '᪑᪒/᪒᪕/᪒᪐᪑᪕'
+PASS Intl.DateTimeFormat('en-u-nu-laoo', { timeZone: 'America/Los_Angeles' }).format(1451099872641) is '໑໒/໒໕/໒໐໑໕'
+PASS Intl.DateTimeFormat('en-u-nu-latn', { timeZone: 'America/Los_Angeles' }).format(1451099872641) is '12/25/2015'
+PASS Intl.DateTimeFormat('en-u-nu-lepc', { timeZone: 'America/Los_Angeles' }).format(1451099872641) is '᱁᱂/᱂᱅/᱂᱀᱁᱅'
+PASS Intl.DateTimeFormat('en-u-nu-limb', { timeZone: 'America/Los_Angeles' }).format(1451099872641) is '᥇᥈/᥈᥋/᥈᥆᥇᥋'
+PASS Intl.DateTimeFormat('en-u-nu-mlym', { timeZone: 'America/Los_Angeles' }).format(1451099872641) is '൧൨/൨൫/൨൦൧൫'
+PASS Intl.DateTimeFormat('en-u-nu-mong', { timeZone: 'America/Los_Angeles' }).format(1451099872641) is '᠑᠒/᠒᠕/᠒᠐᠑᠕'
+PASS Intl.DateTimeFormat('en-u-nu-mtei', { timeZone: 'America/Los_Angeles' }).format(1451099872641) is '꯱꯲/꯲꯵/꯲꯰꯱꯵'
+PASS Intl.DateTimeFormat('en-u-nu-mymr', { timeZone: 'America/Los_Angeles' }).format(1451099872641) is '၁၂/၂၅/၂၀၁၅'
+PASS Intl.DateTimeFormat('en-u-nu-mymrshan', { timeZone: 'America/Los_Angeles' }).format(1451099872641) is '႑႒/႒႕/႒႐႑႕'
+PASS Intl.DateTimeFormat('en-u-nu-nkoo', { timeZone: 'America/Los_Angeles' }).format(1451099872641) is '߁߂/߂߅/߂߀߁߅'
+PASS Intl.DateTimeFormat('en-u-nu-olck', { timeZone: 'America/Los_Angeles' }).format(1451099872641) is '᱑᱒/᱒᱕/᱒᱐᱑᱕'
+PASS Intl.DateTimeFormat('en-u-nu-orya', { timeZone: 'America/Los_Angeles' }).format(1451099872641) is '୧୨/୨୫/୨୦୧୫'
+PASS Intl.DateTimeFormat('en-u-nu-roman', { timeZone: 'America/Los_Angeles' }).format(1451099872641) is 'XII/XXV/MMXV'
+PASS Intl.DateTimeFormat('en-u-nu-romanlow', { timeZone: 'America/Los_Angeles' }).format(1451099872641) is 'xii/xxv/mmxv'
+PASS Intl.DateTimeFormat('en-u-nu-saur', { timeZone: 'America/Los_Angeles' }).format(1451099872641) is '꣑꣒/꣒꣕/꣒꣐꣑꣕'
+PASS Intl.DateTimeFormat('en-u-nu-sund', { timeZone: 'America/Los_Angeles' }).format(1451099872641) is '᮱᮲/᮲᮵/᮲᮰᮱᮵'
+PASS Intl.DateTimeFormat('en-u-nu-talu', { timeZone: 'America/Los_Angeles' }).format(1451099872641) is '᧑᧒/᧒᧕/᧒᧐᧑᧕'
+PASS Intl.DateTimeFormat('en-u-nu-taml', { timeZone: 'America/Los_Angeles' }).format(1451099872641) is '௰௨/௨௰௫/௨௲௰௫'
+PASS Intl.DateTimeFormat('en-u-nu-tamldec', { timeZone: 'America/Los_Angeles' }).format(1451099872641) is '௧௨/௨௫/௨௦௧௫'
+PASS Intl.DateTimeFormat('en-u-nu-telu', { timeZone: 'America/Los_Angeles' }).format(1451099872641) is '౧౨/౨౫/౨౦౧౫'
+PASS Intl.DateTimeFormat('en-u-nu-thai', { timeZone: 'America/Los_Angeles' }).format(1451099872641) is '๑๒/๒๕/๒๐๑๕'
+PASS Intl.DateTimeFormat('en-u-nu-tibt', { timeZone: 'America/Los_Angeles' }).format(1451099872641) is '༡༢/༢༥/༢༠༡༥'
+PASS Intl.DateTimeFormat('en-u-nu-vaii', { timeZone: 'America/Los_Angeles' }).format(1451099872641) is '꘡꘢/꘢꘥/꘢꘠꘡꘥'
</ins><span class="cx"> PASS Intl.DateTimeFormat('en', { weekday: { toString() { throw 'weekday' } } }) threw exception weekday.
</span><span class="cx"> PASS Intl.DateTimeFormat('en', { weekday:'invalid' }) threw exception RangeError: weekday must be "narrow", "short", or "long".
</span><span class="cx"> PASS Intl.DateTimeFormat('en', { minute:'2-digit', hour:'numeric' }).resolvedOptions().weekday is undefined
</span><span class="cx"> PASS Intl.DateTimeFormat('en', { weekday:'narrow', month:'numeric', day:'numeric' }).resolvedOptions().weekday is 'narrow'
</span><ins>+PASS Intl.DateTimeFormat('en', { weekday:'narrow', month:'numeric', day:'numeric', timeZone: 'UTC' }).format(0) is 'T, 1/1'
</ins><span class="cx"> PASS Intl.DateTimeFormat('en', { weekday:'short', month:'numeric', day:'numeric' }).resolvedOptions().weekday is 'short'
</span><ins>+PASS Intl.DateTimeFormat('en', { weekday:'short', month:'numeric', day:'numeric', timeZone: 'UTC' }).format(0) is 'Thu, 1/1'
</ins><span class="cx"> PASS Intl.DateTimeFormat('en', { weekday:'long', month:'numeric', day:'numeric' }).resolvedOptions().weekday is 'long'
</span><ins>+PASS Intl.DateTimeFormat('en', { weekday:'long', month:'numeric', day:'numeric', timeZone: 'UTC' }).format(0) is 'Thursday, 1/1'
</ins><span class="cx"> PASS Intl.DateTimeFormat('en', { era: { toString() { throw 'era' } } }) threw exception era.
</span><span class="cx"> PASS Intl.DateTimeFormat('en', { era:'never' }) threw exception RangeError: era must be "narrow", "short", or "long".
</span><span class="cx"> PASS Intl.DateTimeFormat('en', { minute:'2-digit', hour:'numeric' }).resolvedOptions().day is undefined
</span><span class="cx"> PASS Intl.DateTimeFormat('en', { era:'narrow', year:'numeric' }).resolvedOptions().era is 'narrow'
</span><ins>+PASS Intl.DateTimeFormat('en', { era:'narrow', year:'numeric', timeZone: 'UTC' }).format(0) is '1970 A'
</ins><span class="cx"> PASS Intl.DateTimeFormat('en', { era:'short', year:'numeric' }).resolvedOptions().era is 'short'
</span><ins>+PASS Intl.DateTimeFormat('en', { era:'short', year:'numeric', timeZone: 'UTC' }).format(0) is '1970 AD'
</ins><span class="cx"> PASS Intl.DateTimeFormat('en', { era:'long', year:'numeric' }).resolvedOptions().era is 'long'
</span><ins>+PASS Intl.DateTimeFormat('en', { era:'long', year:'numeric', timeZone: 'UTC' }).format(0) is '1970 Anno Domini'
</ins><span class="cx"> PASS Intl.DateTimeFormat('en', { year: { toString() { throw 'year' } } }) threw exception year.
</span><span class="cx"> PASS Intl.DateTimeFormat('en', { year:'nope' }) threw exception RangeError: year must be "2-digit" or "numeric".
</span><span class="cx"> PASS Intl.DateTimeFormat('en', { minute:'2-digit', hour:'numeric' }).resolvedOptions().year is undefined
</span><span class="cx"> PASS Intl.DateTimeFormat('en', { era:'narrow', year:'2-digit' }).resolvedOptions().year is '2-digit'
</span><ins>+PASS Intl.DateTimeFormat('en', { era:'narrow', year:'2-digit', timeZone: 'UTC' }).format(0) is '70 A'
</ins><span class="cx"> PASS Intl.DateTimeFormat('en', { era:'narrow', year:'numeric' }).resolvedOptions().year is 'numeric'
</span><ins>+PASS Intl.DateTimeFormat('en', { era:'narrow', year:'numeric', timeZone: 'UTC' }).format(0) is '1970 A'
</ins><span class="cx"> PASS Intl.DateTimeFormat('en', { month: { toString() { throw 'month' } } }) threw exception month.
</span><span class="cx"> PASS Intl.DateTimeFormat('en', { month:2 }) threw exception RangeError: month must be "2-digit", "numeric", "narrow", "short", or "long".
</span><span class="cx"> PASS Intl.DateTimeFormat('en', { minute:'2-digit', hour:'numeric' }).resolvedOptions().month is undefined
</span><span class="cx"> PASS Intl.DateTimeFormat('en', { month:'2-digit', year:'numeric' }).resolvedOptions().month is '2-digit'
</span><ins>+PASS Intl.DateTimeFormat('en', { month:'2-digit', year:'numeric', timeZone: 'UTC' }).format(0) is '01/1970'
</ins><span class="cx"> PASS Intl.DateTimeFormat('en', { month:'numeric', year:'numeric' }).resolvedOptions().month is 'numeric'
</span><ins>+PASS Intl.DateTimeFormat('en', { month:'numeric', year:'numeric', timeZone: 'UTC' }).format(0) is '1/1970'
</ins><span class="cx"> PASS Intl.DateTimeFormat('en', { month:'narrow', year:'numeric' }).resolvedOptions().month is 'narrow'
</span><ins>+PASS Intl.DateTimeFormat('en', { month:'narrow', year:'numeric', timeZone: 'UTC' }).format(0) is 'J 1970'
</ins><span class="cx"> PASS Intl.DateTimeFormat('en', { month:'short', year:'numeric' }).resolvedOptions().month is 'short'
</span><ins>+PASS Intl.DateTimeFormat('en', { month:'short', year:'numeric', timeZone: 'UTC' }).format(0) is 'Jan 1970'
</ins><span class="cx"> PASS Intl.DateTimeFormat('en', { month:'long', year:'numeric' }).resolvedOptions().month is 'long'
</span><ins>+PASS Intl.DateTimeFormat('en', { month:'long', year:'numeric', timeZone: 'UTC' }).format(0) is 'January 1970'
</ins><span class="cx"> PASS Intl.DateTimeFormat('en', { day: { toString() { throw 'day' } } }) threw exception day.
</span><span class="cx"> PASS Intl.DateTimeFormat('en', { day:'' }) threw exception RangeError: day must be "2-digit" or "numeric".
</span><span class="cx"> PASS Intl.DateTimeFormat('en', { minute:'2-digit', hour:'numeric' }).resolvedOptions().day is undefined
</span><span class="cx"> PASS Intl.DateTimeFormat('en', { month:'long', day:'2-digit' }).resolvedOptions().day is '2-digit'
</span><ins>+PASS Intl.DateTimeFormat('en', { month:'long', day:'2-digit', timeZone: 'UTC' }).format(0) is 'January 01'
</ins><span class="cx"> PASS Intl.DateTimeFormat('en', { month:'long', day:'numeric' }).resolvedOptions().day is 'numeric'
</span><ins>+PASS Intl.DateTimeFormat('en', { month:'long', day:'numeric', timeZone: 'UTC' }).format(0) is 'January 1'
</ins><span class="cx"> PASS Intl.DateTimeFormat('en', { hour: { toString() { throw 'hour' } } }) threw exception hour.
</span><span class="cx"> PASS Intl.DateTimeFormat('en', { hour:[] }) threw exception RangeError: hour must be "2-digit" or "numeric".
</span><span class="cx"> PASS Intl.DateTimeFormat('en').resolvedOptions().hour is undefined
</span><span class="cx"> PASS Intl.DateTimeFormat('en', { minute:'2-digit', hour:'2-digit' }).resolvedOptions().hour is 'numeric'
</span><ins>+PASS Intl.DateTimeFormat('en', { minute:'2-digit', hour:'2-digit', timeZone: 'UTC' }).format(0) is '12:00 AM'
</ins><span class="cx"> PASS Intl.DateTimeFormat('en', { minute:'2-digit', hour:'numeric' }).resolvedOptions().hour is 'numeric'
</span><ins>+PASS Intl.DateTimeFormat('en', { minute:'2-digit', hour:'numeric', timeZone: 'UTC' }).format(0) is '12:00 AM'
</ins><span class="cx"> PASS Intl.DateTimeFormat('en').resolvedOptions().hour12 is undefined
</span><span class="cx"> PASS Intl.DateTimeFormat('en', { minute:'2-digit', hour:'numeric' }).resolvedOptions().hour12 is true
</span><ins>+PASS Intl.DateTimeFormat('en', { minute:'2-digit', hour:'numeric', timeZone: 'UTC' }).format(0) is '12:00 AM'
</ins><span class="cx"> PASS Intl.DateTimeFormat('pt-BR', { minute:'2-digit', hour:'numeric' }).resolvedOptions().hour12 is false
</span><ins>+PASS Intl.DateTimeFormat('pt-BR', { minute:'2-digit', hour:'numeric', timeZone: 'UTC' }).format(0) is '00:00'
</ins><span class="cx"> PASS Intl.DateTimeFormat('en', { minute: { toString() { throw 'minute' } } }) threw exception minute.
</span><span class="cx"> PASS Intl.DateTimeFormat('en', { minute:null }) threw exception RangeError: minute must be "2-digit" or "numeric".
</span><span class="cx"> PASS Intl.DateTimeFormat('en').resolvedOptions().minute is undefined
</span><span class="cx"> PASS Intl.DateTimeFormat('en', { minute:'2-digit', hour:'numeric' }).resolvedOptions().minute is '2-digit'
</span><ins>+PASS Intl.DateTimeFormat('en', { minute:'2-digit', hour:'numeric', timeZone: 'UTC' }).format(0) is '12:00 AM'
</ins><span class="cx"> PASS Intl.DateTimeFormat('en', { minute:'numeric', hour:'numeric' }).resolvedOptions().minute is '2-digit'
</span><ins>+PASS Intl.DateTimeFormat('en', { minute:'numeric', hour:'numeric', timeZone: 'UTC' }).format(0) is '12:00 AM'
</ins><span class="cx"> PASS Intl.DateTimeFormat('en', { second: { toString() { throw 'second' } } }) threw exception second.
</span><span class="cx"> PASS Intl.DateTimeFormat('en', { second:'badvalue' }) threw exception RangeError: second must be "2-digit" or "numeric".
</span><span class="cx"> PASS Intl.DateTimeFormat('en').resolvedOptions().second is undefined
</span><span class="cx"> PASS Intl.DateTimeFormat('en', { minute:'numeric', hour:'numeric', second:'2-digit' }).resolvedOptions().second is '2-digit'
</span><ins>+PASS Intl.DateTimeFormat('en', { minute:'numeric', hour:'numeric', second:'2-digit', timeZone: 'UTC' }).format(0) is '12:00:00 AM'
</ins><span class="cx"> PASS Intl.DateTimeFormat('en', { minute:'numeric', hour:'numeric', second:'numeric' }).resolvedOptions().second is '2-digit'
</span><ins>+PASS Intl.DateTimeFormat('en', { minute:'numeric', hour:'numeric', second:'numeric', timeZone: 'UTC' }).format(0) is '12:00:00 AM'
</ins><span class="cx"> PASS Intl.DateTimeFormat('en', { timeZoneName: { toString() { throw 'timeZoneName' } } }) threw exception timeZoneName.
</span><span class="cx"> PASS Intl.DateTimeFormat('en', { timeZoneName:'name' }) threw exception RangeError: timeZoneName must be "short" or "long".
</span><span class="cx"> PASS Intl.DateTimeFormat('en').resolvedOptions().timeZoneName is undefined
</span><span class="cx"> PASS Intl.DateTimeFormat('en', { minute:'2-digit', hour:'numeric', timeZoneName:'short' }).resolvedOptions().timeZoneName is 'short'
</span><ins>+PASS Intl.DateTimeFormat('en', { minute:'2-digit', hour:'numeric', timeZoneName:'short', timeZone: 'UTC' }).format(0) is '12:00 AM GMT'
</ins><span class="cx"> PASS Intl.DateTimeFormat('pt-BR', { minute:'2-digit', hour:'numeric', timeZoneName:'long' }).resolvedOptions().timeZoneName is 'long'
</span><ins>+PASS Intl.DateTimeFormat('pt-BR', { minute:'2-digit', hour:'numeric', timeZoneName:'long', timeZone: 'UTC' }).format(0) is '00:00 GMT'
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { weekday: "short", year: "numeric", month: "short", day: "numeric", hour: "numeric", minute: "numeric", second: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("ar", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("ar", { weekday: "short", year: "numeric", month: "short", day: "numeric", hour: "numeric", minute: "numeric", second: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { weekday: "short", year: "numeric", month: "short", day: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("ar", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("ar", { weekday: "short", year: "numeric", month: "short", day: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { year: "numeric", month: "long", day: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("ar", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("ar", { year: "numeric", month: "long", day: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { year: "numeric", month: "long" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("ar", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("ar", { year: "numeric", month: "long" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { month: "long", day: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("ar", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("ar", { month: "long", day: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { hour: "numeric", minute: "numeric", second: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("ar", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("ar", { hour: "numeric", minute: "numeric", second: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { hour: "numeric", minute: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("ar", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("ar", { hour: "numeric", minute: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { weekday: "short", year: "numeric", month: "short", day: "numeric", hour: "numeric", minute: "numeric", second: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("ar-SA", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("ar-SA", { weekday: "short", year: "numeric", month: "short", day: "numeric", hour: "numeric", minute: "numeric", second: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { weekday: "short", year: "numeric", month: "short", day: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("ar-SA", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("ar-SA", { weekday: "short", year: "numeric", month: "short", day: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { year: "numeric", month: "long", day: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("ar-SA", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("ar-SA", { year: "numeric", month: "long", day: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { year: "numeric", month: "long" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("ar-SA", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("ar-SA", { year: "numeric", month: "long" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { month: "long", day: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("ar-SA", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("ar-SA", { month: "long", day: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { hour: "numeric", minute: "numeric", second: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("ar-SA", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("ar-SA", { hour: "numeric", minute: "numeric", second: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { hour: "numeric", minute: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("ar-SA", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("ar-SA", { hour: "numeric", minute: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { weekday: "short", year: "numeric", month: "short", day: "numeric", hour: "numeric", minute: "numeric", second: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("be", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("be", { weekday: "short", year: "numeric", month: "short", day: "numeric", hour: "numeric", minute: "numeric", second: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { weekday: "short", year: "numeric", month: "short", day: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("be", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("be", { weekday: "short", year: "numeric", month: "short", day: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { year: "numeric", month: "long", day: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("be", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("be", { year: "numeric", month: "long", day: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { year: "numeric", month: "long" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("be", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("be", { year: "numeric", month: "long" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { month: "long", day: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("be", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("be", { month: "long", day: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { hour: "numeric", minute: "numeric", second: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("be", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("be", { hour: "numeric", minute: "numeric", second: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { hour: "numeric", minute: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("be", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("be", { hour: "numeric", minute: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { weekday: "short", year: "numeric", month: "short", day: "numeric", hour: "numeric", minute: "numeric", second: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("ca", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("ca", { weekday: "short", year: "numeric", month: "short", day: "numeric", hour: "numeric", minute: "numeric", second: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { weekday: "short", year: "numeric", month: "short", day: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("ca", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("ca", { weekday: "short", year: "numeric", month: "short", day: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { year: "numeric", month: "long", day: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("ca", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("ca", { year: "numeric", month: "long", day: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { year: "numeric", month: "long" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("ca", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("ca", { year: "numeric", month: "long" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { month: "long", day: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("ca", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("ca", { month: "long", day: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { hour: "numeric", minute: "numeric", second: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("ca", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("ca", { hour: "numeric", minute: "numeric", second: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { hour: "numeric", minute: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("ca", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("ca", { hour: "numeric", minute: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { weekday: "short", year: "numeric", month: "short", day: "numeric", hour: "numeric", minute: "numeric", second: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("cs", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("cs", { weekday: "short", year: "numeric", month: "short", day: "numeric", hour: "numeric", minute: "numeric", second: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { weekday: "short", year: "numeric", month: "short", day: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("cs", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("cs", { weekday: "short", year: "numeric", month: "short", day: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { year: "numeric", month: "long", day: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("cs", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("cs", { year: "numeric", month: "long", day: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { year: "numeric", month: "long" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("cs", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("cs", { year: "numeric", month: "long" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { month: "long", day: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("cs", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("cs", { month: "long", day: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { hour: "numeric", minute: "numeric", second: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("cs", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("cs", { hour: "numeric", minute: "numeric", second: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { hour: "numeric", minute: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("cs", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("cs", { hour: "numeric", minute: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { weekday: "short", year: "numeric", month: "short", day: "numeric", hour: "numeric", minute: "numeric", second: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("da", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("da", { weekday: "short", year: "numeric", month: "short", day: "numeric", hour: "numeric", minute: "numeric", second: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { weekday: "short", year: "numeric", month: "short", day: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("da", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("da", { weekday: "short", year: "numeric", month: "short", day: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { year: "numeric", month: "long", day: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("da", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("da", { year: "numeric", month: "long", day: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { year: "numeric", month: "long" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("da", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("da", { year: "numeric", month: "long" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { month: "long", day: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("da", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("da", { month: "long", day: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { hour: "numeric", minute: "numeric", second: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("da", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("da", { hour: "numeric", minute: "numeric", second: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { hour: "numeric", minute: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("da", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("da", { hour: "numeric", minute: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { weekday: "short", year: "numeric", month: "short", day: "numeric", hour: "numeric", minute: "numeric", second: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("de", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("de", { weekday: "short", year: "numeric", month: "short", day: "numeric", hour: "numeric", minute: "numeric", second: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { weekday: "short", year: "numeric", month: "short", day: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("de", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("de", { weekday: "short", year: "numeric", month: "short", day: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { year: "numeric", month: "long", day: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("de", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("de", { year: "numeric", month: "long", day: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { year: "numeric", month: "long" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("de", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("de", { year: "numeric", month: "long" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { month: "long", day: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("de", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("de", { month: "long", day: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { hour: "numeric", minute: "numeric", second: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("de", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("de", { hour: "numeric", minute: "numeric", second: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { hour: "numeric", minute: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("de", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("de", { hour: "numeric", minute: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { weekday: "short", year: "numeric", month: "short", day: "numeric", hour: "numeric", minute: "numeric", second: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("de-CH", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("de-CH", { weekday: "short", year: "numeric", month: "short", day: "numeric", hour: "numeric", minute: "numeric", second: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { weekday: "short", year: "numeric", month: "short", day: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("de-CH", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("de-CH", { weekday: "short", year: "numeric", month: "short", day: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { year: "numeric", month: "long", day: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("de-CH", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("de-CH", { year: "numeric", month: "long", day: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { year: "numeric", month: "long" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("de-CH", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("de-CH", { year: "numeric", month: "long" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { month: "long", day: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("de-CH", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("de-CH", { month: "long", day: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { hour: "numeric", minute: "numeric", second: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("de-CH", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("de-CH", { hour: "numeric", minute: "numeric", second: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { hour: "numeric", minute: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("de-CH", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("de-CH", { hour: "numeric", minute: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { weekday: "short", year: "numeric", month: "short", day: "numeric", hour: "numeric", minute: "numeric", second: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("en", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("en", { weekday: "short", year: "numeric", month: "short", day: "numeric", hour: "numeric", minute: "numeric", second: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { weekday: "short", year: "numeric", month: "short", day: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("en", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("en", { weekday: "short", year: "numeric", month: "short", day: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { year: "numeric", month: "long", day: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("en", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("en", { year: "numeric", month: "long", day: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { year: "numeric", month: "long" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("en", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("en", { year: "numeric", month: "long" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { month: "long", day: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("en", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("en", { month: "long", day: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { hour: "numeric", minute: "numeric", second: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("en", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("en", { hour: "numeric", minute: "numeric", second: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { hour: "numeric", minute: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("en", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("en", { hour: "numeric", minute: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { weekday: "short", year: "numeric", month: "short", day: "numeric", hour: "numeric", minute: "numeric", second: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("en-AU", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("en-AU", { weekday: "short", year: "numeric", month: "short", day: "numeric", hour: "numeric", minute: "numeric", second: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { weekday: "short", year: "numeric", month: "short", day: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("en-AU", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("en-AU", { weekday: "short", year: "numeric", month: "short", day: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { year: "numeric", month: "long", day: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("en-AU", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("en-AU", { year: "numeric", month: "long", day: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { year: "numeric", month: "long" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("en-AU", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("en-AU", { year: "numeric", month: "long" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { month: "long", day: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("en-AU", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("en-AU", { month: "long", day: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { hour: "numeric", minute: "numeric", second: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("en-AU", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("en-AU", { hour: "numeric", minute: "numeric", second: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { hour: "numeric", minute: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("en-AU", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("en-AU", { hour: "numeric", minute: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { weekday: "short", year: "numeric", month: "short", day: "numeric", hour: "numeric", minute: "numeric", second: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("en-GB", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("en-GB", { weekday: "short", year: "numeric", month: "short", day: "numeric", hour: "numeric", minute: "numeric", second: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { weekday: "short", year: "numeric", month: "short", day: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("en-GB", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("en-GB", { weekday: "short", year: "numeric", month: "short", day: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { year: "numeric", month: "long", day: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("en-GB", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("en-GB", { year: "numeric", month: "long", day: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { year: "numeric", month: "long" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("en-GB", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("en-GB", { year: "numeric", month: "long" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { month: "long", day: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("en-GB", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("en-GB", { month: "long", day: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { hour: "numeric", minute: "numeric", second: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("en-GB", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("en-GB", { hour: "numeric", minute: "numeric", second: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { hour: "numeric", minute: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("en-GB", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("en-GB", { hour: "numeric", minute: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { weekday: "short", year: "numeric", month: "short", day: "numeric", hour: "numeric", minute: "numeric", second: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("en-PH", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("en-PH", { weekday: "short", year: "numeric", month: "short", day: "numeric", hour: "numeric", minute: "numeric", second: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { weekday: "short", year: "numeric", month: "short", day: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("en-PH", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("en-PH", { weekday: "short", year: "numeric", month: "short", day: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { year: "numeric", month: "long", day: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("en-PH", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("en-PH", { year: "numeric", month: "long", day: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { year: "numeric", month: "long" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("en-PH", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("en-PH", { year: "numeric", month: "long" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { month: "long", day: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("en-PH", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("en-PH", { month: "long", day: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { hour: "numeric", minute: "numeric", second: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("en-PH", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("en-PH", { hour: "numeric", minute: "numeric", second: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { hour: "numeric", minute: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("en-PH", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("en-PH", { hour: "numeric", minute: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { weekday: "short", year: "numeric", month: "short", day: "numeric", hour: "numeric", minute: "numeric", second: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("en-US", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("en-US", { weekday: "short", year: "numeric", month: "short", day: "numeric", hour: "numeric", minute: "numeric", second: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { weekday: "short", year: "numeric", month: "short", day: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("en-US", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("en-US", { weekday: "short", year: "numeric", month: "short", day: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { year: "numeric", month: "long", day: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("en-US", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("en-US", { year: "numeric", month: "long", day: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { year: "numeric", month: "long" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("en-US", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("en-US", { year: "numeric", month: "long" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { month: "long", day: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("en-US", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("en-US", { month: "long", day: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { hour: "numeric", minute: "numeric", second: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("en-US", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("en-US", { hour: "numeric", minute: "numeric", second: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { hour: "numeric", minute: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("en-US", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("en-US", { hour: "numeric", minute: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { weekday: "short", year: "numeric", month: "short", day: "numeric", hour: "numeric", minute: "numeric", second: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("el", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("el", { weekday: "short", year: "numeric", month: "short", day: "numeric", hour: "numeric", minute: "numeric", second: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { weekday: "short", year: "numeric", month: "short", day: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("el", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("el", { weekday: "short", year: "numeric", month: "short", day: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { year: "numeric", month: "long", day: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("el", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("el", { year: "numeric", month: "long", day: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { year: "numeric", month: "long" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("el", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("el", { year: "numeric", month: "long" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { month: "long", day: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("el", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("el", { month: "long", day: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { hour: "numeric", minute: "numeric", second: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("el", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("el", { hour: "numeric", minute: "numeric", second: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { hour: "numeric", minute: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("el", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("el", { hour: "numeric", minute: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { weekday: "short", year: "numeric", month: "short", day: "numeric", hour: "numeric", minute: "numeric", second: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("es", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("es", { weekday: "short", year: "numeric", month: "short", day: "numeric", hour: "numeric", minute: "numeric", second: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { weekday: "short", year: "numeric", month: "short", day: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("es", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("es", { weekday: "short", year: "numeric", month: "short", day: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { year: "numeric", month: "long", day: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("es", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("es", { year: "numeric", month: "long", day: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { year: "numeric", month: "long" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("es", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("es", { year: "numeric", month: "long" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { month: "long", day: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("es", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("es", { month: "long", day: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { hour: "numeric", minute: "numeric", second: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("es", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("es", { hour: "numeric", minute: "numeric", second: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { hour: "numeric", minute: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("es", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("es", { hour: "numeric", minute: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { weekday: "short", year: "numeric", month: "short", day: "numeric", hour: "numeric", minute: "numeric", second: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("es-MX", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("es-MX", { weekday: "short", year: "numeric", month: "short", day: "numeric", hour: "numeric", minute: "numeric", second: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { weekday: "short", year: "numeric", month: "short", day: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("es-MX", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("es-MX", { weekday: "short", year: "numeric", month: "short", day: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { year: "numeric", month: "long", day: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("es-MX", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("es-MX", { year: "numeric", month: "long", day: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { year: "numeric", month: "long" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("es-MX", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("es-MX", { year: "numeric", month: "long" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { month: "long", day: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("es-MX", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("es-MX", { month: "long", day: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { hour: "numeric", minute: "numeric", second: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("es-MX", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("es-MX", { hour: "numeric", minute: "numeric", second: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { hour: "numeric", minute: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("es-MX", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("es-MX", { hour: "numeric", minute: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { weekday: "short", year: "numeric", month: "short", day: "numeric", hour: "numeric", minute: "numeric", second: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("es-PR", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("es-PR", { weekday: "short", year: "numeric", month: "short", day: "numeric", hour: "numeric", minute: "numeric", second: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { weekday: "short", year: "numeric", month: "short", day: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("es-PR", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("es-PR", { weekday: "short", year: "numeric", month: "short", day: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { year: "numeric", month: "long", day: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("es-PR", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("es-PR", { year: "numeric", month: "long", day: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { year: "numeric", month: "long" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("es-PR", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("es-PR", { year: "numeric", month: "long" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { month: "long", day: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("es-PR", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("es-PR", { month: "long", day: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { hour: "numeric", minute: "numeric", second: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("es-PR", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("es-PR", { hour: "numeric", minute: "numeric", second: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { hour: "numeric", minute: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("es-PR", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("es-PR", { hour: "numeric", minute: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { weekday: "short", year: "numeric", month: "short", day: "numeric", hour: "numeric", minute: "numeric", second: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("fr", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("fr", { weekday: "short", year: "numeric", month: "short", day: "numeric", hour: "numeric", minute: "numeric", second: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { weekday: "short", year: "numeric", month: "short", day: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("fr", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("fr", { weekday: "short", year: "numeric", month: "short", day: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { year: "numeric", month: "long", day: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("fr", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("fr", { year: "numeric", month: "long", day: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { year: "numeric", month: "long" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("fr", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("fr", { year: "numeric", month: "long" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { month: "long", day: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("fr", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("fr", { month: "long", day: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { hour: "numeric", minute: "numeric", second: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("fr", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("fr", { hour: "numeric", minute: "numeric", second: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { hour: "numeric", minute: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("fr", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("fr", { hour: "numeric", minute: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { weekday: "short", year: "numeric", month: "short", day: "numeric", hour: "numeric", minute: "numeric", second: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("fr-CA", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("fr-CA", { weekday: "short", year: "numeric", month: "short", day: "numeric", hour: "numeric", minute: "numeric", second: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { weekday: "short", year: "numeric", month: "short", day: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("fr-CA", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("fr-CA", { weekday: "short", year: "numeric", month: "short", day: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { year: "numeric", month: "long", day: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("fr-CA", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("fr-CA", { year: "numeric", month: "long", day: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { year: "numeric", month: "long" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("fr-CA", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("fr-CA", { year: "numeric", month: "long" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { month: "long", day: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("fr-CA", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("fr-CA", { month: "long", day: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { hour: "numeric", minute: "numeric", second: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("fr-CA", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("fr-CA", { hour: "numeric", minute: "numeric", second: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { hour: "numeric", minute: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("fr-CA", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("fr-CA", { hour: "numeric", minute: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { weekday: "short", year: "numeric", month: "short", day: "numeric", hour: "numeric", minute: "numeric", second: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("ga", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("ga", { weekday: "short", year: "numeric", month: "short", day: "numeric", hour: "numeric", minute: "numeric", second: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { weekday: "short", year: "numeric", month: "short", day: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("ga", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("ga", { weekday: "short", year: "numeric", month: "short", day: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { year: "numeric", month: "long", day: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("ga", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("ga", { year: "numeric", month: "long", day: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { year: "numeric", month: "long" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("ga", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("ga", { year: "numeric", month: "long" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { month: "long", day: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("ga", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("ga", { month: "long", day: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { hour: "numeric", minute: "numeric", second: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("ga", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("ga", { hour: "numeric", minute: "numeric", second: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { hour: "numeric", minute: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("ga", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("ga", { hour: "numeric", minute: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { weekday: "short", year: "numeric", month: "short", day: "numeric", hour: "numeric", minute: "numeric", second: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("hi-IN", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("hi-IN", { weekday: "short", year: "numeric", month: "short", day: "numeric", hour: "numeric", minute: "numeric", second: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { weekday: "short", year: "numeric", month: "short", day: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("hi-IN", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("hi-IN", { weekday: "short", year: "numeric", month: "short", day: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { year: "numeric", month: "long", day: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("hi-IN", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("hi-IN", { year: "numeric", month: "long", day: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { year: "numeric", month: "long" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("hi-IN", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("hi-IN", { year: "numeric", month: "long" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { month: "long", day: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("hi-IN", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("hi-IN", { month: "long", day: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { hour: "numeric", minute: "numeric", second: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("hi-IN", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("hi-IN", { hour: "numeric", minute: "numeric", second: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { hour: "numeric", minute: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("hi-IN", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("hi-IN", { hour: "numeric", minute: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { weekday: "short", year: "numeric", month: "short", day: "numeric", hour: "numeric", minute: "numeric", second: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("is", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("is", { weekday: "short", year: "numeric", month: "short", day: "numeric", hour: "numeric", minute: "numeric", second: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { weekday: "short", year: "numeric", month: "short", day: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("is", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("is", { weekday: "short", year: "numeric", month: "short", day: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { year: "numeric", month: "long", day: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("is", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("is", { year: "numeric", month: "long", day: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { year: "numeric", month: "long" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("is", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("is", { year: "numeric", month: "long" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { month: "long", day: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("is", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("is", { month: "long", day: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { hour: "numeric", minute: "numeric", second: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("is", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("is", { hour: "numeric", minute: "numeric", second: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { hour: "numeric", minute: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("is", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("is", { hour: "numeric", minute: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { weekday: "short", year: "numeric", month: "short", day: "numeric", hour: "numeric", minute: "numeric", second: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("it", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("it", { weekday: "short", year: "numeric", month: "short", day: "numeric", hour: "numeric", minute: "numeric", second: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { weekday: "short", year: "numeric", month: "short", day: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("it", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("it", { weekday: "short", year: "numeric", month: "short", day: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { year: "numeric", month: "long", day: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("it", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("it", { year: "numeric", month: "long", day: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { year: "numeric", month: "long" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("it", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("it", { year: "numeric", month: "long" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { month: "long", day: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("it", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("it", { month: "long", day: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { hour: "numeric", minute: "numeric", second: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("it", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("it", { hour: "numeric", minute: "numeric", second: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { hour: "numeric", minute: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("it", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("it", { hour: "numeric", minute: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { weekday: "short", year: "numeric", month: "short", day: "numeric", hour: "numeric", minute: "numeric", second: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("iw", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("iw", { weekday: "short", year: "numeric", month: "short", day: "numeric", hour: "numeric", minute: "numeric", second: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { weekday: "short", year: "numeric", month: "short", day: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("iw", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("iw", { weekday: "short", year: "numeric", month: "short", day: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { year: "numeric", month: "long", day: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("iw", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("iw", { year: "numeric", month: "long", day: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { year: "numeric", month: "long" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("iw", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("iw", { year: "numeric", month: "long" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { month: "long", day: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("iw", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("iw", { month: "long", day: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { hour: "numeric", minute: "numeric", second: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("iw", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("iw", { hour: "numeric", minute: "numeric", second: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { hour: "numeric", minute: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("iw", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("iw", { hour: "numeric", minute: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { weekday: "short", year: "numeric", month: "short", day: "numeric", hour: "numeric", minute: "numeric", second: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("ja", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("ja", { weekday: "short", year: "numeric", month: "short", day: "numeric", hour: "numeric", minute: "numeric", second: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { weekday: "short", year: "numeric", month: "short", day: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("ja", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("ja", { weekday: "short", year: "numeric", month: "short", day: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { year: "numeric", month: "long", day: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("ja", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("ja", { year: "numeric", month: "long", day: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { year: "numeric", month: "long" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("ja", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("ja", { year: "numeric", month: "long" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { month: "long", day: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("ja", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("ja", { month: "long", day: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { hour: "numeric", minute: "numeric", second: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("ja", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("ja", { hour: "numeric", minute: "numeric", second: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { hour: "numeric", minute: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("ja", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("ja", { hour: "numeric", minute: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { weekday: "short", year: "numeric", month: "short", day: "numeric", hour: "numeric", minute: "numeric", second: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("ko-KR", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("ko-KR", { weekday: "short", year: "numeric", month: "short", day: "numeric", hour: "numeric", minute: "numeric", second: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { weekday: "short", year: "numeric", month: "short", day: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("ko-KR", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("ko-KR", { weekday: "short", year: "numeric", month: "short", day: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { year: "numeric", month: "long", day: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("ko-KR", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("ko-KR", { year: "numeric", month: "long", day: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { year: "numeric", month: "long" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("ko-KR", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("ko-KR", { year: "numeric", month: "long" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { month: "long", day: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("ko-KR", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("ko-KR", { month: "long", day: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { hour: "numeric", minute: "numeric", second: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("ko-KR", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("ko-KR", { hour: "numeric", minute: "numeric", second: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { hour: "numeric", minute: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("ko-KR", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("ko-KR", { hour: "numeric", minute: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { weekday: "short", year: "numeric", month: "short", day: "numeric", hour: "numeric", minute: "numeric", second: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("lt", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("lt", { weekday: "short", year: "numeric", month: "short", day: "numeric", hour: "numeric", minute: "numeric", second: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { weekday: "short", year: "numeric", month: "short", day: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("lt", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("lt", { weekday: "short", year: "numeric", month: "short", day: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { year: "numeric", month: "long", day: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("lt", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("lt", { year: "numeric", month: "long", day: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { year: "numeric", month: "long" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("lt", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("lt", { year: "numeric", month: "long" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { month: "long", day: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("lt", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("lt", { month: "long", day: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { hour: "numeric", minute: "numeric", second: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("lt", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("lt", { hour: "numeric", minute: "numeric", second: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { hour: "numeric", minute: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("lt", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("lt", { hour: "numeric", minute: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { weekday: "short", year: "numeric", month: "short", day: "numeric", hour: "numeric", minute: "numeric", second: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("lv", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("lv", { weekday: "short", year: "numeric", month: "short", day: "numeric", hour: "numeric", minute: "numeric", second: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { weekday: "short", year: "numeric", month: "short", day: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("lv", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("lv", { weekday: "short", year: "numeric", month: "short", day: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { year: "numeric", month: "long", day: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("lv", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("lv", { year: "numeric", month: "long", day: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { year: "numeric", month: "long" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("lv", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("lv", { year: "numeric", month: "long" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { month: "long", day: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("lv", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("lv", { month: "long", day: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { hour: "numeric", minute: "numeric", second: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("lv", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("lv", { hour: "numeric", minute: "numeric", second: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { hour: "numeric", minute: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("lv", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("lv", { hour: "numeric", minute: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { weekday: "short", year: "numeric", month: "short", day: "numeric", hour: "numeric", minute: "numeric", second: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("mk", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("mk", { weekday: "short", year: "numeric", month: "short", day: "numeric", hour: "numeric", minute: "numeric", second: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { weekday: "short", year: "numeric", month: "short", day: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("mk", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("mk", { weekday: "short", year: "numeric", month: "short", day: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { year: "numeric", month: "long", day: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("mk", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("mk", { year: "numeric", month: "long", day: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { year: "numeric", month: "long" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("mk", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("mk", { year: "numeric", month: "long" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { month: "long", day: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("mk", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("mk", { month: "long", day: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { hour: "numeric", minute: "numeric", second: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("mk", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("mk", { hour: "numeric", minute: "numeric", second: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { hour: "numeric", minute: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("mk", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("mk", { hour: "numeric", minute: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { weekday: "short", year: "numeric", month: "short", day: "numeric", hour: "numeric", minute: "numeric", second: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("ms", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("ms", { weekday: "short", year: "numeric", month: "short", day: "numeric", hour: "numeric", minute: "numeric", second: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { weekday: "short", year: "numeric", month: "short", day: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("ms", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("ms", { weekday: "short", year: "numeric", month: "short", day: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { year: "numeric", month: "long", day: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("ms", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("ms", { year: "numeric", month: "long", day: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { year: "numeric", month: "long" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("ms", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("ms", { year: "numeric", month: "long" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { month: "long", day: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("ms", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("ms", { month: "long", day: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { hour: "numeric", minute: "numeric", second: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("ms", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("ms", { hour: "numeric", minute: "numeric", second: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { hour: "numeric", minute: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("ms", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("ms", { hour: "numeric", minute: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { weekday: "short", year: "numeric", month: "short", day: "numeric", hour: "numeric", minute: "numeric", second: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("mt", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("mt", { weekday: "short", year: "numeric", month: "short", day: "numeric", hour: "numeric", minute: "numeric", second: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { weekday: "short", year: "numeric", month: "short", day: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("mt", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("mt", { weekday: "short", year: "numeric", month: "short", day: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { year: "numeric", month: "long", day: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("mt", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("mt", { year: "numeric", month: "long", day: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { year: "numeric", month: "long" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("mt", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("mt", { year: "numeric", month: "long" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { month: "long", day: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("mt", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("mt", { month: "long", day: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { hour: "numeric", minute: "numeric", second: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("mt", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("mt", { hour: "numeric", minute: "numeric", second: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { hour: "numeric", minute: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("mt", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("mt", { hour: "numeric", minute: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { weekday: "short", year: "numeric", month: "short", day: "numeric", hour: "numeric", minute: "numeric", second: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("nb", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("nb", { weekday: "short", year: "numeric", month: "short", day: "numeric", hour: "numeric", minute: "numeric", second: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { weekday: "short", year: "numeric", month: "short", day: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("nb", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("nb", { weekday: "short", year: "numeric", month: "short", day: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { year: "numeric", month: "long", day: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("nb", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("nb", { year: "numeric", month: "long", day: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { year: "numeric", month: "long" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("nb", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("nb", { year: "numeric", month: "long" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { month: "long", day: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("nb", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("nb", { month: "long", day: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { hour: "numeric", minute: "numeric", second: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("nb", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("nb", { hour: "numeric", minute: "numeric", second: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { hour: "numeric", minute: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("nb", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("nb", { hour: "numeric", minute: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { weekday: "short", year: "numeric", month: "short", day: "numeric", hour: "numeric", minute: "numeric", second: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("nl", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("nl", { weekday: "short", year: "numeric", month: "short", day: "numeric", hour: "numeric", minute: "numeric", second: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { weekday: "short", year: "numeric", month: "short", day: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("nl", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("nl", { weekday: "short", year: "numeric", month: "short", day: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { year: "numeric", month: "long", day: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("nl", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("nl", { year: "numeric", month: "long", day: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { year: "numeric", month: "long" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("nl", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("nl", { year: "numeric", month: "long" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { month: "long", day: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("nl", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("nl", { month: "long", day: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { hour: "numeric", minute: "numeric", second: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("nl", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("nl", { hour: "numeric", minute: "numeric", second: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { hour: "numeric", minute: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("nl", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("nl", { hour: "numeric", minute: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { weekday: "short", year: "numeric", month: "short", day: "numeric", hour: "numeric", minute: "numeric", second: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("no", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("no", { weekday: "short", year: "numeric", month: "short", day: "numeric", hour: "numeric", minute: "numeric", second: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { weekday: "short", year: "numeric", month: "short", day: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("no", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("no", { weekday: "short", year: "numeric", month: "short", day: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { year: "numeric", month: "long", day: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("no", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("no", { year: "numeric", month: "long", day: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { year: "numeric", month: "long" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("no", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("no", { year: "numeric", month: "long" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { month: "long", day: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("no", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("no", { month: "long", day: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { hour: "numeric", minute: "numeric", second: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("no", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("no", { hour: "numeric", minute: "numeric", second: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { hour: "numeric", minute: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("no", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("no", { hour: "numeric", minute: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { weekday: "short", year: "numeric", month: "short", day: "numeric", hour: "numeric", minute: "numeric", second: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("pl", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("pl", { weekday: "short", year: "numeric", month: "short", day: "numeric", hour: "numeric", minute: "numeric", second: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { weekday: "short", year: "numeric", month: "short", day: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("pl", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("pl", { weekday: "short", year: "numeric", month: "short", day: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { year: "numeric", month: "long", day: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("pl", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("pl", { year: "numeric", month: "long", day: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { year: "numeric", month: "long" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("pl", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("pl", { year: "numeric", month: "long" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { month: "long", day: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("pl", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("pl", { month: "long", day: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { hour: "numeric", minute: "numeric", second: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("pl", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("pl", { hour: "numeric", minute: "numeric", second: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { hour: "numeric", minute: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("pl", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("pl", { hour: "numeric", minute: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { weekday: "short", year: "numeric", month: "short", day: "numeric", hour: "numeric", minute: "numeric", second: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("pt", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("pt", { weekday: "short", year: "numeric", month: "short", day: "numeric", hour: "numeric", minute: "numeric", second: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { weekday: "short", year: "numeric", month: "short", day: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("pt", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("pt", { weekday: "short", year: "numeric", month: "short", day: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { year: "numeric", month: "long", day: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("pt", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("pt", { year: "numeric", month: "long", day: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { year: "numeric", month: "long" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("pt", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("pt", { year: "numeric", month: "long" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { month: "long", day: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("pt", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("pt", { month: "long", day: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { hour: "numeric", minute: "numeric", second: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("pt", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("pt", { hour: "numeric", minute: "numeric", second: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { hour: "numeric", minute: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("pt", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("pt", { hour: "numeric", minute: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { weekday: "short", year: "numeric", month: "short", day: "numeric", hour: "numeric", minute: "numeric", second: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("pt-BR", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("pt-BR", { weekday: "short", year: "numeric", month: "short", day: "numeric", hour: "numeric", minute: "numeric", second: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { weekday: "short", year: "numeric", month: "short", day: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("pt-BR", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("pt-BR", { weekday: "short", year: "numeric", month: "short", day: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { year: "numeric", month: "long", day: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("pt-BR", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("pt-BR", { year: "numeric", month: "long", day: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { year: "numeric", month: "long" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("pt-BR", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("pt-BR", { year: "numeric", month: "long" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { month: "long", day: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("pt-BR", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("pt-BR", { month: "long", day: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { hour: "numeric", minute: "numeric", second: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("pt-BR", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("pt-BR", { hour: "numeric", minute: "numeric", second: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { hour: "numeric", minute: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("pt-BR", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("pt-BR", { hour: "numeric", minute: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { weekday: "short", year: "numeric", month: "short", day: "numeric", hour: "numeric", minute: "numeric", second: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("ro", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("ro", { weekday: "short", year: "numeric", month: "short", day: "numeric", hour: "numeric", minute: "numeric", second: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { weekday: "short", year: "numeric", month: "short", day: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("ro", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("ro", { weekday: "short", year: "numeric", month: "short", day: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { year: "numeric", month: "long", day: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("ro", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("ro", { year: "numeric", month: "long", day: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { year: "numeric", month: "long" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("ro", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("ro", { year: "numeric", month: "long" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { month: "long", day: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("ro", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("ro", { month: "long", day: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { hour: "numeric", minute: "numeric", second: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("ro", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("ro", { hour: "numeric", minute: "numeric", second: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { hour: "numeric", minute: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("ro", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("ro", { hour: "numeric", minute: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { weekday: "short", year: "numeric", month: "short", day: "numeric", hour: "numeric", minute: "numeric", second: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("ru", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("ru", { weekday: "short", year: "numeric", month: "short", day: "numeric", hour: "numeric", minute: "numeric", second: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { weekday: "short", year: "numeric", month: "short", day: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("ru", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("ru", { weekday: "short", year: "numeric", month: "short", day: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { year: "numeric", month: "long", day: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("ru", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("ru", { year: "numeric", month: "long", day: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { year: "numeric", month: "long" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("ru", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("ru", { year: "numeric", month: "long" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { month: "long", day: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("ru", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("ru", { month: "long", day: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { hour: "numeric", minute: "numeric", second: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("ru", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("ru", { hour: "numeric", minute: "numeric", second: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { hour: "numeric", minute: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("ru", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("ru", { hour: "numeric", minute: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { weekday: "short", year: "numeric", month: "short", day: "numeric", hour: "numeric", minute: "numeric", second: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("sk", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("sk", { weekday: "short", year: "numeric", month: "short", day: "numeric", hour: "numeric", minute: "numeric", second: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { weekday: "short", year: "numeric", month: "short", day: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("sk", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("sk", { weekday: "short", year: "numeric", month: "short", day: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { year: "numeric", month: "long", day: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("sk", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("sk", { year: "numeric", month: "long", day: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { year: "numeric", month: "long" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("sk", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("sk", { year: "numeric", month: "long" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { month: "long", day: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("sk", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("sk", { month: "long", day: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { hour: "numeric", minute: "numeric", second: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("sk", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("sk", { hour: "numeric", minute: "numeric", second: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { hour: "numeric", minute: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("sk", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("sk", { hour: "numeric", minute: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { weekday: "short", year: "numeric", month: "short", day: "numeric", hour: "numeric", minute: "numeric", second: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("sl", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("sl", { weekday: "short", year: "numeric", month: "short", day: "numeric", hour: "numeric", minute: "numeric", second: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { weekday: "short", year: "numeric", month: "short", day: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("sl", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("sl", { weekday: "short", year: "numeric", month: "short", day: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { year: "numeric", month: "long", day: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("sl", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("sl", { year: "numeric", month: "long", day: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { year: "numeric", month: "long" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("sl", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("sl", { year: "numeric", month: "long" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { month: "long", day: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("sl", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("sl", { month: "long", day: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { hour: "numeric", minute: "numeric", second: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("sl", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("sl", { hour: "numeric", minute: "numeric", second: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { hour: "numeric", minute: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("sl", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("sl", { hour: "numeric", minute: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { weekday: "short", year: "numeric", month: "short", day: "numeric", hour: "numeric", minute: "numeric", second: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("sr", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("sr", { weekday: "short", year: "numeric", month: "short", day: "numeric", hour: "numeric", minute: "numeric", second: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { weekday: "short", year: "numeric", month: "short", day: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("sr", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("sr", { weekday: "short", year: "numeric", month: "short", day: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { year: "numeric", month: "long", day: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("sr", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("sr", { year: "numeric", month: "long", day: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { year: "numeric", month: "long" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("sr", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("sr", { year: "numeric", month: "long" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { month: "long", day: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("sr", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("sr", { month: "long", day: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { hour: "numeric", minute: "numeric", second: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("sr", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("sr", { hour: "numeric", minute: "numeric", second: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { hour: "numeric", minute: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("sr", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("sr", { hour: "numeric", minute: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { weekday: "short", year: "numeric", month: "short", day: "numeric", hour: "numeric", minute: "numeric", second: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("sv", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("sv", { weekday: "short", year: "numeric", month: "short", day: "numeric", hour: "numeric", minute: "numeric", second: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { weekday: "short", year: "numeric", month: "short", day: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("sv", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("sv", { weekday: "short", year: "numeric", month: "short", day: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { year: "numeric", month: "long", day: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("sv", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("sv", { year: "numeric", month: "long", day: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { year: "numeric", month: "long" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("sv", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("sv", { year: "numeric", month: "long" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { month: "long", day: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("sv", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("sv", { month: "long", day: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { hour: "numeric", minute: "numeric", second: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("sv", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("sv", { hour: "numeric", minute: "numeric", second: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { hour: "numeric", minute: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("sv", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("sv", { hour: "numeric", minute: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { weekday: "short", year: "numeric", month: "short", day: "numeric", hour: "numeric", minute: "numeric", second: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("th", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("th", { weekday: "short", year: "numeric", month: "short", day: "numeric", hour: "numeric", minute: "numeric", second: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { weekday: "short", year: "numeric", month: "short", day: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("th", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("th", { weekday: "short", year: "numeric", month: "short", day: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { year: "numeric", month: "long", day: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("th", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("th", { year: "numeric", month: "long", day: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { year: "numeric", month: "long" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("th", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("th", { year: "numeric", month: "long" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { month: "long", day: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("th", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("th", { month: "long", day: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { hour: "numeric", minute: "numeric", second: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("th", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("th", { hour: "numeric", minute: "numeric", second: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { hour: "numeric", minute: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("th", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("th", { hour: "numeric", minute: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { weekday: "short", year: "numeric", month: "short", day: "numeric", hour: "numeric", minute: "numeric", second: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("tr", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("tr", { weekday: "short", year: "numeric", month: "short", day: "numeric", hour: "numeric", minute: "numeric", second: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { weekday: "short", year: "numeric", month: "short", day: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("tr", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("tr", { weekday: "short", year: "numeric", month: "short", day: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { year: "numeric", month: "long", day: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("tr", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("tr", { year: "numeric", month: "long", day: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { year: "numeric", month: "long" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("tr", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("tr", { year: "numeric", month: "long" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { month: "long", day: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("tr", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("tr", { month: "long", day: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { hour: "numeric", minute: "numeric", second: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("tr", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("tr", { hour: "numeric", minute: "numeric", second: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { hour: "numeric", minute: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("tr", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("tr", { hour: "numeric", minute: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { weekday: "short", year: "numeric", month: "short", day: "numeric", hour: "numeric", minute: "numeric", second: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("uk", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("uk", { weekday: "short", year: "numeric", month: "short", day: "numeric", hour: "numeric", minute: "numeric", second: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { weekday: "short", year: "numeric", month: "short", day: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("uk", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("uk", { weekday: "short", year: "numeric", month: "short", day: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { year: "numeric", month: "long", day: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("uk", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("uk", { year: "numeric", month: "long", day: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { year: "numeric", month: "long" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("uk", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("uk", { year: "numeric", month: "long" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { month: "long", day: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("uk", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("uk", { month: "long", day: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { hour: "numeric", minute: "numeric", second: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("uk", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("uk", { hour: "numeric", minute: "numeric", second: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { hour: "numeric", minute: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("uk", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("uk", { hour: "numeric", minute: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { weekday: "short", year: "numeric", month: "short", day: "numeric", hour: "numeric", minute: "numeric", second: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("vi", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("vi", { weekday: "short", year: "numeric", month: "short", day: "numeric", hour: "numeric", minute: "numeric", second: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { weekday: "short", year: "numeric", month: "short", day: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("vi", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("vi", { weekday: "short", year: "numeric", month: "short", day: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { year: "numeric", month: "long", day: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("vi", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("vi", { year: "numeric", month: "long", day: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { year: "numeric", month: "long" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("vi", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("vi", { year: "numeric", month: "long" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { month: "long", day: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("vi", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("vi", { month: "long", day: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { hour: "numeric", minute: "numeric", second: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("vi", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("vi", { hour: "numeric", minute: "numeric", second: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { hour: "numeric", minute: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("vi", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("vi", { hour: "numeric", minute: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { weekday: "short", year: "numeric", month: "short", day: "numeric", hour: "numeric", minute: "numeric", second: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("zh", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("zh", { weekday: "short", year: "numeric", month: "short", day: "numeric", hour: "numeric", minute: "numeric", second: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { weekday: "short", year: "numeric", month: "short", day: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("zh", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("zh", { weekday: "short", year: "numeric", month: "short", day: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { year: "numeric", month: "long", day: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("zh", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("zh", { year: "numeric", month: "long", day: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { year: "numeric", month: "long" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("zh", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("zh", { year: "numeric", month: "long" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { month: "long", day: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("zh", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("zh", { month: "long", day: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { hour: "numeric", minute: "numeric", second: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("zh", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("zh", { hour: "numeric", minute: "numeric", second: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { hour: "numeric", minute: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("zh", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("zh", { hour: "numeric", minute: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { weekday: "short", year: "numeric", month: "short", day: "numeric", hour: "numeric", minute: "numeric", second: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("zh-CN", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("zh-CN", { weekday: "short", year: "numeric", month: "short", day: "numeric", hour: "numeric", minute: "numeric", second: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { weekday: "short", year: "numeric", month: "short", day: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("zh-CN", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("zh-CN", { weekday: "short", year: "numeric", month: "short", day: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { year: "numeric", month: "long", day: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("zh-CN", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("zh-CN", { year: "numeric", month: "long", day: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { year: "numeric", month: "long" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("zh-CN", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("zh-CN", { year: "numeric", month: "long" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { month: "long", day: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("zh-CN", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("zh-CN", { month: "long", day: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { hour: "numeric", minute: "numeric", second: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("zh-CN", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("zh-CN", { hour: "numeric", minute: "numeric", second: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { hour: "numeric", minute: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("zh-CN", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("zh-CN", { hour: "numeric", minute: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { weekday: "short", year: "numeric", month: "short", day: "numeric", hour: "numeric", minute: "numeric", second: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("zh-Hant-HK", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("zh-Hant-HK", { weekday: "short", year: "numeric", month: "short", day: "numeric", hour: "numeric", minute: "numeric", second: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { weekday: "short", year: "numeric", month: "short", day: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("zh-Hant-HK", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("zh-Hant-HK", { weekday: "short", year: "numeric", month: "short", day: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { year: "numeric", month: "long", day: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("zh-Hant-HK", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("zh-Hant-HK", { year: "numeric", month: "long", day: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { year: "numeric", month: "long" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("zh-Hant-HK", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("zh-Hant-HK", { year: "numeric", month: "long" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { month: "long", day: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("zh-Hant-HK", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("zh-Hant-HK", { month: "long", day: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { hour: "numeric", minute: "numeric", second: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("zh-Hant-HK", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("zh-Hant-HK", { hour: "numeric", minute: "numeric", second: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { hour: "numeric", minute: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("zh-Hant-HK", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("zh-Hant-HK", { hour: "numeric", minute: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { weekday: "short", year: "numeric", month: "short", day: "numeric", hour: "numeric", minute: "numeric", second: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("zh-TW", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("zh-TW", { weekday: "short", year: "numeric", month: "short", day: "numeric", hour: "numeric", minute: "numeric", second: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { weekday: "short", year: "numeric", month: "short", day: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("zh-TW", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("zh-TW", { weekday: "short", year: "numeric", month: "short", day: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { year: "numeric", month: "long", day: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("zh-TW", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("zh-TW", { year: "numeric", month: "long", day: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { year: "numeric", month: "long" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("zh-TW", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("zh-TW", { year: "numeric", month: "long" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { month: "long", day: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("zh-TW", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("zh-TW", { month: "long", day: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { hour: "numeric", minute: "numeric", second: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("zh-TW", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("zh-TW", { hour: "numeric", minute: "numeric", second: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS
</span><span class="cx"> var options = { hour: "numeric", minute: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("zh-TW", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null) is true
</span><ins>+PASS typeof Intl.DateTimeFormat("zh-TW", { hour: "numeric", minute: "numeric" }).format() === "string" is true
</ins><span class="cx"> PASS successfullyParsed is true
</span><span class="cx">
</span><span class="cx"> TEST COMPLETE
</span></span></pre></div>
<a id="trunkLayoutTestsjsintldatetimeformathtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/js/intl-datetimeformat.html (194394 => 194395)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/js/intl-datetimeformat.html        2015-12-23 20:02:37 UTC (rev 194394)
+++ trunk/LayoutTests/js/intl-datetimeformat.html        2015-12-23 21:50:47 UTC (rev 194395)
</span><span class="lines">@@ -1,6 +1,7 @@
</span><span class="cx"> <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
</span><span class="cx"> <html>
</span><span class="cx"> <head>
</span><ins>+<meta charset="utf-8">
</ins><span class="cx"> <script src="../resources/js-test-pre.js"></script>
</span><span class="cx"> </head>
</span><span class="cx"> <body>
</span></span></pre></div>
<a id="trunkLayoutTestsjsscripttestsintldatetimeformatjs"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/js/script-tests/intl-datetimeformat.js (194394 => 194395)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/js/script-tests/intl-datetimeformat.js        2015-12-23 20:02:37 UTC (rev 194394)
+++ trunk/LayoutTests/js/script-tests/intl-datetimeformat.js        2015-12-23 21:50:47 UTC (rev 194395)
</span><span class="lines">@@ -129,6 +129,9 @@
</span><span class="cx"> shouldBe("new Intl.DateTimeFormat().format.call(Intl.DateTimeFormat('ar'), 0)", "Intl.DateTimeFormat().format(0)");
</span><span class="cx"> shouldBe("new Intl.DateTimeFormat().format.call(5, 0)", "Intl.DateTimeFormat().format(0)");
</span><span class="cx">
</span><ins>+shouldBeTrue("typeof Intl.DateTimeFormat.prototype.format() === 'string'");
+shouldBe("Intl.DateTimeFormat('en', { timeZone: 'America/Denver' }).format(new Date(1451099872641))", "'12/25/2015'");
+
</ins><span class="cx"> // 12.3.5 Intl.DateTimeFormat.prototype.resolvedOptions ()
</span><span class="cx">
</span><span class="cx"> shouldBe("Intl.DateTimeFormat.prototype.resolvedOptions.length", "0");
</span><span class="lines">@@ -173,6 +176,12 @@
</span><span class="cx"> shouldBe("Intl.DateTimeFormat('en').resolvedOptions().second", "undefined");
</span><span class="cx"> shouldBe("Intl.DateTimeFormat('en').resolvedOptions().timeZoneName", "undefined");
</span><span class="cx">
</span><ins>+// Locale-sensitive format().
+shouldBe("Intl.DateTimeFormat('ar-SA', { timeZone: 'America/Denver' }).format(1451099872641)", "'\\u0661\\u0664\\u200F/\\u0663\\u200F/\\u0661\\u0664\\u0663\\u0667'");
+shouldBe("Intl.DateTimeFormat('de', { timeZone: 'America/Denver' }).format(1451099872641)", "'25.12.2015'");
+shouldBe("Intl.DateTimeFormat('ja', { timeZone: 'America/Denver' }).format(1451099872641)", "'2015/12/25'");
+shouldBe("Intl.DateTimeFormat('pt', { timeZone: 'America/Denver' }).format(1451099872641)", "'25/12/2015'");
+
</ins><span class="cx"> shouldThrow("Intl.DateTimeFormat('en', { localeMatcher: { toString() { throw 'nope' } } })", "'nope'");
</span><span class="cx"> shouldThrow("Intl.DateTimeFormat('en', { localeMatcher:'bad' })", '\'RangeError: localeMatcher must be either "lookup" or "best fit"\'');
</span><span class="cx"> shouldNotThrow("Intl.DateTimeFormat('en', { localeMatcher:'lookup' })");
</span><span class="lines">@@ -284,6 +293,10 @@
</span><span class="cx"> shouldBe("Intl.DateTimeFormat('en', { timeZone: 'W-SU' }).resolvedOptions().timeZone", "'Europe/Moscow'");
</span><span class="cx"> shouldBe("Intl.DateTimeFormat('en', { timeZone: 'Zulu' }).resolvedOptions().timeZone", "'UTC'");
</span><span class="cx">
</span><ins>+// Timezone-sensitive format().
+shouldBe("Intl.DateTimeFormat('en', { timeZone: 'America/Los_Angeles' }).format(1451099872641)", "'12/25/2015'");
+shouldBe("Intl.DateTimeFormat('en', { timeZone: 'Pacific/Auckland' }).format(1451099872641)", "'12/26/2015'");
+
</ins><span class="cx"> // Gets default calendar and numberingSystem from locale.
</span><span class="cx"> shouldBe("Intl.DateTimeFormat('ar-sa').resolvedOptions().locale", "'ar-SA'");
</span><span class="cx"> shouldBe("Intl.DateTimeFormat('ar-sa').resolvedOptions().calendar", "'islamic-umalqura'");
</span><span class="lines">@@ -315,6 +328,23 @@
</span><span class="cx"> // shouldBe("Intl.DateTimeFormat('en-u-ca-islamic-civil').resolvedOptions().calendar", "'islamic-civil'");
</span><span class="cx"> // shouldBe("Intl.DateTimeFormat('en-u-ca-islamic-rgsa').resolvedOptions().calendar", "'islamic-rgsa'");
</span><span class="cx">
</span><ins>+// Calendar-sensitive format().
+shouldBe("Intl.DateTimeFormat('en-u-ca-buddhist', { timeZone: 'America/Los_Angeles' }).format(1451099872641)", "'12/25/2558'");
+shouldBe("Intl.DateTimeFormat('en-u-ca-chinese', { timeZone: 'America/Los_Angeles' }).format(1451099872641)", "'11/15/32'");
+shouldBe("Intl.DateTimeFormat('en-u-ca-coptic', { timeZone: 'America/Los_Angeles' }).format(1451099872641)", "'4/15/1732'");
+shouldBe("Intl.DateTimeFormat('en-u-ca-dangi', { timeZone: 'America/Los_Angeles' }).format(1451099872641)", "'11/15/32'");
+shouldBe("Intl.DateTimeFormat('en-u-ca-ethioaa', { timeZone: 'America/Los_Angeles' }).format(1451099872641)", "'4/15/7508'");
+shouldBe("Intl.DateTimeFormat('en-u-ca-ethiopic', { timeZone: 'America/Los_Angeles' }).format(1451099872641)", "'4/15/2008'");
+shouldBe("Intl.DateTimeFormat('en-u-ca-gregory', { timeZone: 'America/Los_Angeles' }).format(1451099872641)", "'12/25/2015'");
+shouldBe("Intl.DateTimeFormat('en-u-ca-hebrew', { timeZone: 'America/Los_Angeles' }).format(1451099872641)", "'4/13/5776'");
+shouldBe("Intl.DateTimeFormat('en-u-ca-indian', { timeZone: 'America/Los_Angeles' }).format(1451099872641)", "'10/4/1937'");
+shouldBe("Intl.DateTimeFormat('en-u-ca-islamic', { timeZone: 'America/Los_Angeles' }).format(1451099872641)", "'3/14/1437'");
+shouldBe("Intl.DateTimeFormat('en-u-ca-islamicc', { timeZone: 'America/Los_Angeles' }).format(1451099872641)", "'3/13/1437'");
+shouldBe("Intl.DateTimeFormat('en-u-ca-ISO8601', { timeZone: 'America/Los_Angeles' }).format(1451099872641)", "'12/25/2015'");
+shouldBe("Intl.DateTimeFormat('en-u-ca-japanese', { timeZone: 'America/Los_Angeles' }).format(1451099872641)", "'12/25/27'");
+shouldBe("Intl.DateTimeFormat('en-u-ca-persian', { timeZone: 'America/Los_Angeles' }).format(1451099872641)", "'10/4/1394'");
+shouldBe("Intl.DateTimeFormat('en-u-ca-roc', { timeZone: 'America/Los_Angeles' }).format(1451099872641)", "'12/25/104'");
+
</ins><span class="cx"> shouldBe("Intl.DateTimeFormat('en', { numberingSystem:'gujr' }).resolvedOptions().numberingSystem", "'latn'");
</span><span class="cx"> shouldBe("Intl.DateTimeFormat('en-u-nu-bogus').resolvedOptions().locale", "'en'");
</span><span class="cx"> shouldBe("Intl.DateTimeFormat('en-u-nu-bogus').resolvedOptions().numberingSystem", "'latn'");
</span><span class="lines">@@ -334,68 +364,148 @@
</span><span class="cx"> shouldBe(`Intl.DateTimeFormat('en-u-nu-${numberingSystem}').resolvedOptions().numberingSystem`, `'${numberingSystem}'`);
</span><span class="cx"> }
</span><span class="cx">
</span><ins>+// Numbering system sensitive format().
+shouldBe("Intl.DateTimeFormat('en-u-nu-arab', { timeZone: 'America/Los_Angeles' }).format(1451099872641)", "'١٢/٢٥/٢٠١٥'");
+shouldBe("Intl.DateTimeFormat('en-u-nu-arabext', { timeZone: 'America/Los_Angeles' }).format(1451099872641)", "'۱۲/۲۵/۲۰۱۵'");
+shouldBe("Intl.DateTimeFormat('en-u-nu-armn', { timeZone: 'America/Los_Angeles' }).format(1451099872641)", "'ԺԲ/ԻԵ/ՍԺԵ'");
+shouldBe("Intl.DateTimeFormat('en-u-nu-armnlow', { timeZone: 'America/Los_Angeles' }).format(1451099872641)", "'ժբ/իե/սժե'");
+shouldBe("Intl.DateTimeFormat('en-u-nu-bali', { timeZone: 'America/Los_Angeles' }).format(1451099872641)", "'᭑᭒/᭒᭕/᭒᭐᭑᭕'");
+shouldBe("Intl.DateTimeFormat('en-u-nu-beng', { timeZone: 'America/Los_Angeles' }).format(1451099872641)", "'১২/২৫/২০১৫'");
+shouldBe("Intl.DateTimeFormat('en-u-nu-cham', { timeZone: 'America/Los_Angeles' }).format(1451099872641)", "'꩑꩒/꩒꩕/꩒꩐꩑꩕'");
+shouldBe("Intl.DateTimeFormat('en-u-nu-deva', { timeZone: 'America/Los_Angeles' }).format(1451099872641)", "'१२/२५/२०१५'");
+shouldBe("Intl.DateTimeFormat('en-u-nu-ethi', { timeZone: 'America/Los_Angeles' }).format(1451099872641)", "'፲፪/፳፭/፳፻፲፭'");
+shouldBe("Intl.DateTimeFormat('en-u-nu-fullwide', { timeZone: 'America/Los_Angeles' }).format(1451099872641)", "'12/25/2015'");
+shouldBe("Intl.DateTimeFormat('en-u-nu-geor', { timeZone: 'America/Los_Angeles' }).format(1451099872641)", "'იბ/კე/ჩიე'");
+shouldBe("Intl.DateTimeFormat('en-u-nu-grek', { timeZone: 'America/Los_Angeles' }).format(1451099872641)", "'ΙΒ´/ΚΕ´/͵ΒΙΕ´'");
+shouldBe("Intl.DateTimeFormat('en-u-nu-greklow', { timeZone: 'America/Los_Angeles' }).format(1451099872641)", "'ιβ´/κε´/͵βιε´'");
+shouldBe("Intl.DateTimeFormat('en-u-nu-gujr', { timeZone: 'America/Los_Angeles' }).format(1451099872641)", "'૧૨/૨૫/૨૦૧૫'");
+shouldBe("Intl.DateTimeFormat('en-u-nu-guru', { timeZone: 'America/Los_Angeles' }).format(1451099872641)", "'੧੨/੨੫/੨੦੧੫'");
+shouldBe("Intl.DateTimeFormat('en-u-nu-hanidays', { timeZone: 'America/Los_Angeles' }).format(1451099872641)", "'12/廿五/2015'");
+shouldBe("Intl.DateTimeFormat('en-u-nu-hanidec', { timeZone: 'America/Los_Angeles' }).format(1451099872641)", "'一二/二五/二〇一五'");
+shouldBe("Intl.DateTimeFormat('en-u-nu-hans', { timeZone: 'America/Los_Angeles' }).format(1451099872641)", "'十二/二十五/二千零一十五'");
+shouldBe("Intl.DateTimeFormat('en-u-nu-hansfin', { timeZone: 'America/Los_Angeles' }).format(1451099872641)", "'拾贰/贰拾伍/贰仟零壹拾伍'");
+shouldBe("Intl.DateTimeFormat('en-u-nu-hant', { timeZone: 'America/Los_Angeles' }).format(1451099872641)", "'十二/二十五/二千零一十五'");
+shouldBe("Intl.DateTimeFormat('en-u-nu-hantfin', { timeZone: 'America/Los_Angeles' }).format(1451099872641)", "'拾貳/貳拾伍/貳仟零壹拾伍'");
+shouldBe("Intl.DateTimeFormat('en-u-nu-hebr', { timeZone: 'America/Los_Angeles' }).format(1451099872641)", "'י״ב/כ״ה/ב׳ט״ו'");
+shouldBe("Intl.DateTimeFormat('en-u-nu-java', { timeZone: 'America/Los_Angeles' }).format(1451099872641)", "'꧑꧒/꧒꧕/꧒꧐꧑꧕'");
+shouldBe("Intl.DateTimeFormat('en-u-nu-jpan', { timeZone: 'America/Los_Angeles' }).format(1451099872641)", "'十二/二十五/二千十五'");
+shouldBe("Intl.DateTimeFormat('en-u-nu-jpanfin', { timeZone: 'America/Los_Angeles' }).format(1451099872641)", "'拾弐/弐拾伍/弐千拾伍'");
+shouldBe("Intl.DateTimeFormat('en-u-nu-kali', { timeZone: 'America/Los_Angeles' }).format(1451099872641)", "'꤁꤂/꤂꤅/꤂꤀꤁꤅'");
+shouldBe("Intl.DateTimeFormat('en-u-nu-khmr', { timeZone: 'America/Los_Angeles' }).format(1451099872641)", "'១២/២៥/២០១៥'");
+shouldBe("Intl.DateTimeFormat('en-u-nu-knda', { timeZone: 'America/Los_Angeles' }).format(1451099872641)", "'೧೨/೨೫/೨೦೧೫'");
+shouldBe("Intl.DateTimeFormat('en-u-nu-lana', { timeZone: 'America/Los_Angeles' }).format(1451099872641)", "'᪁᪂/᪂᪅/᪂᪀᪁᪅'");
+shouldBe("Intl.DateTimeFormat('en-u-nu-lanatham', { timeZone: 'America/Los_Angeles' }).format(1451099872641)", "'᪑᪒/᪒᪕/᪒᪐᪑᪕'");
+shouldBe("Intl.DateTimeFormat('en-u-nu-laoo', { timeZone: 'America/Los_Angeles' }).format(1451099872641)", "'໑໒/໒໕/໒໐໑໕'");
+shouldBe("Intl.DateTimeFormat('en-u-nu-latn', { timeZone: 'America/Los_Angeles' }).format(1451099872641)", "'12/25/2015'");
+shouldBe("Intl.DateTimeFormat('en-u-nu-lepc', { timeZone: 'America/Los_Angeles' }).format(1451099872641)", "'᱁᱂/᱂᱅/᱂᱀᱁᱅'");
+shouldBe("Intl.DateTimeFormat('en-u-nu-limb', { timeZone: 'America/Los_Angeles' }).format(1451099872641)", "'᥇᥈/᥈᥋/᥈᥆᥇᥋'");
+shouldBe("Intl.DateTimeFormat('en-u-nu-mlym', { timeZone: 'America/Los_Angeles' }).format(1451099872641)", "'൧൨/൨൫/൨൦൧൫'");
+shouldBe("Intl.DateTimeFormat('en-u-nu-mong', { timeZone: 'America/Los_Angeles' }).format(1451099872641)", "'᠑᠒/᠒᠕/᠒᠐᠑᠕'");
+shouldBe("Intl.DateTimeFormat('en-u-nu-mtei', { timeZone: 'America/Los_Angeles' }).format(1451099872641)", "'꯱꯲/꯲꯵/꯲꯰꯱꯵'");
+shouldBe("Intl.DateTimeFormat('en-u-nu-mymr', { timeZone: 'America/Los_Angeles' }).format(1451099872641)", "'၁၂/၂၅/၂၀၁၅'");
+shouldBe("Intl.DateTimeFormat('en-u-nu-mymrshan', { timeZone: 'America/Los_Angeles' }).format(1451099872641)", "'႑႒/႒႕/႒႐႑႕'");
+shouldBe("Intl.DateTimeFormat('en-u-nu-nkoo', { timeZone: 'America/Los_Angeles' }).format(1451099872641)", "'߁߂/߂߅/߂߀߁߅'");
+shouldBe("Intl.DateTimeFormat('en-u-nu-olck', { timeZone: 'America/Los_Angeles' }).format(1451099872641)", "'᱑᱒/᱒᱕/᱒᱐᱑᱕'");
+shouldBe("Intl.DateTimeFormat('en-u-nu-orya', { timeZone: 'America/Los_Angeles' }).format(1451099872641)", "'୧୨/୨୫/୨୦୧୫'");
+shouldBe("Intl.DateTimeFormat('en-u-nu-roman', { timeZone: 'America/Los_Angeles' }).format(1451099872641)", "'XII/XXV/MMXV'");
+shouldBe("Intl.DateTimeFormat('en-u-nu-romanlow', { timeZone: 'America/Los_Angeles' }).format(1451099872641)", "'xii/xxv/mmxv'");
+shouldBe("Intl.DateTimeFormat('en-u-nu-saur', { timeZone: 'America/Los_Angeles' }).format(1451099872641)", "'꣑꣒/꣒꣕/꣒꣐꣑꣕'");
+shouldBe("Intl.DateTimeFormat('en-u-nu-sund', { timeZone: 'America/Los_Angeles' }).format(1451099872641)", "'᮱᮲/᮲᮵/᮲᮰᮱᮵'");
+shouldBe("Intl.DateTimeFormat('en-u-nu-talu', { timeZone: 'America/Los_Angeles' }).format(1451099872641)", "'᧑᧒/᧒᧕/᧒᧐᧑᧕'");
+shouldBe("Intl.DateTimeFormat('en-u-nu-taml', { timeZone: 'America/Los_Angeles' }).format(1451099872641)", "'௰௨/௨௰௫/௨௲௰௫'");
+shouldBe("Intl.DateTimeFormat('en-u-nu-tamldec', { timeZone: 'America/Los_Angeles' }).format(1451099872641)", "'௧௨/௨௫/௨௦௧௫'");
+shouldBe("Intl.DateTimeFormat('en-u-nu-telu', { timeZone: 'America/Los_Angeles' }).format(1451099872641)", "'౧౨/౨౫/౨౦౧౫'");
+shouldBe("Intl.DateTimeFormat('en-u-nu-thai', { timeZone: 'America/Los_Angeles' }).format(1451099872641)", "'๑๒/๒๕/๒๐๑๕'");
+shouldBe("Intl.DateTimeFormat('en-u-nu-tibt', { timeZone: 'America/Los_Angeles' }).format(1451099872641)", "'༡༢/༢༥/༢༠༡༥'");
+shouldBe("Intl.DateTimeFormat('en-u-nu-vaii', { timeZone: 'America/Los_Angeles' }).format(1451099872641)", "'꘡꘢/꘢꘥/꘢꘠꘡꘥'");
+
</ins><span class="cx"> shouldThrow("Intl.DateTimeFormat('en', { weekday: { toString() { throw 'weekday' } } })", "'weekday'");
</span><span class="cx"> shouldThrow("Intl.DateTimeFormat('en', { weekday:'invalid' })", '\'RangeError: weekday must be "narrow", "short", or "long"\'');
</span><span class="cx"> shouldBe("Intl.DateTimeFormat('en', { minute:'2-digit', hour:'numeric' }).resolvedOptions().weekday", "undefined");
</span><span class="cx"> shouldBe("Intl.DateTimeFormat('en', { weekday:'narrow', month:'numeric', day:'numeric' }).resolvedOptions().weekday", "'narrow'");
</span><ins>+shouldBe("Intl.DateTimeFormat('en', { weekday:'narrow', month:'numeric', day:'numeric', timeZone: 'UTC' }).format(0)", "'T, 1/1'");
</ins><span class="cx"> shouldBe("Intl.DateTimeFormat('en', { weekday:'short', month:'numeric', day:'numeric' }).resolvedOptions().weekday", "'short'");
</span><ins>+shouldBe("Intl.DateTimeFormat('en', { weekday:'short', month:'numeric', day:'numeric', timeZone: 'UTC' }).format(0)", "'Thu, 1/1'");
</ins><span class="cx"> shouldBe("Intl.DateTimeFormat('en', { weekday:'long', month:'numeric', day:'numeric' }).resolvedOptions().weekday", "'long'");
</span><ins>+shouldBe("Intl.DateTimeFormat('en', { weekday:'long', month:'numeric', day:'numeric', timeZone: 'UTC' }).format(0)", "'Thursday, 1/1'");
</ins><span class="cx">
</span><span class="cx"> shouldThrow("Intl.DateTimeFormat('en', { era: { toString() { throw 'era' } } })", "'era'");
</span><span class="cx"> shouldThrow("Intl.DateTimeFormat('en', { era:'never' })", '\'RangeError: era must be "narrow", "short", or "long"\'');
</span><span class="cx"> shouldBe("Intl.DateTimeFormat('en', { minute:'2-digit', hour:'numeric' }).resolvedOptions().day", "undefined");
</span><span class="cx"> shouldBe("Intl.DateTimeFormat('en', { era:'narrow', year:'numeric' }).resolvedOptions().era", "'narrow'");
</span><ins>+shouldBe("Intl.DateTimeFormat('en', { era:'narrow', year:'numeric', timeZone: 'UTC' }).format(0)", "'1970 A'");
</ins><span class="cx"> shouldBe("Intl.DateTimeFormat('en', { era:'short', year:'numeric' }).resolvedOptions().era", "'short'");
</span><ins>+shouldBe("Intl.DateTimeFormat('en', { era:'short', year:'numeric', timeZone: 'UTC' }).format(0)", "'1970 AD'");
</ins><span class="cx"> shouldBe("Intl.DateTimeFormat('en', { era:'long', year:'numeric' }).resolvedOptions().era", "'long'");
</span><ins>+shouldBe("Intl.DateTimeFormat('en', { era:'long', year:'numeric', timeZone: 'UTC' }).format(0)", "'1970 Anno Domini'");
</ins><span class="cx">
</span><span class="cx"> shouldThrow("Intl.DateTimeFormat('en', { year: { toString() { throw 'year' } } })", "'year'");
</span><span class="cx"> shouldThrow("Intl.DateTimeFormat('en', { year:'nope' })", '\'RangeError: year must be "2-digit" or "numeric"\'');
</span><span class="cx"> shouldBe("Intl.DateTimeFormat('en', { minute:'2-digit', hour:'numeric' }).resolvedOptions().year", "undefined");
</span><span class="cx"> shouldBe("Intl.DateTimeFormat('en', { era:'narrow', year:'2-digit' }).resolvedOptions().year", "'2-digit'");
</span><ins>+shouldBe("Intl.DateTimeFormat('en', { era:'narrow', year:'2-digit', timeZone: 'UTC' }).format(0)", "'70 A'");
</ins><span class="cx"> shouldBe("Intl.DateTimeFormat('en', { era:'narrow', year:'numeric' }).resolvedOptions().year", "'numeric'");
</span><ins>+shouldBe("Intl.DateTimeFormat('en', { era:'narrow', year:'numeric', timeZone: 'UTC' }).format(0)", "'1970 A'");
</ins><span class="cx">
</span><span class="cx"> shouldThrow("Intl.DateTimeFormat('en', { month: { toString() { throw 'month' } } })", "'month'");
</span><span class="cx"> shouldThrow("Intl.DateTimeFormat('en', { month:2 })", '\'RangeError: month must be "2-digit", "numeric", "narrow", "short", or "long"\'');
</span><span class="cx"> shouldBe("Intl.DateTimeFormat('en', { minute:'2-digit', hour:'numeric' }).resolvedOptions().month", "undefined");
</span><span class="cx"> shouldBe("Intl.DateTimeFormat('en', { month:'2-digit', year:'numeric' }).resolvedOptions().month", "'2-digit'");
</span><ins>+shouldBe("Intl.DateTimeFormat('en', { month:'2-digit', year:'numeric', timeZone: 'UTC' }).format(0)", "'01/1970'");
</ins><span class="cx"> shouldBe("Intl.DateTimeFormat('en', { month:'numeric', year:'numeric' }).resolvedOptions().month", "'numeric'");
</span><ins>+shouldBe("Intl.DateTimeFormat('en', { month:'numeric', year:'numeric', timeZone: 'UTC' }).format(0)", "'1/1970'");
</ins><span class="cx"> shouldBe("Intl.DateTimeFormat('en', { month:'narrow', year:'numeric' }).resolvedOptions().month", "'narrow'");
</span><ins>+shouldBe("Intl.DateTimeFormat('en', { month:'narrow', year:'numeric', timeZone: 'UTC' }).format(0)", "'J 1970'");
</ins><span class="cx"> shouldBe("Intl.DateTimeFormat('en', { month:'short', year:'numeric' }).resolvedOptions().month", "'short'");
</span><ins>+shouldBe("Intl.DateTimeFormat('en', { month:'short', year:'numeric', timeZone: 'UTC' }).format(0)", "'Jan 1970'");
</ins><span class="cx"> shouldBe("Intl.DateTimeFormat('en', { month:'long', year:'numeric' }).resolvedOptions().month", "'long'");
</span><ins>+shouldBe("Intl.DateTimeFormat('en', { month:'long', year:'numeric', timeZone: 'UTC' }).format(0)", "'January 1970'");
</ins><span class="cx">
</span><span class="cx"> shouldThrow("Intl.DateTimeFormat('en', { day: { toString() { throw 'day' } } })", "'day'");
</span><span class="cx"> shouldThrow("Intl.DateTimeFormat('en', { day:'' })", '\'RangeError: day must be "2-digit" or "numeric"\'');
</span><span class="cx"> shouldBe("Intl.DateTimeFormat('en', { minute:'2-digit', hour:'numeric' }).resolvedOptions().day", "undefined");
</span><span class="cx"> shouldBe("Intl.DateTimeFormat('en', { month:'long', day:'2-digit' }).resolvedOptions().day", "'2-digit'");
</span><ins>+shouldBe("Intl.DateTimeFormat('en', { month:'long', day:'2-digit', timeZone: 'UTC' }).format(0)", "'January 01'");
</ins><span class="cx"> shouldBe("Intl.DateTimeFormat('en', { month:'long', day:'numeric' }).resolvedOptions().day", "'numeric'");
</span><ins>+shouldBe("Intl.DateTimeFormat('en', { month:'long', day:'numeric', timeZone: 'UTC' }).format(0)", "'January 1'");
</ins><span class="cx">
</span><span class="cx"> shouldThrow("Intl.DateTimeFormat('en', { hour: { toString() { throw 'hour' } } })", "'hour'");
</span><span class="cx"> shouldThrow("Intl.DateTimeFormat('en', { hour:[] })", '\'RangeError: hour must be "2-digit" or "numeric"\'');
</span><span class="cx"> shouldBe("Intl.DateTimeFormat('en').resolvedOptions().hour", "undefined");
</span><span class="cx"> shouldBe("Intl.DateTimeFormat('en', { minute:'2-digit', hour:'2-digit' }).resolvedOptions().hour", "'numeric'");
</span><ins>+shouldBe("Intl.DateTimeFormat('en', { minute:'2-digit', hour:'2-digit', timeZone: 'UTC' }).format(0)", "'12:00 AM'");
</ins><span class="cx"> shouldBe("Intl.DateTimeFormat('en', { minute:'2-digit', hour:'numeric' }).resolvedOptions().hour", "'numeric'");
</span><ins>+shouldBe("Intl.DateTimeFormat('en', { minute:'2-digit', hour:'numeric', timeZone: 'UTC' }).format(0)", "'12:00 AM'");
</ins><span class="cx">
</span><span class="cx"> shouldBe("Intl.DateTimeFormat('en').resolvedOptions().hour12", "undefined");
</span><span class="cx"> shouldBe("Intl.DateTimeFormat('en', { minute:'2-digit', hour:'numeric' }).resolvedOptions().hour12", "true");
</span><ins>+shouldBe("Intl.DateTimeFormat('en', { minute:'2-digit', hour:'numeric', timeZone: 'UTC' }).format(0)", "'12:00 AM'");
</ins><span class="cx"> shouldBe("Intl.DateTimeFormat('pt-BR', { minute:'2-digit', hour:'numeric' }).resolvedOptions().hour12", "false");
</span><ins>+shouldBe("Intl.DateTimeFormat('pt-BR', { minute:'2-digit', hour:'numeric', timeZone: 'UTC' }).format(0)", "'00:00'");
</ins><span class="cx">
</span><span class="cx"> shouldThrow("Intl.DateTimeFormat('en', { minute: { toString() { throw 'minute' } } })", "'minute'");
</span><span class="cx"> shouldThrow("Intl.DateTimeFormat('en', { minute:null })", '\'RangeError: minute must be "2-digit" or "numeric"\'');
</span><span class="cx"> shouldBe("Intl.DateTimeFormat('en').resolvedOptions().minute", "undefined");
</span><span class="cx"> shouldBe("Intl.DateTimeFormat('en', { minute:'2-digit', hour:'numeric' }).resolvedOptions().minute", "'2-digit'");
</span><ins>+shouldBe("Intl.DateTimeFormat('en', { minute:'2-digit', hour:'numeric', timeZone: 'UTC' }).format(0)", "'12:00 AM'");
</ins><span class="cx"> shouldBe("Intl.DateTimeFormat('en', { minute:'numeric', hour:'numeric' }).resolvedOptions().minute", "'2-digit'");
</span><ins>+shouldBe("Intl.DateTimeFormat('en', { minute:'numeric', hour:'numeric', timeZone: 'UTC' }).format(0)", "'12:00 AM'");
</ins><span class="cx">
</span><span class="cx"> shouldThrow("Intl.DateTimeFormat('en', { second: { toString() { throw 'second' } } })", "'second'");
</span><span class="cx"> shouldThrow("Intl.DateTimeFormat('en', { second:'badvalue' })", '\'RangeError: second must be "2-digit" or "numeric"\'');
</span><span class="cx"> shouldBe("Intl.DateTimeFormat('en').resolvedOptions().second", "undefined");
</span><span class="cx"> shouldBe("Intl.DateTimeFormat('en', { minute:'numeric', hour:'numeric', second:'2-digit' }).resolvedOptions().second", "'2-digit'");
</span><ins>+shouldBe("Intl.DateTimeFormat('en', { minute:'numeric', hour:'numeric', second:'2-digit', timeZone: 'UTC' }).format(0)", "'12:00:00 AM'");
</ins><span class="cx"> shouldBe("Intl.DateTimeFormat('en', { minute:'numeric', hour:'numeric', second:'numeric' }).resolvedOptions().second", "'2-digit'");
</span><ins>+shouldBe("Intl.DateTimeFormat('en', { minute:'numeric', hour:'numeric', second:'numeric', timeZone: 'UTC' }).format(0)", "'12:00:00 AM'");
</ins><span class="cx">
</span><span class="cx"> shouldThrow("Intl.DateTimeFormat('en', { timeZoneName: { toString() { throw 'timeZoneName' } } })", "'timeZoneName'");
</span><span class="cx"> shouldThrow("Intl.DateTimeFormat('en', { timeZoneName:'name' })", '\'RangeError: timeZoneName must be "short" or "long"\'');
</span><span class="cx"> shouldBe("Intl.DateTimeFormat('en').resolvedOptions().timeZoneName", "undefined");
</span><span class="cx"> shouldBe("Intl.DateTimeFormat('en', { minute:'2-digit', hour:'numeric', timeZoneName:'short' }).resolvedOptions().timeZoneName", "'short'");
</span><ins>+shouldBe("Intl.DateTimeFormat('en', { minute:'2-digit', hour:'numeric', timeZoneName:'short', timeZone: 'UTC' }).format(0)", "'12:00 AM GMT'");
</ins><span class="cx"> shouldBe("Intl.DateTimeFormat('pt-BR', { minute:'2-digit', hour:'numeric', timeZoneName:'long' }).resolvedOptions().timeZoneName", "'long'");
</span><ins>+shouldBe("Intl.DateTimeFormat('pt-BR', { minute:'2-digit', hour:'numeric', timeZoneName:'long', timeZone: 'UTC' }).format(0)", "'00:00 GMT'")
</ins><span class="cx">
</span><span class="cx"> let localesSample = [
</span><span class="cx"> "ar", "ar-SA", "be", "ca", "cs", "da", "de", "de-CH", "en", "en-AU", "en-GB",
</span><span class="lines">@@ -411,34 +521,41 @@
</span><span class="cx"> var options = { weekday: "short", year: "numeric", month: "short", day: "numeric", hour: "numeric", minute: "numeric", second: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("${locale}", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null)`);
</span><ins>+ shouldBeTrue(`typeof Intl.DateTimeFormat("${locale}", { weekday: "short", year: "numeric", month: "short", day: "numeric", hour: "numeric", minute: "numeric", second: "numeric" }).format() === "string"`);
</ins><span class="cx"> // weekday, year, month, day
</span><span class="cx"> shouldBeTrue(`
</span><span class="cx"> var options = { weekday: "short", year: "numeric", month: "short", day: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("${locale}", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null)`);
</span><ins>+ shouldBeTrue(`typeof Intl.DateTimeFormat("${locale}", { weekday: "short", year: "numeric", month: "short", day: "numeric" }).format() === "string"`);
</ins><span class="cx"> // year, month, day
</span><span class="cx"> shouldBeTrue(`
</span><span class="cx"> var options = { year: "numeric", month: "long", day: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("${locale}", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null)`);
</span><ins>+ shouldBeTrue(`typeof Intl.DateTimeFormat("${locale}", { year: "numeric", month: "long", day: "numeric" }).format() === "string"`);
</ins><span class="cx"> // year, month
</span><span class="cx"> shouldBeTrue(`
</span><span class="cx"> var options = { year: "numeric", month: "long" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("${locale}", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null)`);
</span><ins>+ shouldBeTrue(`typeof Intl.DateTimeFormat("${locale}", { year: "numeric", month: "long" }).format() === "string"`);
</ins><span class="cx"> // month, day
</span><span class="cx"> shouldBeTrue(`
</span><span class="cx"> var options = { month: "long", day: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("${locale}", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null)`);
</span><ins>+ shouldBeTrue(`typeof Intl.DateTimeFormat("${locale}", { month: "long", day: "numeric" }).format() === "string"`);
</ins><span class="cx"> // hour, minute, second
</span><span class="cx"> shouldBeTrue(`
</span><span class="cx"> var options = { hour: "numeric", minute: "numeric", second: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("${locale}", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null)`);
</span><ins>+ shouldBeTrue(`typeof Intl.DateTimeFormat("${locale}", { hour: "numeric", minute: "numeric", second: "numeric" }).format() === "string"`);
</ins><span class="cx"> // hour, minute
</span><span class="cx"> shouldBeTrue(`
</span><span class="cx"> var options = { hour: "numeric", minute: "numeric" };
</span><span class="cx"> var resolved = Intl.DateTimeFormat("${locale}", options).resolvedOptions();
</span><span class="cx"> Object.keys(options).every(option => resolved[option] != null)`);
</span><ins>+ shouldBeTrue(`typeof Intl.DateTimeFormat("${locale}", { hour: "numeric", minute: "numeric" }).format() === "string"`);
</ins><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/ChangeLog (194394 => 194395)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/ChangeLog        2015-12-23 20:02:37 UTC (rev 194394)
+++ trunk/Source/JavaScriptCore/ChangeLog        2015-12-23 21:50:47 UTC (rev 194395)
</span><span class="lines">@@ -1,3 +1,20 @@
</span><ins>+2015-12-23 Andy VanWagoner <andy@instructure.com>
+
+ [INTL] Implement DateTime Format Functions
+ https://bugs.webkit.org/show_bug.cgi?id=147606
+
+ Reviewed by Benjamin Poulain.
+
+ Initialize a UDateFormat from the generated pattern. Use udat_format()
+ to format the value. Make sure that the UDateFormat is cleaned up when
+ the DateTimeFormat is deconstructed.
+
+ * runtime/IntlDateTimeFormat.cpp:
+ (JSC::IntlDateTimeFormat::~IntlDateTimeFormat):
+ (JSC::IntlDateTimeFormat::initializeDateTimeFormat):
+ (JSC::IntlDateTimeFormat::format):
+ * runtime/IntlDateTimeFormat.h:
+
</ins><span class="cx"> 2015-12-23 Andy VanWagoner <thetalecrafter@gmail.com>
</span><span class="cx">
</span><span class="cx"> [INTL] Implement String.prototype.localeCompare in ECMA-402
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeIntlDateTimeFormatcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/IntlDateTimeFormat.cpp (194394 => 194395)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/IntlDateTimeFormat.cpp        2015-12-23 20:02:37 UTC (rev 194394)
+++ trunk/Source/JavaScriptCore/runtime/IntlDateTimeFormat.cpp        2015-12-23 21:50:47 UTC (rev 194395)
</span><span class="lines">@@ -71,6 +71,12 @@
</span><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx">
</span><ins>+IntlDateTimeFormat::~IntlDateTimeFormat()
+{
+ if (m_dateFormat)
+ udat_close(m_dateFormat);
+}
+
</ins><span class="cx"> void IntlDateTimeFormat::finishCreation(VM& vm)
</span><span class="cx"> {
</span><span class="cx"> Base::finishCreation(vm);
</span><span class="lines">@@ -684,6 +690,14 @@
</span><span class="cx"> StringView pattern(patternBuffer.data(), patternLength);
</span><span class="cx"> setFormatsFromPattern(pattern);
</span><span class="cx">
</span><ins>+ status = U_ZERO_ERROR;
+ StringView timeZoneView(m_timeZone);
+ m_dateFormat = udat_open(UDAT_IGNORE, UDAT_IGNORE, m_locale.utf8().data(), timeZoneView.upconvertedCharacters(), timeZoneView.length(), pattern.upconvertedCharacters(), pattern.length(), &status);
+ if (U_FAILURE(status)) {
+ throwTypeError(&exec, ASCIILiteral("failed to initialize DateTimeFormat"));
+ return;
+ }
+
</ins><span class="cx"> // 37. Set dateTimeFormat.[[boundFormat]] to undefined.
</span><span class="cx"> // Already undefined.
</span><span class="cx">
</span><span class="lines">@@ -900,13 +914,19 @@
</span><span class="cx"> if (!std::isfinite(value))
</span><span class="cx"> return throwRangeError(&exec, ASCIILiteral("date value is not finite in DateTimeFormat format()"));
</span><span class="cx">
</span><del>- // FIXME: implement 2 - 9
</del><ins>+ // Delegate remaining steps to ICU.
+ UErrorCode status = U_ZERO_ERROR;
+ Vector<UChar, 32> result(32);
+ auto resultLength = udat_format(m_dateFormat, value, result.data(), result.capacity(), nullptr, &status);
+ if (status == U_BUFFER_OVERFLOW_ERROR) {
+ status = U_ZERO_ERROR;
+ result = Vector<UChar, 32>(resultLength);
+ udat_format(m_dateFormat, value, result.data(), resultLength, nullptr, &status);
+ }
+ if (U_FAILURE(status))
+ return throwTypeError(&exec, ASCIILiteral("failed to format date value"));
</ins><span class="cx">
</span><del>- // Return new Date(value).toString() until properly implemented.
- VM& vm = exec.vm();
- JSGlobalObject* globalObject = exec.callee()->globalObject();
- DateInstance* d = DateInstance::create(vm, globalObject->dateStructure(), value);
- return JSValue(d).toString(&exec);
</del><ins>+ return jsString(&exec, String(result.data(), resultLength));
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> } // namespace JSC
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeIntlDateTimeFormath"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/IntlDateTimeFormat.h (194394 => 194395)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/IntlDateTimeFormat.h        2015-12-23 20:02:37 UTC (rev 194394)
+++ trunk/Source/JavaScriptCore/runtime/IntlDateTimeFormat.h        2015-12-23 21:50:47 UTC (rev 194395)
</span><span class="lines">@@ -29,6 +29,7 @@
</span><span class="cx"> #if ENABLE(INTL)
</span><span class="cx">
</span><span class="cx"> #include "JSDestructibleObject.h"
</span><ins>+#include <unicode/udat.h>
</ins><span class="cx">
</span><span class="cx"> namespace JSC {
</span><span class="cx">
</span><span class="lines">@@ -53,6 +54,7 @@
</span><span class="cx">
</span><span class="cx"> protected:
</span><span class="cx"> IntlDateTimeFormat(VM&, Structure*);
</span><ins>+ ~IntlDateTimeFormat();
</ins><span class="cx"> void finishCreation(VM&);
</span><span class="cx"> static void destroy(JSCell*);
</span><span class="cx"> static void visitChildren(JSCell*, SlotVisitor&);
</span><span class="lines">@@ -81,6 +83,7 @@
</span><span class="cx"> bool m_initializedDateTimeFormat { false };
</span><span class="cx"> void setFormatsFromPattern(const StringView&);
</span><span class="cx"> WriteBarrier<JSBoundFunction> m_boundFormat;
</span><ins>+ UDateFormat* m_dateFormat { nullptr };
</ins><span class="cx">
</span><span class="cx"> String m_locale { ASCIILiteral("en") };
</span><span class="cx"> String m_calendar { ASCIILiteral("gregorian") };
</span></span></pre>
</div>
</div>
</body>
</html>