From 37716ddbc38e51c0a9367cc8f2784d4a1d797ec3 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Emilio=20Cobos=20=C3=81lvarez?=
Date: Fri, 8 Apr 2022 04:15:40 +0000
Subject: [PATCH 01/11] Bug 1763644 - Add basic @container rule parsing and
boilerplate. r=firefox-style-system-reviewers,layout-reviewers,boris
For now parse a MediaFeatureCondition. That needs being made more
specific, but that is probably worth its own patch.
Differential Revision: https://phabricator.services.mozilla.com/D143192
---
dom/webidl/CSSContainerRule.webidl | 14 +++
dom/webidl/moz.build | 1 +
layout/inspector/ServoStyleRuleMap.cpp | 2 +
layout/style/CSSContainerRule.cpp | 83 +++++++++++++
layout/style/CSSContainerRule.h | 49 ++++++++
layout/style/CSSMediaRule.h | 6 +-
layout/style/Rule.cpp | 3 +-
layout/style/ServoArcTypeList.h | 1 +
layout/style/ServoBindings.h | 1 +
layout/style/ServoCSSRuleList.cpp | 3 +
layout/style/ServoStyleConstsInlines.h | 1 +
layout/style/ServoStyleSet.cpp | 2 +
layout/style/moz.build | 2 +
servo/components/style/gecko/arc_types.rs | 7 +-
.../style/invalidation/stylesheets.rs | 3 +-
.../style/stylesheets/container_rule.rs | 79 +++++++++++++
.../style/stylesheets/layer_rule.rs | 2 +-
.../style/stylesheets/media_rule.rs | 4 +-
servo/components/style/stylesheets/mod.rs | 16 +++
.../style/stylesheets/rule_parser.rs | 23 ++++
.../style/stylesheets/rules_iterator.rs | 4 +
.../style/stylesheets/stylesheet.rs | 1 +
servo/components/style/stylist.rs | 1 +
servo/ports/geckolib/glue.rs | 22 +++-
.../aspect-ratio-feature-evaluation.html.ini | 3 -
.../at-container-parsing.html.ini | 111 ++++++------------
.../at-container-serialization.html.ini | 6 -
.../canvas-as-container-003.html.ini | 2 -
.../canvas-as-container-004.html.ini | 2 -
.../canvas-as-container-005.html.ini | 2 +-
.../canvas-as-container-006.html.ini | 2 +-
.../change-display-in-container.html.ini | 2 -
.../conditional-container-status.html.ini | 3 -
.../container-for-shadow-dom.html.ini | 3 -
.../container-inner-at-rules.html.ini | 6 -
.../container-nested.html.ini | 36 +++---
.../container-selection.html.ini | 48 ++------
.../counters-in-container-dynamic.html.ini | 2 -
.../counters-in-container.html.ini | 2 -
...eep-nested-inline-size-containers.html.ini | 3 +-
.../display-contents.html.ini | 3 +
.../container-queries/display-none.html.ini | 15 +++
.../fieldset-legend-change.html.ini | 2 -
.../font-relative-units-dynamic.html.ini | 8 +-
.../font-relative-units.html.ini | 12 --
.../fragmented-container-001.html.ini | 3 -
.../container-queries/idlharness.html.ini | 24 ----
.../ineligible-containment.html.ini | 3 +
.../inline-size-and-min-width.html.ini | 3 -
.../multicol-container-001.html.ini | 3 -
.../multicol-inside-container.html.ini | 2 -
.../never-match-container.html.ini | 6 +
.../orthogonal-wm-container-query.html.ini | 2 +-
.../percentage-padding-orthogonal.html.ini | 6 -
.../pseudo-elements-003.html.ini | 21 ----
.../query-content-box.html.ini | 12 --
.../query-evaluation.html.ini | 75 ++++++------
...attach-container-with-dirty-child.html.ini | 3 -
...e-while-content-visibility-hidden.html.ini | 2 -
.../size-container-no-principal-box.html.ini | 5 +-
.../size-feature-evaluation.html.ini | 88 +++++++-------
.../style-change-in-container.html.ini | 3 -
...g-foreignobject-no-size-container.html.ini | 2 +
.../svg-g-no-size-container.html.ini | 2 +
.../svg-root-size-container.html.ini | 6 -
.../top-layer-dialog-backdrop.html.ini | 1 -
.../top-layer-dialog-container.html.ini | 2 +-
.../top-layer-dialog.html.ini | 2 +-
.../top-layer-nested-dialog.html.ini | 5 +-
.../transition-style-change-event.html.ini | 3 -
.../unsupported-axis.html.ini | 24 +++-
.../whitespace-update-after-removal.html.ini | 2 +
72 files changed, 527 insertions(+), 386 deletions(-)
create mode 100644 dom/webidl/CSSContainerRule.webidl
create mode 100644 layout/style/CSSContainerRule.cpp
create mode 100644 layout/style/CSSContainerRule.h
create mode 100644 servo/components/style/stylesheets/container_rule.rs
delete mode 100644 testing/web-platform/meta/css/css-contain/container-queries/canvas-as-container-003.html.ini
delete mode 100644 testing/web-platform/meta/css/css-contain/container-queries/canvas-as-container-004.html.ini
delete mode 100644 testing/web-platform/meta/css/css-contain/container-queries/change-display-in-container.html.ini
delete mode 100644 testing/web-platform/meta/css/css-contain/container-queries/conditional-container-status.html.ini
delete mode 100644 testing/web-platform/meta/css/css-contain/container-queries/counters-in-container-dynamic.html.ini
delete mode 100644 testing/web-platform/meta/css/css-contain/container-queries/counters-in-container.html.ini
delete mode 100644 testing/web-platform/meta/css/css-contain/container-queries/fieldset-legend-change.html.ini
delete mode 100644 testing/web-platform/meta/css/css-contain/container-queries/font-relative-units.html.ini
delete mode 100644 testing/web-platform/meta/css/css-contain/container-queries/fragmented-container-001.html.ini
delete mode 100644 testing/web-platform/meta/css/css-contain/container-queries/inline-size-and-min-width.html.ini
delete mode 100644 testing/web-platform/meta/css/css-contain/container-queries/multicol-container-001.html.ini
delete mode 100644 testing/web-platform/meta/css/css-contain/container-queries/multicol-inside-container.html.ini
create mode 100644 testing/web-platform/meta/css/css-contain/container-queries/never-match-container.html.ini
delete mode 100644 testing/web-platform/meta/css/css-contain/container-queries/query-content-box.html.ini
delete mode 100644 testing/web-platform/meta/css/css-contain/container-queries/resize-while-content-visibility-hidden.html.ini
delete mode 100644 testing/web-platform/meta/css/css-contain/container-queries/style-change-in-container.html.ini
create mode 100644 testing/web-platform/meta/css/css-contain/container-queries/svg-foreignobject-no-size-container.html.ini
create mode 100644 testing/web-platform/meta/css/css-contain/container-queries/svg-g-no-size-container.html.ini
delete mode 100644 testing/web-platform/meta/css/css-contain/container-queries/svg-root-size-container.html.ini
delete mode 100644 testing/web-platform/meta/css/css-contain/container-queries/transition-style-change-event.html.ini
create mode 100644 testing/web-platform/meta/css/css-contain/container-queries/whitespace-update-after-removal.html.ini
diff --git a/dom/webidl/CSSContainerRule.webidl b/dom/webidl/CSSContainerRule.webidl
new file mode 100644
index 000000000000..8469b3f425d8
--- /dev/null
+++ b/dom/webidl/CSSContainerRule.webidl
@@ -0,0 +1,14 @@
+/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this file,
+ * You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * The origin of this IDL file is
+ * https://drafts.csswg.org/css-contain-3/#the-csscontainerrule-interface
+ */
+
+// https://drafts.csswg.org/css-contain-3/#the-csscontainerrule-interface
+[Exposed=Window, Pref="layout.css.container-queries.enabled"]
+interface CSSContainerRule : CSSConditionRule {
+};
+
diff --git a/dom/webidl/moz.build b/dom/webidl/moz.build
index b8732600e6b6..8399080efc02 100644
--- a/dom/webidl/moz.build
+++ b/dom/webidl/moz.build
@@ -475,6 +475,7 @@ WEBIDL_FILES = [
"CSS.webidl",
"CSSAnimation.webidl",
"CSSConditionRule.webidl",
+ "CSSContainerRule.webidl",
"CSSCounterStyleRule.webidl",
"CSSFontFaceRule.webidl",
"CSSFontFeatureValuesRule.webidl",
diff --git a/layout/inspector/ServoStyleRuleMap.cpp b/layout/inspector/ServoStyleRuleMap.cpp
index de7c3f8f7ca0..694fef399e72 100644
--- a/layout/inspector/ServoStyleRuleMap.cpp
+++ b/layout/inspector/ServoStyleRuleMap.cpp
@@ -86,6 +86,7 @@ void ServoStyleRuleMap::RuleRemoved(StyleSheet& aStyleSheet,
case StyleCssRuleType::Media:
case StyleCssRuleType::Supports:
case StyleCssRuleType::LayerBlock:
+ case StyleCssRuleType::Container:
case StyleCssRuleType::Document: {
// See the comment in StyleSheetRemoved.
mTable.Clear();
@@ -122,6 +123,7 @@ void ServoStyleRuleMap::FillTableFromRule(css::Rule& aRule) {
case StyleCssRuleType::LayerBlock:
case StyleCssRuleType::Media:
case StyleCssRuleType::Supports:
+ case StyleCssRuleType::Container:
case StyleCssRuleType::Document: {
auto& rule = static_cast(aRule);
if (ServoCSSRuleList* ruleList = rule.GetCssRules()) {
diff --git a/layout/style/CSSContainerRule.cpp b/layout/style/CSSContainerRule.cpp
new file mode 100644
index 000000000000..bfe900c5ebe3
--- /dev/null
+++ b/layout/style/CSSContainerRule.cpp
@@ -0,0 +1,83 @@
+/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/* vim: set ts=8 sts=2 et sw=2 tw=80: */
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+#include "mozilla/dom/CSSContainerRule.h"
+
+#include "mozilla/css/GroupRule.h"
+#include "mozilla/dom/CSSContainerRuleBinding.h"
+#include "mozilla/ServoBindings.h"
+
+using namespace mozilla::css;
+
+namespace mozilla::dom {
+
+CSSContainerRule::CSSContainerRule(RefPtr aRawRule,
+ StyleSheet* aSheet, css::Rule* aParentRule,
+ uint32_t aLine, uint32_t aColumn)
+ : css::ConditionRule(Servo_ContainerRule_GetRules(aRawRule).Consume(),
+ aSheet, aParentRule, aLine, aColumn),
+ mRawRule(std::move(aRawRule)) {}
+
+CSSContainerRule::~CSSContainerRule() = default;
+
+NS_IMPL_ADDREF_INHERITED(CSSContainerRule, ConditionRule)
+NS_IMPL_RELEASE_INHERITED(CSSContainerRule, ConditionRule)
+
+// QueryInterface implementation for ContainerRule
+NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION(CSSContainerRule)
+NS_INTERFACE_MAP_END_INHERITING(ConditionRule)
+
+#ifdef DEBUG
+/* virtual */
+void CSSContainerRule::List(FILE* out, int32_t aIndent) const {
+ nsAutoCString str;
+ for (int32_t i = 0; i < aIndent; i++) {
+ str.AppendLiteral(" ");
+ }
+ Servo_ContainerRule_Debug(mRawRule, &str);
+ fprintf_stderr(out, "%s\n", str.get());
+}
+#endif
+
+StyleCssRuleType CSSContainerRule::Type() const {
+ return StyleCssRuleType::Container;
+}
+
+void CSSContainerRule::GetConditionText(nsACString& aConditionText) {
+ Servo_ContainerRule_GetConditionText(mRawRule, &aConditionText);
+}
+
+void CSSContainerRule::SetConditionText(const nsACString& aConditionText, ErrorResult&) {
+ // FIXME: This shouldn't be here, CSSConditionRule.conditionText should be
+ // readonly as per:
+ // https://github.com/w3c/csswg-drafts/issues/6819#issuecomment-1016695585
+}
+
+/* virtual */
+void CSSContainerRule::GetCssText(nsACString& aCssText) const {
+ Servo_ContainerRule_GetCssText(mRawRule, &aCssText);
+}
+
+void CSSContainerRule::SetRawAfterClone(RefPtr aRaw) {
+ mRawRule = std::move(aRaw);
+
+ css::ConditionRule::SetRawAfterClone(
+ Servo_ContainerRule_GetRules(mRawRule).Consume());
+}
+
+/* virtual */
+size_t CSSContainerRule::SizeOfIncludingThis(MallocSizeOf aMallocSizeOf) const {
+ // TODO Implement this!
+ return aMallocSizeOf(this);
+}
+
+/* virtual */
+JSObject* CSSContainerRule::WrapObject(JSContext* aCx,
+ JS::Handle aGivenProto) {
+ return CSSContainerRule_Binding::Wrap(aCx, this, aGivenProto);
+}
+
+} // namespace mozilla::dom
diff --git a/layout/style/CSSContainerRule.h b/layout/style/CSSContainerRule.h
new file mode 100644
index 000000000000..c5ddc19c450f
--- /dev/null
+++ b/layout/style/CSSContainerRule.h
@@ -0,0 +1,49 @@
+/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/* vim: set ts=8 sts=2 et sw=2 tw=80: */
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+#ifndef mozilla_dom_CSSContainerRule_h
+#define mozilla_dom_CSSContainerRule_h
+
+#include "mozilla/css/GroupRule.h"
+#include "mozilla/ServoBindingTypes.h"
+
+namespace mozilla::dom {
+
+class CSSContainerRule final : public css::ConditionRule {
+ public:
+ CSSContainerRule(RefPtr aRawRule, StyleSheet* aSheet,
+ css::Rule* aParentRule, uint32_t aLine, uint32_t aColumn);
+
+ NS_DECL_ISUPPORTS_INHERITED
+
+#ifdef DEBUG
+ void List(FILE* out = stdout, int32_t aIndent = 0) const final;
+#endif
+
+ RawServoContainerRule* Raw() const { return mRawRule; }
+ void SetRawAfterClone(RefPtr);
+
+ // WebIDL interface
+ StyleCssRuleType Type() const override;
+ // WebIDL interface
+ void GetCssText(nsACString& aCssText) const final;
+ void GetConditionText(nsACString& aConditionText) final;
+ void SetConditionText(const nsACString& aConditionText, ErrorResult&) final;
+
+ size_t SizeOfIncludingThis(MallocSizeOf) const override;
+
+ JSObject* WrapObject(JSContext* aCx,
+ JS::Handle aGivenProto) override;
+
+ private:
+ virtual ~CSSContainerRule();
+
+ RefPtr mRawRule;
+};
+
+} // namespace mozilla::dom
+
+#endif // mozilla_dom_CSSContainerRule_h
diff --git a/layout/style/CSSMediaRule.h b/layout/style/CSSMediaRule.h
index 2801bdd7795e..b16e84f6e825 100644
--- a/layout/style/CSSMediaRule.h
+++ b/layout/style/CSSMediaRule.h
@@ -10,8 +10,7 @@
#include "mozilla/css/GroupRule.h"
#include "mozilla/ServoBindingTypes.h"
-namespace mozilla {
-namespace dom {
+namespace mozilla::dom {
class CSSMediaRule final : public css::ConditionRule {
public:
@@ -51,7 +50,6 @@ class CSSMediaRule final : public css::ConditionRule {
RefPtr mMediaList;
};
-} // namespace dom
-} // namespace mozilla
+} // namespace mozilla::dom
#endif // mozilla_dom_CSSMediaRule_h
diff --git a/layout/style/Rule.cpp b/layout/style/Rule.cpp
index 4a8b971a6c52..a107dc3f01b4 100644
--- a/layout/style/Rule.cpp
+++ b/layout/style/Rule.cpp
@@ -104,7 +104,8 @@ void Rule::AssertParentRuleType() {
type == StyleCssRuleType::Document ||
type == StyleCssRuleType::Supports ||
type == StyleCssRuleType::Keyframes ||
- type == StyleCssRuleType::LayerBlock);
+ type == StyleCssRuleType::LayerBlock ||
+ type == StyleCssRuleType::Container);
}
}
#endif
diff --git a/layout/style/ServoArcTypeList.h b/layout/style/ServoArcTypeList.h
index f5943cec01ba..cf6f01648610 100644
--- a/layout/style/ServoArcTypeList.h
+++ b/layout/style/ServoArcTypeList.h
@@ -39,6 +39,7 @@ SERVO_ARC_TYPE(NamespaceRule, RawServoNamespaceRule)
SERVO_ARC_TYPE(PageRule, RawServoPageRule)
SERVO_ARC_TYPE(SupportsRule, RawServoSupportsRule)
SERVO_ARC_TYPE(DocumentRule, RawServoMozDocumentRule)
+SERVO_ARC_TYPE(ContainerRule, RawServoContainerRule)
SERVO_ARC_TYPE(FontFeatureValuesRule, RawServoFontFeatureValuesRule)
SERVO_ARC_TYPE(FontFaceRule, RawServoFontFaceRule)
SERVO_ARC_TYPE(CounterStyleRule, RawServoCounterStyleRule)
diff --git a/layout/style/ServoBindings.h b/layout/style/ServoBindings.h
index 720de4f1ca05..b09f13d8176f 100644
--- a/layout/style/ServoBindings.h
+++ b/layout/style/ServoBindings.h
@@ -67,6 +67,7 @@ BASIC_RULE_FUNCS(FontFeatureValues)
BASIC_RULE_FUNCS(FontFace)
BASIC_RULE_FUNCS(CounterStyle)
BASIC_RULE_FUNCS(ScrollTimeline)
+GROUP_RULE_FUNCS(Container)
#undef GROUP_RULE_FUNCS
#undef BASIC_RULE_FUNCS
diff --git a/layout/style/ServoCSSRuleList.cpp b/layout/style/ServoCSSRuleList.cpp
index ce83f9ede828..74136b549ec9 100644
--- a/layout/style/ServoCSSRuleList.cpp
+++ b/layout/style/ServoCSSRuleList.cpp
@@ -15,6 +15,7 @@
#include "mozilla/dom/CSSLayerBlockRule.h"
#include "mozilla/dom/CSSLayerStatementRule.h"
#include "mozilla/dom/CSSKeyframesRule.h"
+#include "mozilla/dom/CSSContainerRule.h"
#include "mozilla/dom/CSSMediaRule.h"
#include "mozilla/dom/CSSMozDocumentRule.h"
#include "mozilla/dom/CSSNamespaceRule.h"
@@ -93,6 +94,7 @@ css::Rule* ServoCSSRuleList::GetRule(uint32_t aIndex) {
CASE_RULE(LayerBlock, LayerBlock)
CASE_RULE(LayerStatement, LayerStatement)
CASE_RULE(ScrollTimeline, ScrollTimeline)
+ CASE_RULE(Container, Container)
#undef CASE_RULE
case StyleCssRuleType::Viewport:
MOZ_ASSERT_UNREACHABLE("viewport is not implemented in Gecko");
@@ -247,6 +249,7 @@ void ServoCSSRuleList::SetRawAfterClone(RefPtr aNewRules) {
CASE_FOR(LayerBlock, LayerBlock)
CASE_FOR(LayerStatement, LayerStatement)
CASE_FOR(ScrollTimeline, ScrollTimeline)
+ CASE_FOR(Container, Container)
case StyleCssRuleType::Keyframe:
MOZ_ASSERT_UNREACHABLE("keyframe rule cannot be here");
break;
diff --git a/layout/style/ServoStyleConstsInlines.h b/layout/style/ServoStyleConstsInlines.h
index d4b66d9c5c53..95120543a7ab 100644
--- a/layout/style/ServoStyleConstsInlines.h
+++ b/layout/style/ServoStyleConstsInlines.h
@@ -56,6 +56,7 @@ template struct StyleStrong;
template struct StyleStrong;
template struct StyleStrong;
template struct StyleStrong;
+template struct StyleStrong;
template
inline void StyleOwnedSlice::Clear() {
diff --git a/layout/style/ServoStyleSet.cpp b/layout/style/ServoStyleSet.cpp
index 28e8ab8d844d..5f3eb185347c 100644
--- a/layout/style/ServoStyleSet.cpp
+++ b/layout/style/ServoStyleSet.cpp
@@ -30,6 +30,7 @@
#include "mozilla/dom/CSSFontFaceRule.h"
#include "mozilla/dom/CSSFontFeatureValuesRule.h"
#include "mozilla/dom/CSSImportRule.h"
+#include "mozilla/dom/CSSContainerRule.h"
#include "mozilla/dom/CSSLayerBlockRule.h"
#include "mozilla/dom/CSSLayerStatementRule.h"
#include "mozilla/dom/CSSMediaRule.h"
@@ -949,6 +950,7 @@ void ServoStyleSet::RuleChangedInternal(StyleSheet& aSheet, css::Rule& aRule,
CASE_FOR(LayerBlock, LayerBlock)
CASE_FOR(LayerStatement, LayerStatement)
CASE_FOR(ScrollTimeline, ScrollTimeline)
+ CASE_FOR(Container, Container)
// @namespace can only be inserted / removed when there are only other
// @namespace and @import rules, and can't be mutated.
case StyleCssRuleType::Namespace:
diff --git a/layout/style/moz.build b/layout/style/moz.build
index bb54a8b3b0a5..1482934966a6 100644
--- a/layout/style/moz.build
+++ b/layout/style/moz.build
@@ -121,6 +121,7 @@ EXPORTS.mozilla += [
EXPORTS.mozilla.dom += [
"CSS.h",
+ "CSSContainerRule.h",
"CSSCounterStyleRule.h",
"CSSFontFaceRule.h",
"CSSFontFeatureValuesRule.h",
@@ -166,6 +167,7 @@ UNIFIED_SOURCES += [
"ComputedStyle.cpp",
"CounterStyleManager.cpp",
"CSS.cpp",
+ "CSSContainerRule.cpp",
"CSSCounterStyleRule.cpp",
"CSSFontFaceRule.cpp",
"CSSFontFeatureValuesRule.cpp",
diff --git a/servo/components/style/gecko/arc_types.rs b/servo/components/style/gecko/arc_types.rs
index 4fb08c3a3095..893812ea710e 100644
--- a/servo/components/style/gecko/arc_types.rs
+++ b/servo/components/style/gecko/arc_types.rs
@@ -15,7 +15,7 @@ use crate::gecko_bindings::structs::{
RawServoKeyframesRule, RawServoLayerBlockRule, RawServoLayerStatementRule, RawServoMediaList,
RawServoMediaRule, RawServoMozDocumentRule, RawServoNamespaceRule, RawServoPageRule,
RawServoScrollTimelineRule, RawServoStyleRule, RawServoStyleSheetContents,
- RawServoSupportsRule, ServoCssRules,
+ RawServoSupportsRule, RawServoContainerRule, ServoCssRules,
};
use crate::gecko_bindings::sugar::ownership::{HasArcFFI, HasFFI, Strong};
use crate::media_queries::MediaList;
@@ -26,7 +26,7 @@ use crate::stylesheets::keyframes_rule::Keyframe;
use crate::stylesheets::{
CounterStyleRule, CssRules, DocumentRule, FontFaceRule, FontFeatureValuesRule, ImportRule,
KeyframesRule, LayerBlockRule, LayerStatementRule, MediaRule, NamespaceRule, PageRule,
- ScrollTimelineRule, StyleRule, StylesheetContents, SupportsRule,
+ ScrollTimelineRule, StyleRule, StylesheetContents, SupportsRule, ContainerRule,
};
use servo_arc::{Arc, ArcBorrow};
use std::{mem, ptr};
@@ -98,6 +98,9 @@ impl_arc_ffi!(Locked => RawServoScrollTimelineRule
impl_arc_ffi!(Locked => RawServoSupportsRule
[Servo_SupportsRule_AddRef, Servo_SupportsRule_Release]);
+impl_arc_ffi!(Locked => RawServoContainerRule
+ [Servo_ContainerRule_AddRef, Servo_ContainerRule_Release]);
+
impl_arc_ffi!(Locked => RawServoMozDocumentRule
[Servo_DocumentRule_AddRef, Servo_DocumentRule_Release]);
diff --git a/servo/components/style/invalidation/stylesheets.rs b/servo/components/style/invalidation/stylesheets.rs
index 53130de7a2e8..3c4ee8450559 100644
--- a/servo/components/style/invalidation/stylesheets.rs
+++ b/servo/components/style/invalidation/stylesheets.rs
@@ -556,6 +556,7 @@ impl StylesheetInvalidationSet {
FontFace(..) |
Keyframes(..) |
ScrollTimeline(..) |
+ Container(..) |
Style(..) => {
if is_generic_change {
// TODO(emilio): We need to do this for selector / keyframe
@@ -610,7 +611,7 @@ impl StylesheetInvalidationSet {
}
},
Document(..) | Namespace(..) | Import(..) | Media(..) | Supports(..) |
- LayerStatement(..) | LayerBlock(..) => {
+ Container(..) | LayerStatement(..) | LayerBlock(..) => {
// Do nothing, relevant nested rules are visited as part of the
// iteration.
},
diff --git a/servo/components/style/stylesheets/container_rule.rs b/servo/components/style/stylesheets/container_rule.rs
new file mode 100644
index 000000000000..e2e21735b3bb
--- /dev/null
+++ b/servo/components/style/stylesheets/container_rule.rs
@@ -0,0 +1,79 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at https://mozilla.org/MPL/2.0/. */
+
+//! A [`@container`][container] rule.
+//!
+//! [container]: https://drafts.csswg.org/css-contain-3/#container-rule
+
+use crate::media_queries::MediaCondition;
+use crate::shared_lock::{
+ DeepCloneParams, DeepCloneWithLock, Locked, SharedRwLock, SharedRwLockReadGuard, ToCssWithGuard,
+};
+use crate::values::specified::ContainerName;
+use crate::str::CssStringWriter;
+use crate::stylesheets::CssRules;
+use cssparser::SourceLocation;
+#[cfg(feature = "gecko")]
+use malloc_size_of::{MallocSizeOfOps, MallocUnconditionalShallowSizeOf};
+use servo_arc::Arc;
+use std::fmt::{self, Write};
+use style_traits::{CssWriter, ToCss};
+
+/// A container rule.
+#[derive(Debug, ToShmem)]
+pub struct ContainerRule {
+ /// The container name.
+ pub name: ContainerName,
+ /// The container query.
+ pub condition: ContainerCondition,
+ /// The nested rules inside the block.
+ pub rules: Arc>,
+ /// The source position where this rule was found.
+ pub source_location: SourceLocation,
+}
+
+impl ContainerRule {
+ /// Measure heap usage.
+ #[cfg(feature = "gecko")]
+ pub fn size_of(&self, guard: &SharedRwLockReadGuard, ops: &mut MallocSizeOfOps) -> usize {
+ // Measurement of other fields may be added later.
+ self.rules.unconditional_shallow_size_of(ops)
+ + self.rules.read_with(guard).size_of(guard, ops)
+ }
+}
+
+impl DeepCloneWithLock for ContainerRule {
+ fn deep_clone_with_lock(
+ &self,
+ lock: &SharedRwLock,
+ guard: &SharedRwLockReadGuard,
+ params: &DeepCloneParams,
+ ) -> Self {
+ let rules = self.rules.read_with(guard);
+ Self {
+ name: self.name.clone(),
+ condition: self.condition.clone(),
+ rules: Arc::new(lock.wrap(rules.deep_clone_with_lock(lock, guard, params))),
+ source_location: self.source_location.clone(),
+ }
+ }
+}
+
+impl ToCssWithGuard for ContainerRule {
+ fn to_css(&self, guard: &SharedRwLockReadGuard, dest: &mut CssStringWriter) -> fmt::Result {
+ dest.write_str("@container ")?;
+ {
+ let mut writer = CssWriter::new(dest);
+ if !self.name.is_none() {
+ self.name.to_css(&mut writer)?;
+ writer.write_char(' ')?;
+ }
+ self.condition.to_css(&mut writer)?;
+ }
+ self.rules.read_with(guard).to_css_block(guard, dest)
+ }
+}
+
+/// TODO: Factor out the media query code to work with containers.
+pub type ContainerCondition = MediaCondition;
diff --git a/servo/components/style/stylesheets/layer_rule.rs b/servo/components/style/stylesheets/layer_rule.rs
index ebff5bb9addb..6a91f406f624 100644
--- a/servo/components/style/stylesheets/layer_rule.rs
+++ b/servo/components/style/stylesheets/layer_rule.rs
@@ -2,7 +2,7 @@
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at https://mozilla.org/MPL/2.0/. */
-//! A [`@layer`][layer] urle.
+//! A [`@layer`][layer] rule.
//!
//! [layer]: https://drafts.csswg.org/css-cascade-5/#layering
diff --git a/servo/components/style/stylesheets/media_rule.rs b/servo/components/style/stylesheets/media_rule.rs
index ea7441a5c097..cde60a16bf73 100644
--- a/servo/components/style/stylesheets/media_rule.rs
+++ b/servo/components/style/stylesheets/media_rule.rs
@@ -2,7 +2,7 @@
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at https://mozilla.org/MPL/2.0/. */
-//! An [`@media`][media] urle.
+//! An [`@media`][media] rule.
//!
//! [media]: https://drafts.csswg.org/css-conditional/#at-ruledef-media
@@ -18,7 +18,7 @@ use servo_arc::Arc;
use std::fmt::{self, Write};
use style_traits::{CssWriter, ToCss};
-/// An [`@media`][media] urle.
+/// An [`@media`][media] rule.
///
/// [media]: https://drafts.csswg.org/css-conditional/#at-ruledef-media
#[derive(Debug, ToShmem)]
diff --git a/servo/components/style/stylesheets/mod.rs b/servo/components/style/stylesheets/mod.rs
index d48b75047970..c72f182ebf03 100644
--- a/servo/components/style/stylesheets/mod.rs
+++ b/servo/components/style/stylesheets/mod.rs
@@ -12,6 +12,7 @@ pub mod font_feature_values_rule;
pub mod import_rule;
pub mod keyframes_rule;
pub mod layer_rule;
+pub mod container_rule;
mod loader;
mod media_rule;
mod namespace_rule;
@@ -53,6 +54,7 @@ pub use self::import_rule::ImportRule;
pub use self::keyframes_rule::KeyframesRule;
pub use self::layer_rule::{LayerBlockRule, LayerStatementRule};
pub use self::loader::StylesheetLoader;
+pub use self::container_rule::ContainerRule;
pub use self::media_rule::MediaRule;
pub use self::namespace_rule::NamespaceRule;
pub use self::origin::{Origin, OriginSet, OriginSetIterator, PerOrigin, PerOriginIter};
@@ -253,6 +255,7 @@ pub enum CssRule {
Import(Arc>),
Style(Arc>),
Media(Arc>),
+ Container(Arc>),
FontFace(Arc>),
FontFeatureValues(Arc>),
CounterStyle(Arc>),
@@ -287,6 +290,10 @@ impl CssRule {
lock.unconditional_shallow_size_of(ops) + lock.read_with(guard).size_of(guard, ops)
},
+ CssRule::Container(ref lock) => {
+ lock.unconditional_shallow_size_of(ops) + lock.read_with(guard).size_of(guard, ops)
+ },
+
CssRule::FontFace(_) => 0,
CssRule::FontFeatureValues(_) => 0,
CssRule::CounterStyle(_) => 0,
@@ -344,6 +351,7 @@ pub enum CssRuleType {
LayerBlock = 16,
LayerStatement = 17,
ScrollTimeline = 18,
+ Container = 19,
}
#[allow(missing_docs)]
@@ -373,6 +381,7 @@ impl CssRule {
CssRule::LayerBlock(_) => CssRuleType::LayerBlock,
CssRule::LayerStatement(_) => CssRuleType::LayerStatement,
CssRule::ScrollTimeline(_) => CssRuleType::ScrollTimeline,
+ CssRule::Container(_) => CssRuleType::Container,
}
}
@@ -460,6 +469,12 @@ impl DeepCloneWithLock for CssRule {
lock.wrap(rule.deep_clone_with_lock(lock, guard, params)),
))
},
+ CssRule::Container(ref arc) => {
+ let rule = arc.read_with(guard);
+ CssRule::Container(Arc::new(
+ lock.wrap(rule.deep_clone_with_lock(lock, guard, params)),
+ ))
+ },
CssRule::Media(ref arc) => {
let rule = arc.read_with(guard);
CssRule::Media(Arc::new(
@@ -545,6 +560,7 @@ impl ToCssWithGuard for CssRule {
CssRule::LayerBlock(ref lock) => lock.read_with(guard).to_css(guard, dest),
CssRule::LayerStatement(ref lock) => lock.read_with(guard).to_css(guard, dest),
CssRule::ScrollTimeline(ref lock) => lock.read_with(guard).to_css(guard, dest),
+ CssRule::Container(ref lock) => lock.read_with(guard).to_css(guard, dest),
}
}
}
diff --git a/servo/components/style/stylesheets/rule_parser.rs b/servo/components/style/stylesheets/rule_parser.rs
index 31d553e4c149..5cbc4a844f63 100644
--- a/servo/components/style/stylesheets/rule_parser.rs
+++ b/servo/components/style/stylesheets/rule_parser.rs
@@ -13,6 +13,7 @@ use crate::properties::parse_property_declaration_list;
use crate::selector_parser::{SelectorImpl, SelectorParser};
use crate::shared_lock::{Locked, SharedRwLock};
use crate::str::starts_with_ignore_ascii_case;
+use crate::stylesheets::container_rule::{ContainerRule, ContainerCondition};
use crate::stylesheets::document_rule::DocumentCondition;
use crate::stylesheets::font_feature_values_rule::parse_family_name_list;
use crate::stylesheets::import_rule::ImportLayer;
@@ -28,6 +29,7 @@ use crate::stylesheets::{
};
use crate::values::computed::font::FamilyName;
use crate::values::{CssUrl, CustomIdent, KeyframesName, TimelineName};
+use crate::values::specified::ContainerName;
use crate::{Namespace, Prefix};
use cssparser::{
AtRuleParser, BasicParseError, BasicParseErrorKind, CowRcStr, Parser, ParserState,
@@ -162,6 +164,8 @@ pub enum AtRulePrelude {
CounterStyle(CustomIdent),
/// A @media rule prelude, with its media queries.
Media(Arc>),
+ /// A @container rule prelude.
+ Container(ContainerName, ContainerCondition),
/// An @supports rule, with its conditional
Supports(SupportsCondition),
/// A @viewport rule prelude.
@@ -428,6 +432,15 @@ impl<'a, 'b, 'i> AtRuleParser<'i> for NestedRuleParser<'a, 'b> {
"font-face" => {
AtRulePrelude::FontFace
},
+ "container" if static_prefs::pref!("layout.css.container-queries.enabled") => {
+ // FIXME: This is a bit ambiguous:
+ // https://github.com/w3c/csswg-drafts/issues/7203
+ let name = input.try_parse(|input| {
+ ContainerName::parse(self.context, input)
+ }).ok().unwrap_or_else(ContainerName::none);
+ let condition = ContainerCondition::parse(self.context, input)?;
+ AtRulePrelude::Container(name, condition)
+ },
"layer" if static_prefs::pref!("layout.css.cascade-layers.enabled") => {
let names = input.try_parse(|input| {
input.parse_comma_separated(|input| {
@@ -607,6 +620,16 @@ impl<'a, 'b, 'i> AtRuleParser<'i> for NestedRuleParser<'a, 'b> {
},
))))
},
+ AtRulePrelude::Container(name, condition) => {
+ Ok(CssRule::Container(Arc::new(self.shared_lock.wrap(
+ ContainerRule {
+ name,
+ condition,
+ rules: self.parse_nested_rules(input, CssRuleType::Container),
+ source_location: start.source_location(),
+ },
+ ))))
+ },
AtRulePrelude::Layer(names) => {
let name = match names.len() {
0 | 1 => names.into_iter().next(),
diff --git a/servo/components/style/stylesheets/rules_iterator.rs b/servo/components/style/stylesheets/rules_iterator.rs
index 417185953a01..c86d4dc96c30 100644
--- a/servo/components/style/stylesheets/rules_iterator.rs
+++ b/servo/components/style/stylesheets/rules_iterator.rs
@@ -88,6 +88,10 @@ where
}
Some(doc_rule.rules.read_with(guard).0.iter())
},
+ CssRule::Container(ref lock) => {
+ let container_rule = lock.read_with(guard);
+ Some(container_rule.rules.read_with(guard).0.iter())
+ },
CssRule::Media(ref lock) => {
let media_rule = lock.read_with(guard);
if !C::process_media(guard, device, quirks_mode, media_rule) {
diff --git a/servo/components/style/stylesheets/stylesheet.rs b/servo/components/style/stylesheets/stylesheet.rs
index d46fbff4eced..9f5fa2191911 100644
--- a/servo/components/style/stylesheets/stylesheet.rs
+++ b/servo/components/style/stylesheets/stylesheet.rs
@@ -359,6 +359,7 @@ impl SanitizationKind {
CssRule::Media(..) |
CssRule::Supports(..) |
CssRule::Import(..) |
+ CssRule::Container(..) |
// TODO(emilio): Perhaps Layer should not be always sanitized? But
// we sanitize @media and co, so this seems safer for now.
CssRule::LayerStatement(..) |
diff --git a/servo/components/style/stylist.rs b/servo/components/style/stylist.rs
index 02610fe7a127..f74a090a0443 100644
--- a/servo/components/style/stylist.rs
+++ b/servo/components/style/stylist.rs
@@ -2828,6 +2828,7 @@ impl CascadeData {
CssRule::Style(..) |
CssRule::Namespace(..) |
CssRule::FontFace(..) |
+ CssRule::Container(..) |
CssRule::CounterStyle(..) |
CssRule::Supports(..) |
CssRule::Keyframes(..) |
diff --git a/servo/ports/geckolib/glue.rs b/servo/ports/geckolib/glue.rs
index 0b749fbd1438..28f9a083cff0 100644
--- a/servo/ports/geckolib/glue.rs
+++ b/servo/ports/geckolib/glue.rs
@@ -91,7 +91,7 @@ use style::gecko_bindings::structs::{
RawServoLayerStatementRule, RawServoMediaList, RawServoMediaRule, RawServoMozDocumentRule,
RawServoNamespaceRule, RawServoPageRule, RawServoScrollTimelineRule,
RawServoSharedMemoryBuilder, RawServoStyleSet, RawServoStyleSheetContents,
- RawServoSupportsRule, ServoCssRules,
+ RawServoSupportsRule, RawServoContainerRule, ServoCssRules,
};
use style::gecko_bindings::sugar::ownership::{FFIArcHelpers, HasArcFFI, HasFFI};
use style::gecko_bindings::sugar::ownership::{
@@ -127,7 +127,7 @@ use style::stylesheets::{
DocumentRule, FontFaceRule, FontFeatureValuesRule, ImportRule, KeyframesRule, LayerBlockRule,
LayerStatementRule, MediaRule, NamespaceRule, Origin, OriginSet, PageRule, SanitizationData,
SanitizationKind, ScrollTimelineRule, StyleRule, StylesheetContents,
- StylesheetLoader as StyleStylesheetLoader, SupportsRule, UrlExtraData,
+ StylesheetLoader as StyleStylesheetLoader, SupportsRule, UrlExtraData, ContainerRule,
};
use style::stylist::{add_size_of_ua_cache, AuthorStylesEnabled, RuleInclusion, Stylist};
use style::thread_state;
@@ -2334,6 +2334,14 @@ impl_group_rule_funcs! { (Supports, SupportsRule, RawServoSupportsRule),
changed: Servo_StyleSet_SupportsRuleChanged,
}
+impl_group_rule_funcs! { (Container, ContainerRule, RawServoContainerRule),
+ get_rules: Servo_ContainerRule_GetRules,
+ getter: Servo_CssRules_GetContainerRuleAt,
+ debug: Servo_ContainerRule_Debug,
+ to_css: Servo_ContainerRule_GetCssText,
+ changed: Servo_StyleSet_ContainerRuleChanged,
+}
+
impl_group_rule_funcs! { (LayerBlock, LayerBlockRule, RawServoLayerBlockRule),
get_rules: Servo_LayerBlockRule_GetRules,
getter: Servo_CssRules_GetLayerBlockRuleAt,
@@ -2951,6 +2959,16 @@ pub extern "C" fn Servo_SupportsRule_GetConditionText(
})
}
+#[no_mangle]
+pub extern "C" fn Servo_ContainerRule_GetConditionText(
+ rule: &RawServoContainerRule,
+ result: &mut nsACString,
+) {
+ read_locked_arc(rule, |rule: &ContainerRule| {
+ rule.condition.to_css(&mut CssWriter::new(result)).unwrap();
+ })
+}
+
#[no_mangle]
pub extern "C" fn Servo_MozDocumentRule_GetConditionText(
rule: &RawServoMozDocumentRule,
diff --git a/testing/web-platform/meta/css/css-contain/container-queries/aspect-ratio-feature-evaluation.html.ini b/testing/web-platform/meta/css/css-contain/container-queries/aspect-ratio-feature-evaluation.html.ini
index 97bfa5fb7c70..69d4f6a56469 100644
--- a/testing/web-platform/meta/css/css-contain/container-queries/aspect-ratio-feature-evaluation.html.ini
+++ b/testing/web-platform/meta/css/css-contain/container-queries/aspect-ratio-feature-evaluation.html.ini
@@ -1,6 +1,3 @@
[aspect-ratio-feature-evaluation.html]
[@container queries with aspect-ratio and size containment]
expected: FAIL
-
- [@container query with aspect-ratio change after resize]
- expected: FAIL
diff --git a/testing/web-platform/meta/css/css-contain/container-queries/at-container-parsing.html.ini b/testing/web-platform/meta/css/css-contain/container-queries/at-container-parsing.html.ini
index 8f58546452f7..05dd92812294 100644
--- a/testing/web-platform/meta/css/css-contain/container-queries/at-container-parsing.html.ini
+++ b/testing/web-platform/meta/css/css-contain/container-queries/at-container-parsing.html.ini
@@ -1,34 +1,4 @@
[at-container-parsing.html]
- [(width)]
- expected: FAIL
-
- [(min-width: 0px)]
- expected: FAIL
-
- [(max-width: 0px)]
- expected: FAIL
-
- [(height)]
- expected: FAIL
-
- [(min-height: 0px)]
- expected: FAIL
-
- [(max-height: 0px)]
- expected: FAIL
-
- [(aspect-ratio)]
- expected: FAIL
-
- [(min-aspect-ratio: 1/2)]
- expected: FAIL
-
- [(max-aspect-ratio: 1/2)]
- expected: FAIL
-
- [(orientation: portrait)]
- expected: FAIL
-
[(inline-size)]
expected: FAIL
@@ -47,24 +17,9 @@
[(max-block-size: 0px)]
expected: FAIL
- [(width: 100px)]
- expected: FAIL
-
- [((width: 100px))]
- expected: FAIL
-
- [(not (width: 100px))]
- expected: FAIL
-
- [((width: 100px) and (height: 100px))]
- expected: FAIL
-
[((width: 50px) or (height: 100px))]
expected: FAIL
- [(width < 100px)]
- expected: FAIL
-
[(100px < width)]
expected: FAIL
@@ -101,42 +56,9 @@
[(grid)]
expected: FAIL
- [Container selector: foo]
- expected: FAIL
-
- [Container selector: foo]
- expected: FAIL
-
- [Container selector: foo ]
- expected: FAIL
-
- [(((width: 40px) or (width: 50px)) and (height: 100px))]
- expected: FAIL
-
- [((width: 100px) and ((height: 40px) or (height: 50px)))]
- expected: FAIL
-
[(((width: 40x) and (height: 50px)) or (height: 100px))]
expected: FAIL
- [((width: 50px) or ((width: 40px) and (height: 50px)))]
- expected: FAIL
-
- [((width: 100px) and (not (height: 100px)))]
- expected: FAIL
-
- [(width <= 100px)]
- expected: FAIL
-
- [(width = 100px)]
- expected: FAIL
-
- [(width > 100px)]
- expected: FAIL
-
- [(width >= 100px)]
- expected: FAIL
-
[(100px <= width)]
expected: FAIL
@@ -187,3 +109,36 @@
[(100px : width : 200px)]
expected: FAIL
+
+ [screen and (width: 100px)]
+ expected: FAIL
+
+ [screen or (width: 100px)]
+ expected: FAIL
+
+ [not screen and (width: 100px)]
+ expected: FAIL
+
+ [not screen or (width: 100px)]
+ expected: FAIL
+
+ [(width: 100px) and (height: 100px)]
+ expected: FAIL
+
+ [(width: 100px) or (height: 100px)]
+ expected: FAIL
+
+ [not (width: 100px)]
+ expected: FAIL
+
+ [foo (width: 100px)]
+ expected: FAIL
+
+ [Container selector: foo foo]
+ expected: FAIL
+
+ [Container selector: none]
+ expected: FAIL
+
+ [Container selector: None]
+ expected: FAIL
diff --git a/testing/web-platform/meta/css/css-contain/container-queries/at-container-serialization.html.ini b/testing/web-platform/meta/css/css-contain/container-queries/at-container-serialization.html.ini
index 6c7334742e6e..589dfb309e8b 100644
--- a/testing/web-platform/meta/css/css-contain/container-queries/at-container-serialization.html.ini
+++ b/testing/web-platform/meta/css/css-contain/container-queries/at-container-serialization.html.ini
@@ -8,11 +8,5 @@
[Serialization of nested @container rule]
expected: FAIL
- [Serialization of boolean condition syntax]
- expected: FAIL
-
- [Serialization of colon condition syntax]
- expected: FAIL
-
[Serialization of range condition syntax]
expected: FAIL
diff --git a/testing/web-platform/meta/css/css-contain/container-queries/canvas-as-container-003.html.ini b/testing/web-platform/meta/css/css-contain/container-queries/canvas-as-container-003.html.ini
deleted file mode 100644
index e6ff9db8dd58..000000000000
--- a/testing/web-platform/meta/css/css-contain/container-queries/canvas-as-container-003.html.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-[canvas-as-container-003.html]
- expected: FAIL
diff --git a/testing/web-platform/meta/css/css-contain/container-queries/canvas-as-container-004.html.ini b/testing/web-platform/meta/css/css-contain/container-queries/canvas-as-container-004.html.ini
deleted file mode 100644
index e745dc1dbaba..000000000000
--- a/testing/web-platform/meta/css/css-contain/container-queries/canvas-as-container-004.html.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-[canvas-as-container-004.html]
- expected: FAIL
diff --git a/testing/web-platform/meta/css/css-contain/container-queries/canvas-as-container-005.html.ini b/testing/web-platform/meta/css/css-contain/container-queries/canvas-as-container-005.html.ini
index 69ec819abd95..a25595e70d43 100644
--- a/testing/web-platform/meta/css/css-contain/container-queries/canvas-as-container-005.html.ini
+++ b/testing/web-platform/meta/css/css-contain/container-queries/canvas-as-container-005.html.ini
@@ -1,3 +1,3 @@
[canvas-as-container-005.html]
- [Focusable after container size change]
+ [Initially display:none, not focusable]
expected: FAIL
diff --git a/testing/web-platform/meta/css/css-contain/container-queries/canvas-as-container-006.html.ini b/testing/web-platform/meta/css/css-contain/container-queries/canvas-as-container-006.html.ini
index 0aaa7995a130..2bec1da93aeb 100644
--- a/testing/web-platform/meta/css/css-contain/container-queries/canvas-as-container-006.html.ini
+++ b/testing/web-platform/meta/css/css-contain/container-queries/canvas-as-container-006.html.ini
@@ -1,3 +1,3 @@
[canvas-as-container-006.html]
- [Focusable after container size change]
+ [Initially display:none, not focusable]
expected: FAIL
diff --git a/testing/web-platform/meta/css/css-contain/container-queries/change-display-in-container.html.ini b/testing/web-platform/meta/css/css-contain/container-queries/change-display-in-container.html.ini
deleted file mode 100644
index 1a14360fad1d..000000000000
--- a/testing/web-platform/meta/css/css-contain/container-queries/change-display-in-container.html.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-[change-display-in-container.html]
- expected: FAIL
diff --git a/testing/web-platform/meta/css/css-contain/container-queries/conditional-container-status.html.ini b/testing/web-platform/meta/css/css-contain/container-queries/conditional-container-status.html.ini
deleted file mode 100644
index ed8d459baace..000000000000
--- a/testing/web-platform/meta/css/css-contain/container-queries/conditional-container-status.html.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-[conditional-container-status.html]
- [Conditionally applying container-type:initial]
- expected: FAIL
diff --git a/testing/web-platform/meta/css/css-contain/container-queries/container-for-shadow-dom.html.ini b/testing/web-platform/meta/css/css-contain/container-queries/container-for-shadow-dom.html.ini
index 7ebe0e51a570..c2dfb40ce6ff 100644
--- a/testing/web-platform/meta/css/css-contain/container-queries/container-for-shadow-dom.html.ini
+++ b/testing/web-platform/meta/css/css-contain/container-queries/container-for-shadow-dom.html.ini
@@ -2,9 +2,6 @@
[Match container in outer tree]
expected: FAIL
- [Match container in same tree, not walking flat tree ancestors]
- expected: FAIL
-
[Match container in ::slotted selector's originating element tree]
expected: FAIL
diff --git a/testing/web-platform/meta/css/css-contain/container-queries/container-inner-at-rules.html.ini b/testing/web-platform/meta/css/css-contain/container-queries/container-inner-at-rules.html.ini
index 68010d992c1f..118e6d61c702 100644
--- a/testing/web-platform/meta/css/css-contain/container-queries/container-inner-at-rules.html.ini
+++ b/testing/web-platform/meta/css/css-contain/container-queries/container-inner-at-rules.html.ini
@@ -5,12 +5,6 @@
[@property is defined regardless of evaluation]
expected: FAIL
- [@layer order respected regardless of evaluation]
- expected: FAIL
-
- [@font-face is defined regardless of evaluation]
- expected: FAIL
-
[@media works inside @container]
expected: FAIL
diff --git a/testing/web-platform/meta/css/css-contain/container-queries/container-nested.html.ini b/testing/web-platform/meta/css/css-contain/container-queries/container-nested.html.ini
index af458226e9e2..2e4337dc1504 100644
--- a/testing/web-platform/meta/css/css-contain/container-queries/container-nested.html.ini
+++ b/testing/web-platform/meta/css/css-contain/container-queries/container-nested.html.ini
@@ -1,27 +1,21 @@
[container-nested.html]
- [Implicit]
- expected: FAIL
-
- [Outer named, inner named]
- expected: FAIL
-
- [Outer named, inner named (reverse)]
- expected: FAIL
-
- [Outer named, inner implicit]
- expected: FAIL
-
- [Inner named, outer implicit]
- expected: FAIL
-
- [Inner named, outer implicit (reverse)]
- expected: FAIL
-
- [Three levels]
- expected: FAIL
-
[Named inner invalidation]
expected: FAIL
[Implicit outer invalidation]
expected: FAIL
+
+ [Implicit, outer failing]
+ expected: FAIL
+
+ [Implicit, inner failing]
+ expected: FAIL
+
+ [Failing outer name]
+ expected: FAIL
+
+ [Failing inner name]
+ expected: FAIL
+
+ [Three levels, middle fail]
+ expected: FAIL
diff --git a/testing/web-platform/meta/css/css-contain/container-queries/container-selection.html.ini b/testing/web-platform/meta/css/css-contain/container-queries/container-selection.html.ini
index 41697cff7ad1..1168f8ae23a2 100644
--- a/testing/web-platform/meta/css/css-contain/container-queries/container-selection.html.ini
+++ b/testing/web-platform/meta/css/css-contain/container-queries/container-selection.html.ini
@@ -1,43 +1,4 @@
[container-selection.html]
- [(width: 16px) for .size > .inline > span]
- expected: FAIL
-
- [(height: 16px) for .inline > .size > span]
- expected: FAIL
-
- [(width: 16px) for .inline > .size > span]
- expected: FAIL
-
- [(height: 32px) for .size > .inline > span]
- expected: FAIL
-
- [a (width: 32px) for .a-size > .b-size > span]
- expected: FAIL
-
- [b (width: 16px) for .a-size > .b-size > span]
- expected: FAIL
-
- [a (width: 16px) for .a-size > .a-size > span]
- expected: FAIL
-
- [a (width: 32px) for .a-size > .a > span]
- expected: FAIL
-
- [a (width: 32px) for .ab-size > .size > span]
- expected: FAIL
-
- [b (width: 32px) for .ab-size > .size > span]
- expected: FAIL
-
- [a (width: 8px) for .a-size > .b-size > .a-inline > span]
- expected: FAIL
-
- [b (width: 16px) for .a-size > .b-size > .a-inline > span]
- expected: FAIL
-
- [a (height: 32px) for .a-size > .b-size > .a-inline > span]
- expected: FAIL
-
[a (inline-size: 8px) for .a-size > .b-size > .a-inline > span]
expected: FAIL
@@ -46,3 +7,12 @@
[a (block-size: 32px) for .a-size > .b-size > .a-inline > span]
expected: FAIL
+
+ [(height: 16px) for .size > .inline > span]
+ expected: FAIL
+
+ [c (width) for .a-size > .b-size > span]
+ expected: FAIL
+
+ [c (width) for .ab-size > .size > span]
+ expected: FAIL
diff --git a/testing/web-platform/meta/css/css-contain/container-queries/counters-in-container-dynamic.html.ini b/testing/web-platform/meta/css/css-contain/container-queries/counters-in-container-dynamic.html.ini
deleted file mode 100644
index 7cd3bd77b75d..000000000000
--- a/testing/web-platform/meta/css/css-contain/container-queries/counters-in-container-dynamic.html.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-[counters-in-container-dynamic.html]
- expected: FAIL
diff --git a/testing/web-platform/meta/css/css-contain/container-queries/counters-in-container.html.ini b/testing/web-platform/meta/css/css-contain/container-queries/counters-in-container.html.ini
deleted file mode 100644
index 4bf610e9b835..000000000000
--- a/testing/web-platform/meta/css/css-contain/container-queries/counters-in-container.html.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-[counters-in-container.html]
- expected: FAIL
diff --git a/testing/web-platform/meta/css/css-contain/container-queries/deep-nested-inline-size-containers.html.ini b/testing/web-platform/meta/css/css-contain/container-queries/deep-nested-inline-size-containers.html.ini
index 49ed002ee861..e04cf1e12084 100644
--- a/testing/web-platform/meta/css/css-contain/container-queries/deep-nested-inline-size-containers.html.ini
+++ b/testing/web-platform/meta/css/css-contain/container-queries/deep-nested-inline-size-containers.html.ini
@@ -1,2 +1,3 @@
[deep-nested-inline-size-containers.html]
- expected: ERROR
+ [Test that all container widths match]
+ expected: FAIL
diff --git a/testing/web-platform/meta/css/css-contain/container-queries/display-contents.html.ini b/testing/web-platform/meta/css/css-contain/container-queries/display-contents.html.ini
index 3b16182c1827..6e621b35be30 100644
--- a/testing/web-platform/meta/css/css-contain/container-queries/display-contents.html.ini
+++ b/testing/web-platform/meta/css/css-contain/container-queries/display-contents.html.ini
@@ -4,3 +4,6 @@
[getComputedStyle when intermediate container becomes display:contents]
expected: FAIL
+
+ [getComputedStyle when container is display:contents]
+ expected: FAIL
diff --git a/testing/web-platform/meta/css/css-contain/container-queries/display-none.html.ini b/testing/web-platform/meta/css/css-contain/container-queries/display-none.html.ini
index 5c2a480abeca..170b460379a2 100644
--- a/testing/web-platform/meta/css/css-contain/container-queries/display-none.html.ini
+++ b/testing/web-platform/meta/css/css-contain/container-queries/display-none.html.ini
@@ -37,3 +37,18 @@
[getComputedStyle when in display:none with layout dirty outer element]
expected: FAIL
+
+ [getComputedStyle when container is display:none]
+ expected: FAIL
+
+ [getComputedStyle when inner container is display:none]
+ expected: FAIL
+
+ [getComputedStyle when intermediate ancestor is display:none]
+ expected: FAIL
+
+ [getComputedStyle when outer container is display:none]
+ expected: FAIL
+
+ [getComputedStyle on ::before when container is display:none]
+ expected: FAIL
diff --git a/testing/web-platform/meta/css/css-contain/container-queries/fieldset-legend-change.html.ini b/testing/web-platform/meta/css/css-contain/container-queries/fieldset-legend-change.html.ini
deleted file mode 100644
index 9d5d377cd9c5..000000000000
--- a/testing/web-platform/meta/css/css-contain/container-queries/fieldset-legend-change.html.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-[fieldset-legend-change.html]
- expected: FAIL
diff --git a/testing/web-platform/meta/css/css-contain/container-queries/font-relative-units-dynamic.html.ini b/testing/web-platform/meta/css/css-contain/container-queries/font-relative-units-dynamic.html.ini
index 318c812c6550..3a8ce7450987 100644
--- a/testing/web-platform/meta/css/css-contain/container-queries/font-relative-units-dynamic.html.ini
+++ b/testing/web-platform/meta/css/css-contain/container-queries/font-relative-units-dynamic.html.ini
@@ -1,12 +1,12 @@
[font-relative-units-dynamic.html]
- [em relative after change]
+ [em relative before change]
expected: FAIL
- [rem relative after change]
+ [rem relative before change]
expected: FAIL
- [ex relative after change]
+ [ex relative before change]
expected: FAIL
- [ch relative after change]
+ [ch relative before change]
expected: FAIL
diff --git a/testing/web-platform/meta/css/css-contain/container-queries/font-relative-units.html.ini b/testing/web-platform/meta/css/css-contain/container-queries/font-relative-units.html.ini
deleted file mode 100644
index 3e8e01654403..000000000000
--- a/testing/web-platform/meta/css/css-contain/container-queries/font-relative-units.html.ini
+++ /dev/null
@@ -1,12 +0,0 @@
-[font-relative-units.html]
- [em relative inline-size]
- expected: FAIL
-
- [rem relative inline-size]
- expected: FAIL
-
- [ex relative inline-size]
- expected: FAIL
-
- [ch relative inline-size]
- expected: FAIL
diff --git a/testing/web-platform/meta/css/css-contain/container-queries/fragmented-container-001.html.ini b/testing/web-platform/meta/css/css-contain/container-queries/fragmented-container-001.html.ini
deleted file mode 100644
index 06a25a08df23..000000000000
--- a/testing/web-platform/meta/css/css-contain/container-queries/fragmented-container-001.html.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-[fragmented-container-001.html]
- [Children of fragmented inline-size container should match inline-size of first fragment]
- expected: FAIL
diff --git a/testing/web-platform/meta/css/css-contain/container-queries/idlharness.html.ini b/testing/web-platform/meta/css/css-contain/container-queries/idlharness.html.ini
index b5746c6e3a8c..b5a2c43946d9 100644
--- a/testing/web-platform/meta/css/css-contain/container-queries/idlharness.html.ini
+++ b/testing/web-platform/meta/css/css-contain/container-queries/idlharness.html.ini
@@ -1,30 +1,6 @@
[idlharness.html]
- [CSSContainerRule interface object length]
- expected: FAIL
-
- [CSSContainerRule interface: existence and properties of interface object]
- expected: FAIL
-
- [CSSContainerRule interface: existence and properties of interface prototype object]
- expected: FAIL
-
[Stringification of sheet.cssRules[0\].cssRules[0\]]
expected: FAIL
[CSSContainerRule must be primary interface of sheet.cssRules[0\].cssRules[0\]]
expected: FAIL
-
- [CSSContainerRule must be primary interface of sheet.cssRules[0\]]
- expected: FAIL
-
- [CSSContainerRule interface: existence and properties of interface prototype object's @@unscopables property]
- expected: FAIL
-
- [Stringification of sheet.cssRules[0\]]
- expected: FAIL
-
- [CSSContainerRule interface: existence and properties of interface prototype object's "constructor" property]
- expected: FAIL
-
- [CSSContainerRule interface object name]
- expected: FAIL
diff --git a/testing/web-platform/meta/css/css-contain/container-queries/ineligible-containment.html.ini b/testing/web-platform/meta/css/css-contain/container-queries/ineligible-containment.html.ini
index 1a6d08f1f00c..a18c90ee2a2b 100644
--- a/testing/web-platform/meta/css/css-contain/container-queries/ineligible-containment.html.ini
+++ b/testing/web-platform/meta/css/css-contain/container-queries/ineligible-containment.html.ini
@@ -1,3 +1,6 @@
[ineligible-containment.html]
[Changing containment eligibility invalidates style]
expected: FAIL
+
+ [Container ineligible for containment]
+ expected: FAIL
diff --git a/testing/web-platform/meta/css/css-contain/container-queries/inline-size-and-min-width.html.ini b/testing/web-platform/meta/css/css-contain/container-queries/inline-size-and-min-width.html.ini
deleted file mode 100644
index be23d2784966..000000000000
--- a/testing/web-platform/meta/css/css-contain/container-queries/inline-size-and-min-width.html.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-[inline-size-and-min-width.html]
- [min-width of inline-size container affects container size]
- expected: FAIL
diff --git a/testing/web-platform/meta/css/css-contain/container-queries/multicol-container-001.html.ini b/testing/web-platform/meta/css/css-contain/container-queries/multicol-container-001.html.ini
deleted file mode 100644
index f74fceae162d..000000000000
--- a/testing/web-platform/meta/css/css-contain/container-queries/multicol-container-001.html.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-[multicol-container-001.html]
- [Children of multicol inline-size container should match inline-size of the container]
- expected: FAIL
diff --git a/testing/web-platform/meta/css/css-contain/container-queries/multicol-inside-container.html.ini b/testing/web-platform/meta/css/css-contain/container-queries/multicol-inside-container.html.ini
deleted file mode 100644
index 0e9d4ebfc9da..000000000000
--- a/testing/web-platform/meta/css/css-contain/container-queries/multicol-inside-container.html.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-[multicol-inside-container.html]
- expected: FAIL
diff --git a/testing/web-platform/meta/css/css-contain/container-queries/never-match-container.html.ini b/testing/web-platform/meta/css/css-contain/container-queries/never-match-container.html.ini
new file mode 100644
index 000000000000..5d7e33d4b325
--- /dev/null
+++ b/testing/web-platform/meta/css/css-contain/container-queries/never-match-container.html.ini
@@ -0,0 +1,6 @@
+[never-match-container.html]
+ [Size @container query against inline box never matches]
+ expected: FAIL
+
+ [Size @container query against svg element never matches]
+ expected: FAIL
diff --git a/testing/web-platform/meta/css/css-contain/container-queries/orthogonal-wm-container-query.html.ini b/testing/web-platform/meta/css/css-contain/container-queries/orthogonal-wm-container-query.html.ini
index d49b0b0b1f62..9ceeb1bc0685 100644
--- a/testing/web-platform/meta/css/css-contain/container-queries/orthogonal-wm-container-query.html.ini
+++ b/testing/web-platform/meta/css/css-contain/container-queries/orthogonal-wm-container-query.html.ini
@@ -1,3 +1,3 @@
[orthogonal-wm-container-query.html]
- [Orthogonal width]
+ [Initial non-orthogonal width]
expected: FAIL
diff --git a/testing/web-platform/meta/css/css-contain/container-queries/percentage-padding-orthogonal.html.ini b/testing/web-platform/meta/css/css-contain/container-queries/percentage-padding-orthogonal.html.ini
index 56c3b6e727b0..9e409dfe836b 100644
--- a/testing/web-platform/meta/css/css-contain/container-queries/percentage-padding-orthogonal.html.ini
+++ b/testing/web-platform/meta/css/css-contain/container-queries/percentage-padding-orthogonal.html.ini
@@ -5,11 +5,5 @@
[#container width 400px after padding is applied.]
expected: FAIL
- [#container width 400px after padding is applied. #second is removed from the rendering]
- expected: FAIL
-
[#container height measured with 499px width. Both container children visible]
expected: FAIL
-
- [#container width 399x after padding is applied. #second is removed from the rendering]
- expected: FAIL
diff --git a/testing/web-platform/meta/css/css-contain/container-queries/pseudo-elements-003.html.ini b/testing/web-platform/meta/css/css-contain/container-queries/pseudo-elements-003.html.ini
index 9a1dce292489..38287f613b1d 100644
--- a/testing/web-platform/meta/css/css-contain/container-queries/pseudo-elements-003.html.ini
+++ b/testing/web-platform/meta/css/css-contain/container-queries/pseudo-elements-003.html.ini
@@ -1,24 +1,3 @@
[pseudo-elements-003.html]
- [Originating element container for ::before]
- expected: FAIL
-
- [Originating element container for ::after]
- expected: FAIL
-
- [Originating element container for ::marker]
- expected: FAIL
-
- [Originating element container for ::first-line]
- expected: FAIL
-
- [Originating element container for ::first-letter]
- expected: FAIL
-
- [Originating element container for outer ::first-line]
- expected: FAIL
-
- [Originating element container for outer ::first-letter]
- expected: FAIL
-
[Originating element container for ::backdrop]
expected: FAIL
diff --git a/testing/web-platform/meta/css/css-contain/container-queries/query-content-box.html.ini b/testing/web-platform/meta/css/css-contain/container-queries/query-content-box.html.ini
deleted file mode 100644
index f21577ea55e9..000000000000
--- a/testing/web-platform/meta/css/css-contain/container-queries/query-content-box.html.ini
+++ /dev/null
@@ -1,12 +0,0 @@
-[query-content-box.html]
- [Size queries with content-box sizing]
- expected: FAIL
-
- [Size queries with border-box sizing]
- expected: FAIL
-
- [Size queries with content-box sizing and overflow:scroll]
- expected: FAIL
-
- [Size queries with border-box sizing and overflow:scroll]
- expected: FAIL
diff --git a/testing/web-platform/meta/css/css-contain/container-queries/query-evaluation.html.ini b/testing/web-platform/meta/css/css-contain/container-queries/query-evaluation.html.ini
index 59c63da41f00..6582d211b48a 100644
--- a/testing/web-platform/meta/css/css-contain/container-queries/query-evaluation.html.ini
+++ b/testing/web-platform/meta/css/css-contain/container-queries/query-evaluation.html.ini
@@ -1,37 +1,4 @@
[query-evaluation.html]
- [(width)]
- expected: FAIL
-
- [((width))]
- expected: FAIL
-
- [((((width))))]
- expected: FAIL
-
- [(not (height))]
- expected: FAIL
-
- [((width) and (width))]
- expected: FAIL
-
- [((width) and (width) and (width))]
- expected: FAIL
-
- [((width) or (width))]
- expected: FAIL
-
- [((width) or (width) or (width))]
- expected: FAIL
-
- [((height) or (width) or (width))]
- expected: FAIL
-
- [((width) or (height) or (width))]
- expected: FAIL
-
- [((width) or (width) or (height))]
- expected: FAIL
-
[((unknown) or (width) or (width))]
expected: FAIL
@@ -44,12 +11,6 @@
[((unknown) or (height) or (width))]
expected: FAIL
- [(not ((width) and (height)))]
- expected: FAIL
-
- [((height) or (not ((height) and (width))))]
- expected: FAIL
-
[style((width: 1px))]
expected: FAIL
@@ -94,3 +55,39 @@
[style((height: 2px) or (not ((height: 2px) and (width: 1px))))]
expected: FAIL
+
+ [(height)]
+ expected: FAIL
+
+ [((height))]
+ expected: FAIL
+
+ [((((height))))]
+ expected: FAIL
+
+ [(not (width))]
+ expected: FAIL
+
+ [((height) and (height))]
+ expected: FAIL
+
+ [((height) and (width) and (width))]
+ expected: FAIL
+
+ [((width) and (height) and (width))]
+ expected: FAIL
+
+ [((width) and (width) and (height))]
+ expected: FAIL
+
+ [((height) or (height))]
+ expected: FAIL
+
+ [(not ((width) and (width)))]
+ expected: FAIL
+
+ [((width) and (not ((height) or (width))))]
+ expected: FAIL
+
+ [((height) or ((height) and (width)))]
+ expected: FAIL
diff --git a/testing/web-platform/meta/css/css-contain/container-queries/reattach-container-with-dirty-child.html.ini b/testing/web-platform/meta/css/css-contain/container-queries/reattach-container-with-dirty-child.html.ini
index 2543bb66f8b5..bd34f008bb72 100644
--- a/testing/web-platform/meta/css/css-contain/container-queries/reattach-container-with-dirty-child.html.ini
+++ b/testing/web-platform/meta/css/css-contain/container-queries/reattach-container-with-dirty-child.html.ini
@@ -1,6 +1,3 @@
[reattach-container-with-dirty-child.html]
[Initially wider than 200px]
expected: FAIL
-
- [Container query changed and inner.style applied]
- expected: FAIL
diff --git a/testing/web-platform/meta/css/css-contain/container-queries/resize-while-content-visibility-hidden.html.ini b/testing/web-platform/meta/css/css-contain/container-queries/resize-while-content-visibility-hidden.html.ini
deleted file mode 100644
index 9a43f8e35d16..000000000000
--- a/testing/web-platform/meta/css/css-contain/container-queries/resize-while-content-visibility-hidden.html.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-[resize-while-content-visibility-hidden.html]
- expected: FAIL
diff --git a/testing/web-platform/meta/css/css-contain/container-queries/size-container-no-principal-box.html.ini b/testing/web-platform/meta/css/css-contain/container-queries/size-container-no-principal-box.html.ini
index 5724c5803493..8ca33c7ead53 100644
--- a/testing/web-platform/meta/css/css-contain/container-queries/size-container-no-principal-box.html.ini
+++ b/testing/web-platform/meta/css/css-contain/container-queries/size-container-no-principal-box.html.ini
@@ -1,3 +1,6 @@
[size-container-no-principal-box.html]
- [Check that container queries is supported]
+ [(min-width: 0) does not match a container without a principal box (display:none)]
+ expected: FAIL
+
+ [(min-width: 0) does not match a container without a principal box (display:contents)]
expected: FAIL
diff --git a/testing/web-platform/meta/css/css-contain/container-queries/size-feature-evaluation.html.ini b/testing/web-platform/meta/css/css-contain/container-queries/size-feature-evaluation.html.ini
index 8ada0b1eb739..072fc16f2c1f 100644
--- a/testing/web-platform/meta/css/css-contain/container-queries/size-feature-evaluation.html.ini
+++ b/testing/web-platform/meta/css/css-contain/container-queries/size-feature-evaluation.html.ini
@@ -1,22 +1,4 @@
[size-feature-evaluation.html]
- [(width >= 100px) (.horizontal)]
- expected: FAIL
-
- [(min-width: 100px) (.horizontal)]
- expected: FAIL
-
- [(max-width: 100px) (.horizontal)]
- expected: FAIL
-
- [(height >= 200px) (.horizontal)]
- expected: FAIL
-
- [(min-height: 200px) (.horizontal)]
- expected: FAIL
-
- [(max-height: 200px) (.horizontal)]
- expected: FAIL
-
[(inline-size >= 100px) (.horizontal)]
expected: FAIL
@@ -35,30 +17,6 @@
[(max-block-size: 200px) (.horizontal)]
expected: FAIL
- [(orientation: portrait) (.horizontal)]
- expected: FAIL
-
- [(aspect-ratio: 1/2) (.horizontal)]
- expected: FAIL
-
- [(width >= 100px) (.vertical)]
- expected: FAIL
-
- [(min-width: 100px) (.vertical)]
- expected: FAIL
-
- [(max-width: 100px) (.vertical)]
- expected: FAIL
-
- [(height >= 200px) (.vertical)]
- expected: FAIL
-
- [(min-height: 200px) (.vertical)]
- expected: FAIL
-
- [(max-height: 200px) (.vertical)]
- expected: FAIL
-
[(block-size >= 100px) (.vertical)]
expected: FAIL
@@ -77,8 +35,50 @@
[(max-inline-size: 200px) (.vertical)]
expected: FAIL
- [(orientation: portrait) (.vertical)]
+ [(width < 100px) (.horizontal)]
expected: FAIL
- [(aspect-ratio: 1/2) (.vertical)]
+ [(min-width: 101px) (.horizontal)]
+ expected: FAIL
+
+ [(max-width: 99px) (.horizontal)]
+ expected: FAIL
+
+ [(height < 200px) (.horizontal)]
+ expected: FAIL
+
+ [(min-height: 201px) (.horizontal)]
+ expected: FAIL
+
+ [(max-height: 199px) (.horizontal)]
+ expected: FAIL
+
+ [(orientation: landscape) (.horizontal)]
+ expected: FAIL
+
+ [(aspect-ratio: 2/1) (.horizontal)]
+ expected: FAIL
+
+ [(width < 100px) (.vertical)]
+ expected: FAIL
+
+ [(min-width: 101px) (.vertical)]
+ expected: FAIL
+
+ [(max-width: 99px) (.vertical)]
+ expected: FAIL
+
+ [(height < 200px) (.vertical)]
+ expected: FAIL
+
+ [(min-height: 201px) (.vertical)]
+ expected: FAIL
+
+ [(max-height: 199px) (.vertical)]
+ expected: FAIL
+
+ [(orientation: landscape) (.vertical)]
+ expected: FAIL
+
+ [(aspect-ratio: 2/1) (.vertical)]
expected: FAIL
diff --git a/testing/web-platform/meta/css/css-contain/container-queries/style-change-in-container.html.ini b/testing/web-platform/meta/css/css-contain/container-queries/style-change-in-container.html.ini
deleted file mode 100644
index a394a8ae697b..000000000000
--- a/testing/web-platform/meta/css/css-contain/container-queries/style-change-in-container.html.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-[style-change-in-container.html]
- [Basic test for container query evaluation stability]
- expected: FAIL
diff --git a/testing/web-platform/meta/css/css-contain/container-queries/svg-foreignobject-no-size-container.html.ini b/testing/web-platform/meta/css/css-contain/container-queries/svg-foreignobject-no-size-container.html.ini
new file mode 100644
index 000000000000..ecfd70444c22
--- /dev/null
+++ b/testing/web-platform/meta/css/css-contain/container-queries/svg-foreignobject-no-size-container.html.ini
@@ -0,0 +1,2 @@
+[svg-foreignobject-no-size-container.html]
+ expected: FAIL
diff --git a/testing/web-platform/meta/css/css-contain/container-queries/svg-g-no-size-container.html.ini b/testing/web-platform/meta/css/css-contain/container-queries/svg-g-no-size-container.html.ini
new file mode 100644
index 000000000000..4213a08a8113
--- /dev/null
+++ b/testing/web-platform/meta/css/css-contain/container-queries/svg-g-no-size-container.html.ini
@@ -0,0 +1,2 @@
+[svg-g-no-size-container.html]
+ expected: FAIL
diff --git a/testing/web-platform/meta/css/css-contain/container-queries/svg-root-size-container.html.ini b/testing/web-platform/meta/css/css-contain/container-queries/svg-root-size-container.html.ini
deleted file mode 100644
index f9b04ee16b71..000000000000
--- a/testing/web-platform/meta/css/css-contain/container-queries/svg-root-size-container.html.ini
+++ /dev/null
@@ -1,6 +0,0 @@
-[svg-root-size-container.html]
- [SVG text querying SVG root size container]
- expected: FAIL
-
- [div in foreignObject querying SVG root size container]
- expected: FAIL
diff --git a/testing/web-platform/meta/css/css-contain/container-queries/top-layer-dialog-backdrop.html.ini b/testing/web-platform/meta/css/css-contain/container-queries/top-layer-dialog-backdrop.html.ini
index 1df51f918508..c2c634ac1e1b 100644
--- a/testing/web-platform/meta/css/css-contain/container-queries/top-layer-dialog-backdrop.html.ini
+++ b/testing/web-platform/meta/css/css-contain/container-queries/top-layer-dialog-backdrop.html.ini
@@ -1,3 +1,2 @@
[top-layer-dialog-backdrop.html]
prefs: [dom.dialog_element.enabled:true]
- expected: FAIL
diff --git a/testing/web-platform/meta/css/css-contain/container-queries/top-layer-dialog-container.html.ini b/testing/web-platform/meta/css/css-contain/container-queries/top-layer-dialog-container.html.ini
index 8acade9d67c0..a2f7493fc77b 100644
--- a/testing/web-platform/meta/css/css-contain/container-queries/top-layer-dialog-container.html.ini
+++ b/testing/web-platform/meta/css/css-contain/container-queries/top-layer-dialog-container.html.ini
@@ -1,3 +1,3 @@
[top-layer-dialog-container.html]
- [#dialog sized by viewport]
+ [#dialog initially sized by #containing-block]
expected: FAIL
diff --git a/testing/web-platform/meta/css/css-contain/container-queries/top-layer-dialog.html.ini b/testing/web-platform/meta/css/css-contain/container-queries/top-layer-dialog.html.ini
index 35f0120c587a..bc7562b953c9 100644
--- a/testing/web-platform/meta/css/css-contain/container-queries/top-layer-dialog.html.ini
+++ b/testing/web-platform/meta/css/css-contain/container-queries/top-layer-dialog.html.ini
@@ -5,5 +5,5 @@
[Modal dialog still has parent as query container while in top layer]
expected: FAIL
- [Container changes width while dialog is in top layer]
+ [#container initially wider than 200px]
expected: FAIL
diff --git a/testing/web-platform/meta/css/css-contain/container-queries/top-layer-nested-dialog.html.ini b/testing/web-platform/meta/css/css-contain/container-queries/top-layer-nested-dialog.html.ini
index af9391443a7c..e9196d801c12 100644
--- a/testing/web-platform/meta/css/css-contain/container-queries/top-layer-nested-dialog.html.ini
+++ b/testing/web-platform/meta/css/css-contain/container-queries/top-layer-nested-dialog.html.ini
@@ -1,3 +1,6 @@
[top-layer-nested-dialog.html]
- [@container queries start matching]
+ [Dialogs initially not matching for container queries]
+ expected: FAIL
+
+ [Dialogs still not matching after showModal]
expected: FAIL
diff --git a/testing/web-platform/meta/css/css-contain/container-queries/transition-style-change-event.html.ini b/testing/web-platform/meta/css/css-contain/container-queries/transition-style-change-event.html.ini
deleted file mode 100644
index 805e5ca57d58..000000000000
--- a/testing/web-platform/meta/css/css-contain/container-queries/transition-style-change-event.html.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-[transition-style-change-event.html]
- [Container Queries - Style Change Event for transitions]
- expected: FAIL
diff --git a/testing/web-platform/meta/css/css-contain/container-queries/unsupported-axis.html.ini b/testing/web-platform/meta/css/css-contain/container-queries/unsupported-axis.html.ini
index 1658c29088e5..dcd6d0d79368 100644
--- a/testing/web-platform/meta/css/css-contain/container-queries/unsupported-axis.html.ini
+++ b/testing/web-platform/meta/css/css-contain/container-queries/unsupported-axis.html.ini
@@ -1,6 +1,24 @@
[unsupported-axis.html]
- [(width > 0px)]
- expected: FAIL
-
[(inline-size > 0px)]
expected: FAIL
+
+ [(height > 0px)]
+ expected: FAIL
+
+ [((height > 0px) or (width > 0px))]
+ expected: FAIL
+
+ [((width > 0px) or (height > 0px))]
+ expected: FAIL
+
+ [((orientation: landscape) or (width > 0px))]
+ expected: FAIL
+
+ [((width > 0px) or (orientation: landscape))]
+ expected: FAIL
+
+ [((height > 0px) or (orientation: landscape))]
+ expected: FAIL
+
+ [((height > 0px) or (orientation: landscape)), with contain:size]
+ expected: FAIL
diff --git a/testing/web-platform/meta/css/css-contain/container-queries/whitespace-update-after-removal.html.ini b/testing/web-platform/meta/css/css-contain/container-queries/whitespace-update-after-removal.html.ini
new file mode 100644
index 000000000000..4d3034d71f7d
--- /dev/null
+++ b/testing/web-platform/meta/css/css-contain/container-queries/whitespace-update-after-removal.html.ini
@@ -0,0 +1,2 @@
+[whitespace-update-after-removal.html]
+ expected: FAIL
From 03d33c13bf72ea4790e13613456f9f038a0de4e9 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Emilio=20Cobos=20=C3=81lvarez?=
Date: Fri, 8 Apr 2022 04:24:18 +0000
Subject: [PATCH 02/11] Bug 1762474 - Make CSSConditionRule.conditionText
readonly. r=layout-reviewers,firefox-style-system-reviewers,boris
Differential Revision: https://phabricator.services.mozilla.com/D143193
---
dom/webidl/CSSConditionRule.webidl | 3 +-
layout/style/CSSContainerRule.cpp | 6 --
layout/style/CSSContainerRule.h | 1 -
layout/style/CSSMediaRule.cpp | 8 ---
layout/style/CSSMediaRule.h | 2 -
layout/style/CSSMozDocumentRule.cpp | 9 ---
layout/style/CSSMozDocumentRule.h | 2 -
layout/style/CSSSupportsRule.cpp | 9 ---
layout/style/CSSSupportsRule.h | 2 -
layout/style/GroupRule.h | 2 -
layout/style/test/mochitest.ini | 1 -
.../test/test_condition_text_assignment.html | 59 -------------------
.../cssom/CSSConditionRule-conditionText.html | 23 ++++++++
.../tests/interfaces/css-conditional.idl | 2 +-
14 files changed, 25 insertions(+), 104 deletions(-)
delete mode 100644 layout/style/test/test_condition_text_assignment.html
create mode 100644 testing/web-platform/tests/css/cssom/CSSConditionRule-conditionText.html
diff --git a/dom/webidl/CSSConditionRule.webidl b/dom/webidl/CSSConditionRule.webidl
index 5ab3ae1dcda3..a799498494df 100644
--- a/dom/webidl/CSSConditionRule.webidl
+++ b/dom/webidl/CSSConditionRule.webidl
@@ -10,6 +10,5 @@
// https://drafts.csswg.org/css-conditional/#the-cssconditionrule-interface
[Exposed=Window]
interface CSSConditionRule : CSSGroupingRule {
- [SetterThrows]
- attribute UTF8String conditionText;
+ readonly attribute UTF8String conditionText;
};
diff --git a/layout/style/CSSContainerRule.cpp b/layout/style/CSSContainerRule.cpp
index bfe900c5ebe3..2797a56b93d3 100644
--- a/layout/style/CSSContainerRule.cpp
+++ b/layout/style/CSSContainerRule.cpp
@@ -50,12 +50,6 @@ void CSSContainerRule::GetConditionText(nsACString& aConditionText) {
Servo_ContainerRule_GetConditionText(mRawRule, &aConditionText);
}
-void CSSContainerRule::SetConditionText(const nsACString& aConditionText, ErrorResult&) {
- // FIXME: This shouldn't be here, CSSConditionRule.conditionText should be
- // readonly as per:
- // https://github.com/w3c/csswg-drafts/issues/6819#issuecomment-1016695585
-}
-
/* virtual */
void CSSContainerRule::GetCssText(nsACString& aCssText) const {
Servo_ContainerRule_GetCssText(mRawRule, &aCssText);
diff --git a/layout/style/CSSContainerRule.h b/layout/style/CSSContainerRule.h
index c5ddc19c450f..21e02c318f1c 100644
--- a/layout/style/CSSContainerRule.h
+++ b/layout/style/CSSContainerRule.h
@@ -31,7 +31,6 @@ class CSSContainerRule final : public css::ConditionRule {
// WebIDL interface
void GetCssText(nsACString& aCssText) const final;
void GetConditionText(nsACString& aConditionText) final;
- void SetConditionText(const nsACString& aConditionText, ErrorResult&) final;
size_t SizeOfIncludingThis(MallocSizeOf) const override;
diff --git a/layout/style/CSSMediaRule.cpp b/layout/style/CSSMediaRule.cpp
index 042a145dbd86..650b2d56de03 100644
--- a/layout/style/CSSMediaRule.cpp
+++ b/layout/style/CSSMediaRule.cpp
@@ -84,14 +84,6 @@ void CSSMediaRule::GetConditionText(nsACString& aConditionText) {
Media()->GetMediaText(aConditionText);
}
-void CSSMediaRule::SetConditionText(const nsACString& aConditionText,
- ErrorResult& aRv) {
- if (IsReadOnly()) {
- return;
- }
- Media()->SetMediaText(aConditionText);
-}
-
/* virtual */
void CSSMediaRule::GetCssText(nsACString& aCssText) const {
Servo_MediaRule_GetCssText(mRawRule, &aCssText);
diff --git a/layout/style/CSSMediaRule.h b/layout/style/CSSMediaRule.h
index b16e84f6e825..12bf9dec2fd6 100644
--- a/layout/style/CSSMediaRule.h
+++ b/layout/style/CSSMediaRule.h
@@ -34,8 +34,6 @@ class CSSMediaRule final : public css::ConditionRule {
// WebIDL interface
void GetCssText(nsACString& aCssText) const final;
void GetConditionText(nsACString& aConditionText) final;
- void SetConditionText(const nsACString& aConditionText,
- ErrorResult& aRv) final;
dom::MediaList* Media();
size_t SizeOfIncludingThis(MallocSizeOf) const override;
diff --git a/layout/style/CSSMozDocumentRule.cpp b/layout/style/CSSMozDocumentRule.cpp
index 73ca12aba959..13609dc5dffa 100644
--- a/layout/style/CSSMozDocumentRule.cpp
+++ b/layout/style/CSSMozDocumentRule.cpp
@@ -122,15 +122,6 @@ void CSSMozDocumentRule::GetConditionText(nsACString& aConditionText) {
Servo_MozDocumentRule_GetConditionText(mRawRule, &aConditionText);
}
-void CSSMozDocumentRule::SetConditionText(const nsACString& aConditionText,
- ErrorResult& aRv) {
- if (IsReadOnly()) {
- return;
- }
-
- aRv.Throw(NS_ERROR_NOT_IMPLEMENTED);
-}
-
/* virtual */
void CSSMozDocumentRule::GetCssText(nsACString& aCssText) const {
Servo_MozDocumentRule_GetCssText(mRawRule, &aCssText);
diff --git a/layout/style/CSSMozDocumentRule.h b/layout/style/CSSMozDocumentRule.h
index a437070f6337..6cc69212cdc9 100644
--- a/layout/style/CSSMozDocumentRule.h
+++ b/layout/style/CSSMozDocumentRule.h
@@ -37,8 +37,6 @@ class CSSMozDocumentRule final : public css::ConditionRule {
StyleCssRuleType Type() const final;
void GetCssText(nsACString& aCssText) const final;
void GetConditionText(nsACString& aConditionText) final;
- void SetConditionText(const nsACString& aConditionText,
- ErrorResult& aRv) final;
size_t SizeOfIncludingThis(MallocSizeOf) const override;
diff --git a/layout/style/CSSSupportsRule.cpp b/layout/style/CSSSupportsRule.cpp
index 1a4f9a406a65..3859e6201edc 100644
--- a/layout/style/CSSSupportsRule.cpp
+++ b/layout/style/CSSSupportsRule.cpp
@@ -48,15 +48,6 @@ void CSSSupportsRule::GetConditionText(nsACString& aConditionText) {
Servo_SupportsRule_GetConditionText(mRawRule, &aConditionText);
}
-void CSSSupportsRule::SetConditionText(const nsACString& aConditionText,
- ErrorResult& aRv) {
- if (IsReadOnly()) {
- return;
- }
-
- aRv.Throw(NS_ERROR_NOT_IMPLEMENTED);
-}
-
/* virtual */
void CSSSupportsRule::GetCssText(nsACString& aCssText) const {
Servo_SupportsRule_GetCssText(mRawRule, &aCssText);
diff --git a/layout/style/CSSSupportsRule.h b/layout/style/CSSSupportsRule.h
index 9a11ff190c01..e8a9976cb4e0 100644
--- a/layout/style/CSSSupportsRule.h
+++ b/layout/style/CSSSupportsRule.h
@@ -31,8 +31,6 @@ class CSSSupportsRule : public css::ConditionRule {
StyleCssRuleType Type() const final;
void GetCssText(nsACString& aCssText) const final;
void GetConditionText(nsACString& aConditionText) final;
- void SetConditionText(const nsACString& aConditionText,
- ErrorResult& aRv) final;
size_t SizeOfIncludingThis(MallocSizeOf) const override;
JSObject* WrapObject(JSContext* aCx,
diff --git a/layout/style/GroupRule.h b/layout/style/GroupRule.h
index 6e8b785fd576..367ab48ae54b 100644
--- a/layout/style/GroupRule.h
+++ b/layout/style/GroupRule.h
@@ -95,8 +95,6 @@ class ConditionRule : public GroupRule {
public:
virtual void GetConditionText(nsACString& aConditionText) = 0;
- virtual void SetConditionText(const nsACString& aConditionText,
- ErrorResult& aRv) = 0;
};
} // namespace css
diff --git a/layout/style/test/mochitest.ini b/layout/style/test/mochitest.ini
index 4f719696cd90..14b21a641887 100644
--- a/layout/style/test/mochitest.ini
+++ b/layout/style/test/mochitest.ini
@@ -208,7 +208,6 @@ skip-if = toolkit == 'android'
[test_computed_style_no_pseudo.html]
[test_computed_style_prefs.html]
[test_condition_text.html]
-[test_condition_text_assignment.html]
[test_counter_descriptor_storage.html]
[test_counter_style.html]
[test_crash_with_content_policy.html]
diff --git a/layout/style/test/test_condition_text_assignment.html b/layout/style/test/test_condition_text_assignment.html
deleted file mode 100644
index 9f060a0b6e10..000000000000
--- a/layout/style/test/test_condition_text_assignment.html
+++ /dev/null
@@ -1,59 +0,0 @@
-
-
-
-
- Test for Bug 815021
-
-
-
-
-
-Mozilla Bug 815021
-
-
-
-
-
-
-
-
-
diff --git a/testing/web-platform/tests/css/cssom/CSSConditionRule-conditionText.html b/testing/web-platform/tests/css/cssom/CSSConditionRule-conditionText.html
new file mode 100644
index 000000000000..bccfc3135a4c
--- /dev/null
+++ b/testing/web-platform/tests/css/cssom/CSSConditionRule-conditionText.html
@@ -0,0 +1,23 @@
+
+CSSConditionRule.conditionText
+
+
+
+
+
+
diff --git a/testing/web-platform/tests/interfaces/css-conditional.idl b/testing/web-platform/tests/interfaces/css-conditional.idl
index 16f25583be97..d87f305fddf9 100644
--- a/testing/web-platform/tests/interfaces/css-conditional.idl
+++ b/testing/web-platform/tests/interfaces/css-conditional.idl
@@ -9,7 +9,7 @@ partial interface CSSRule {
[Exposed=Window]
interface CSSConditionRule : CSSGroupingRule {
- attribute CSSOMString conditionText;
+ readonly attribute CSSOMString conditionText;
};
[Exposed=Window]
From 28844e8f8020502c899e56eded8de0f7a84072d4 Mon Sep 17 00:00:00 2001
From: Makoto Kato
Date: Fri, 8 Apr 2022 05:11:48 +0000
Subject: [PATCH 03/11] Bug 1639087 - Add dragcaret event by accessible caret.
r=TYLin,smaug
To support magnifying glass on GeckoView, I would like to add `dragcaret`
event and, clientX and clientX in CaretStateChangedEvent chrome event.
Actually, accessible caret fires `presscaret` and `releasecaret` when
accessbile caret is pressed or released. But when dragging this caret, no
chrome event is fired. Since magnifying glass listens to moving this caret,
I would like `dargcaret` for GeckoView.
Also, Users' dragging point is necessary to set better position of magnifying
glass windows. So I also want client point of dragging point on `presscaret`
and `dragcaret` event.
This event and properties are on layout.accessiblecaret.magnifier.enabled=true,
So this can be only for GeckoView.
Differential Revision: https://phabricator.services.mozilla.com/D137965
---
dom/webidl/CaretStateChangedEvent.webidl | 9 +-
layout/base/AccessibleCaretManager.cpp | 16 +-
layout/base/AccessibleCaretManager.h | 5 +-
.../base/gtest/TestAccessibleCaretManager.cpp | 140 +++++++++---------
.../base/tests/accessiblecaret_magnifier.html | 91 ++++++++++++
layout/base/tests/mochitest.ini | 2 +
.../tests/test_accessiblecaret_magnifier.html | 33 +++++
modules/libpref/init/StaticPrefList.yaml | 7 +
8 files changed, 228 insertions(+), 75 deletions(-)
create mode 100644 layout/base/tests/accessiblecaret_magnifier.html
create mode 100644 layout/base/tests/test_accessiblecaret_magnifier.html
diff --git a/dom/webidl/CaretStateChangedEvent.webidl b/dom/webidl/CaretStateChangedEvent.webidl
index 5fdb9f34b3cb..0a661fe73733 100644
--- a/dom/webidl/CaretStateChangedEvent.webidl
+++ b/dom/webidl/CaretStateChangedEvent.webidl
@@ -11,7 +11,8 @@ enum CaretChangedReason {
"taponcaret",
"presscaret",
"releasecaret",
- "scroll"
+ "scroll",
+ "dragcaret"
};
dictionary CaretStateChangedEventInit : EventInit {
@@ -23,6 +24,8 @@ dictionary CaretStateChangedEventInit : EventInit {
boolean selectionVisible = false;
boolean selectionEditable = false;
DOMString selectedTextContent = "";
+ long clientX = 0;
+ long clientY = 0;
};
[ChromeOnly,
@@ -40,4 +43,8 @@ interface CaretStateChangedEvent : Event {
readonly attribute boolean selectionVisible;
readonly attribute boolean selectionEditable;
readonly attribute DOMString selectedTextContent;
+ [Pref="layout.accessiblecaret.magnifier.enabled"]
+ readonly attribute long clientX;
+ [Pref="layout.accessiblecaret.magnifier.enabled"]
+ readonly attribute long clientY;
};
diff --git a/layout/base/AccessibleCaretManager.cpp b/layout/base/AccessibleCaretManager.cpp
index 918ee8e518c3..0d1875333a44 100644
--- a/layout/base/AccessibleCaretManager.cpp
+++ b/layout/base/AccessibleCaretManager.cpp
@@ -497,7 +497,7 @@ nsresult AccessibleCaretManager::PressCaret(const nsPoint& aPoint,
mOffsetYToCaretLogicalPosition =
mActiveCaret->LogicalPosition().y - aPoint.y;
SetSelectionDragState(true);
- DispatchCaretStateChangedEvent(CaretChangedReason::Presscaret);
+ DispatchCaretStateChangedEvent(CaretChangedReason::Presscaret, &aPoint);
rv = NS_OK;
}
@@ -518,6 +518,10 @@ nsresult AccessibleCaretManager::DragCaret(const nsPoint& aPoint) {
// We want to scroll the page even if we failed to drag the caret.
StartSelectionAutoScrollTimer(aPoint);
UpdateCarets();
+
+ if (StaticPrefs::layout_accessiblecaret_magnifier_enabled()) {
+ DispatchCaretStateChangedEvent(CaretChangedReason::Dragcaret, &aPoint);
+ }
return NS_OK;
}
@@ -537,7 +541,7 @@ nsresult AccessibleCaretManager::TapCaret(const nsPoint& aPoint) {
nsresult rv = NS_ERROR_FAILURE;
if (GetCaretMode() == CaretMode::Cursor) {
- DispatchCaretStateChangedEvent(CaretChangedReason::Taponcaret);
+ DispatchCaretStateChangedEvent(CaretChangedReason::Taponcaret, &aPoint);
rv = NS_OK;
}
@@ -1427,7 +1431,7 @@ void AccessibleCaretManager::StopSelectionAutoScrollTimer() const {
}
void AccessibleCaretManager::DispatchCaretStateChangedEvent(
- CaretChangedReason aReason) {
+ CaretChangedReason aReason, const nsPoint* aPoint) {
if (MaybeFlushLayout() == Terminated::Yes) {
return;
}
@@ -1488,6 +1492,12 @@ void AccessibleCaretManager::DispatchCaretStateChangedEvent(
init.mCaretVisuallyVisible = mCarets.HasVisuallyVisibleCaret();
init.mSelectedTextContent = StringifiedSelection();
+ if (aPoint) {
+ CSSIntPoint pt = CSSPixel::FromAppUnitsRounded(*aPoint);
+ init.mClientX = pt.x;
+ init.mClientY = pt.y;
+ }
+
RefPtr event = CaretStateChangedEvent::Constructor(
doc, u"mozcaretstatechanged"_ns, init);
diff --git a/layout/base/AccessibleCaretManager.h b/layout/base/AccessibleCaretManager.h
index 049c4a44be63..909aeb883895 100644
--- a/layout/base/AccessibleCaretManager.h
+++ b/layout/base/AccessibleCaretManager.h
@@ -304,8 +304,11 @@ class AccessibleCaretManager {
// This function will flush layout, so caller must ensure the PresShell is
// still valid after calling this method.
+ // @param aPoint The event point when the user is pressing or dragging a
+ // caret, which is relative to the root frame.
MOZ_CAN_RUN_SCRIPT
- virtual void DispatchCaretStateChangedEvent(dom::CaretChangedReason aReason);
+ virtual void DispatchCaretStateChangedEvent(dom::CaretChangedReason aReason,
+ const nsPoint* aPoint = nullptr);
// ---------------------------------------------------------------------------
// Member variables
diff --git a/layout/base/gtest/TestAccessibleCaretManager.cpp b/layout/base/gtest/TestAccessibleCaretManager.cpp
index d23558a18294..464ad68fb043 100644
--- a/layout/base/gtest/TestAccessibleCaretManager.cpp
+++ b/layout/base/gtest/TestAccessibleCaretManager.cpp
@@ -105,8 +105,8 @@ class AccessibleCaretManagerTester : public ::testing::Test {
Terminated MaybeFlushLayout() override { return Terminated::No; }
MOCK_CONST_METHOD0(GetCaretMode, CaretMode());
- MOCK_METHOD1(DispatchCaretStateChangedEvent,
- void(CaretChangedReason aReason));
+ MOCK_METHOD2(DispatchCaretStateChangedEvent,
+ void(CaretChangedReason aReason, const nsPoint* aPoint));
MOCK_CONST_METHOD1(HasNonEmptyTextContent, bool(nsINode* aNode));
}; // class MockAccessibleCaretManager
@@ -148,7 +148,7 @@ MOZ_CAN_RUN_SCRIPT_FOR_DEFINITION {
.WillRepeatedly(Return(CaretMode::Selection));
EXPECT_CALL(mManager, DispatchCaretStateChangedEvent(
- CaretChangedReason::Updateposition))
+ CaretChangedReason::Updateposition, nullptr))
.Times(3);
mManager.UpdateCarets();
@@ -176,33 +176,33 @@ MOZ_CAN_RUN_SCRIPT_FOR_DEFINITION {
InSequence dummy;
EXPECT_CALL(mManager, DispatchCaretStateChangedEvent(
- CaretChangedReason::Updateposition))
+ CaretChangedReason::Updateposition, nullptr))
.Times(1);
EXPECT_CALL(check, Call("update"));
EXPECT_CALL(mManager, DispatchCaretStateChangedEvent(
- CaretChangedReason::Visibilitychange))
+ CaretChangedReason::Visibilitychange, nullptr))
.Times(1);
EXPECT_CALL(check, Call("mouse down"));
- EXPECT_CALL(mManager, DispatchCaretStateChangedEvent(_)).Times(0);
+ EXPECT_CALL(mManager, DispatchCaretStateChangedEvent(_, nullptr)).Times(0);
EXPECT_CALL(check, Call("reflow"));
- EXPECT_CALL(mManager, DispatchCaretStateChangedEvent(_)).Times(0);
+ EXPECT_CALL(mManager, DispatchCaretStateChangedEvent(_, nullptr)).Times(0);
EXPECT_CALL(check, Call("blur"));
EXPECT_CALL(mManager, DispatchCaretStateChangedEvent(
- CaretChangedReason::Updateposition))
+ CaretChangedReason::Updateposition, nullptr))
.Times(1);
EXPECT_CALL(check, Call("mouse up"));
EXPECT_CALL(mManager, DispatchCaretStateChangedEvent(
- CaretChangedReason::Updateposition))
+ CaretChangedReason::Updateposition, nullptr))
.Times(1);
EXPECT_CALL(check, Call("reflow2"));
EXPECT_CALL(mManager, DispatchCaretStateChangedEvent(
- CaretChangedReason::Updateposition))
+ CaretChangedReason::Updateposition, nullptr))
.Times(1);
}
@@ -256,33 +256,33 @@ MOZ_CAN_RUN_SCRIPT_FOR_DEFINITION {
InSequence dummy;
EXPECT_CALL(mManager, DispatchCaretStateChangedEvent(
- CaretChangedReason::Updateposition))
+ CaretChangedReason::Updateposition, nullptr))
.Times(1);
EXPECT_CALL(check, Call("update"));
EXPECT_CALL(mManager, DispatchCaretStateChangedEvent(
- CaretChangedReason::Visibilitychange))
+ CaretChangedReason::Visibilitychange, nullptr))
.Times(1);
EXPECT_CALL(check, Call("mouse down"));
- EXPECT_CALL(mManager, DispatchCaretStateChangedEvent(_)).Times(0);
+ EXPECT_CALL(mManager, DispatchCaretStateChangedEvent(_, nullptr)).Times(0);
EXPECT_CALL(check, Call("reflow"));
- EXPECT_CALL(mManager, DispatchCaretStateChangedEvent(_)).Times(0);
+ EXPECT_CALL(mManager, DispatchCaretStateChangedEvent(_, nullptr)).Times(0);
EXPECT_CALL(check, Call("blur"));
EXPECT_CALL(mManager, DispatchCaretStateChangedEvent(
- CaretChangedReason::Updateposition))
+ CaretChangedReason::Updateposition, nullptr))
.Times(1);
EXPECT_CALL(check, Call("mouse up"));
EXPECT_CALL(mManager, DispatchCaretStateChangedEvent(
- CaretChangedReason::Updateposition))
+ CaretChangedReason::Updateposition, nullptr))
.Times(1);
EXPECT_CALL(check, Call("reflow2"));
EXPECT_CALL(mManager, DispatchCaretStateChangedEvent(
- CaretChangedReason::Updateposition))
+ CaretChangedReason::Updateposition, nullptr))
.Times(1);
}
@@ -330,18 +330,18 @@ MOZ_CAN_RUN_SCRIPT_FOR_DEFINITION {
InSequence dummy;
EXPECT_CALL(mManager, DispatchCaretStateChangedEvent(
- CaretChangedReason::Updateposition))
+ CaretChangedReason::Updateposition, nullptr))
.Times(1);
EXPECT_CALL(check, Call("update"));
EXPECT_CALL(mManager, DispatchCaretStateChangedEvent(
- CaretChangedReason::Visibilitychange))
+ CaretChangedReason::Visibilitychange, nullptr))
.Times(1);
EXPECT_CALL(check, Call("keyboard"));
// No CaretStateChanged events should be dispatched since the caret has
// being hidden in cursor mode.
- EXPECT_CALL(mManager, DispatchCaretStateChangedEvent(_)).Times(0);
+ EXPECT_CALL(mManager, DispatchCaretStateChangedEvent(_, nullptr)).Times(0);
}
// Simulate typing the end of the input.
@@ -378,15 +378,15 @@ MOZ_CAN_RUN_SCRIPT_FOR_DEFINITION {
.WillOnce(Return(PositionChangedResult::Invisible));
EXPECT_CALL(mManager, DispatchCaretStateChangedEvent(
- CaretChangedReason::Updateposition));
+ CaretChangedReason::Updateposition, nullptr));
EXPECT_CALL(check, Call("updatecarets"));
- EXPECT_CALL(mManager,
- DispatchCaretStateChangedEvent(CaretChangedReason::Scroll));
+ EXPECT_CALL(mManager, DispatchCaretStateChangedEvent(
+ CaretChangedReason::Scroll, nullptr));
EXPECT_CALL(check, Call("scrollstart1"));
EXPECT_CALL(mManager, DispatchCaretStateChangedEvent(
- CaretChangedReason::Updateposition));
+ CaretChangedReason::Updateposition, nullptr));
EXPECT_CALL(check, Call("reflow1"));
// After scroll ended, first caret is visible and second caret is out of
@@ -395,20 +395,20 @@ MOZ_CAN_RUN_SCRIPT_FOR_DEFINITION {
.WillOnce(Return(PositionChangedResult::Invisible));
EXPECT_CALL(mManager, DispatchCaretStateChangedEvent(
- CaretChangedReason::Updateposition));
+ CaretChangedReason::Updateposition, nullptr));
EXPECT_CALL(check, Call("scrollend1"));
- EXPECT_CALL(mManager,
- DispatchCaretStateChangedEvent(CaretChangedReason::Scroll));
+ EXPECT_CALL(mManager, DispatchCaretStateChangedEvent(
+ CaretChangedReason::Scroll, nullptr));
EXPECT_CALL(check, Call("scrollstart2"));
EXPECT_CALL(mManager, DispatchCaretStateChangedEvent(
- CaretChangedReason::Updateposition));
+ CaretChangedReason::Updateposition, nullptr));
EXPECT_CALL(check, Call("reflow2"));
// After the scroll ended, both carets are visible.
EXPECT_CALL(mManager, DispatchCaretStateChangedEvent(
- CaretChangedReason::Updateposition));
+ CaretChangedReason::Updateposition, nullptr));
EXPECT_CALL(check, Call("scrollend2"));
}
@@ -466,18 +466,18 @@ MOZ_CAN_RUN_SCRIPT_FOR_DEFINITION {
.WillOnce(Return(PositionChangedResult::Invisible));
EXPECT_CALL(mManager, DispatchCaretStateChangedEvent(
- CaretChangedReason::Updateposition));
+ CaretChangedReason::Updateposition, nullptr));
EXPECT_CALL(check, Call("updatecarets"));
- EXPECT_CALL(mManager,
- DispatchCaretStateChangedEvent(CaretChangedReason::Scroll));
+ EXPECT_CALL(mManager, DispatchCaretStateChangedEvent(
+ CaretChangedReason::Scroll, nullptr));
EXPECT_CALL(check, Call("scrollstart1"));
- EXPECT_CALL(mManager, DispatchCaretStateChangedEvent(_)).Times(0);
+ EXPECT_CALL(mManager, DispatchCaretStateChangedEvent(_, nullptr)).Times(0);
EXPECT_CALL(check, Call("scrollPositionChanged1"));
EXPECT_CALL(mManager, DispatchCaretStateChangedEvent(
- CaretChangedReason::Updateposition));
+ CaretChangedReason::Updateposition, nullptr));
EXPECT_CALL(check, Call("reflow1"));
// After scroll ended, first caret is visible and second caret is out of
@@ -486,23 +486,23 @@ MOZ_CAN_RUN_SCRIPT_FOR_DEFINITION {
.WillOnce(Return(PositionChangedResult::Invisible));
EXPECT_CALL(mManager, DispatchCaretStateChangedEvent(
- CaretChangedReason::Updateposition));
+ CaretChangedReason::Updateposition, nullptr));
EXPECT_CALL(check, Call("scrollend1"));
- EXPECT_CALL(mManager,
- DispatchCaretStateChangedEvent(CaretChangedReason::Scroll));
+ EXPECT_CALL(mManager, DispatchCaretStateChangedEvent(
+ CaretChangedReason::Scroll, nullptr));
EXPECT_CALL(check, Call("scrollstart2"));
- EXPECT_CALL(mManager, DispatchCaretStateChangedEvent(_)).Times(0);
+ EXPECT_CALL(mManager, DispatchCaretStateChangedEvent(_, nullptr)).Times(0);
EXPECT_CALL(check, Call("scrollPositionChanged2"));
EXPECT_CALL(mManager, DispatchCaretStateChangedEvent(
- CaretChangedReason::Updateposition));
+ CaretChangedReason::Updateposition, nullptr));
EXPECT_CALL(check, Call("reflow2"));
// After the scroll ended, both carets are visible.
EXPECT_CALL(mManager, DispatchCaretStateChangedEvent(
- CaretChangedReason::Updateposition));
+ CaretChangedReason::Updateposition, nullptr));
EXPECT_CALL(check, Call("scrollend2"));
}
@@ -564,12 +564,12 @@ MOZ_CAN_RUN_SCRIPT_FOR_DEFINITION {
InSequence dummy;
EXPECT_CALL(mManager, DispatchCaretStateChangedEvent(
- CaretChangedReason::Updateposition))
+ CaretChangedReason::Updateposition, nullptr))
.Times(1);
EXPECT_CALL(check, Call("updatecarets"));
- EXPECT_CALL(mManager,
- DispatchCaretStateChangedEvent(CaretChangedReason::Scroll))
+ EXPECT_CALL(mManager, DispatchCaretStateChangedEvent(
+ CaretChangedReason::Scroll, nullptr))
.Times(1);
EXPECT_CALL(check, Call("scrollstart1"));
@@ -577,12 +577,12 @@ MOZ_CAN_RUN_SCRIPT_FOR_DEFINITION {
EXPECT_CALL(mManager.FirstCaret(), SetPosition(_, _))
.WillRepeatedly(Return(PositionChangedResult::Invisible));
EXPECT_CALL(mManager, DispatchCaretStateChangedEvent(
- CaretChangedReason::Updateposition))
+ CaretChangedReason::Updateposition, nullptr))
.Times(1);
EXPECT_CALL(check, Call("scrollend1"));
- EXPECT_CALL(mManager,
- DispatchCaretStateChangedEvent(CaretChangedReason::Scroll))
+ EXPECT_CALL(mManager, DispatchCaretStateChangedEvent(
+ CaretChangedReason::Scroll, nullptr))
.Times(1);
EXPECT_CALL(check, Call("scrollstart2"));
@@ -590,7 +590,7 @@ MOZ_CAN_RUN_SCRIPT_FOR_DEFINITION {
EXPECT_CALL(mManager.FirstCaret(), SetPosition(_, _))
.WillRepeatedly(Return(PositionChangedResult::Position));
EXPECT_CALL(mManager, DispatchCaretStateChangedEvent(
- CaretChangedReason::Updateposition))
+ CaretChangedReason::Updateposition, nullptr))
.Times(1);
EXPECT_CALL(check, Call("scrollend2"));
}
@@ -628,12 +628,12 @@ MOZ_CAN_RUN_SCRIPT_FOR_DEFINITION {
InSequence dummy;
EXPECT_CALL(mManager, DispatchCaretStateChangedEvent(
- CaretChangedReason::Updateposition))
+ CaretChangedReason::Updateposition, nullptr))
.Times(1);
EXPECT_CALL(check, Call("updatecarets"));
EXPECT_CALL(mManager, DispatchCaretStateChangedEvent(
- CaretChangedReason::Visibilitychange))
+ CaretChangedReason::Visibilitychange, nullptr))
.Times(1);
EXPECT_CALL(check, Call("hidecarets"));
@@ -689,33 +689,33 @@ MOZ_CAN_RUN_SCRIPT_FOR_DEFINITION {
InSequence dummy;
EXPECT_CALL(mManager, DispatchCaretStateChangedEvent(
- CaretChangedReason::Updateposition));
+ CaretChangedReason::Updateposition, nullptr));
EXPECT_CALL(check, Call("updatecarets"));
- EXPECT_CALL(mManager,
- DispatchCaretStateChangedEvent(CaretChangedReason::Scroll));
+ EXPECT_CALL(mManager, DispatchCaretStateChangedEvent(
+ CaretChangedReason::Scroll, nullptr));
EXPECT_CALL(check, Call("scrollstart1"));
EXPECT_CALL(mManager.FirstCaret(), SetPosition(_, _))
.WillOnce(Return(PositionChangedResult::Invisible));
EXPECT_CALL(mManager, DispatchCaretStateChangedEvent(
- CaretChangedReason::Updateposition));
+ CaretChangedReason::Updateposition, nullptr));
EXPECT_CALL(check, Call("scrollend1"));
- EXPECT_CALL(mManager,
- DispatchCaretStateChangedEvent(CaretChangedReason::Scroll));
+ EXPECT_CALL(mManager, DispatchCaretStateChangedEvent(
+ CaretChangedReason::Scroll, nullptr));
EXPECT_CALL(check, Call("scrollstart2"));
EXPECT_CALL(mManager, DispatchCaretStateChangedEvent(
- CaretChangedReason::Updateposition));
+ CaretChangedReason::Updateposition, nullptr));
EXPECT_CALL(check, Call("scrollend2"));
- EXPECT_CALL(mManager,
- DispatchCaretStateChangedEvent(CaretChangedReason::Scroll));
+ EXPECT_CALL(mManager, DispatchCaretStateChangedEvent(
+ CaretChangedReason::Scroll, nullptr));
EXPECT_CALL(check, Call("scrollstart3"));
EXPECT_CALL(mManager, DispatchCaretStateChangedEvent(
- CaretChangedReason::Updateposition));
+ CaretChangedReason::Updateposition, nullptr));
EXPECT_CALL(check, Call("scrollend3"));
}
@@ -770,37 +770,37 @@ MOZ_CAN_RUN_SCRIPT_FOR_DEFINITION {
InSequence dummy;
EXPECT_CALL(mManager, DispatchCaretStateChangedEvent(
- CaretChangedReason::Updateposition));
+ CaretChangedReason::Updateposition, nullptr));
EXPECT_CALL(check, Call("singletap updatecarets"));
EXPECT_CALL(mManager, DispatchCaretStateChangedEvent(
- CaretChangedReason::Updateposition));
+ CaretChangedReason::Updateposition, nullptr));
EXPECT_CALL(check, Call("longtap updatecarets"));
- EXPECT_CALL(mManager,
- DispatchCaretStateChangedEvent(CaretChangedReason::Scroll));
+ EXPECT_CALL(mManager, DispatchCaretStateChangedEvent(
+ CaretChangedReason::Scroll, nullptr));
EXPECT_CALL(check, Call("longtap scrollstart1"));
EXPECT_CALL(mManager.FirstCaret(), SetPosition(_, _))
.WillOnce(Return(PositionChangedResult::Invisible));
EXPECT_CALL(mManager, DispatchCaretStateChangedEvent(
- CaretChangedReason::Updateposition));
+ CaretChangedReason::Updateposition, nullptr));
EXPECT_CALL(check, Call("longtap scrollend1"));
- EXPECT_CALL(mManager,
- DispatchCaretStateChangedEvent(CaretChangedReason::Scroll));
+ EXPECT_CALL(mManager, DispatchCaretStateChangedEvent(
+ CaretChangedReason::Scroll, nullptr));
EXPECT_CALL(check, Call("longtap scrollstart2"));
EXPECT_CALL(mManager, DispatchCaretStateChangedEvent(
- CaretChangedReason::Updateposition));
+ CaretChangedReason::Updateposition, nullptr));
EXPECT_CALL(check, Call("longtap scrollend2"));
- EXPECT_CALL(mManager,
- DispatchCaretStateChangedEvent(CaretChangedReason::Scroll));
+ EXPECT_CALL(mManager, DispatchCaretStateChangedEvent(
+ CaretChangedReason::Scroll, nullptr));
EXPECT_CALL(check, Call("longtap scrollstart3"));
EXPECT_CALL(mManager, DispatchCaretStateChangedEvent(
- CaretChangedReason::Updateposition));
+ CaretChangedReason::Updateposition, nullptr));
EXPECT_CALL(check, Call("longtap scrollend3"));
}
diff --git a/layout/base/tests/accessiblecaret_magnifier.html b/layout/base/tests/accessiblecaret_magnifier.html
new file mode 100644
index 000000000000..855a027725a6
--- /dev/null
+++ b/layout/base/tests/accessiblecaret_magnifier.html
@@ -0,0 +1,91 @@
+
+
+
+
+
+
+
+
foobarbaz
+
+
+
+
diff --git a/layout/base/tests/mochitest.ini b/layout/base/tests/mochitest.ini
index 6845928bc1c2..4e9c4882bcf3 100644
--- a/layout/base/tests/mochitest.ini
+++ b/layout/base/tests/mochitest.ini
@@ -8,6 +8,8 @@ support-files =
selection-utils.js
!/gfx/layers/apz/test/mochitest/apz_test_utils.js
+[test_accessiblecaret_magnifier.html]
+support-files = accessiblecaret_magnifier.html
[test_after_paint_pref.html]
[test_border_radius_hit_testing.html]
support-files = border_radius_hit_testing_iframe.html
diff --git a/layout/base/tests/test_accessiblecaret_magnifier.html b/layout/base/tests/test_accessiblecaret_magnifier.html
new file mode 100644
index 000000000000..2ac97cccc504
--- /dev/null
+++ b/layout/base/tests/test_accessiblecaret_magnifier.html
@@ -0,0 +1,33 @@
+
+
+
+
+ Test for magnifier event
+
+
+
+
+
+Mozilla Bug 1639087
+
+
+
+
+
+
diff --git a/modules/libpref/init/StaticPrefList.yaml b/modules/libpref/init/StaticPrefList.yaml
index ae1e683a32e8..4ba1bda0dff8 100644
--- a/modules/libpref/init/StaticPrefList.yaml
+++ b/modules/libpref/init/StaticPrefList.yaml
@@ -7221,6 +7221,13 @@
value: false
mirror: always
+# To support magnify glass, whether we dispatch additional chrome event such as
+# dragcaret.
+- name: layout.accessiblecaret.magnifier.enabled
+ type: bool
+ value: @IS_ANDROID@
+ mirror: always
+
# One of several prefs affecting the maximum area to pre-render when animating
# a large element on the compositor.
# This pref enables transform (and transform like properties) animations on a
From 8abdcc7d3eea41e5ef7ab53a295bb52e8713566b Mon Sep 17 00:00:00 2001
From: Makoto Kato
Date: Fri, 8 Apr 2022 05:11:49 +0000
Subject: [PATCH 04/11] Bug 1639087 - Add Magnifying glass support in
GeckoView. r=geckoview-reviewers,agi,owlish
Android P+ supports magnify glass and Chrome already supports it.
When accessible caret events are fired for pressing or dragging it, we show
Android's magnifying glass.
Differential Revision: https://phabricator.services.mozilla.com/D137966
---
.../actors/SelectionActionDelegateChild.jsm | 81 ++++++++++-
.../org/mozilla/geckoview/GeckoSession.java | 131 +++++++++++++++++-
.../java/org/mozilla/geckoview/GeckoView.java | 12 ++
3 files changed, 216 insertions(+), 8 deletions(-)
diff --git a/mobile/android/actors/SelectionActionDelegateChild.jsm b/mobile/android/actors/SelectionActionDelegateChild.jsm
index e5ecea1e175a..35b67a58bd28 100644
--- a/mobile/android/actors/SelectionActionDelegateChild.jsm
+++ b/mobile/android/actors/SelectionActionDelegateChild.jsm
@@ -11,6 +11,10 @@ const { XPCOMUtils } = ChromeUtils.import(
const { Services } = ChromeUtils.import("resource://gre/modules/Services.jsm");
const EXPORTED_SYMBOLS = ["SelectionActionDelegateChild"];
+const MAGNIFIER_PREF = "layout.accessiblecaret.magnifier.enabled";
+const ACCESSIBLECARET_HEIGHT_PREF = "layout.accessiblecaret.height";
+const PREFS = [MAGNIFIER_PREF, ACCESSIBLECARET_HEIGHT_PREF];
+
// Dispatches GeckoView:ShowSelectionAction and GeckoView:HideSelectionAction to
// the GeckoSession on accessible caret changes.
class SelectionActionDelegateChild extends GeckoViewActorChild {
@@ -20,6 +24,27 @@ class SelectionActionDelegateChild extends GeckoViewActorChild {
this._seqNo = 0;
this._isActive = false;
this._previousMessage = "";
+
+ // Bug 1570744 - JSWindowActorChild's cannot be used as nsIObserver's
+ // directly, so we create a new function here instead to act as our
+ // nsIObserver, which forwards the notification to the observe method.
+ this._observerFunction = (subject, topic, data) => {
+ this.observe(subject, topic, data);
+ };
+ for (const pref of PREFS) {
+ Services.prefs.addObserver(pref, this._observerFunction);
+ }
+
+ this._magnifierEnabled = Services.prefs.getBoolPref(MAGNIFIER_PREF);
+ this._accessiblecaretHeight = parseFloat(
+ Services.prefs.getCharPref(ACCESSIBLECARET_HEIGHT_PREF, "0")
+ );
+ }
+
+ didDestroy() {
+ for (const pref of PREFS) {
+ Services.prefs.removeObserver(pref, this._observerFunction);
+ }
}
_actions = [
@@ -201,6 +226,25 @@ class SelectionActionDelegateChild extends GeckoViewActorChild {
return offset;
}
+ _handleMagnifier(aEvent, aReason) {
+ if (["presscaret", "dragcaret"].includes(aReason)) {
+ debug`_handleMagnifier: ${aReason}`;
+ const offset = this._getFrameOffset(aEvent);
+ this.eventDispatcher.sendRequest({
+ type: "GeckoView:ShowMagnifier",
+ clientPoint: {
+ x: aEvent.clientX + offset.left,
+ y: aEvent.clientY + offset.top - this._accessiblecaretHeight,
+ },
+ });
+ } else if (aReason == "releasecaret") {
+ debug`_handleMagnifier: ${aReason}`;
+ this.eventDispatcher.sendRequest({
+ type: "GeckoView:HideMagnifier",
+ });
+ }
+ }
+
/**
* Receive and act on AccessibleCarets caret state-change
* (mozcaretstatechanged and pagehide) events.
@@ -243,6 +287,10 @@ class SelectionActionDelegateChild extends GeckoViewActorChild {
debug`handleEvent: ${reason}`;
+ if (this._magnifierEnabled) {
+ this._handleMagnifier(aEvent, reason);
+ }
+
if (
[
"longpressonemptycontent",
@@ -276,13 +324,9 @@ class SelectionActionDelegateChild extends GeckoViewActorChild {
actions: actions.map(action => action.id),
};
- try {
- if (msg.clientRect) {
- msg.clientRect.bottom += parseFloat(
- Services.prefs.getCharPref("layout.accessiblecaret.height", "0")
- );
- }
- } catch (e) {}
+ if (msg.clientRect) {
+ msg.clientRect.bottom += this._accessiblecaretHeight;
+ }
if (this._isActive && JSON.stringify(msg) === this._previousMessage) {
// Don't call again if we're already active and things haven't changed.
@@ -337,10 +381,33 @@ class SelectionActionDelegateChild extends GeckoViewActorChild {
type: "GeckoView:HideSelectionAction",
reason,
});
+ } else if (reason == "dragcaret") {
+ // nothing for selection action
} else {
warn`Unknown reason: ${reason}`;
}
}
+
+ observe(aSubject, aTopic, aData) {
+ if (aTopic != "nsPref:changed") {
+ return;
+ }
+
+ switch (aData) {
+ case ACCESSIBLECARET_HEIGHT_PREF:
+ this._accessiblecaretHeight = parseFloat(
+ Services.prefs.getCharPref(ACCESSIBLECARET_HEIGHT_PREF, "0")
+ );
+ break;
+ case MAGNIFIER_PREF:
+ this._magnifierEnabled = Services.prefs.getBoolPref(MAGNIFIER_PREF);
+ break;
+ }
+ // Reset magnifier
+ this.eventDispatcher.sendRequest({
+ type: "GeckoView:HideMagnifier",
+ });
+ }
}
const { debug, warn } = SelectionActionDelegateChild.initLogging(
diff --git a/mobile/android/geckoview/src/main/java/org/mozilla/geckoview/GeckoSession.java b/mobile/android/geckoview/src/main/java/org/mozilla/geckoview/GeckoSession.java
index 7f4b3b97db76..ee425b31f827 100644
--- a/mobile/android/geckoview/src/main/java/org/mozilla/geckoview/GeckoSession.java
+++ b/mobile/android/geckoview/src/main/java/org/mozilla/geckoview/GeckoSession.java
@@ -13,6 +13,7 @@ import android.content.Context;
import android.database.Cursor;
import android.graphics.Bitmap;
import android.graphics.Matrix;
+import android.graphics.PointF;
import android.graphics.Rect;
import android.graphics.RectF;
import android.net.Uri;
@@ -33,6 +34,7 @@ import android.view.ViewStructure;
import android.view.inputmethod.CursorAnchorInfo;
import android.view.inputmethod.ExtractedText;
import android.view.inputmethod.ExtractedTextRequest;
+import android.widget.Magnifier;
import androidx.annotation.AnyThread;
import androidx.annotation.IntDef;
import androidx.annotation.LongDef;
@@ -133,6 +135,95 @@ public class GeckoSession {
private SessionAccessibility mAccessibility;
private SessionFinder mFinder;
+ /** {@code SessionMagnifier} handles magnifying glass. */
+ /* package */ interface SessionMagnifier {
+ /**
+ * Get the current {@link android.view.View} for magnifying glass.
+ *
+ * @return Current View for magnifying glass or null if not set.
+ */
+ @UiThread
+ default @Nullable View getView() {
+ return null;
+ }
+
+ /**
+ * Set the current {@link android.view.View} for magnifying glass.
+ *
+ * @param view View for magnifying glass or null to clear current View.
+ */
+ @UiThread
+ default void setView(final @NonNull View view) {}
+
+ /**
+ * Show magnifying glass.
+ *
+ * @param sourceCenter The source center of view that magnifying glass is attached
+ */
+ @UiThread
+ default void show(final @NonNull PointF sourceCenter) {}
+
+ /** Dismiss magnifying glass. */
+ @UiThread
+ default void dismiss() {}
+ }
+
+ @TargetApi(Build.VERSION_CODES.P)
+ private static class SessionMagnifierP implements GeckoSession.SessionMagnifier {
+ private @Nullable View mView;
+ private @Nullable Magnifier mMagnifier;
+
+ @Override
+ @UiThread
+ public @Nullable View getView() {
+ ThreadUtils.assertOnUiThread();
+
+ return mView;
+ }
+
+ @Override
+ @UiThread
+ public void setView(final @NonNull View view) {
+ ThreadUtils.assertOnUiThread();
+
+ if (mMagnifier != null) {
+ mMagnifier.dismiss();
+ mMagnifier = null;
+ }
+ mView = view;
+ }
+
+ @Override
+ @UiThread
+ public void show(final @NonNull PointF sourceCenter) {
+ ThreadUtils.assertOnUiThread();
+
+ if (mView == null) {
+ return;
+ }
+ if (mMagnifier == null) {
+ mMagnifier = new Magnifier(mView);
+ }
+
+ mMagnifier.show(sourceCenter.x, sourceCenter.y);
+ }
+
+ @Override
+ @UiThread
+ public void dismiss() {
+ ThreadUtils.assertOnUiThread();
+
+ if (mMagnifier == null) {
+ return;
+ }
+
+ mMagnifier.dismiss();
+ mMagnifier = null;
+ }
+ }
+
+ private SessionMagnifier mMagnifier;
+
private String mId;
/* package */ String getId() {
return mId;
@@ -795,7 +886,10 @@ public class GeckoSession {
"GeckoViewSelectionAction",
this,
new String[] {
- "GeckoView:HideSelectionAction", "GeckoView:ShowSelectionAction",
+ "GeckoView:HideSelectionAction",
+ "GeckoView:ShowSelectionAction",
+ "GeckoView:HideMagnifier",
+ "GeckoView:ShowMagnifier",
}) {
@Override
public void handleMessage(
@@ -827,6 +921,21 @@ public class GeckoSession {
}
delegate.onHideAction(GeckoSession.this, reason);
+ } else if ("GeckoView:ShowMagnifier".equals(event)) {
+ final GeckoBundle ptBundle = message.getBundle("clientPoint");
+ if (ptBundle == null) {
+ throw new IllegalArgumentException("Invalid argument");
+ }
+
+ final Matrix matrix = new Matrix();
+ GeckoSession.this.getClientToSurfaceMatrix(matrix);
+ final float[] origin =
+ new float[] {(float) ptBundle.getDouble("x"), (float) ptBundle.getDouble("y")};
+ matrix.mapPoints(origin);
+
+ GeckoSession.this.getMagnifier().show(new PointF(origin[0], origin[1]));
+ } else if ("GeckoView:HideMagnifier".equals(event)) {
+ GeckoSession.this.getMagnifier().dismiss();
}
}
};
@@ -1452,6 +1561,26 @@ public class GeckoSession {
return mAccessibility;
}
+ /**
+ * Get the SessionMagnifier instance for this session.
+ *
+ * @return SessionMagnifier instance.
+ */
+ @UiThread
+ /* package */ @NonNull
+ SessionMagnifier getMagnifier() {
+ ThreadUtils.assertOnUiThread();
+ if (mMagnifier == null) {
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
+ mMagnifier = new SessionMagnifierP();
+ } else {
+ mMagnifier = new SessionMagnifier() {};
+ }
+ }
+
+ return mMagnifier;
+ }
+
@Retention(RetentionPolicy.SOURCE)
@IntDef(
flag = true,
diff --git a/mobile/android/geckoview/src/main/java/org/mozilla/geckoview/GeckoView.java b/mobile/android/geckoview/src/main/java/org/mozilla/geckoview/GeckoView.java
index adbcf6ea6abe..e0f8807fe3ec 100644
--- a/mobile/android/geckoview/src/main/java/org/mozilla/geckoview/GeckoView.java
+++ b/mobile/android/geckoview/src/main/java/org/mozilla/geckoview/GeckoView.java
@@ -323,6 +323,10 @@ public class GeckoView extends FrameLayout {
}
addView(mSurfaceWrapper.getView());
+
+ if (mSession != null) {
+ mSession.getMagnifier().setView(mSurfaceWrapper.getView());
+ }
}
/**
@@ -428,6 +432,10 @@ public class GeckoView extends FrameLayout {
mSession.setAutofillDelegate(null);
}
+ if (mSession.getMagnifier().getView() == mSurfaceWrapper.getView()) {
+ session.getMagnifier().setView(null);
+ }
+
if (isFocused()) {
mSession.setFocused(false);
}
@@ -525,6 +533,10 @@ public class GeckoView extends FrameLayout {
session.setAutofillDelegate(mAutofillDelegate);
}
+ if (session.getMagnifier().getView() == null) {
+ session.getMagnifier().setView(mSurfaceWrapper.getView());
+ }
+
if (isFocused()) {
session.setFocused(true);
}
From 3c0087116298d277965ba4b4cf44b8385069cc02 Mon Sep 17 00:00:00 2001
From: Jens Stutte
Date: Fri, 8 Apr 2022 06:20:19 +0000
Subject: [PATCH 05/11] Bug 1696771: Always null check the
ContentProcessManager singleton before use. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D143180
---
docshell/base/CanonicalBrowsingContext.cpp | 3 +
dom/base/nsFrameLoader.cpp | 3 +
dom/ipc/BrowserBridgeParent.cpp | 3 +
dom/ipc/BrowserParent.cpp | 5 +-
dom/ipc/ContentParent.cpp | 127 +++++++++++-------
.../webrtc/transport/ipc/WebrtcTCPSocket.cpp | 6 +-
gfx/ipc/CrossProcessPaint.cpp | 9 +-
7 files changed, 104 insertions(+), 52 deletions(-)
diff --git a/docshell/base/CanonicalBrowsingContext.cpp b/docshell/base/CanonicalBrowsingContext.cpp
index 5cd83a13645f..6048a2c0e8eb 100644
--- a/docshell/base/CanonicalBrowsingContext.cpp
+++ b/docshell/base/CanonicalBrowsingContext.cpp
@@ -184,6 +184,9 @@ ContentParent* CanonicalBrowsingContext::GetContentParent() const {
}
ContentProcessManager* cpm = ContentProcessManager::GetSingleton();
+ if (!cpm) {
+ return nullptr;
+ }
return cpm->GetContentProcessById(ContentParentId(mProcessId));
}
diff --git a/dom/base/nsFrameLoader.cpp b/dom/base/nsFrameLoader.cpp
index c558a14c97c4..0ebd25360dbb 100644
--- a/dom/base/nsFrameLoader.cpp
+++ b/dom/base/nsFrameLoader.cpp
@@ -2750,6 +2750,9 @@ bool nsFrameLoader::TryRemoteBrowserInternal() {
RefPtr contentParent;
if (mChildID != 0) {
ContentProcessManager* cpm = ContentProcessManager::GetSingleton();
+ if (cpm) {
+ return false;
+ }
contentParent = cpm->GetContentProcessById(ContentParentId(mChildID));
}
mRemoteBrowser =
diff --git a/dom/ipc/BrowserBridgeParent.cpp b/dom/ipc/BrowserBridgeParent.cpp
index 1039f6e24720..e856864748ce 100644
--- a/dom/ipc/BrowserBridgeParent.cpp
+++ b/dom/ipc/BrowserBridgeParent.cpp
@@ -83,6 +83,9 @@ nsresult BrowserBridgeParent::InitWithProcess(
}
ContentProcessManager* cpm = ContentProcessManager::GetSingleton();
+ if (!cpm) {
+ return NS_ERROR_UNEXPECTED;
+ }
cpm->RegisterRemoteFrame(browserParent);
RefPtr windowParent =
diff --git a/dom/ipc/BrowserParent.cpp b/dom/ipc/BrowserParent.cpp
index 57cd0a5f64e4..45eb3de92a23 100644
--- a/dom/ipc/BrowserParent.cpp
+++ b/dom/ipc/BrowserParent.cpp
@@ -675,7 +675,10 @@ mozilla::ipc::IPCResult BrowserParent::RecvEnsureLayersConnected(
void BrowserParent::ActorDestroy(ActorDestroyReason why) {
Manager()->NotifyTabDestroyed(mTabId, mMarkedDestroying);
- ContentProcessManager::GetSingleton()->UnregisterRemoteFrame(mTabId);
+ ContentProcessManager* cpm = ContentProcessManager::GetSingleton();
+ if (cpm) {
+ cpm->UnregisterRemoteFrame(mTabId);
+ }
if (mRemoteLayerTreeOwner.IsInitialized()) {
auto layersId = mRemoteLayerTreeOwner.GetLayersId();
diff --git a/dom/ipc/ContentParent.cpp b/dom/ipc/ContentParent.cpp
index e694f441ee36..87fbc45ef51d 100644
--- a/dom/ipc/ContentParent.cpp
+++ b/dom/ipc/ContentParent.cpp
@@ -1530,6 +1530,9 @@ already_AddRefed ContentParent::CreateBrowser(
}
ContentProcessManager* cpm = ContentProcessManager::GetSingleton();
+ if (NS_WARN_IF(!cpm)) {
+ return nullptr;
+ }
cpm->RegisterRemoteFrame(browserParent);
nsCOMPtr initialPrincipal =
@@ -2090,7 +2093,9 @@ void ContentParent::ActorDestroy(ActorDestroyReason why) {
mSubprocess = nullptr;
ContentProcessManager* cpm = ContentProcessManager::GetSingleton();
- cpm->RemoveContentProcess(this->ChildID());
+ if (cpm) {
+ cpm->RemoveContentProcess(this->ChildID());
+ }
if (mDriverCrashGuard) {
mDriverCrashGuard->NotifyCrashed();
@@ -2481,6 +2486,8 @@ void ContentParent::AppendSandboxParams(std::vector& aArgs) {
bool ContentParent::BeginSubprocessLaunch(ProcessPriority aPriority) {
AUTO_PROFILER_LABEL("ContentParent::LaunchSubprocess", OTHER);
+ // XXX: This check works only late, as GetSingleton will return nullptr
+ // only after ClearOnShutdown happened. See bug 1632740.
if (!ContentProcessManager::GetSingleton()) {
NS_WARNING(
"Shutdown has begun, we shouldn't spawn any more child processes");
@@ -2613,7 +2620,13 @@ bool ContentParent::LaunchSubprocessResolve(bool aIsSync,
base::GetProcId(mSubprocess->GetChildProcessHandle());
Open(mSubprocess->TakeInitialPort(), procId);
- ContentProcessManager::GetSingleton()->AddContentProcess(this);
+ ContentProcessManager* cpm = ContentProcessManager::GetSingleton();
+ if (!cpm) {
+ NS_WARNING("immediately shutting-down caused by our shutdown");
+ ShutDownProcess(SEND_SHUTDOWN_MESSAGE);
+ return false;
+ }
+ cpm->AddContentProcess(this);
#ifdef MOZ_CODE_COVERAGE
Unused << SendShareCodeCoverageMutex(
@@ -4026,7 +4039,7 @@ mozilla::ipc::IPCResult ContentParent::RecvConstructPopupBrowser(
// window.open().
// We need to register remote frame with the child generated tab id.
auto* cpm = ContentProcessManager::GetSingleton();
- if (!cpm->RegisterRemoteFrame(parent)) {
+ if (!cpm || !cpm->RegisterRemoteFrame(parent)) {
return IPC_FAIL(this, "RegisterRemoteFrame Failed");
}
}
@@ -5156,9 +5169,12 @@ ContentParent::AllocPContentPermissionRequestParent(
const IPC::Principal& aPrincipal, const IPC::Principal& aTopLevelPrincipal,
const bool& aIsHandlingUserInput,
const bool& aMaybeUnsafePermissionDelegate, const TabId& aTabId) {
+ RefPtr tp;
ContentProcessManager* cpm = ContentProcessManager::GetSingleton();
- RefPtr tp =
- cpm->GetTopLevelBrowserParentByProcessAndTabId(this->ChildID(), aTabId);
+ if (cpm) {
+ tp =
+ cpm->GetTopLevelBrowserParentByProcessAndTabId(this->ChildID(), aTabId);
+ }
if (!tp) {
return nullptr;
}
@@ -6812,9 +6828,11 @@ mozilla::ipc::IPCResult ContentParent::RecvWindowClose(
// browsing contexts of bc.
ContentProcessManager* cpm = ContentProcessManager::GetSingleton();
- ContentParent* cp =
- cpm->GetContentProcessById(ContentParentId(context->OwnerProcessId()));
- Unused << cp->SendWindowClose(context, aTrustedCaller);
+ if (cpm) {
+ ContentParent* cp =
+ cpm->GetContentProcessById(ContentParentId(context->OwnerProcessId()));
+ Unused << cp->SendWindowClose(context, aTrustedCaller);
+ }
return IPC_OK();
}
@@ -6831,9 +6849,11 @@ mozilla::ipc::IPCResult ContentParent::RecvWindowFocus(
CanonicalBrowsingContext* context = aContext.get_canonical();
ContentProcessManager* cpm = ContentProcessManager::GetSingleton();
- ContentParent* cp =
- cpm->GetContentProcessById(ContentParentId(context->OwnerProcessId()));
- Unused << cp->SendWindowFocus(context, aCallerType, aActionId);
+ if (cpm) {
+ ContentParent* cp =
+ cpm->GetContentProcessById(ContentParentId(context->OwnerProcessId()));
+ Unused << cp->SendWindowFocus(context, aCallerType, aActionId);
+ }
return IPC_OK();
}
@@ -6848,9 +6868,11 @@ mozilla::ipc::IPCResult ContentParent::RecvWindowBlur(
CanonicalBrowsingContext* context = aContext.get_canonical();
ContentProcessManager* cpm = ContentProcessManager::GetSingleton();
- ContentParent* cp =
- cpm->GetContentProcessById(ContentParentId(context->OwnerProcessId()));
- Unused << cp->SendWindowBlur(context, aCallerType);
+ if (cpm) {
+ ContentParent* cp =
+ cpm->GetContentProcessById(ContentParentId(context->OwnerProcessId()));
+ Unused << cp->SendWindowBlur(context, aCallerType);
+ }
return IPC_OK();
}
@@ -6868,9 +6890,11 @@ mozilla::ipc::IPCResult ContentParent::RecvRaiseWindow(
CanonicalBrowsingContext* context = aContext.get_canonical();
ContentProcessManager* cpm = ContentProcessManager::GetSingleton();
- ContentParent* cp =
- cpm->GetContentProcessById(ContentParentId(context->OwnerProcessId()));
- Unused << cp->SendRaiseWindow(context, aCallerType, aActionId);
+ if (cpm) {
+ ContentParent* cp =
+ cpm->GetContentProcessById(ContentParentId(context->OwnerProcessId()));
+ Unused << cp->SendRaiseWindow(context, aCallerType, aActionId);
+ }
return IPC_OK();
}
@@ -6891,21 +6915,23 @@ mozilla::ipc::IPCResult ContentParent::RecvAdjustWindowFocus(
processes.InsertOrUpdate(this, true);
ContentProcessManager* cpm = ContentProcessManager::GetSingleton();
- CanonicalBrowsingContext* context = aContext.get_canonical();
- while (context) {
- BrowsingContext* parent = context->GetParent();
- if (!parent) {
- break;
- }
+ if (cpm) {
+ CanonicalBrowsingContext* context = aContext.get_canonical();
+ while (context) {
+ BrowsingContext* parent = context->GetParent();
+ if (!parent) {
+ break;
+ }
- CanonicalBrowsingContext* canonicalParent = parent->Canonical();
- ContentParent* cp = cpm->GetContentProcessById(
- ContentParentId(canonicalParent->OwnerProcessId()));
- if (cp && !processes.Get(cp)) {
- Unused << cp->SendAdjustWindowFocus(context, aIsVisible, aActionId);
- processes.InsertOrUpdate(cp, true);
+ CanonicalBrowsingContext* canonicalParent = parent->Canonical();
+ ContentParent* cp = cpm->GetContentProcessById(
+ ContentParentId(canonicalParent->OwnerProcessId()));
+ if (cp && !processes.Get(cp)) {
+ Unused << cp->SendAdjustWindowFocus(context, aIsVisible, aActionId);
+ processes.InsertOrUpdate(cp, true);
+ }
+ context = canonicalParent;
}
- context = canonicalParent;
}
return IPC_OK();
}
@@ -6921,9 +6947,11 @@ mozilla::ipc::IPCResult ContentParent::RecvClearFocus(
CanonicalBrowsingContext* context = aContext.get_canonical();
ContentProcessManager* cpm = ContentProcessManager::GetSingleton();
- ContentParent* cp =
- cpm->GetContentProcessById(ContentParentId(context->OwnerProcessId()));
- Unused << cp->SendClearFocus(context);
+ if (cpm) {
+ ContentParent* cp =
+ cpm->GetContentProcessById(ContentParentId(context->OwnerProcessId()));
+ Unused << cp->SendClearFocus(context);
+ }
return IPC_OK();
}
@@ -7046,11 +7074,11 @@ mozilla::ipc::IPCResult ContentParent::RecvSetFocusedElement(
CanonicalBrowsingContext* context = aContext.get_canonical();
ContentProcessManager* cpm = ContentProcessManager::GetSingleton();
-
- ContentParent* cp =
- cpm->GetContentProcessById(ContentParentId(context->OwnerProcessId()));
- Unused << cp->SendSetFocusedElement(context, aNeedsFocus);
-
+ if (cpm) {
+ ContentParent* cp =
+ cpm->GetContentProcessById(ContentParentId(context->OwnerProcessId()));
+ Unused << cp->SendSetFocusedElement(context, aNeedsFocus);
+ }
return IPC_OK();
}
@@ -7066,11 +7094,12 @@ mozilla::ipc::IPCResult ContentParent::RecvFinalizeFocusOuter(
LOGFOCUS(("ContentParent::RecvFinalizeFocusOuter"));
CanonicalBrowsingContext* context = aContext.get_canonical();
ContentProcessManager* cpm = ContentProcessManager::GetSingleton();
-
- ContentParent* cp =
- cpm->GetContentProcessById(ContentParentId(context->EmbedderProcessId()));
- if (cp) {
- Unused << cp->SendFinalizeFocusOuter(context, aCanFocus, aCallerType);
+ if (cpm) {
+ ContentParent* cp = cpm->GetContentProcessById(
+ ContentParentId(context->EmbedderProcessId()));
+ if (cp) {
+ Unused << cp->SendFinalizeFocusOuter(context, aCanFocus, aCallerType);
+ }
}
return IPC_OK();
}
@@ -7111,6 +7140,9 @@ mozilla::ipc::IPCResult ContentParent::RecvBlurToParent(
aFocusedBrowsingContext.get_canonical();
ContentProcessManager* cpm = ContentProcessManager::GetSingleton();
+ if (!cpm) {
+ return IPC_OK();
+ }
// If aBrowsingContextToClear and aAncestorBrowsingContextToFocusHandled
// didn't get handled in the process that sent this IPC message and they
@@ -7158,10 +7190,11 @@ mozilla::ipc::IPCResult ContentParent::RecvMaybeExitFullscreen(
CanonicalBrowsingContext* context = aContext.get_canonical();
ContentProcessManager* cpm = ContentProcessManager::GetSingleton();
-
- ContentParent* cp =
- cpm->GetContentProcessById(ContentParentId(context->OwnerProcessId()));
- Unused << cp->SendMaybeExitFullscreen(context);
+ if (cpm) {
+ ContentParent* cp =
+ cpm->GetContentProcessById(ContentParentId(context->OwnerProcessId()));
+ Unused << cp->SendMaybeExitFullscreen(context);
+ }
return IPC_OK();
}
diff --git a/dom/media/webrtc/transport/ipc/WebrtcTCPSocket.cpp b/dom/media/webrtc/transport/ipc/WebrtcTCPSocket.cpp
index 26a883cece75..d33c9a1dd865 100644
--- a/dom/media/webrtc/transport/ipc/WebrtcTCPSocket.cpp
+++ b/dom/media/webrtc/transport/ipc/WebrtcTCPSocket.cpp
@@ -73,8 +73,10 @@ WebrtcTCPSocket::~WebrtcTCPSocket() {
void WebrtcTCPSocket::SetTabId(dom::TabId aTabId) {
MOZ_ASSERT(NS_IsMainThread());
dom::ContentProcessManager* cpm = dom::ContentProcessManager::GetSingleton();
- dom::ContentParentId cpId = cpm->GetTabProcessId(aTabId);
- mAuthProvider = cpm->GetBrowserParentByProcessAndTabId(cpId, aTabId);
+ if (cpm) {
+ dom::ContentParentId cpId = cpm->GetTabProcessId(aTabId);
+ mAuthProvider = cpm->GetBrowserParentByProcessAndTabId(cpId, aTabId);
+ }
}
nsresult WebrtcTCPSocket::Write(nsTArray&& aWriteData) {
diff --git a/gfx/ipc/CrossProcessPaint.cpp b/gfx/ipc/CrossProcessPaint.cpp
index 608fb30af425..23eafc408f03 100644
--- a/gfx/ipc/CrossProcessPaint.cpp
+++ b/gfx/ipc/CrossProcessPaint.cpp
@@ -367,13 +367,18 @@ void CrossProcessPaint::LostFragment(dom::WindowGlobalParent* aWGP) {
void CrossProcessPaint::QueueDependencies(
const nsTHashSet& aDependencies) {
+ dom::ContentProcessManager* cpm = dom::ContentProcessManager::GetSingleton();
+ if (!cpm) {
+ CPP_LOG(
+ "Skipping QueueDependencies with no"
+ " current ContentProcessManager.\n");
+ return;
+ }
for (const auto& key : aDependencies) {
auto dependency = dom::TabId(key);
// Get the current BrowserParent of the remote browser that was marked
// as a dependency
- dom::ContentProcessManager* cpm =
- dom::ContentProcessManager::GetSingleton();
dom::ContentParentId cpId = cpm->GetTabProcessId(dependency);
RefPtr browser =
cpm->GetBrowserParentByProcessAndTabId(cpId, dependency);
From 0d0ad9c7f36adc5f4e7500f46ad79cb484e19154 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Emilio=20Cobos=20=C3=81lvarez?=
Date: Fri, 8 Apr 2022 06:51:15 +0000
Subject: [PATCH 06/11] Bug 1763746 - Stop preferring dark background for
SelectedItem/SelectedItemText. r=stransky
This was added because ElementaryOS themes have bright selected
backgrounds and dark text (for light themes), but we use the accent
colors for some places where that is not appropriate and a darker color
is, like checkbox backgrounds or form control borders.
Bug 1741293 split the selected item text / background colors from the
accent colors, so now we can use the real selected item colors and only
do this on the accent color. I wanted to split this out from bug 1741293
to minimize behavior changes in there.
Also while at it, blend opaque foreground with the appropriate
background on EnsureColorPairIsOpaque.
Differential Revision: https://phabricator.services.mozilla.com/D143255
---
widget/gtk/nsLookAndFeel.cpp | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/widget/gtk/nsLookAndFeel.cpp b/widget/gtk/nsLookAndFeel.cpp
index fd251bfb13d5..243314a3198a 100644
--- a/widget/gtk/nsLookAndFeel.cpp
+++ b/widget/gtk/nsLookAndFeel.cpp
@@ -1620,7 +1620,7 @@ static void EnsureColorPairIsOpaque(nscolor& aBg, nscolor& aFg) {
// Blend with white, ensuring the color is opaque, so that the UI doesn't have
// to care about alpha.
aBg = NS_ComposeColors(NS_RGB(0xff, 0xff, 0xff), aBg);
- aFg = NS_ComposeColors(NS_RGB(0xff, 0xff, 0xff), aFg);
+ aFg = NS_ComposeColors(aBg, aFg);
}
static void PreferDarkerBackground(nscolor& aBg, nscolor& aFg) {
@@ -1903,7 +1903,6 @@ void nsLookAndFeel::PerThemeData::Init() {
mSelectedItemText = mTextSelectedText;
}
- PreferDarkerBackground(mSelectedItem, mSelectedItemText);
EnsureColorPairIsOpaque(mSelectedItem, mSelectedItemText);
// In a similar fashion, default accent color is the selected item/text
@@ -1919,8 +1918,8 @@ void nsLookAndFeel::PerThemeData::Init() {
mAccentColorForeground = mSelectedItemText;
}
- PreferDarkerBackground(mAccentColor, mAccentColorForeground);
EnsureColorPairIsOpaque(mAccentColor, mAccentColorForeground);
+ PreferDarkerBackground(mAccentColor, mAccentColorForeground);
}
// Button text color
From c463ca58c7227e9611037a86921adf21e7a9ec5b Mon Sep 17 00:00:00 2001
From: Norisz Fay
Date: Fri, 8 Apr 2022 10:44:55 +0300
Subject: [PATCH 07/11] Backed out changeset 2531ddbeeffa (bug 1696771) for
causing multiple failures CLOSED TREE
---
docshell/base/CanonicalBrowsingContext.cpp | 3 -
dom/base/nsFrameLoader.cpp | 3 -
dom/ipc/BrowserBridgeParent.cpp | 3 -
dom/ipc/BrowserParent.cpp | 5 +-
dom/ipc/ContentParent.cpp | 129 +++++++-----------
.../webrtc/transport/ipc/WebrtcTCPSocket.cpp | 6 +-
gfx/ipc/CrossProcessPaint.cpp | 9 +-
7 files changed, 53 insertions(+), 105 deletions(-)
diff --git a/docshell/base/CanonicalBrowsingContext.cpp b/docshell/base/CanonicalBrowsingContext.cpp
index 6048a2c0e8eb..5cd83a13645f 100644
--- a/docshell/base/CanonicalBrowsingContext.cpp
+++ b/docshell/base/CanonicalBrowsingContext.cpp
@@ -184,9 +184,6 @@ ContentParent* CanonicalBrowsingContext::GetContentParent() const {
}
ContentProcessManager* cpm = ContentProcessManager::GetSingleton();
- if (!cpm) {
- return nullptr;
- }
return cpm->GetContentProcessById(ContentParentId(mProcessId));
}
diff --git a/dom/base/nsFrameLoader.cpp b/dom/base/nsFrameLoader.cpp
index 0ebd25360dbb..c558a14c97c4 100644
--- a/dom/base/nsFrameLoader.cpp
+++ b/dom/base/nsFrameLoader.cpp
@@ -2750,9 +2750,6 @@ bool nsFrameLoader::TryRemoteBrowserInternal() {
RefPtr contentParent;
if (mChildID != 0) {
ContentProcessManager* cpm = ContentProcessManager::GetSingleton();
- if (cpm) {
- return false;
- }
contentParent = cpm->GetContentProcessById(ContentParentId(mChildID));
}
mRemoteBrowser =
diff --git a/dom/ipc/BrowserBridgeParent.cpp b/dom/ipc/BrowserBridgeParent.cpp
index e856864748ce..1039f6e24720 100644
--- a/dom/ipc/BrowserBridgeParent.cpp
+++ b/dom/ipc/BrowserBridgeParent.cpp
@@ -83,9 +83,6 @@ nsresult BrowserBridgeParent::InitWithProcess(
}
ContentProcessManager* cpm = ContentProcessManager::GetSingleton();
- if (!cpm) {
- return NS_ERROR_UNEXPECTED;
- }
cpm->RegisterRemoteFrame(browserParent);
RefPtr windowParent =
diff --git a/dom/ipc/BrowserParent.cpp b/dom/ipc/BrowserParent.cpp
index 45eb3de92a23..57cd0a5f64e4 100644
--- a/dom/ipc/BrowserParent.cpp
+++ b/dom/ipc/BrowserParent.cpp
@@ -675,10 +675,7 @@ mozilla::ipc::IPCResult BrowserParent::RecvEnsureLayersConnected(
void BrowserParent::ActorDestroy(ActorDestroyReason why) {
Manager()->NotifyTabDestroyed(mTabId, mMarkedDestroying);
- ContentProcessManager* cpm = ContentProcessManager::GetSingleton();
- if (cpm) {
- cpm->UnregisterRemoteFrame(mTabId);
- }
+ ContentProcessManager::GetSingleton()->UnregisterRemoteFrame(mTabId);
if (mRemoteLayerTreeOwner.IsInitialized()) {
auto layersId = mRemoteLayerTreeOwner.GetLayersId();
diff --git a/dom/ipc/ContentParent.cpp b/dom/ipc/ContentParent.cpp
index 87fbc45ef51d..e694f441ee36 100644
--- a/dom/ipc/ContentParent.cpp
+++ b/dom/ipc/ContentParent.cpp
@@ -1530,9 +1530,6 @@ already_AddRefed ContentParent::CreateBrowser(
}
ContentProcessManager* cpm = ContentProcessManager::GetSingleton();
- if (NS_WARN_IF(!cpm)) {
- return nullptr;
- }
cpm->RegisterRemoteFrame(browserParent);
nsCOMPtr initialPrincipal =
@@ -2093,9 +2090,7 @@ void ContentParent::ActorDestroy(ActorDestroyReason why) {
mSubprocess = nullptr;
ContentProcessManager* cpm = ContentProcessManager::GetSingleton();
- if (cpm) {
- cpm->RemoveContentProcess(this->ChildID());
- }
+ cpm->RemoveContentProcess(this->ChildID());
if (mDriverCrashGuard) {
mDriverCrashGuard->NotifyCrashed();
@@ -2486,8 +2481,6 @@ void ContentParent::AppendSandboxParams(std::vector& aArgs) {
bool ContentParent::BeginSubprocessLaunch(ProcessPriority aPriority) {
AUTO_PROFILER_LABEL("ContentParent::LaunchSubprocess", OTHER);
- // XXX: This check works only late, as GetSingleton will return nullptr
- // only after ClearOnShutdown happened. See bug 1632740.
if (!ContentProcessManager::GetSingleton()) {
NS_WARNING(
"Shutdown has begun, we shouldn't spawn any more child processes");
@@ -2620,13 +2613,7 @@ bool ContentParent::LaunchSubprocessResolve(bool aIsSync,
base::GetProcId(mSubprocess->GetChildProcessHandle());
Open(mSubprocess->TakeInitialPort(), procId);
- ContentProcessManager* cpm = ContentProcessManager::GetSingleton();
- if (!cpm) {
- NS_WARNING("immediately shutting-down caused by our shutdown");
- ShutDownProcess(SEND_SHUTDOWN_MESSAGE);
- return false;
- }
- cpm->AddContentProcess(this);
+ ContentProcessManager::GetSingleton()->AddContentProcess(this);
#ifdef MOZ_CODE_COVERAGE
Unused << SendShareCodeCoverageMutex(
@@ -4039,7 +4026,7 @@ mozilla::ipc::IPCResult ContentParent::RecvConstructPopupBrowser(
// window.open().
// We need to register remote frame with the child generated tab id.
auto* cpm = ContentProcessManager::GetSingleton();
- if (!cpm || !cpm->RegisterRemoteFrame(parent)) {
+ if (!cpm->RegisterRemoteFrame(parent)) {
return IPC_FAIL(this, "RegisterRemoteFrame Failed");
}
}
@@ -5169,12 +5156,9 @@ ContentParent::AllocPContentPermissionRequestParent(
const IPC::Principal& aPrincipal, const IPC::Principal& aTopLevelPrincipal,
const bool& aIsHandlingUserInput,
const bool& aMaybeUnsafePermissionDelegate, const TabId& aTabId) {
- RefPtr tp;
ContentProcessManager* cpm = ContentProcessManager::GetSingleton();
- if (cpm) {
- tp =
- cpm->GetTopLevelBrowserParentByProcessAndTabId(this->ChildID(), aTabId);
- }
+ RefPtr tp =
+ cpm->GetTopLevelBrowserParentByProcessAndTabId(this->ChildID(), aTabId);
if (!tp) {
return nullptr;
}
@@ -6828,11 +6812,9 @@ mozilla::ipc::IPCResult ContentParent::RecvWindowClose(
// browsing contexts of bc.
ContentProcessManager* cpm = ContentProcessManager::GetSingleton();
- if (cpm) {
- ContentParent* cp =
- cpm->GetContentProcessById(ContentParentId(context->OwnerProcessId()));
- Unused << cp->SendWindowClose(context, aTrustedCaller);
- }
+ ContentParent* cp =
+ cpm->GetContentProcessById(ContentParentId(context->OwnerProcessId()));
+ Unused << cp->SendWindowClose(context, aTrustedCaller);
return IPC_OK();
}
@@ -6849,11 +6831,9 @@ mozilla::ipc::IPCResult ContentParent::RecvWindowFocus(
CanonicalBrowsingContext* context = aContext.get_canonical();
ContentProcessManager* cpm = ContentProcessManager::GetSingleton();
- if (cpm) {
- ContentParent* cp =
- cpm->GetContentProcessById(ContentParentId(context->OwnerProcessId()));
- Unused << cp->SendWindowFocus(context, aCallerType, aActionId);
- }
+ ContentParent* cp =
+ cpm->GetContentProcessById(ContentParentId(context->OwnerProcessId()));
+ Unused << cp->SendWindowFocus(context, aCallerType, aActionId);
return IPC_OK();
}
@@ -6868,11 +6848,9 @@ mozilla::ipc::IPCResult ContentParent::RecvWindowBlur(
CanonicalBrowsingContext* context = aContext.get_canonical();
ContentProcessManager* cpm = ContentProcessManager::GetSingleton();
- if (cpm) {
- ContentParent* cp =
- cpm->GetContentProcessById(ContentParentId(context->OwnerProcessId()));
- Unused << cp->SendWindowBlur(context, aCallerType);
- }
+ ContentParent* cp =
+ cpm->GetContentProcessById(ContentParentId(context->OwnerProcessId()));
+ Unused << cp->SendWindowBlur(context, aCallerType);
return IPC_OK();
}
@@ -6890,11 +6868,9 @@ mozilla::ipc::IPCResult ContentParent::RecvRaiseWindow(
CanonicalBrowsingContext* context = aContext.get_canonical();
ContentProcessManager* cpm = ContentProcessManager::GetSingleton();
- if (cpm) {
- ContentParent* cp =
- cpm->GetContentProcessById(ContentParentId(context->OwnerProcessId()));
- Unused << cp->SendRaiseWindow(context, aCallerType, aActionId);
- }
+ ContentParent* cp =
+ cpm->GetContentProcessById(ContentParentId(context->OwnerProcessId()));
+ Unused << cp->SendRaiseWindow(context, aCallerType, aActionId);
return IPC_OK();
}
@@ -6915,23 +6891,21 @@ mozilla::ipc::IPCResult ContentParent::RecvAdjustWindowFocus(
processes.InsertOrUpdate(this, true);
ContentProcessManager* cpm = ContentProcessManager::GetSingleton();
- if (cpm) {
- CanonicalBrowsingContext* context = aContext.get_canonical();
- while (context) {
- BrowsingContext* parent = context->GetParent();
- if (!parent) {
- break;
- }
-
- CanonicalBrowsingContext* canonicalParent = parent->Canonical();
- ContentParent* cp = cpm->GetContentProcessById(
- ContentParentId(canonicalParent->OwnerProcessId()));
- if (cp && !processes.Get(cp)) {
- Unused << cp->SendAdjustWindowFocus(context, aIsVisible, aActionId);
- processes.InsertOrUpdate(cp, true);
- }
- context = canonicalParent;
+ CanonicalBrowsingContext* context = aContext.get_canonical();
+ while (context) {
+ BrowsingContext* parent = context->GetParent();
+ if (!parent) {
+ break;
}
+
+ CanonicalBrowsingContext* canonicalParent = parent->Canonical();
+ ContentParent* cp = cpm->GetContentProcessById(
+ ContentParentId(canonicalParent->OwnerProcessId()));
+ if (cp && !processes.Get(cp)) {
+ Unused << cp->SendAdjustWindowFocus(context, aIsVisible, aActionId);
+ processes.InsertOrUpdate(cp, true);
+ }
+ context = canonicalParent;
}
return IPC_OK();
}
@@ -6947,11 +6921,9 @@ mozilla::ipc::IPCResult ContentParent::RecvClearFocus(
CanonicalBrowsingContext* context = aContext.get_canonical();
ContentProcessManager* cpm = ContentProcessManager::GetSingleton();
- if (cpm) {
- ContentParent* cp =
- cpm->GetContentProcessById(ContentParentId(context->OwnerProcessId()));
- Unused << cp->SendClearFocus(context);
- }
+ ContentParent* cp =
+ cpm->GetContentProcessById(ContentParentId(context->OwnerProcessId()));
+ Unused << cp->SendClearFocus(context);
return IPC_OK();
}
@@ -7074,11 +7046,11 @@ mozilla::ipc::IPCResult ContentParent::RecvSetFocusedElement(
CanonicalBrowsingContext* context = aContext.get_canonical();
ContentProcessManager* cpm = ContentProcessManager::GetSingleton();
- if (cpm) {
- ContentParent* cp =
- cpm->GetContentProcessById(ContentParentId(context->OwnerProcessId()));
- Unused << cp->SendSetFocusedElement(context, aNeedsFocus);
- }
+
+ ContentParent* cp =
+ cpm->GetContentProcessById(ContentParentId(context->OwnerProcessId()));
+ Unused << cp->SendSetFocusedElement(context, aNeedsFocus);
+
return IPC_OK();
}
@@ -7094,12 +7066,11 @@ mozilla::ipc::IPCResult ContentParent::RecvFinalizeFocusOuter(
LOGFOCUS(("ContentParent::RecvFinalizeFocusOuter"));
CanonicalBrowsingContext* context = aContext.get_canonical();
ContentProcessManager* cpm = ContentProcessManager::GetSingleton();
- if (cpm) {
- ContentParent* cp = cpm->GetContentProcessById(
- ContentParentId(context->EmbedderProcessId()));
- if (cp) {
- Unused << cp->SendFinalizeFocusOuter(context, aCanFocus, aCallerType);
- }
+
+ ContentParent* cp =
+ cpm->GetContentProcessById(ContentParentId(context->EmbedderProcessId()));
+ if (cp) {
+ Unused << cp->SendFinalizeFocusOuter(context, aCanFocus, aCallerType);
}
return IPC_OK();
}
@@ -7140,9 +7111,6 @@ mozilla::ipc::IPCResult ContentParent::RecvBlurToParent(
aFocusedBrowsingContext.get_canonical();
ContentProcessManager* cpm = ContentProcessManager::GetSingleton();
- if (!cpm) {
- return IPC_OK();
- }
// If aBrowsingContextToClear and aAncestorBrowsingContextToFocusHandled
// didn't get handled in the process that sent this IPC message and they
@@ -7190,11 +7158,10 @@ mozilla::ipc::IPCResult ContentParent::RecvMaybeExitFullscreen(
CanonicalBrowsingContext* context = aContext.get_canonical();
ContentProcessManager* cpm = ContentProcessManager::GetSingleton();
- if (cpm) {
- ContentParent* cp =
- cpm->GetContentProcessById(ContentParentId(context->OwnerProcessId()));
- Unused << cp->SendMaybeExitFullscreen(context);
- }
+
+ ContentParent* cp =
+ cpm->GetContentProcessById(ContentParentId(context->OwnerProcessId()));
+ Unused << cp->SendMaybeExitFullscreen(context);
return IPC_OK();
}
diff --git a/dom/media/webrtc/transport/ipc/WebrtcTCPSocket.cpp b/dom/media/webrtc/transport/ipc/WebrtcTCPSocket.cpp
index d33c9a1dd865..26a883cece75 100644
--- a/dom/media/webrtc/transport/ipc/WebrtcTCPSocket.cpp
+++ b/dom/media/webrtc/transport/ipc/WebrtcTCPSocket.cpp
@@ -73,10 +73,8 @@ WebrtcTCPSocket::~WebrtcTCPSocket() {
void WebrtcTCPSocket::SetTabId(dom::TabId aTabId) {
MOZ_ASSERT(NS_IsMainThread());
dom::ContentProcessManager* cpm = dom::ContentProcessManager::GetSingleton();
- if (cpm) {
- dom::ContentParentId cpId = cpm->GetTabProcessId(aTabId);
- mAuthProvider = cpm->GetBrowserParentByProcessAndTabId(cpId, aTabId);
- }
+ dom::ContentParentId cpId = cpm->GetTabProcessId(aTabId);
+ mAuthProvider = cpm->GetBrowserParentByProcessAndTabId(cpId, aTabId);
}
nsresult WebrtcTCPSocket::Write(nsTArray&& aWriteData) {
diff --git a/gfx/ipc/CrossProcessPaint.cpp b/gfx/ipc/CrossProcessPaint.cpp
index 23eafc408f03..608fb30af425 100644
--- a/gfx/ipc/CrossProcessPaint.cpp
+++ b/gfx/ipc/CrossProcessPaint.cpp
@@ -367,18 +367,13 @@ void CrossProcessPaint::LostFragment(dom::WindowGlobalParent* aWGP) {
void CrossProcessPaint::QueueDependencies(
const nsTHashSet& aDependencies) {
- dom::ContentProcessManager* cpm = dom::ContentProcessManager::GetSingleton();
- if (!cpm) {
- CPP_LOG(
- "Skipping QueueDependencies with no"
- " current ContentProcessManager.\n");
- return;
- }
for (const auto& key : aDependencies) {
auto dependency = dom::TabId(key);
// Get the current BrowserParent of the remote browser that was marked
// as a dependency
+ dom::ContentProcessManager* cpm =
+ dom::ContentProcessManager::GetSingleton();
dom::ContentParentId cpId = cpm->GetTabProcessId(dependency);
RefPtr browser =
cpm->GetBrowserParentByProcessAndTabId(cpId, dependency);
From ae4e1b024641dc9a6423be8cb2cb4c52513b695f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andr=C3=A9=20Bargull?=
Date: Fri, 8 Apr 2022 08:43:02 +0000
Subject: [PATCH 08/11] Bug 1763609 - Part 1: Update list of unsupported
features. r=mgaudet
Differential Revision: https://phabricator.services.mozilla.com/D143163
---
js/src/tests/test262-update.py | 11 +++++++++--
1 file changed, 9 insertions(+), 2 deletions(-)
diff --git a/js/src/tests/test262-update.py b/js/src/tests/test262-update.py
index 513d7a6286df..6f4e7e1d7558 100755
--- a/js/src/tests/test262-update.py
+++ b/js/src/tests/test262-update.py
@@ -25,13 +25,16 @@ UNSUPPORTED_FEATURES = set(
"Intl.DateTimeFormat-quarter",
"Intl.Segmenter",
"Intl.Locale-info",
+ "Intl.DurationFormat",
"Atomics.waitAsync",
"legacy-regexp",
"json-modules",
"resizable-arraybuffer",
"Temporal",
- "callable-boundary-realms",
+ "ShadowRealm",
"array-find-from-last",
+ "array-grouping",
+ "regexp-v-flag",
]
)
FEATURE_CHECK_NEEDED = {
@@ -40,7 +43,11 @@ FEATURE_CHECK_NEEDED = {
"SharedArrayBuffer": "!this.hasOwnProperty('SharedArrayBuffer')",
"WeakRef": "!this.hasOwnProperty('WeakRef')",
}
-RELEASE_OR_BETA = set([])
+RELEASE_OR_BETA = set(
+ [
+ "Intl.NumberFormat-v3",
+ ]
+)
SHELL_OPTIONS = {
"import-assertions": "--enable-import-assertions",
}
From f9ec3301f19e938ef00c768aa4ccdae2a39afc5c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andr=C3=A9=20Bargull?=
Date: Fri, 8 Apr 2022 08:43:02 +0000
Subject: [PATCH 09/11] Bug 1763609 - Part 2: Update Github URL. r=mgaudet
"git://" protocol is no longer supported.
Depends on D143163
Differential Revision: https://phabricator.services.mozilla.com/D143164
---
js/src/tests/test262-update.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/js/src/tests/test262-update.py b/js/src/tests/test262-update.py
index 6f4e7e1d7558..d011bb7e8ef1 100755
--- a/js/src/tests/test262-update.py
+++ b/js/src/tests/test262-update.py
@@ -859,7 +859,7 @@ if __name__ == "__main__":
parser = argparse.ArgumentParser(description="Update the test262 test suite.")
parser.add_argument(
"--url",
- default="git://github.com/tc39/test262.git",
+ default="https://github.com/tc39/test262.git",
help="URL to git repository (default: %(default)s)",
)
parser.add_argument(
From e24361a3a208a488376fa8dbdd8eb0937717c3c2 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andr=C3=A9=20Bargull?=
Date: Fri, 8 Apr 2022 08:43:02 +0000
Subject: [PATCH 10/11] Bug 1763609 - Part 3: Update test262 April 2022.
r=mgaudet
Depends on D143164
Differential Revision: https://phabricator.services.mozilla.com/D143165
---
js/src/tests/test262/GIT-INFO | 13 +-
.../compile/this-cross-realm-instance.js | 2 +-
.../built-ins/Array/S15.4.1_A1.1_T1.js | 1 -
.../built-ins/Array/S15.4.1_A1.1_T2.js | 2 -
.../built-ins/Array/S15.4.1_A1.2_T1.js | 2 -
.../built-ins/Array/S15.4.1_A2.2_T1.js | 1 -
.../built-ins/Array/S15.4.2.1_A1.1_T1.js | 1 -
.../built-ins/Array/S15.4.2.1_A1.1_T2.js | 2 -
.../built-ins/Array/S15.4.2.1_A1.2_T1.js | 2 -
.../built-ins/Array/S15.4.2.1_A2.2_T1.js | 1 -
.../built-ins/Array/S15.4.3_A1.1_T2.js | 1 -
.../built-ins/Array/S15.4.5.1_A1.2_T2.js | 2 -
.../built-ins/Array/S15.4.5.1_A2.1_T1.js | 3 -
.../built-ins/Array/S15.4.5.1_A2.2_T1.js | 3 -
.../built-ins/Array/S15.4.5.1_A2.3_T1.js | 2 -
.../built-ins/Array/S15.4.5.2_A1_T1.js | 5 -
.../built-ins/Array/S15.4.5.2_A1_T2.js | 2 -
.../built-ins/Array/S15.4.5.2_A2_T1.js | 4 -
.../built-ins/Array/S15.4.5.2_A3_T1.js | 2 -
.../built-ins/Array/S15.4.5.2_A3_T2.js | 4 -
.../built-ins/Array/S15.4.5.2_A3_T3.js | 2 -
.../test262/built-ins/Array/S15.4_A1.1_T10.js | 1 -
.../test262/built-ins/Array/S15.4_A1.1_T4.js | 2 -
.../test262/built-ins/Array/S15.4_A1.1_T5.js | 2 -
.../test262/built-ins/Array/S15.4_A1.1_T6.js | 2 -
.../test262/built-ins/Array/S15.4_A1.1_T7.js | 3 -
.../test262/built-ins/Array/S15.4_A1.1_T8.js | 3 -
.../test262/built-ins/Array/S15.4_A1.1_T9.js | 8 -
.../Array/from/Array.from-descriptor.js | 3 +-
...e-has-length-but-no-indexes-with-values.js | 41 +
.../built-ins/Array/isArray/descriptor.js | 3 +-
.../Array/length/S15.4.2.2_A1.1_T1.js | 1 -
.../Array/length/S15.4.2.2_A1.1_T2.js | 1 -
.../Array/length/S15.4.2.2_A1.2_T1.js | 1 -
.../Array/length/S15.4.2.2_A2.1_T1.js | 3 -
.../Array/length/S15.4.2.2_A2.2_T1.js | 3 -
.../Array/length/S15.4.2.2_A2.2_T2.js | 3 -
.../Array/length/S15.4.2.2_A2.2_T3.js | 3 -
.../Array/length/S15.4.5.1_A1.1_T1.js | 3 -
.../Array/length/S15.4.5.1_A1.1_T2.js | 4 -
.../Array/length/S15.4.5.1_A1.2_T1.js | 2 -
.../Array/length/S15.4.5.1_A1.2_T3.js | 2 -
.../Array/length/S15.4.5.1_A1.3_T1.js | 6 -
.../Array/length/S15.4.5.1_A1.3_T2.js | 8 -
.../built-ins/Array/length/S15.4.5.2_A3_T4.js | 1 -
.../array-find-from-last.js | 34 +
.../Symbol.unscopables/array-grouping.js | 34 +
.../prototype/Symbol.unscopables/value.js | 31 +-
...rray.prototype.concat_large-typed-array.js | 19 +-
...rray.prototype.concat_small-typed-array.js | 19 +-
.../Array/prototype/concat/S15.4.4.4_A1_T1.js | 1 -
.../Array/prototype/concat/S15.4.4.4_A1_T2.js | 1 -
.../Array/prototype/concat/S15.4.4.4_A1_T3.js | 1 -
.../Array/prototype/concat/S15.4.4.4_A1_T4.js | 1 -
.../Array/prototype/concat/S15.4.4.4_A2_T1.js | 1 -
.../Array/prototype/concat/S15.4.4.4_A2_T2.js | 1 -
.../copyWithin/coerced-values-target.js | 5 +
.../non-negative-target-and-start.js | 28 +-
.../every/callbackfn-resize-arraybuffer.js | 74 +
.../built-ins/Array/prototype/every/shell.js | 124 +
.../filter/callbackfn-resize-arraybuffer.js | 74 +
.../built-ins/Array/prototype/filter/shell.js | 124 +
.../find/callbackfn-resize-arraybuffer.js | 76 +
.../built-ins/Array/prototype/find/shell.js | 124 +
.../callbackfn-resize-arraybuffer.js | 76 +
.../Array/prototype/findIndex/shell.js | 124 +
.../findLast/callbackfn-resize-arraybuffer.js | 76 +
.../Array/prototype/findLast/shell.js | 124 +
.../callbackfn-resize-arraybuffer.js | 76 +
.../Array/prototype/findLastIndex/shell.js | 124 +
.../forEach/callbackfn-resize-arraybuffer.js | 72 +
.../Array/prototype/forEach/shell.js | 124 +
.../Array/prototype/join/S15.4.4.5_A1.1_T1.js | 2 -
.../Array/prototype/join/S15.4.4.5_A1.2_T1.js | 3 -
.../Array/prototype/join/S15.4.4.5_A1.2_T2.js | 3 -
.../Array/prototype/join/S15.4.4.5_A1.3_T1.js | 3 -
.../Array/prototype/join/S15.4.4.5_A2_T1.js | 6 -
.../Array/prototype/join/S15.4.4.5_A2_T2.js | 10 -
.../Array/prototype/join/S15.4.4.5_A2_T3.js | 6 -
.../Array/prototype/join/S15.4.4.5_A2_T4.js | 105 +-
.../Array/prototype/join/S15.4.4.5_A3.1_T1.js | 8 -
.../Array/prototype/join/S15.4.4.5_A3.1_T2.js | 116 +-
.../Array/prototype/join/S15.4.4.5_A3.2_T1.js | 8 -
.../Array/prototype/join/S15.4.4.5_A3.2_T2.js | 50 +-
.../Array/prototype/join/S15.4.4.5_A4_T3.js | 2 -
.../Array/prototype/join/S15.4.4.5_A5_T1.js | 2 -
.../Array/prototype/join/S15.4.4.5_A6.6.js | 1 -
.../Array/prototype/join/S15.4.4.5_A6.7.js | 23 -
.../map/callbackfn-resize-arraybuffer.js | 78 +
.../built-ins/Array/prototype/map/shell.js | 124 +
.../Array/prototype/pop/S15.4.4.6_A1.1_T1.js | 4 -
.../Array/prototype/pop/S15.4.4.6_A1.2_T1.js | 10 -
.../Array/prototype/pop/S15.4.4.6_A2_T1.js | 6 -
.../Array/prototype/pop/S15.4.4.6_A2_T2.js | 12 -
.../Array/prototype/pop/S15.4.4.6_A2_T3.js | 4 -
.../Array/prototype/pop/S15.4.4.6_A2_T4.js | 82 +-
.../Array/prototype/pop/S15.4.4.6_A3_T1.js | 4 -
.../Array/prototype/pop/S15.4.4.6_A3_T2.js | 4 -
.../Array/prototype/pop/S15.4.4.6_A3_T3.js | 3 -
.../Array/prototype/pop/S15.4.4.6_A4_T1.js | 6 -
.../Array/prototype/pop/S15.4.4.6_A4_T2.js | 6 -
.../Array/prototype/pop/S15.4.4.6_A5.7.js | 23 -
.../pop/set-length-array-is-frozen.js | 49 +
...set-length-array-length-is-non-writable.js | 49 +
.../pop/set-length-zero-array-is-frozen.js | 34 +
...ength-zero-array-length-is-non-writable.js | 34 +
.../Array/prototype/push/S15.4.4.7_A1_T1.js | 7 -
.../Array/prototype/push/S15.4.4.7_A1_T2.js | 9 -
.../Array/prototype/push/S15.4.4.7_A2_T1.js | 9 -
.../Array/prototype/push/S15.4.4.7_A2_T2.js | 18 -
.../Array/prototype/push/S15.4.4.7_A2_T3.js | 83 +-
.../Array/prototype/push/S15.4.4.7_A3.js | 25 +-
.../Array/prototype/push/S15.4.4.7_A4_T1.js | 10 -
.../Array/prototype/push/S15.4.4.7_A4_T2.js | 5 -
.../Array/prototype/push/S15.4.4.7_A4_T3.js | 8 -
.../Array/prototype/push/S15.4.4.7_A5_T1.js | 5 -
.../Array/prototype/push/S15.4.4.7_A6.7.js | 23 -
.../push/set-length-array-is-frozen.js | 47 +
...set-length-array-length-is-non-writable.js | 47 +
.../push/set-length-zero-array-is-frozen.js | 38 +
...ength-zero-array-length-is-non-writable.js | 38 +
.../Array/prototype/reduce/15.4.4.21-9-8.js | 2 +-
.../reduce/callbackfn-resize-arraybuffer.js | 76 +
.../built-ins/Array/prototype/reduce/shell.js | 124 +
.../prototype/reduceRight/15.4.4.22-9-8.js | 6 +-
.../callbackfn-resize-arraybuffer.js | 81 +
.../Array/prototype/reduceRight/shell.js | 124 +
.../prototype/reverse/S15.4.4.8_A1_T1.js | 6 -
.../prototype/reverse/S15.4.4.8_A1_T2.js | 20 -
.../prototype/reverse/S15.4.4.8_A2_T1.js | 20 -
.../prototype/reverse/S15.4.4.8_A2_T2.js | 20 -
.../prototype/reverse/S15.4.4.8_A2_T3.js | 20 -
.../prototype/reverse/S15.4.4.8_A3_T3.js | 5 -
.../prototype/reverse/S15.4.4.8_A4_T1.js | 8 -
.../prototype/reverse/S15.4.4.8_A4_T2.js | 8 -
.../Array/prototype/reverse/S15.4.4.8_A5.7.js | 23 -
.../prototype/shift/S15.4.4.9_A1.1_T1.js | 4 -
.../prototype/shift/S15.4.4.9_A1.2_T1.js | 10 -
.../Array/prototype/shift/S15.4.4.9_A2_T1.js | 6 -
.../Array/prototype/shift/S15.4.4.9_A2_T2.js | 10 -
.../Array/prototype/shift/S15.4.4.9_A2_T3.js | 4 -
.../Array/prototype/shift/S15.4.4.9_A2_T4.js | 6 -
.../Array/prototype/shift/S15.4.4.9_A2_T5.js | 82 +-
.../Array/prototype/shift/S15.4.4.9_A3_T3.js | 4 -
.../Array/prototype/shift/S15.4.4.9_A4_T1.js | 8 -
.../Array/prototype/shift/S15.4.4.9_A4_T2.js | 8 -
.../Array/prototype/shift/S15.4.4.9_A5.7.js | 23 -
.../shift/set-length-array-is-frozen.js | 45 +
...set-length-array-length-is-non-writable.js | 45 +
.../shift/set-length-zero-array-is-frozen.js | 34 +
...ength-zero-array-length-is-non-writable.js | 34 +
.../prototype/slice/S15.4.4.10_A1.1_T1.js | 6 -
.../prototype/slice/S15.4.4.10_A1.1_T2.js | 3 -
.../prototype/slice/S15.4.4.10_A1.1_T3.js | 3 -
.../prototype/slice/S15.4.4.10_A1.1_T4.js | 3 -
.../prototype/slice/S15.4.4.10_A1.1_T5.js | 5 -
.../prototype/slice/S15.4.4.10_A1.1_T6.js | 5 -
.../prototype/slice/S15.4.4.10_A1.1_T7.js | 5 -
.../prototype/slice/S15.4.4.10_A1.2_T1.js | 4 -
.../prototype/slice/S15.4.4.10_A1.2_T2.js | 4 -
.../prototype/slice/S15.4.4.10_A1.2_T3.js | 4 -
.../prototype/slice/S15.4.4.10_A1.2_T4.js | 8 -
.../prototype/slice/S15.4.4.10_A1.3_T1.js | 6 -
.../prototype/slice/S15.4.4.10_A1.3_T2.js | 3 -
.../prototype/slice/S15.4.4.10_A1.3_T3.js | 3 -
.../prototype/slice/S15.4.4.10_A1.3_T4.js | 3 -
.../prototype/slice/S15.4.4.10_A1.4_T1.js | 6 -
.../prototype/slice/S15.4.4.10_A1.4_T2.js | 5 -
.../prototype/slice/S15.4.4.10_A1.4_T3.js | 7 -
.../prototype/slice/S15.4.4.10_A1.4_T4.js | 3 -
.../prototype/slice/S15.4.4.10_A1.5_T1.js | 5 -
.../prototype/slice/S15.4.4.10_A1.5_T2.js | 5 -
.../prototype/slice/S15.4.4.10_A2.1_T1.js | 5 -
.../prototype/slice/S15.4.4.10_A2.1_T2.js | 6 -
.../prototype/slice/S15.4.4.10_A2.1_T3.js | 3 -
.../prototype/slice/S15.4.4.10_A2.1_T4.js | 6 -
.../prototype/slice/S15.4.4.10_A2.1_T5.js | 6 -
.../prototype/slice/S15.4.4.10_A2.2_T1.js | 5 -
.../prototype/slice/S15.4.4.10_A2.2_T2.js | 3 -
.../prototype/slice/S15.4.4.10_A2.2_T3.js | 8 -
.../prototype/slice/S15.4.4.10_A2.2_T4.js | 3 -
.../prototype/slice/S15.4.4.10_A2.2_T5.js | 6 -
.../Array/prototype/slice/S15.4.4.10_A2_T1.js | 6 -
.../Array/prototype/slice/S15.4.4.10_A2_T2.js | 6 -
.../Array/prototype/slice/S15.4.4.10_A2_T3.js | 6 -
.../Array/prototype/slice/S15.4.4.10_A2_T4.js | 6 -
.../Array/prototype/slice/S15.4.4.10_A2_T5.js | 6 -
.../Array/prototype/slice/S15.4.4.10_A2_T6.js | 6 -
.../Array/prototype/slice/S15.4.4.10_A3_T1.js | 22 +-
.../Array/prototype/slice/S15.4.4.10_A3_T2.js | 22 +-
.../Array/prototype/slice/S15.4.4.10_A3_T3.js | 2 -
.../Array/prototype/slice/S15.4.4.10_A4_T1.js | 3 -
.../Array/prototype/slice/S15.4.4.10_A5.7.js | 23 -
.../some/callbackfn-resize-arraybuffer.js | 74 +
.../built-ins/Array/prototype/some/shell.js | 124 +
.../prototype/sort/S15.4.4.11_A1.1_T1.js | 3 -
.../prototype/sort/S15.4.4.11_A1.2_T1.js | 6 -
.../prototype/sort/S15.4.4.11_A1.2_T2.js | 6 -
.../prototype/sort/S15.4.4.11_A1.3_T1.js | 3 -
.../prototype/sort/S15.4.4.11_A1.4_T1.js | 6 -
.../prototype/sort/S15.4.4.11_A1.4_T2.js | 6 -
.../prototype/sort/S15.4.4.11_A1.5_T1.js | 6 -
.../prototype/sort/S15.4.4.11_A2.1_T1.js | 1 -
.../prototype/sort/S15.4.4.11_A2.1_T2.js | 1 -
.../prototype/sort/S15.4.4.11_A2.1_T3.js | 1 -
.../prototype/sort/S15.4.4.11_A2.2_T1.js | 1 -
.../prototype/sort/S15.4.4.11_A2.2_T2.js | 1 -
.../prototype/sort/S15.4.4.11_A2.2_T3.js | 1 -
.../Array/prototype/sort/S15.4.4.11_A3_T1.js | 2 -
.../Array/prototype/sort/S15.4.4.11_A3_T2.js | 2 -
.../Array/prototype/sort/S15.4.4.11_A4_T3.js | 5 -
.../Array/prototype/sort/S15.4.4.11_A5_T1.js | 18 +-
.../Array/prototype/sort/S15.4.4.11_A6_T2.js | 8 -
.../Array/prototype/sort/S15.4.4.11_A7.7.js | 23 -
.../prototype/splice/S15.4.4.12_A1.1_T1.js | 7 -
.../prototype/splice/S15.4.4.12_A1.1_T2.js | 9 -
.../prototype/splice/S15.4.4.12_A1.1_T3.js | 7 -
.../prototype/splice/S15.4.4.12_A1.1_T4.js | 9 -
.../prototype/splice/S15.4.4.12_A1.1_T5.js | 7 -
.../prototype/splice/S15.4.4.12_A1.1_T6.js | 9 -
.../prototype/splice/S15.4.4.12_A1.2_T1.js | 5 -
.../prototype/splice/S15.4.4.12_A1.2_T2.js | 5 -
.../prototype/splice/S15.4.4.12_A1.2_T3.js | 7 -
.../prototype/splice/S15.4.4.12_A1.2_T4.js | 7 -
.../prototype/splice/S15.4.4.12_A1.2_T5.js | 7 -
.../prototype/splice/S15.4.4.12_A1.3_T1.js | 5 -
.../prototype/splice/S15.4.4.12_A1.3_T2.js | 5 -
.../prototype/splice/S15.4.4.12_A1.3_T3.js | 7 -
.../prototype/splice/S15.4.4.12_A1.3_T4.js | 7 -
.../prototype/splice/S15.4.4.12_A1.3_T5.js | 7 -
.../prototype/splice/S15.4.4.12_A1.4_T1.js | 7 -
.../prototype/splice/S15.4.4.12_A1.4_T2.js | 9 -
.../prototype/splice/S15.4.4.12_A1.4_T3.js | 7 -
.../prototype/splice/S15.4.4.12_A1.4_T4.js | 9 -
.../prototype/splice/S15.4.4.12_A1.4_T5.js | 7 -
.../prototype/splice/S15.4.4.12_A1.4_T6.js | 9 -
.../prototype/splice/S15.4.4.12_A1.5_T1.js | 7 -
.../prototype/splice/S15.4.4.12_A1.5_T2.js | 7 -
.../prototype/splice/S15.4.4.12_A2.1_T1.js | 7 -
.../prototype/splice/S15.4.4.12_A2.1_T2.js | 7 -
.../prototype/splice/S15.4.4.12_A2.1_T3.js | 6 -
.../prototype/splice/S15.4.4.12_A2.1_T4.js | 7 -
.../prototype/splice/S15.4.4.12_A2.1_T5.js | 7 -
.../prototype/splice/S15.4.4.12_A2.2_T1.js | 7 -
.../prototype/splice/S15.4.4.12_A2.2_T2.js | 5 -
.../prototype/splice/S15.4.4.12_A2.2_T3.js | 7 -
.../prototype/splice/S15.4.4.12_A2.2_T4.js | 5 -
.../prototype/splice/S15.4.4.12_A2.2_T5.js | 7 -
.../prototype/splice/S15.4.4.12_A2_T1.js | 10 -
.../prototype/splice/S15.4.4.12_A2_T2.js | 8 -
.../prototype/splice/S15.4.4.12_A2_T3.js | 8 -
.../prototype/splice/S15.4.4.12_A2_T4.js | 10 -
.../prototype/splice/S15.4.4.12_A3_T1.js | 5 -
.../prototype/splice/S15.4.4.12_A3_T3.js | 4 -
.../prototype/splice/S15.4.4.12_A4_T1.js | 12 -
.../prototype/splice/S15.4.4.12_A4_T2.js | 12 -
.../prototype/splice/S15.4.4.12_A4_T3.js | 10 -
.../Array/prototype/splice/S15.4.4.12_A5.7.js | 23 -
.../toLocaleString/S15.4.4.3_A1_T1.js | 1 -
.../toLocaleString/S15.4.4.3_A3_T1.js | 1 -
.../toLocaleString/S15.4.4.3_A4.7.js | 24 -
.../prototype/toString/S15.4.4.2_A1_T1.js | 2 -
.../prototype/toString/S15.4.4.2_A1_T2.js | 4 -
.../prototype/toString/S15.4.4.2_A1_T3.js | 8 -
.../prototype/toString/S15.4.4.2_A1_T4.js | 132 +-
.../prototype/toString/S15.4.4.2_A3_T1.js | 1 -
.../prototype/toString/S15.4.4.2_A4.7.js | 24 -
.../prototype/unshift/S15.4.4.13_A1_T1.js | 8 -
.../prototype/unshift/S15.4.4.13_A1_T2.js | 9 -
.../prototype/unshift/S15.4.4.13_A2_T1.js | 15 +-
.../prototype/unshift/S15.4.4.13_A2_T2.js | 15 -
.../prototype/unshift/S15.4.4.13_A2_T3.js | 82 +-
.../prototype/unshift/S15.4.4.13_A3_T2.js | 6 -
.../prototype/unshift/S15.4.4.13_A4_T1.js | 10 -
.../prototype/unshift/S15.4.4.13_A4_T2.js | 10 -
.../prototype/unshift/S15.4.4.13_A5.7.js | 23 -
.../unshift/set-length-array-is-frozen.js | 50 +
...set-length-array-length-is-non-writable.js | 50 +
.../set-length-zero-array-is-frozen.js | 38 +
...ength-zero-array-length-is-non-writable.js | 38 +
.../built-ins/Boolean/S15.6.1.1_A1_T1.js | 30 +-
.../built-ins/Boolean/S15.6.1.1_A1_T2.js | 42 +-
.../built-ins/Boolean/S15.6.1.1_A1_T3.js | 54 +-
.../built-ins/Boolean/S15.6.1.1_A1_T4.js | 58 +-
.../built-ins/Boolean/S15.6.1.1_A1_T5.js | 59 +-
.../test262/built-ins/Boolean/S15.6.1.1_A2.js | 12 +-
.../test262/built-ins/Boolean/S15.6.2.1_A1.js | 43 +-
.../test262/built-ins/Boolean/S15.6.2.1_A2.js | 24 +-
.../test262/built-ins/Boolean/S15.6.2.1_A3.js | 19 +-
.../test262/built-ins/Boolean/S15.6.2.1_A4.js | 5 +-
.../test262/built-ins/Boolean/S15.6.3_A1.js | 5 +-
.../test262/built-ins/Boolean/S15.6.3_A2.js | 9 +-
.../test262/built-ins/Boolean/S15.6.3_A3.js | 12 +-
.../test262/built-ins/Boolean/S9.2_A1_T1.js | 23 +-
.../test262/built-ins/Boolean/S9.2_A2_T1.js | 6 +-
.../test262/built-ins/Boolean/S9.2_A3_T1.js | 12 +-
.../test262/built-ins/Boolean/S9.2_A4_T1.js | 18 +-
.../test262/built-ins/Boolean/S9.2_A4_T3.js | 48 +-
.../test262/built-ins/Boolean/S9.2_A5_T1.js | 6 +-
.../test262/built-ins/Boolean/S9.2_A5_T3.js | 12 +-
.../test262/built-ins/Boolean/S9.2_A6_T1.js | 118 +-
.../Boolean/prototype/S15.6.3.1_A1.js | 22 +-
.../Boolean/prototype/S15.6.3.1_A2.js | 4 +-
...S15.6.3.1_A3.js => S15.6.3.1_A3-strict.js} | 13 +-
.../Boolean/prototype/S15.6.3.1_A4.js | 12 +-
.../built-ins/Boolean/prototype/S15.6.4_A1.js | 28 -
.../built-ins/Boolean/prototype/S15.6.4_A2.js | 8 +-
.../prototype/constructor/S15.6.4.1_A1.js | 10 +-
.../prototype/toString/S15.6.4.2_A1_T1.js | 45 +-
.../prototype/toString/S15.6.4.2_A1_T2.js | 50 +-
.../prototype/toString/S15.6.4.2_A2_T1.js | 22 +-
.../prototype/toString/S15.6.4.2_A2_T2.js | 26 +-
.../prototype/toString/S15.6.4.2_A2_T3.js | 26 +-
.../prototype/toString/S15.6.4.2_A2_T4.js | 27 +-
.../prototype/toString/S15.6.4.2_A2_T5.js | 26 +-
.../prototype/valueOf/S15.6.4.3_A1_T1.js | 39 +-
.../prototype/valueOf/S15.6.4.3_A1_T2.js | 39 +-
.../prototype/valueOf/S15.6.4.3_A2_T1.js | 28 +-
.../prototype/valueOf/S15.6.4.3_A2_T2.js | 28 +-
.../prototype/valueOf/S15.6.4.3_A2_T3.js | 28 +-
.../prototype/valueOf/S15.6.4.3_A2_T4.js | 28 +-
.../prototype/valueOf/S15.6.4.3_A2_T5.js | 28 +-
...access-resizes-buffer-invalid-by-length.js | 43 +
...access-resizes-buffer-invalid-by-offset.js | 42 +
...o-access-resizes-buffer-valid-by-length.js | 35 +
...o-access-resizes-buffer-valid-by-offset.js | 38 +
.../DataView/prototype/Symbol.toStringTag.js | 6 +-
.../byteLength/resizable-array-buffer-auto.js | 7 +
.../byteOffset/resizable-array-buffer-auto.js | 8 +-
.../test262/built-ins/Date/S15.9.2.1_A1.js | 110 +-
.../test262/built-ins/Date/S15.9.2.1_A2.js | 112 +-
.../test262/built-ins/Date/S15.9.3.1_A1_T1.js | 240 +-
.../test262/built-ins/Date/S15.9.3.1_A1_T2.js | 240 +-
.../test262/built-ins/Date/S15.9.3.1_A1_T3.js | 273 +-
.../test262/built-ins/Date/S15.9.3.1_A1_T4.js | 289 +-
.../test262/built-ins/Date/S15.9.3.1_A1_T5.js | 289 +-
.../test262/built-ins/Date/S15.9.3.1_A1_T6.js | 289 +-
.../test262/built-ins/Date/S15.9.3.1_A2_T1.js | 264 +-
.../test262/built-ins/Date/S15.9.3.1_A2_T2.js | 264 +-
.../test262/built-ins/Date/S15.9.3.1_A2_T3.js | 264 +-
.../test262/built-ins/Date/S15.9.3.1_A2_T4.js | 264 +-
.../test262/built-ins/Date/S15.9.3.1_A2_T5.js | 264 +-
.../test262/built-ins/Date/S15.9.3.1_A2_T6.js | 264 +-
.../built-ins/Date/S15.9.3.1_A3_T1.1.js | 108 +-
.../built-ins/Date/S15.9.3.1_A3_T1.2.js | 48 +-
.../built-ins/Date/S15.9.3.1_A3_T2.1.js | 108 +-
.../built-ins/Date/S15.9.3.1_A3_T2.2.js | 48 +-
.../built-ins/Date/S15.9.3.1_A3_T3.1.js | 108 +-
.../built-ins/Date/S15.9.3.1_A3_T3.2.js | 48 +-
.../built-ins/Date/S15.9.3.1_A3_T4.1.js | 108 +-
.../built-ins/Date/S15.9.3.1_A3_T4.2.js | 48 +-
.../built-ins/Date/S15.9.3.1_A3_T5.1.js | 108 +-
.../built-ins/Date/S15.9.3.1_A3_T5.2.js | 48 +-
.../built-ins/Date/S15.9.3.1_A3_T6.1.js | 108 +-
.../built-ins/Date/S15.9.3.1_A3_T6.2.js | 48 +-
.../test262/built-ins/Date/S15.9.3.1_A4_T0.js | 31 +
.../test262/built-ins/Date/S15.9.3.1_A4_T1.js | 36 +-
.../test262/built-ins/Date/S15.9.3.1_A4_T2.js | 49 +-
.../test262/built-ins/Date/S15.9.3.1_A4_T3.js | 62 +-
.../test262/built-ins/Date/S15.9.3.1_A4_T4.js | 75 +-
.../test262/built-ins/Date/S15.9.3.1_A4_T5.js | 88 +-
.../test262/built-ins/Date/S15.9.3.1_A4_T6.js | 101 +-
.../test262/built-ins/Date/S15.9.3.1_A6_T1.js | 24 +-
.../test262/built-ins/Date/S15.9.3.1_A6_T2.js | 24 +-
.../test262/built-ins/Date/S15.9.3.1_A6_T3.js | 24 +-
.../test262/built-ins/Date/S15.9.3.1_A6_T4.js | 24 +-
.../test262/built-ins/Date/S15.9.3.1_A6_T5.js | 24 +-
.../test262/built-ins/Date/S15.9.3.2_A1_T1.js | 177 +-
.../test262/built-ins/Date/S15.9.3.2_A2_T1.js | 176 +-
.../built-ins/Date/S15.9.3.2_A3_T1.1.js | 72 +-
.../built-ins/Date/S15.9.3.2_A3_T1.2.js | 32 +-
.../test262/built-ins/Date/S15.9.4_A1.js | 5 +-
.../test262/built-ins/Date/S15.9.4_A2.js | 5 +-
.../test262/built-ins/Date/S15.9.4_A3.js | 5 +-
.../test262/built-ins/Date/S15.9.4_A4.js | 6 +-
.../test262/built-ins/Date/S15.9.4_A5.js | 12 +-
.../built-ins/Date/UTC/S15.9.4.3_A1_T1.js | 9 +-
.../built-ins/Date/UTC/S15.9.4.3_A1_T2.js | 10 +-
.../built-ins/Date/UTC/S15.9.4.3_A1_T3.js | 14 +-
.../built-ins/Date/UTC/S15.9.4.3_A2_T1.js | 10 +-
.../built-ins/Date/UTC/S15.9.4.3_A3_T1.js | 6 +-
.../built-ins/Date/UTC/S15.9.4.3_A3_T2.js | 13 +-
.../built-ins/Date/UTC/S15.9.4.3_A3_T3.js | 14 +-
.../built-ins/Date/parse/S15.9.4.2_A1_T1.js | 9 +-
.../built-ins/Date/parse/S15.9.4.2_A1_T2.js | 10 +-
.../built-ins/Date/parse/S15.9.4.2_A1_T3.js | 14 +-
.../built-ins/Date/parse/S15.9.4.2_A2_T1.js | 10 +-
.../built-ins/Date/parse/S15.9.4.2_A3_T1.js | 6 +-
.../built-ins/Date/parse/S15.9.4.2_A3_T2.js | 12 +-
.../built-ins/Date/parse/S15.9.4.2_A3_T3.js | 14 +-
.../Date/prototype/S15.9.4.1_A1_T1.js | 6 +-
.../Date/prototype/S15.9.4.1_A1_T2.js | 10 +-
.../Date/prototype/S15.9.4.1_A1_T3.js | 14 +-
.../Date/prototype/S15.9.5_A01_T1.js | 9 +-
.../Date/prototype/S15.9.5_A02_T1.js | 9 +-
.../Date/prototype/S15.9.5_A03_T1.js | 9 +-
.../Date/prototype/S15.9.5_A04_T1.js | 9 +-
.../Date/prototype/S15.9.5_A05_T1.js | 9 +-
.../Date/prototype/S15.9.5_A06_T1.js | 9 +-
.../Date/prototype/S15.9.5_A07_T1.js | 9 +-
.../Date/prototype/S15.9.5_A08_T1.js | 9 +-
.../Date/prototype/S15.9.5_A09_T1.js | 9 +-
.../Date/prototype/S15.9.5_A10_T1.js | 9 +-
.../Date/prototype/S15.9.5_A11_T1.js | 9 +-
.../Date/prototype/S15.9.5_A12_T1.js | 9 +-
.../Date/prototype/S15.9.5_A13_T1.js | 9 +-
.../Date/prototype/S15.9.5_A14_T1.js | 9 +-
.../Date/prototype/S15.9.5_A15_T1.js | 9 +-
.../Date/prototype/S15.9.5_A16_T1.js | 9 +-
.../Date/prototype/S15.9.5_A17_T1.js | 9 +-
.../Date/prototype/S15.9.5_A18_T1.js | 9 +-
.../Date/prototype/S15.9.5_A19_T1.js | 9 +-
.../Date/prototype/S15.9.5_A20_T1.js | 9 +-
.../Date/prototype/S15.9.5_A21_T1.js | 9 +-
.../Date/prototype/S15.9.5_A22_T1.js | 9 +-
.../Date/prototype/S15.9.5_A23_T1.js | 9 +-
.../Date/prototype/S15.9.5_A24_T1.js | 9 +-
.../Date/prototype/S15.9.5_A25_T1.js | 9 +-
.../Date/prototype/S15.9.5_A26_T1.js | 9 +-
.../Date/prototype/S15.9.5_A27_T1.js | 9 +-
.../Date/prototype/S15.9.5_A28_T1.js | 9 +-
.../Date/prototype/S15.9.5_A29_T1.js | 9 +-
.../Date/prototype/S15.9.5_A30_T1.js | 9 +-
.../Date/prototype/S15.9.5_A31_T1.js | 9 +-
.../Date/prototype/S15.9.5_A32_T1.js | 9 +-
.../Date/prototype/S15.9.5_A33_T1.js | 9 +-
.../Date/prototype/S15.9.5_A34_T1.js | 9 +-
.../Date/prototype/S15.9.5_A35_T1.js | 9 +-
.../Date/prototype/S15.9.5_A36_T1.js | 9 +-
.../Date/prototype/S15.9.5_A37_T1.js | 9 +-
.../Date/prototype/S15.9.5_A38_T1.js | 9 +-
.../Date/prototype/S15.9.5_A39_T1.js | 9 +-
.../Date/prototype/S15.9.5_A40_T1.js | 9 +-
.../Date/prototype/S15.9.5_A41_T1.js | 9 +-
.../Date/prototype/S15.9.5_A42_T1.js | 9 +-
.../prototype/constructor/S15.9.5.1_A1_T1.js | 14 +-
.../prototype/constructor/S15.9.5.1_A1_T2.js | 16 +-
.../prototype/constructor/S15.9.5.1_A1_T3.js | 14 +-
.../prototype/constructor/S15.9.5.1_A2_T1.js | 17 +-
.../prototype/constructor/S15.9.5.1_A3_T1.js | 11 +-
.../prototype/constructor/S15.9.5.1_A3_T2.js | 16 +-
.../prototype/constructor/S15.9.5.1_A3_T3.js | 14 +-
.../prototype/getDate/S15.9.5.14_A1_T1.js | 14 +-
.../prototype/getDate/S15.9.5.14_A1_T2.js | 12 +-
.../prototype/getDate/S15.9.5.14_A1_T3.js | 14 +-
.../prototype/getDate/S15.9.5.14_A2_T1.js | 13 +-
.../prototype/getDate/S15.9.5.14_A3_T1.js | 11 +-
.../prototype/getDate/S15.9.5.14_A3_T2.js | 16 +-
.../prototype/getDate/S15.9.5.14_A3_T3.js | 14 +-
.../Date/prototype/getDay/S15.9.5.16_A1_T1.js | 14 +-
.../Date/prototype/getDay/S15.9.5.16_A1_T2.js | 12 +-
.../Date/prototype/getDay/S15.9.5.16_A1_T3.js | 14 +-
.../Date/prototype/getDay/S15.9.5.16_A2_T1.js | 13 +-
.../Date/prototype/getDay/S15.9.5.16_A3_T1.js | 11 +-
.../Date/prototype/getDay/S15.9.5.16_A3_T2.js | 16 +-
.../Date/prototype/getDay/S15.9.5.16_A3_T3.js | 14 +-
.../prototype/getFullYear/S15.9.5.10_A1_T1.js | 14 +-
.../prototype/getFullYear/S15.9.5.10_A1_T2.js | 16 +-
.../prototype/getFullYear/S15.9.5.10_A1_T3.js | 14 +-
.../prototype/getFullYear/S15.9.5.10_A2_T1.js | 17 +-
.../prototype/getFullYear/S15.9.5.10_A3_T1.js | 11 +-
.../prototype/getFullYear/S15.9.5.10_A3_T2.js | 16 +-
.../prototype/getFullYear/S15.9.5.10_A3_T3.js | 14 +-
.../prototype/getHours/S15.9.5.18_A1_T1.js | 14 +-
.../prototype/getHours/S15.9.5.18_A1_T2.js | 12 +-
.../prototype/getHours/S15.9.5.18_A1_T3.js | 14 +-
.../prototype/getHours/S15.9.5.18_A2_T1.js | 13 +-
.../prototype/getHours/S15.9.5.18_A3_T1.js | 11 +-
.../prototype/getHours/S15.9.5.18_A3_T2.js | 16 +-
.../prototype/getHours/S15.9.5.18_A3_T3.js | 14 +-
.../getMilliseconds/S15.9.5.24_A1_T1.js | 14 +-
.../getMilliseconds/S15.9.5.24_A1_T2.js | 16 +-
.../getMilliseconds/S15.9.5.24_A1_T3.js | 14 +-
.../getMilliseconds/S15.9.5.24_A2_T1.js | 17 +-
.../getMilliseconds/S15.9.5.24_A3_T1.js | 11 +-
.../getMilliseconds/S15.9.5.24_A3_T2.js | 16 +-
.../getMilliseconds/S15.9.5.24_A3_T3.js | 14 +-
.../prototype/getMinutes/S15.9.5.20_A1_T1.js | 14 +-
.../prototype/getMinutes/S15.9.5.20_A1_T2.js | 16 +-
.../prototype/getMinutes/S15.9.5.20_A1_T3.js | 14 +-
.../prototype/getMinutes/S15.9.5.20_A2_T1.js | 17 +-
.../prototype/getMinutes/S15.9.5.20_A3_T1.js | 11 +-
.../prototype/getMinutes/S15.9.5.20_A3_T2.js | 16 +-
.../prototype/getMinutes/S15.9.5.20_A3_T3.js | 14 +-
.../prototype/getMonth/S15.9.5.12_A1_T1.js | 14 +-
.../prototype/getMonth/S15.9.5.12_A1_T2.js | 12 +-
.../prototype/getMonth/S15.9.5.12_A1_T3.js | 14 +-
.../prototype/getMonth/S15.9.5.12_A2_T1.js | 13 +-
.../prototype/getMonth/S15.9.5.12_A3_T1.js | 11 +-
.../prototype/getMonth/S15.9.5.12_A3_T2.js | 16 +-
.../prototype/getMonth/S15.9.5.12_A3_T3.js | 14 +-
.../prototype/getSeconds/S15.9.5.22_A1_T1.js | 14 +-
.../prototype/getSeconds/S15.9.5.22_A1_T2.js | 16 +-
.../prototype/getSeconds/S15.9.5.22_A1_T3.js | 14 +-
.../prototype/getSeconds/S15.9.5.22_A2_T1.js | 17 +-
.../prototype/getSeconds/S15.9.5.22_A3_T1.js | 11 +-
.../prototype/getSeconds/S15.9.5.22_A3_T2.js | 16 +-
.../prototype/getSeconds/S15.9.5.22_A3_T3.js | 14 +-
.../Date/prototype/getTime/S15.9.5.9_A1_T1.js | 14 +-
.../Date/prototype/getTime/S15.9.5.9_A1_T2.js | 12 +-
.../Date/prototype/getTime/S15.9.5.9_A1_T3.js | 14 +-
.../Date/prototype/getTime/S15.9.5.9_A2_T1.js | 13 +-
.../Date/prototype/getTime/S15.9.5.9_A3_T1.js | 11 +-
.../Date/prototype/getTime/S15.9.5.9_A3_T2.js | 16 +-
.../Date/prototype/getTime/S15.9.5.9_A3_T3.js | 14 +-
.../getTimezoneOffset/S15.9.5.26_A1_T1.js | 14 +-
.../getTimezoneOffset/S15.9.5.26_A1_T2.js | 16 +-
.../getTimezoneOffset/S15.9.5.26_A1_T3.js | 14 +-
.../getTimezoneOffset/S15.9.5.26_A2_T1.js | 17 +-
.../getTimezoneOffset/S15.9.5.26_A3_T1.js | 11 +-
.../getTimezoneOffset/S15.9.5.26_A3_T2.js | 16 +-
.../getTimezoneOffset/S15.9.5.26_A3_T3.js | 14 +-
.../prototype/getUTCDate/S15.9.5.15_A1_T1.js | 14 +-
.../prototype/getUTCDate/S15.9.5.15_A1_T2.js | 16 +-
.../prototype/getUTCDate/S15.9.5.15_A1_T3.js | 14 +-
.../prototype/getUTCDate/S15.9.5.15_A2_T1.js | 17 +-
.../prototype/getUTCDate/S15.9.5.15_A3_T1.js | 11 +-
.../prototype/getUTCDate/S15.9.5.15_A3_T2.js | 16 +-
.../prototype/getUTCDate/S15.9.5.15_A3_T3.js | 14 +-
.../prototype/getUTCDay/S15.9.5.17_A1_T1.js | 14 +-
.../prototype/getUTCDay/S15.9.5.17_A1_T2.js | 12 +-
.../prototype/getUTCDay/S15.9.5.17_A1_T3.js | 14 +-
.../prototype/getUTCDay/S15.9.5.17_A2_T1.js | 17 +-
.../prototype/getUTCDay/S15.9.5.17_A3_T1.js | 11 +-
.../prototype/getUTCDay/S15.9.5.17_A3_T2.js | 16 +-
.../prototype/getUTCDay/S15.9.5.17_A3_T3.js | 14 +-
.../getUTCFullYear/S15.9.5.11_A1_T1.js | 14 +-
.../getUTCFullYear/S15.9.5.11_A1_T2.js | 16 +-
.../getUTCFullYear/S15.9.5.11_A1_T3.js | 14 +-
.../getUTCFullYear/S15.9.5.11_A2_T1.js | 17 +-
.../getUTCFullYear/S15.9.5.11_A3_T1.js | 11 +-
.../getUTCFullYear/S15.9.5.11_A3_T2.js | 16 +-
.../getUTCFullYear/S15.9.5.11_A3_T3.js | 14 +-
.../prototype/getUTCHours/S15.9.5.19_A1_T1.js | 14 +-
.../prototype/getUTCHours/S15.9.5.19_A1_T2.js | 16 +-
.../prototype/getUTCHours/S15.9.5.19_A1_T3.js | 14 +-
.../prototype/getUTCHours/S15.9.5.19_A2_T1.js | 17 +-
.../prototype/getUTCHours/S15.9.5.19_A3_T1.js | 11 +-
.../prototype/getUTCHours/S15.9.5.19_A3_T2.js | 16 +-
.../prototype/getUTCHours/S15.9.5.19_A3_T3.js | 14 +-
.../getUTCMilliseconds/S15.9.5.25_A1_T1.js | 14 +-
.../getUTCMilliseconds/S15.9.5.25_A1_T2.js | 16 +-
.../getUTCMilliseconds/S15.9.5.25_A1_T3.js | 14 +-
.../getUTCMilliseconds/S15.9.5.25_A2_T1.js | 17 +-
.../getUTCMilliseconds/S15.9.5.25_A3_T1.js | 11 +-
.../getUTCMilliseconds/S15.9.5.25_A3_T2.js | 16 +-
.../getUTCMilliseconds/S15.9.5.25_A3_T3.js | 14 +-
.../getUTCMinutes/S15.9.5.21_A1_T1.js | 14 +-
.../getUTCMinutes/S15.9.5.21_A1_T2.js | 16 +-
.../getUTCMinutes/S15.9.5.21_A1_T3.js | 14 +-
.../getUTCMinutes/S15.9.5.21_A2_T1.js | 17 +-
.../getUTCMinutes/S15.9.5.21_A3_T1.js | 11 +-
.../getUTCMinutes/S15.9.5.21_A3_T2.js | 16 +-
.../getUTCMinutes/S15.9.5.21_A3_T3.js | 14 +-
.../prototype/getUTCMonth/S15.9.5.13_A1_T1.js | 14 +-
.../prototype/getUTCMonth/S15.9.5.13_A1_T2.js | 16 +-
.../prototype/getUTCMonth/S15.9.5.13_A1_T3.js | 14 +-
.../prototype/getUTCMonth/S15.9.5.13_A2_T1.js | 17 +-
.../prototype/getUTCMonth/S15.9.5.13_A3_T1.js | 11 +-
.../prototype/getUTCMonth/S15.9.5.13_A3_T2.js | 16 +-
.../prototype/getUTCMonth/S15.9.5.13_A3_T3.js | 14 +-
.../getUTCSeconds/S15.9.5.23_A1_T1.js | 14 +-
.../getUTCSeconds/S15.9.5.23_A1_T2.js | 16 +-
.../getUTCSeconds/S15.9.5.23_A1_T3.js | 14 +-
.../getUTCSeconds/S15.9.5.23_A2_T1.js | 17 +-
.../getUTCSeconds/S15.9.5.23_A3_T1.js | 11 +-
.../getUTCSeconds/S15.9.5.23_A3_T2.js | 16 +-
.../getUTCSeconds/S15.9.5.23_A3_T3.js | 14 +-
.../prototype/setDate/S15.9.5.36_A1_T1.js | 14 +-
.../prototype/setDate/S15.9.5.36_A1_T2.js | 12 +-
.../prototype/setDate/S15.9.5.36_A1_T3.js | 14 +-
.../prototype/setDate/S15.9.5.36_A2_T1.js | 13 +-
.../prototype/setDate/S15.9.5.36_A3_T1.js | 11 +-
.../prototype/setDate/S15.9.5.36_A3_T2.js | 16 +-
.../prototype/setDate/S15.9.5.36_A3_T3.js | 14 +-
.../prototype/setDate/arg-coercion-order.js | 32 +
.../prototype/setFullYear/S15.9.5.40_A1_T1.js | 14 +-
.../prototype/setFullYear/S15.9.5.40_A1_T2.js | 16 +-
.../prototype/setFullYear/S15.9.5.40_A1_T3.js | 14 +-
.../prototype/setFullYear/S15.9.5.40_A2_T1.js | 17 +-
.../prototype/setFullYear/S15.9.5.40_A3_T1.js | 11 +-
.../prototype/setFullYear/S15.9.5.40_A3_T2.js | 16 +-
.../prototype/setFullYear/S15.9.5.40_A3_T3.js | 14 +-
.../prototype/setHours/S15.9.5.34_A1_T1.js | 14 +-
.../prototype/setHours/S15.9.5.34_A1_T2.js | 12 +-
.../prototype/setHours/S15.9.5.34_A1_T3.js | 14 +-
.../prototype/setHours/S15.9.5.34_A2_T1.js | 13 +-
.../prototype/setHours/S15.9.5.34_A3_T1.js | 11 +-
.../prototype/setHours/S15.9.5.34_A3_T2.js | 16 +-
.../prototype/setHours/S15.9.5.34_A3_T3.js | 14 +-
.../prototype/setHours/arg-coercion-order.js | 59 +
.../setMilliseconds/S15.9.5.28_A1_T1.js | 14 +-
.../setMilliseconds/S15.9.5.28_A1_T2.js | 16 +-
.../setMilliseconds/S15.9.5.28_A1_T3.js | 14 +-
.../setMilliseconds/S15.9.5.28_A2_T1.js | 17 +-
.../setMilliseconds/S15.9.5.28_A3_T1.js | 11 +-
.../setMilliseconds/S15.9.5.28_A3_T2.js | 16 +-
.../setMilliseconds/S15.9.5.28_A3_T3.js | 14 +-
.../setMilliseconds/arg-coercion-order.js | 32 +
.../prototype/setMinutes/S15.9.5.32_A1_T1.js | 14 +-
.../prototype/setMinutes/S15.9.5.32_A1_T2.js | 16 +-
.../prototype/setMinutes/S15.9.5.32_A1_T3.js | 14 +-
.../prototype/setMinutes/S15.9.5.32_A2_T1.js | 17 +-
.../prototype/setMinutes/S15.9.5.32_A3_T1.js | 11 +-
.../prototype/setMinutes/S15.9.5.32_A3_T2.js | 16 +-
.../prototype/setMinutes/S15.9.5.32_A3_T3.js | 14 +-
.../setMinutes/arg-coercion-order.js | 51 +
.../prototype/setMonth/S15.9.5.38_A1_T1.js | 14 +-
.../prototype/setMonth/S15.9.5.38_A1_T2.js | 12 +-
.../prototype/setMonth/S15.9.5.38_A1_T3.js | 14 +-
.../prototype/setMonth/S15.9.5.38_A2_T1.js | 13 +-
.../prototype/setMonth/S15.9.5.38_A3_T1.js | 11 +-
.../prototype/setMonth/S15.9.5.38_A3_T2.js | 16 +-
.../prototype/setMonth/S15.9.5.38_A3_T3.js | 14 +-
.../prototype/setMonth/arg-coercion-order.js | 43 +
.../prototype/setSeconds/S15.9.5.30_A1_T1.js | 14 +-
.../prototype/setSeconds/S15.9.5.30_A1_T2.js | 16 +-
.../prototype/setSeconds/S15.9.5.30_A1_T3.js | 14 +-
.../prototype/setSeconds/S15.9.5.30_A2_T1.js | 17 +-
.../prototype/setSeconds/S15.9.5.30_A3_T1.js | 11 +-
.../prototype/setSeconds/S15.9.5.30_A3_T2.js | 16 +-
.../prototype/setSeconds/S15.9.5.30_A3_T3.js | 14 +-
.../setSeconds/arg-coercion-order.js | 43 +
.../prototype/setTime/S15.9.5.27_A1_T1.js | 14 +-
.../prototype/setTime/S15.9.5.27_A1_T2.js | 12 +-
.../prototype/setTime/S15.9.5.27_A1_T3.js | 14 +-
.../prototype/setTime/S15.9.5.27_A2_T1.js | 13 +-
.../prototype/setTime/S15.9.5.27_A3_T1.js | 11 +-
.../prototype/setTime/S15.9.5.27_A3_T2.js | 16 +-
.../prototype/setTime/S15.9.5.27_A3_T3.js | 14 +-
.../prototype/setUTCDate/S15.9.5.37_A1_T1.js | 14 +-
.../prototype/setUTCDate/S15.9.5.37_A1_T2.js | 16 +-
.../prototype/setUTCDate/S15.9.5.37_A1_T3.js | 14 +-
.../prototype/setUTCDate/S15.9.5.37_A2_T1.js | 17 +-
.../prototype/setUTCDate/S15.9.5.37_A3_T1.js | 11 +-
.../prototype/setUTCDate/S15.9.5.37_A3_T2.js | 16 +-
.../prototype/setUTCDate/S15.9.5.37_A3_T3.js | 14 +-
.../setUTCDate/arg-coercion-order.js | 31 +
.../setUTCFullYear/S15.9.5.41_A1_T1.js | 14 +-
.../setUTCFullYear/S15.9.5.41_A1_T2.js | 16 +-
.../setUTCFullYear/S15.9.5.41_A1_T3.js | 14 +-
.../setUTCFullYear/S15.9.5.41_A2_T1.js | 17 +-
.../setUTCFullYear/S15.9.5.41_A3_T1.js | 11 +-
.../setUTCFullYear/S15.9.5.41_A3_T2.js | 16 +-
.../setUTCFullYear/S15.9.5.41_A3_T3.js | 14 +-
.../prototype/setUTCHours/S15.9.5.35_A1_T1.js | 14 +-
.../prototype/setUTCHours/S15.9.5.35_A1_T2.js | 16 +-
.../prototype/setUTCHours/S15.9.5.35_A1_T3.js | 14 +-
.../prototype/setUTCHours/S15.9.5.35_A2_T1.js | 17 +-
.../prototype/setUTCHours/S15.9.5.35_A3_T1.js | 11 +-
.../prototype/setUTCHours/S15.9.5.35_A3_T2.js | 16 +-
.../prototype/setUTCHours/S15.9.5.35_A3_T3.js | 14 +-
.../setUTCHours/arg-coercion-order.js | 58 +
.../setUTCMilliseconds/S15.9.5.29_A1_T1.js | 14 +-
.../setUTCMilliseconds/S15.9.5.29_A1_T2.js | 16 +-
.../setUTCMilliseconds/S15.9.5.29_A1_T3.js | 14 +-
.../setUTCMilliseconds/S15.9.5.29_A2_T1.js | 17 +-
.../setUTCMilliseconds/S15.9.5.29_A3_T1.js | 11 +-
.../setUTCMilliseconds/S15.9.5.29_A3_T2.js | 16 +-
.../setUTCMilliseconds/S15.9.5.29_A3_T3.js | 14 +-
.../setUTCMilliseconds/arg-coercion-order.js | 32 +
.../setUTCMinutes/S15.9.5.33_A1_T1.js | 14 +-
.../setUTCMinutes/S15.9.5.33_A1_T2.js | 16 +-
.../setUTCMinutes/S15.9.5.33_A1_T3.js | 14 +-
.../setUTCMinutes/S15.9.5.33_A2_T1.js | 17 +-
.../setUTCMinutes/S15.9.5.33_A3_T1.js | 11 +-
.../setUTCMinutes/S15.9.5.33_A3_T2.js | 16 +-
.../setUTCMinutes/S15.9.5.33_A3_T3.js | 14 +-
.../setUTCMinutes/arg-coercion-order.js | 50 +
.../prototype/setUTCMonth/S15.9.5.39_A1_T1.js | 14 +-
.../prototype/setUTCMonth/S15.9.5.39_A1_T2.js | 16 +-
.../prototype/setUTCMonth/S15.9.5.39_A1_T3.js | 14 +-
.../prototype/setUTCMonth/S15.9.5.39_A2_T1.js | 17 +-
.../prototype/setUTCMonth/S15.9.5.39_A3_T1.js | 11 +-
.../prototype/setUTCMonth/S15.9.5.39_A3_T2.js | 16 +-
.../prototype/setUTCMonth/S15.9.5.39_A3_T3.js | 14 +-
.../setUTCMonth/arg-coercion-order.js | 42 +
.../setUTCSeconds/S15.9.5.31_A1_T1.js | 14 +-
.../setUTCSeconds/S15.9.5.31_A1_T2.js | 16 +-
.../setUTCSeconds/S15.9.5.31_A1_T3.js | 14 +-
.../setUTCSeconds/S15.9.5.31_A2_T1.js | 17 +-
.../setUTCSeconds/S15.9.5.31_A3_T1.js | 11 +-
.../setUTCSeconds/S15.9.5.31_A3_T2.js | 16 +-
.../setUTCSeconds/S15.9.5.31_A3_T3.js | 14 +-
.../setUTCSeconds/arg-coercion-order.js | 42 +
.../prototype/toDateString/S15.9.5.3_A1_T1.js | 14 +-
.../prototype/toDateString/S15.9.5.3_A1_T2.js | 16 +-
.../prototype/toDateString/S15.9.5.3_A1_T3.js | 14 +-
.../prototype/toDateString/S15.9.5.3_A2_T1.js | 17 +-
.../prototype/toDateString/S15.9.5.3_A3_T1.js | 11 +-
.../prototype/toDateString/S15.9.5.3_A3_T2.js | 16 +-
.../prototype/toDateString/S15.9.5.3_A3_T3.js | 14 +-
.../toLocaleDateString/S15.9.5.6_A1_T1.js | 14 +-
.../toLocaleDateString/S15.9.5.6_A1_T2.js | 16 +-
.../toLocaleDateString/S15.9.5.6_A1_T3.js | 14 +-
.../toLocaleDateString/S15.9.5.6_A2_T1.js | 17 +-
.../toLocaleDateString/S15.9.5.6_A3_T1.js | 11 +-
.../toLocaleDateString/S15.9.5.6_A3_T2.js | 16 +-
.../toLocaleDateString/S15.9.5.6_A3_T3.js | 14 +-
.../toLocaleString/S15.9.5.5_A1_T1.js | 14 +-
.../toLocaleString/S15.9.5.5_A1_T2.js | 17 +-
.../toLocaleString/S15.9.5.5_A1_T3.js | 14 +-
.../toLocaleString/S15.9.5.5_A2_T1.js | 16 +-
.../toLocaleString/S15.9.5.5_A3_T1.js | 11 +-
.../toLocaleString/S15.9.5.5_A3_T2.js | 17 +-
.../toLocaleString/S15.9.5.5_A3_T3.js | 14 +-
.../toLocaleTimeString/S15.9.5.7_A1_T1.js | 14 +-
.../toLocaleTimeString/S15.9.5.7_A1_T2.js | 17 +-
.../toLocaleTimeString/S15.9.5.7_A1_T3.js | 14 +-
.../toLocaleTimeString/S15.9.5.7_A2_T1.js | 16 +-
.../toLocaleTimeString/S15.9.5.7_A3_T1.js | 11 +-
.../toLocaleTimeString/S15.9.5.7_A3_T2.js | 17 +-
.../toLocaleTimeString/S15.9.5.7_A3_T3.js | 14 +-
.../prototype/toString/S15.9.5.2_A1_T1.js | 14 +-
.../prototype/toString/S15.9.5.2_A1_T2.js | 12 +-
.../prototype/toString/S15.9.5.2_A1_T3.js | 14 +-
.../prototype/toString/S15.9.5.2_A2_T1.js | 12 +-
.../prototype/toString/S15.9.5.2_A3_T1.js | 11 +-
.../prototype/toString/S15.9.5.2_A3_T2.js | 17 +-
.../prototype/toString/S15.9.5.2_A3_T3.js | 14 +-
.../prototype/toTimeString/S15.9.5.4_A1_T1.js | 14 +-
.../prototype/toTimeString/S15.9.5.4_A1_T2.js | 17 +-
.../prototype/toTimeString/S15.9.5.4_A1_T3.js | 14 +-
.../prototype/toTimeString/S15.9.5.4_A2_T1.js | 18 +-
.../prototype/toTimeString/S15.9.5.4_A3_T1.js | 11 +-
.../prototype/toTimeString/S15.9.5.4_A3_T2.js | 16 +-
.../prototype/toTimeString/S15.9.5.4_A3_T3.js | 14 +-
.../prototype/toUTCString/S15.9.5.42_A1_T1.js | 14 +-
.../prototype/toUTCString/S15.9.5.42_A1_T2.js | 17 +-
.../prototype/toUTCString/S15.9.5.42_A1_T3.js | 14 +-
.../prototype/toUTCString/S15.9.5.42_A2_T1.js | 16 +-
.../prototype/toUTCString/S15.9.5.42_A3_T1.js | 11 +-
.../prototype/toUTCString/S15.9.5.42_A3_T2.js | 17 +-
.../prototype/toUTCString/S15.9.5.42_A3_T3.js | 14 +-
.../Date/prototype/valueOf/S15.9.5.8_A1_T1.js | 14 +-
.../Date/prototype/valueOf/S15.9.5.8_A1_T2.js | 13 +-
.../Date/prototype/valueOf/S15.9.5.8_A1_T3.js | 14 +-
.../Date/prototype/valueOf/S15.9.5.8_A2_T1.js | 12 +-
.../Date/prototype/valueOf/S15.9.5.8_A3_T1.js | 11 +-
.../Date/prototype/valueOf/S15.9.5.8_A3_T2.js | 17 +-
.../Date/prototype/valueOf/S15.9.5.8_A3_T3.js | 14 +-
.../Date/prototype/valueOf/S9.4_A3_T1.js | 48 +-
.../Date/prototype/valueOf/S9.4_A3_T2.js | 14 +-
.../Error/prototype/S15.11.3.1_A1_T1.js | 10 +-
.../Error/prototype/S15.11.3.1_A2_T1.js | 30 +-
.../Error/prototype/S15.11.3.1_A3_T1.js | 29 +-
.../Error/prototype/S15.11.3.1_A4_T1.js | 9 +-
.../built-ins/Error/prototype/S15.11.4_A1.js | 12 +-
.../built-ins/Error/prototype/S15.11.4_A2.js | 8 +-
.../built-ins/Error/prototype/S15.11.4_A3.js | 12 +-
.../built-ins/Error/prototype/S15.11.4_A4.js | 14 +-
.../prototype/constructor/S15.11.4.1_A1_T2.js | 40 +-
.../Error/prototype/toString/S15.11.4.4_A2.js | 17 +-
...-has-one-chance-to-call-cleanupCallback.js | 2 +-
.../callback-not-callable-throws.js | 2 +-
.../cleanup-prevented-with-reference.js | 2 +-
.../cleanup-prevented-with-unregister.js | 2 +-
.../prototype/cleanupSome/custom-this.js | 2 +-
.../cleanupSome/holdings-multiple-values.js | 2 +-
.../prototype/cleanupSome/length.js | 2 +-
.../prototype/cleanupSome/name.js | 2 +-
.../prototype/cleanupSome/prop-desc.js | 2 +-
.../prototype/cleanupSome/reentrancy.js | 2 +-
.../cleanupSome/return-undefined-with-gc.js | 2 +-
.../prototype/cleanupSome/return-undefined.js | 2 +-
...his-does-not-have-internal-cells-throws.js | 2 +-
.../cleanupSome/this-not-object-throws.js | 2 +-
.../unregister/unregister-cleaned-up-cell.js | 2 +-
.../built-ins/FinalizationRegistry/shell.js | 2 +-
.../built-ins/Function/S10.1.1_A1_T3.js | 9 +-
.../built-ins/Function/S15.3.1_A1_T1.js | 28 +-
.../built-ins/Function/S15.3.2.1_A1_T1.js | 5 +-
.../built-ins/Function/S15.3.2.1_A1_T10.js | 12 +-
.../built-ins/Function/S15.3.2.1_A1_T11.js | 12 +-
.../built-ins/Function/S15.3.2.1_A1_T12.js | 12 +-
.../built-ins/Function/S15.3.2.1_A1_T13.js | 8 +-
.../built-ins/Function/S15.3.2.1_A1_T2.js | 12 +-
.../built-ins/Function/S15.3.2.1_A1_T3.js | 12 +-
.../built-ins/Function/S15.3.2.1_A1_T4.js | 12 +-
.../built-ins/Function/S15.3.2.1_A1_T5.js | 12 +-
.../built-ins/Function/S15.3.2.1_A1_T6.js | 12 +-
.../built-ins/Function/S15.3.2.1_A1_T7.js | 12 +-
.../built-ins/Function/S15.3.2.1_A1_T8.js | 8 +-
.../built-ins/Function/S15.3.2.1_A1_T9.js | 11 +-
.../built-ins/Function/S15.3.2.1_A2_T1.js | 12 +-
.../built-ins/Function/S15.3.2.1_A2_T2.js | 12 +-
.../built-ins/Function/S15.3.2.1_A2_T3.js | 12 +-
.../built-ins/Function/S15.3.2.1_A2_T4.js | 12 +-
.../built-ins/Function/S15.3.2.1_A2_T5.js | 12 +-
.../built-ins/Function/S15.3.2.1_A2_T6.js | 12 +-
.../built-ins/Function/S15.3.2.1_A3_T1.js | 5 +-
.../built-ins/Function/S15.3.2.1_A3_T10.js | 8 +-
.../built-ins/Function/S15.3.2.1_A3_T11.js | 12 +-
.../built-ins/Function/S15.3.2.1_A3_T12.js | 12 +-
.../built-ins/Function/S15.3.2.1_A3_T13.js | 12 +-
.../built-ins/Function/S15.3.2.1_A3_T14.js | 12 +-
.../built-ins/Function/S15.3.2.1_A3_T15.js | 12 +-
.../built-ins/Function/S15.3.2.1_A3_T2.js | 12 +-
.../built-ins/Function/S15.3.2.1_A3_T3.js | 10 +-
.../built-ins/Function/S15.3.2.1_A3_T4.js | 12 +-
.../built-ins/Function/S15.3.2.1_A3_T5.js | 12 +-
.../built-ins/Function/S15.3.2.1_A3_T6.js | 8 +-
.../built-ins/Function/S15.3.2.1_A3_T7.js | 12 +-
.../built-ins/Function/S15.3.2.1_A3_T8.js | 12 +-
.../built-ins/Function/S15.3.2.1_A3_T9.js | 8 +-
.../test262/built-ins/Function/S15.3.2_A1.js | 11 +-
.../test262/built-ins/Function/S15.3.3_A1.js | 5 +-
.../built-ins/Function/S15.3.3_A2_T1.js | 9 +-
.../built-ins/Function/S15.3.3_A2_T2.js | 5 +-
.../test262/built-ins/Function/S15.3.3_A3.js | 12 +-
.../built-ins/Function/S15.3.5_A1_T1.js | 8 +-
.../built-ins/Function/S15.3.5_A1_T2.js | 8 +-
.../built-ins/Function/S15.3.5_A2_T1.js | 21 +-
.../built-ins/Function/S15.3.5_A2_T2.js | 21 +-
.../built-ins/Function/S15.3.5_A3_T1.js | 17 +-
.../built-ins/Function/S15.3.5_A3_T2.js | 17 +-
.../test262/built-ins/Function/S15.3_A1.js | 4 +-
.../test262/built-ins/Function/S15.3_A2_T1.js | 8 +-
.../test262/built-ins/Function/S15.3_A2_T2.js | 8 +-
.../test262/built-ins/Function/S15.3_A3_T1.js | 7 +-
.../test262/built-ins/Function/S15.3_A3_T2.js | 10 +-
.../test262/built-ins/Function/S15.3_A3_T3.js | 22 +-
.../test262/built-ins/Function/S15.3_A3_T4.js | 10 +-
.../test262/built-ins/Function/S15.3_A3_T5.js | 21 +-
.../test262/built-ins/Function/S15.3_A3_T6.js | 10 +-
.../StrictFunction_reservedwords_with.js | 4 +-
...ctFunction_restricted-properties-strict.js | 20 +-
.../internals/Call/class-ctor-realm.js | 2 +-
.../Function/length/S15.3.5.1_A1_T1.js | 11 +-
.../Function/length/S15.3.5.1_A1_T2.js | 11 +-
.../Function/length/S15.3.5.1_A1_T3.js | 11 +-
.../Function/length/S15.3.5.1_A2_T1.js | 23 +-
.../Function/length/S15.3.5.1_A2_T2.js | 16 +-
.../Function/length/S15.3.5.1_A2_T3.js | 16 +-
.../Function/length/S15.3.5.1_A3_T1.js | 18 +-
.../Function/length/S15.3.5.1_A3_T2.js | 18 +-
.../Function/length/S15.3.5.1_A3_T3.js | 18 +-
.../Function/length/S15.3.5.1_A4_T1.js | 12 +-
.../Function/length/S15.3.5.1_A4_T2.js | 12 +-
.../Function/length/S15.3.5.1_A4_T3.js | 12 +-
.../Function/prototype/S15.3.3.1_A1.js | 12 +-
.../Function/prototype/S15.3.3.1_A2.js | 19 +-
.../Function/prototype/S15.3.3.1_A3.js | 12 +-
.../Function/prototype/S15.3.3.1_A4.js | 10 +-
.../Function/prototype/S15.3.4_A1.js | 10 +-
.../Function/prototype/S15.3.4_A2_T1.js | 5 +-
.../Function/prototype/S15.3.4_A2_T2.js | 5 +-
.../Function/prototype/S15.3.4_A2_T3.js | 11 +-
.../Function/prototype/S15.3.4_A3_T1.js | 11 +-
.../Function/prototype/S15.3.4_A3_T2.js | 5 +-
.../Function/prototype/S15.3.4_A4.js | 28 +-
.../Function/prototype/S15.3.4_A5.js | 2 +-
.../Function/prototype/S15.3.5.2_A1_T1.js | 17 +-
.../Function/prototype/S15.3.5.2_A1_T2.js | 17 +-
.../Function/prototype/apply/S15.3.4.3_A12.js | 10 +-
.../prototype/apply/S15.3.4.3_A1_T1.js | 12 +-
.../prototype/apply/S15.3.4.3_A1_T2.js | 12 +-
.../prototype/apply/S15.3.4.3_A3_T1.js | 5 +-
.../prototype/apply/S15.3.4.3_A3_T10.js | 5 +-
.../prototype/apply/S15.3.4.3_A3_T2.js | 5 +-
.../prototype/apply/S15.3.4.3_A3_T3.js | 5 +-
.../prototype/apply/S15.3.4.3_A3_T4.js | 5 +-
.../prototype/apply/S15.3.4.3_A3_T5.js | 13 +-
.../prototype/apply/S15.3.4.3_A3_T6.js | 13 +-
.../prototype/apply/S15.3.4.3_A3_T7.js | 5 +-
.../prototype/apply/S15.3.4.3_A3_T8.js | 5 +-
.../prototype/apply/S15.3.4.3_A3_T9.js | 5 +-
.../prototype/apply/S15.3.4.3_A5_T1.js | 11 +-
.../prototype/apply/S15.3.4.3_A5_T2.js | 11 +-
.../prototype/apply/S15.3.4.3_A5_T3.js | 11 +-
.../prototype/apply/S15.3.4.3_A5_T4.js | 11 +-
.../prototype/apply/S15.3.4.3_A5_T5.js | 5 +-
.../prototype/apply/S15.3.4.3_A5_T6.js | 5 +-
.../prototype/apply/S15.3.4.3_A5_T7.js | 5 +-
.../prototype/apply/S15.3.4.3_A5_T8.js | 5 +-
.../prototype/apply/S15.3.4.3_A7_T1.js | 5 +-
.../prototype/apply/S15.3.4.3_A7_T10.js | 14 +-
.../prototype/apply/S15.3.4.3_A7_T2.js | 5 +-
.../prototype/apply/S15.3.4.3_A7_T3.js | 14 +-
.../prototype/apply/S15.3.4.3_A7_T4.js | 14 +-
.../prototype/apply/S15.3.4.3_A7_T5.js | 11 +-
.../prototype/apply/S15.3.4.3_A7_T6.js | 14 +-
.../prototype/apply/S15.3.4.3_A7_T7.js | 5 +-
.../prototype/apply/S15.3.4.3_A7_T8.js | 5 +-
.../prototype/apply/S15.3.4.3_A7_T9.js | 14 +-
.../prototype/apply/S15.3.4.3_A8_T1.js | 19 -
.../prototype/apply/S15.3.4.3_A8_T2.js | 19 -
.../prototype/apply/S15.3.4.3_A8_T3.js | 4 +-
.../prototype/apply/S15.3.4.3_A8_T4.js | 4 +-
.../prototype/apply/S15.3.4.3_A8_T5.js | 4 +-
.../prototype/apply/S15.3.4.3_A8_T6.js | 6 +-
.../prototype/apply/not-a-constructor.js | 5 +-
.../Function/prototype/bind/S15.3.4.5_A1.js | 2 +-
.../Function/prototype/bind/S15.3.4.5_A13.js | 2 +-
.../Function/prototype/bind/S15.3.4.5_A14.js | 2 +-
.../Function/prototype/bind/S15.3.4.5_A15.js | 2 +-
.../Function/prototype/bind/S15.3.4.5_A16.js | 4 +-
.../Function/prototype/bind/S15.3.4.5_A2.js | 2 +-
.../Function/prototype/bind/S15.3.4.5_A3.js | 8 +-
.../Function/prototype/bind/S15.3.4.5_A5.js | 9 +-
.../Function/prototype/call/S15.3.4.4_A10.js | 20 +-
.../Function/prototype/call/S15.3.4.4_A11.js | 23 +-
.../Function/prototype/call/S15.3.4.4_A12.js | 10 +-
.../Function/prototype/call/S15.3.4.4_A13.js | 2 +-
.../Function/prototype/call/S15.3.4.4_A14.js | 2 +-
.../Function/prototype/call/S15.3.4.4_A15.js | 2 +-
.../Function/prototype/call/S15.3.4.4_A16.js | 4 +-
.../prototype/call/S15.3.4.4_A1_T1.js | 12 +-
.../prototype/call/S15.3.4.4_A1_T2.js | 12 +-
.../prototype/call/S15.3.4.4_A2_T1.js | 24 +-
.../prototype/call/S15.3.4.4_A2_T2.js | 17 +-
.../prototype/call/S15.3.4.4_A3_T1.js | 5 +-
.../prototype/call/S15.3.4.4_A3_T10.js | 5 +-
.../prototype/call/S15.3.4.4_A3_T2.js | 5 +-
.../prototype/call/S15.3.4.4_A3_T3.js | 5 +-
.../prototype/call/S15.3.4.4_A3_T4.js | 5 +-
.../prototype/call/S15.3.4.4_A3_T5.js | 13 +-
.../prototype/call/S15.3.4.4_A3_T6.js | 13 +-
.../prototype/call/S15.3.4.4_A3_T7.js | 5 +-
.../prototype/call/S15.3.4.4_A3_T8.js | 5 +-
.../prototype/call/S15.3.4.4_A3_T9.js | 5 +-
.../prototype/call/S15.3.4.4_A5_T1.js | 11 +-
.../prototype/call/S15.3.4.4_A5_T2.js | 11 +-
.../prototype/call/S15.3.4.4_A5_T3.js | 11 +-
.../prototype/call/S15.3.4.4_A5_T4.js | 11 +-
.../prototype/call/S15.3.4.4_A5_T5.js | 5 +-
.../prototype/call/S15.3.4.4_A5_T6.js | 5 +-
.../prototype/call/S15.3.4.4_A5_T7.js | 5 +-
.../prototype/call/S15.3.4.4_A5_T8.js | 5 +-
.../prototype/call/S15.3.4.4_A6_T1.js | 20 +-
.../prototype/call/S15.3.4.4_A6_T10.js | 14 +-
.../prototype/call/S15.3.4.4_A6_T2.js | 6 +-
.../prototype/call/S15.3.4.4_A6_T3.js | 7 +-
.../prototype/call/S15.3.4.4_A6_T4.js | 14 +-
.../prototype/call/S15.3.4.4_A6_T5.js | 11 +-
.../prototype/call/S15.3.4.4_A6_T6.js | 14 +-
.../prototype/call/S15.3.4.4_A6_T7.js | 5 +-
.../prototype/call/S15.3.4.4_A6_T8.js | 5 +-
.../prototype/call/S15.3.4.4_A6_T9.js | 14 +-
.../prototype/call/S15.3.4.4_A7_T1.js | 19 -
.../prototype/call/S15.3.4.4_A7_T2.js | 20 -
.../prototype/call/S15.3.4.4_A7_T3.js | 4 +-
.../prototype/call/S15.3.4.4_A7_T4.js | 4 +-
.../prototype/call/S15.3.4.4_A7_T5.js | 4 +-
.../prototype/call/S15.3.4.4_A7_T6.js | 6 +-
.../Function/prototype/call/S15.3.4.4_A9.js | 25 +-
.../prototype/call/not-a-constructor.js | 8 +
.../prototype/constructor/S15.3.4.1_A1_T1.js | 10 +-
.../restricted-property-arguments.js | 3 +-
.../prototype/restricted-property-caller.js | 3 +-
.../prototype/toString/S15.3.4.2_A10.js | 20 +-
.../prototype/toString/S15.3.4.2_A11.js | 18 +-
.../prototype/toString/S15.3.4.2_A12.js | 2 +-
.../prototype/toString/S15.3.4.2_A13.js | 2 +-
.../prototype/toString/S15.3.4.2_A14.js | 2 +-
.../prototype/toString/S15.3.4.2_A16.js | 2 +-
.../prototype/toString/S15.3.4.2_A6.js | 10 +-
.../prototype/toString/S15.3.4.2_A7.js | 16 -
.../prototype/toString/S15.3.4.2_A8.js | 23 +-
.../prototype/toString/S15.3.4.2_A9.js | 25 +-
.../prototype/toString/not-a-constructor.js | 4 +
.../built-ins/Infinity/S15.1.1.2_A1.js | 28 +-
.../built-ins/Infinity/S15.1.1.2_A2_T2.js | 6 +-
.../built-ins/Infinity/S15.1.1.2_A3_T2.js | 6 +-
.../built-ins/Infinity/S15.1.1.2_A4.js | 6 +-
.../built-ins/JSON/parse/S15.12.2_A1.js | 14 +-
.../built-ins/Map/bigint-number-same-value.js | 46 +
.../test262/built-ins/Map/constructor.js | 2 +-
...does-not-throw-when-set-is-not-callable.js | 2 +-
.../built-ins/Map/get-set-method-failure.js | 2 +-
.../built-ins/Map/iterable-calls-set.js | 6 +-
.../Map/iterator-close-after-set-failure.js | 2 +-
...terator-item-first-entry-returns-abrupt.js | 2 +-
...erator-item-second-entry-returns-abrupt.js | 2 +-
...tor-items-are-not-object-close-iterator.js | 2 +-
.../Map/iterator-items-are-not-object.js | 2 +-
.../built-ins/Map/iterator-next-failure.js | 2 +-
.../built-ins/Map/iterator-value-failure.js | 2 +-
.../map-iterable-empty-does-not-call-set.js | 2 +-
...terable-throws-when-set-is-not-callable.js | 2 +-
.../test262/built-ins/Map/map-iterable.js | 2 +-
.../Map/map-no-iterable-does-not-call-set.js | 2 +-
.../test262/built-ins/Map/map-no-iterable.js | 2 +-
js/src/tests/test262/built-ins/Map/map.js | 2 +-
js/src/tests/test262/built-ins/Map/name.js | 2 +-
.../tests/test262/built-ins/Map/newtarget.js | 2 +-
.../Map/prototype/Symbol.iterator.js | 2 +-
.../Map/prototype/Symbol.toStringTag.js | 2 +-
.../Map/prototype/clear/clear-map.js | 2 +-
.../built-ins/Map/prototype/clear/clear.js | 2 +-
.../clear/context-is-not-map-object.js | 2 +-
.../prototype/clear/context-is-not-object.js | 2 +-
.../clear/context-is-set-object-throws.js | 2 +-
.../clear/context-is-weakmap-object-throws.js | 2 +-
.../built-ins/Map/prototype/clear/length.js | 2 +-
.../clear/map-data-list-is-preserved.js | 2 +-
.../built-ins/Map/prototype/clear/name.js | 2 +-
.../Map/prototype/clear/returns-undefined.js | 2 +-
.../built-ins/Map/prototype/constructor.js | 2 +-
.../delete/context-is-not-map-object.js | 2 +-
.../prototype/delete/context-is-not-object.js | 2 +-
.../delete/context-is-set-object-throws.js | 2 +-
.../context-is-weakmap-object-throws.js | 2 +-
.../built-ins/Map/prototype/delete/delete.js | 2 +-
.../delete/does-not-break-iterators.js | 2 +-
.../built-ins/Map/prototype/delete/length.js | 2 +-
.../built-ins/Map/prototype/delete/name.js | 2 +-
.../Map/prototype/delete/returns-false.js | 2 +-
.../delete/returns-true-for-deleted-entry.js | 2 +-
.../built-ins/Map/prototype/descriptor.js | 2 +-
...does-not-have-mapdata-internal-slot-set.js | 2 +-
...-not-have-mapdata-internal-slot-weakmap.js | 2 +-
.../does-not-have-mapdata-internal-slot.js | 2 +-
.../Map/prototype/entries/entries.js | 2 +-
.../built-ins/Map/prototype/entries/length.js | 2 +-
.../built-ins/Map/prototype/entries/name.js | 2 +-
.../entries/returns-iterator-empty.js | 2 +-
.../Map/prototype/entries/returns-iterator.js | 2 +-
.../entries/this-not-object-throw.js | 2 +-
.../prototype/forEach/callback-parameters.js | 2 +-
.../forEach/callback-result-is-abrupt.js | 2 +-
.../forEach/callback-this-non-strict.js | 2 +-
.../forEach/callback-this-strict-strict.js | 2 +-
.../forEach/deleted-values-during-foreach.js | 2 +-
...does-not-have-mapdata-internal-slot-set.js | 2 +-
...-not-have-mapdata-internal-slot-weakmap.js | 2 +-
.../does-not-have-mapdata-internal-slot.js | 2 +-
.../forEach/first-argument-is-not-callable.js | 2 +-
.../Map/prototype/forEach/forEach.js | 2 +-
.../iterates-in-key-insertion-order.js | 2 +-
...rates-values-added-after-foreach-begins.js | 2 +-
.../iterates-values-deleted-then-readded.js | 2 +-
.../built-ins/Map/prototype/forEach/length.js | 2 +-
.../built-ins/Map/prototype/forEach/name.js | 2 +-
.../Map/prototype/forEach/return-undefined.js | 2 +-
.../second-parameter-as-callback-context.js | 2 +-
.../forEach/this-not-object-throw.js | 2 +-
...does-not-have-mapdata-internal-slot-set.js | 2 +-
...-not-have-mapdata-internal-slot-weakmap.js | 2 +-
.../does-not-have-mapdata-internal-slot.js | 2 +-
.../built-ins/Map/prototype/get/get.js | 2 +-
.../built-ins/Map/prototype/get/length.js | 2 +-
.../built-ins/Map/prototype/get/name.js | 2 +-
.../Map/prototype/get/returns-undefined.js | 2 +-
.../get/returns-value-different-key-types.js | 2 +-
.../get/returns-value-normalized-zero-key.js | 2 +-
.../prototype/get/this-not-object-throw.js | 2 +-
...does-not-have-mapdata-internal-slot-set.js | 2 +-
...-not-have-mapdata-internal-slot-weakmap.js | 2 +-
.../does-not-have-mapdata-internal-slot.js | 2 +-
.../built-ins/Map/prototype/has/has.js | 2 +-
.../built-ins/Map/prototype/has/length.js | 2 +-
.../built-ins/Map/prototype/has/name.js | 2 +-
.../Map/prototype/has/normalizes-zero-key.js | 2 +-
.../has/return-false-different-key-types.js | 2 +-
.../has/return-true-different-key-types.js | 2 +-
.../prototype/has/this-not-object-throw.js | 2 +-
...does-not-have-mapdata-internal-slot-set.js | 2 +-
...-not-have-mapdata-internal-slot-weakmap.js | 2 +-
.../does-not-have-mapdata-internal-slot.js | 2 +-
.../built-ins/Map/prototype/keys/keys.js | 2 +-
.../built-ins/Map/prototype/keys/length.js | 2 +-
.../built-ins/Map/prototype/keys/name.js | 2 +-
.../prototype/keys/returns-iterator-empty.js | 2 +-
.../Map/prototype/keys/returns-iterator.js | 2 +-
.../prototype/keys/this-not-object-throw.js | 2 +-
.../append-new-values-normalizes-zero-key.js | 2 +-
.../set/append-new-values-return-map.js | 2 +-
.../Map/prototype/set/append-new-values.js | 2 +-
...does-not-have-mapdata-internal-slot-set.js | 2 +-
...-not-have-mapdata-internal-slot-weakmap.js | 2 +-
.../does-not-have-mapdata-internal-slot.js | 2 +-
.../built-ins/Map/prototype/set/length.js | 2 +-
.../built-ins/Map/prototype/set/name.js | 2 +-
.../replaces-a-value-normalizes-zero-key.js | 2 +-
.../set/replaces-a-value-returns-map.js | 2 +-
.../Map/prototype/set/replaces-a-value.js | 2 +-
.../built-ins/Map/prototype/set/set.js | 2 +-
.../prototype/set/this-not-object-throw.js | 2 +-
...does-not-have-mapdata-internal-slot-set.js | 6 +-
...-not-have-mapdata-internal-slot-weakmap.js | 2 +-
.../does-not-have-mapdata-internal-slot.js | 2 +-
.../built-ins/Map/prototype/size/length.js | 2 +-
.../built-ins/Map/prototype/size/name.js | 2 +-
...f-present-values-before-after-set-clear.js | 2 +-
...-present-values-before-after-set-delete.js | 2 +-
...ns-count-of-present-values-by-insertion.js | 2 +-
...rns-count-of-present-values-by-iterable.js | 2 +-
.../built-ins/Map/prototype/size/size.js | 2 +-
.../prototype/size/this-not-object-throw.js | 2 +-
...does-not-have-mapdata-internal-slot-set.js | 2 +-
...-not-have-mapdata-internal-slot-weakmap.js | 2 +-
.../does-not-have-mapdata-internal-slot.js | 2 +-
.../built-ins/Map/prototype/values/length.js | 2 +-
.../built-ins/Map/prototype/values/name.js | 2 +-
.../values/returns-iterator-empty.js | 2 +-
.../Map/prototype/values/returns-iterator.js | 2 +-
.../prototype/values/this-not-object-throw.js | 2 +-
.../built-ins/Map/prototype/values/values.js | 2 +-
.../built-ins/Map/symbol-as-entry-key.js | 20 -
.../built-ins/Map/undefined-newtarget.js | 2 +-
.../tests/test262/built-ins/Map/valid-keys.js | 486 ++
.../Math/hypot/Math.hypot_ToNumberErr.js | 37 +
.../built-ins/Math/hypot/Math.hypot_Zero_2.js | 6 +-
.../test262/built-ins/NaN/S15.1.1.1_A2_T2.js | 6 +-
.../test262/built-ins/NaN/S15.1.1.1_A3_T2.js | 6 +-
.../test262/built-ins/NaN/S15.1.1.1_A4.js | 6 +-
.../Number/MAX_VALUE/S15.7.3.2_A2.js | 6 +-
.../Number/MAX_VALUE/S15.7.3.2_A3.js | 10 +-
.../Number/MAX_VALUE/S15.7.3.2_A4.js | 14 +-
.../Number/MIN_VALUE/S15.7.3.3_A2.js | 6 +-
.../Number/MIN_VALUE/S15.7.3.3_A3.js | 11 +-
.../Number/MIN_VALUE/S15.7.3.3_A4.js | 14 +-
.../Number/NEGATIVE_INFINITY/S15.7.3.5_A1.js | 10 +-
.../Number/NEGATIVE_INFINITY/S15.7.3.5_A2.js | 14 +-
.../Number/POSITIVE_INFINITY/S15.7.3.6_A1.js | 10 +-
.../Number/POSITIVE_INFINITY/S15.7.3.6_A2.js | 14 +-
.../test262/built-ins/Number/S15.7.1.1_A1.js | 35 +-
.../test262/built-ins/Number/S15.7.1.1_A2.js | 14 +-
.../test262/built-ins/Number/S15.7.2.1_A1.js | 44 +-
.../test262/built-ins/Number/S15.7.2.1_A2.js | 24 +-
.../test262/built-ins/Number/S15.7.2.1_A3.js | 12 +-
.../test262/built-ins/Number/S15.7.2.1_A4.js | 5 +-
.../test262/built-ins/Number/S15.7.3_A1.js | 5 +-
.../test262/built-ins/Number/S15.7.3_A2.js | 5 +-
.../test262/built-ins/Number/S15.7.3_A3.js | 5 +-
.../test262/built-ins/Number/S15.7.3_A4.js | 5 +-
.../test262/built-ins/Number/S15.7.3_A5.js | 8 +-
.../test262/built-ins/Number/S15.7.3_A6.js | 8 +-
.../test262/built-ins/Number/S15.7.3_A7.js | 9 +-
.../test262/built-ins/Number/S15.7.3_A8.js | 12 +-
.../built-ins/Number/S15.7.5_A1_T01.js | 19 +-
.../built-ins/Number/S15.7.5_A1_T02.js | 19 +-
.../built-ins/Number/S15.7.5_A1_T03.js | 19 +-
.../built-ins/Number/S15.7.5_A1_T04.js | 19 +-
.../built-ins/Number/S15.7.5_A1_T05.js | 19 +-
.../built-ins/Number/S15.7.5_A1_T06.js | 19 +-
.../built-ins/Number/S15.7.5_A1_T07.js | 19 +-
.../test262/built-ins/Number/S8.12.8_A3.js | 9 +-
.../test262/built-ins/Number/S8.12.8_A4.js | 8 +-
.../test262/built-ins/Number/S9.1_A1_T1.js | 18 +-
.../test262/built-ins/Number/S9.3.1_A1.js | 10 +-
.../test262/built-ins/Number/S9.3.1_A10.js | 6 +-
.../test262/built-ins/Number/S9.3.1_A11.js | 14 +-
.../test262/built-ins/Number/S9.3.1_A12.js | 12 +-
.../test262/built-ins/Number/S9.3.1_A13.js | 28 +-
.../test262/built-ins/Number/S9.3.1_A14.js | 6 +-
.../test262/built-ins/Number/S9.3.1_A15.js | 10 +-
.../test262/built-ins/Number/S9.3.1_A16.js | 18 +-
.../test262/built-ins/Number/S9.3.1_A17.js | 18 +-
.../test262/built-ins/Number/S9.3.1_A18.js | 18 +-
.../test262/built-ins/Number/S9.3.1_A19.js | 18 +-
.../test262/built-ins/Number/S9.3.1_A2.js | 303 +-
.../test262/built-ins/Number/S9.3.1_A20.js | 18 +-
.../test262/built-ins/Number/S9.3.1_A21.js | 18 +-
.../test262/built-ins/Number/S9.3.1_A22.js | 18 +-
.../test262/built-ins/Number/S9.3.1_A23.js | 18 +-
.../test262/built-ins/Number/S9.3.1_A24.js | 18 +-
.../test262/built-ins/Number/S9.3.1_A25.js | 18 +-
.../test262/built-ins/Number/S9.3.1_A26.js | 24 +-
.../test262/built-ins/Number/S9.3.1_A27.js | 24 +-
.../test262/built-ins/Number/S9.3.1_A28.js | 24 +-
.../test262/built-ins/Number/S9.3.1_A29.js | 24 +-
.../test262/built-ins/Number/S9.3.1_A30.js | 24 +-
.../test262/built-ins/Number/S9.3.1_A31.js | 24 +-
.../test262/built-ins/Number/S9.3.1_A32.js | 46 +-
.../test262/built-ins/Number/S9.3.1_A3_T1.js | 33 +-
.../test262/built-ins/Number/S9.3.1_A3_T2.js | 32 +-
.../test262/built-ins/Number/S9.3.1_A4_T1.js | 59 +-
.../test262/built-ins/Number/S9.3.1_A4_T2.js | 61 +-
.../test262/built-ins/Number/S9.3.1_A5_T1.js | 70 +-
.../test262/built-ins/Number/S9.3.1_A5_T2.js | 162 +-
.../test262/built-ins/Number/S9.3.1_A5_T3.js | 74 +-
.../test262/built-ins/Number/S9.3.1_A6_T1.js | 27 +-
.../test262/built-ins/Number/S9.3.1_A6_T2.js | 36 +-
.../test262/built-ins/Number/S9.3.1_A7.js | 10 +-
.../test262/built-ins/Number/S9.3.1_A8.js | 12 +-
.../test262/built-ins/Number/S9.3.1_A9.js | 19 +-
.../test262/built-ins/Number/S9.3_A2_T1.js | 10 +-
.../test262/built-ins/Number/S9.3_A3_T1.js | 16 +-
.../test262/built-ins/Number/S9.3_A4.1_T1.js | 24 +-
.../test262/built-ins/Number/S9.3_A4.2_T1.js | 50 +-
.../test262/built-ins/Number/S9.3_A5_T1.js | 80 +-
.../Number/prototype/S15.7.3.1_A2_T1.js | 18 +-
.../Number/prototype/S15.7.3.1_A2_T2.js | 18 +-
.../Number/prototype/S15.7.3.1_A3.js | 8 +-
.../built-ins/Number/prototype/S15.7.4_A1.js | 25 +-
.../built-ins/Number/prototype/S15.7.4_A2.js | 9 +-
.../Number/prototype/S15.7.4_A3.1.js | 10 +-
.../Number/prototype/S15.7.4_A3.2.js | 10 +-
.../Number/prototype/S15.7.4_A3.3.js | 10 +-
.../Number/prototype/S15.7.4_A3.4.js | 10 +-
.../Number/prototype/S15.7.4_A3.5.js | 10 +-
.../Number/prototype/S15.7.4_A3.6.js | 10 +-
.../Number/prototype/S15.7.4_A3.7.js | 10 +-
.../prototype/toFixed/S15.7.4.5_A1.1_T01.js | 69 +-
.../prototype/toFixed/S15.7.4.5_A1.1_T02.js | 68 +-
.../prototype/toFixed/S15.7.4.5_A1.3_T01.js | 71 +-
.../prototype/toFixed/S15.7.4.5_A1.3_T02.js | 65 +-
.../prototype/toFixed/S15.7.4.5_A1.4_T01.js | 96 +-
.../prototype/toFixed/S15.7.4.5_A2_T01.js | 19 +-
.../prototype/toString/S15.7.4.2_A1_T01.js | 54 +-
.../prototype/toString/S15.7.4.2_A1_T02.js | 57 +-
.../prototype/toString/S15.7.4.2_A1_T03.js | 57 +-
.../prototype/toString/S15.7.4.2_A2_T01.js | 57 +-
.../prototype/toString/S15.7.4.2_A2_T02.js | 57 +-
.../prototype/toString/S15.7.4.2_A2_T03.js | 57 +-
.../prototype/toString/S15.7.4.2_A2_T04.js | 57 +-
.../prototype/toString/S15.7.4.2_A2_T05.js | 57 +-
.../prototype/toString/S15.7.4.2_A2_T06.js | 57 +-
.../prototype/toString/S15.7.4.2_A2_T07.js | 57 +-
.../prototype/toString/S15.7.4.2_A2_T08.js | 57 +-
.../prototype/toString/S15.7.4.2_A2_T09.js | 57 +-
.../prototype/toString/S15.7.4.2_A2_T10.js | 57 +-
.../prototype/toString/S15.7.4.2_A2_T11.js | 57 +-
.../prototype/toString/S15.7.4.2_A2_T12.js | 57 +-
.../prototype/toString/S15.7.4.2_A2_T13.js | 57 +-
.../prototype/toString/S15.7.4.2_A2_T14.js | 57 +-
.../prototype/toString/S15.7.4.2_A2_T15.js | 57 +-
.../prototype/toString/S15.7.4.2_A2_T16.js | 57 +-
.../prototype/toString/S15.7.4.2_A2_T17.js | 57 +-
.../prototype/toString/S15.7.4.2_A2_T18.js | 57 +-
.../prototype/toString/S15.7.4.2_A2_T19.js | 57 +-
.../prototype/toString/S15.7.4.2_A2_T20.js | 57 +-
.../prototype/toString/S15.7.4.2_A2_T21.js | 57 +-
.../prototype/toString/S15.7.4.2_A2_T22.js | 57 +-
.../prototype/toString/S15.7.4.2_A2_T23.js | 57 +-
.../prototype/toString/S15.7.4.2_A2_T24.js | 57 +-
.../prototype/toString/S15.7.4.2_A2_T25.js | 57 +-
.../prototype/toString/S15.7.4.2_A2_T26.js | 57 +-
.../prototype/toString/S15.7.4.2_A2_T27.js | 57 +-
.../prototype/toString/S15.7.4.2_A2_T28.js | 57 +-
.../prototype/toString/S15.7.4.2_A2_T29.js | 57 +-
.../prototype/toString/S15.7.4.2_A2_T30.js | 57 +-
.../prototype/toString/S15.7.4.2_A2_T31.js | 57 +-
.../prototype/toString/S15.7.4.2_A2_T32.js | 57 +-
.../prototype/toString/S15.7.4.2_A2_T33.js | 57 +-
.../prototype/toString/S15.7.4.2_A2_T34.js | 57 +-
.../prototype/toString/S15.7.4.2_A3_T01.js | 8 -
.../prototype/toString/S15.7.4.2_A3_T02.js | 8 -
.../prototype/toString/S15.7.4.2_A3_T03.js | 8 -
.../prototype/toString/S15.7.4.2_A3_T04.js | 8 -
.../prototype/toString/S15.7.4.2_A4_T01.js | 10 +-
.../prototype/toString/S15.7.4.2_A4_T02.js | 10 +-
.../prototype/toString/S15.7.4.2_A4_T03.js | 10 +-
.../prototype/toString/S15.7.4.2_A4_T04.js | 10 +-
.../prototype/toString/S15.7.4.2_A4_T05.js | 10 +-
.../prototype/valueOf/S15.7.4.4_A1_T01.js | 51 +-
.../prototype/valueOf/S15.7.4.4_A1_T02.js | 51 +-
.../prototype/valueOf/S15.7.4.4_A2_T01.js | 10 +-
.../prototype/valueOf/S15.7.4.4_A2_T02.js | 10 +-
.../prototype/valueOf/S15.7.4.4_A2_T03.js | 10 +-
.../prototype/valueOf/S15.7.4.4_A2_T04.js | 10 +-
.../prototype/valueOf/S15.7.4.4_A2_T05.js | 10 +-
.../built-ins/Object/S15.2.1.1_A1_T1.js | 36 +-
.../built-ins/Object/S15.2.1.1_A1_T2.js | 36 +-
.../built-ins/Object/S15.2.1.1_A1_T3.js | 36 +-
.../built-ins/Object/S15.2.1.1_A1_T4.js | 36 +-
.../built-ins/Object/S15.2.1.1_A1_T5.js | 36 +-
.../built-ins/Object/S15.2.1.1_A2_T1.js | 23 +-
.../built-ins/Object/S15.2.1.1_A2_T10.js | 11 +-
.../built-ins/Object/S15.2.1.1_A2_T11.js | 21 +-
.../built-ins/Object/S15.2.1.1_A2_T12.js | 19 +-
.../built-ins/Object/S15.2.1.1_A2_T13.js | 23 +-
.../built-ins/Object/S15.2.1.1_A2_T14.js | 18 +-
.../built-ins/Object/S15.2.1.1_A2_T2.js | 23 +-
.../built-ins/Object/S15.2.1.1_A2_T3.js | 23 +-
.../built-ins/Object/S15.2.1.1_A2_T4.js | 11 +-
.../built-ins/Object/S15.2.1.1_A2_T5.js | 17 +-
.../built-ins/Object/S15.2.1.1_A2_T6.js | 23 +-
.../built-ins/Object/S15.2.1.1_A2_T7.js | 23 +-
.../built-ins/Object/S15.2.1.1_A2_T8.js | 11 +-
.../built-ins/Object/S15.2.1.1_A2_T9.js | 18 +-
.../built-ins/Object/S15.2.1.1_A3_T1.js | 16 +-
.../built-ins/Object/S15.2.1.1_A3_T2.js | 11 +-
.../built-ins/Object/S15.2.1.1_A3_T3.js | 16 +-
.../built-ins/Object/S15.2.2.1_A1_T1.js | 33 +-
.../built-ins/Object/S15.2.2.1_A1_T2.js | 33 +-
.../built-ins/Object/S15.2.2.1_A1_T3.js | 33 +-
.../built-ins/Object/S15.2.2.1_A1_T4.js | 33 +-
.../built-ins/Object/S15.2.2.1_A1_T5.js | 33 +-
.../built-ins/Object/S15.2.2.1_A2_T1.js | 11 +-
.../built-ins/Object/S15.2.2.1_A2_T2.js | 12 +-
.../built-ins/Object/S15.2.2.1_A2_T3.js | 11 +-
.../built-ins/Object/S15.2.2.1_A2_T5.js | 12 +-
.../built-ins/Object/S15.2.2.1_A2_T6.js | 13 +-
.../built-ins/Object/S15.2.2.1_A2_T7.js | 26 +-
.../built-ins/Object/S15.2.2.1_A3_T1.js | 28 +-
.../built-ins/Object/S15.2.2.1_A3_T2.js | 28 +-
.../built-ins/Object/S15.2.2.1_A3_T3.js | 23 +-
.../built-ins/Object/S15.2.2.1_A4_T1.js | 31 +-
.../built-ins/Object/S15.2.2.1_A4_T2.js | 31 +-
.../built-ins/Object/S15.2.2.1_A4_T3.js | 26 +-
.../built-ins/Object/S15.2.2.1_A5_T1.js | 28 +-
.../built-ins/Object/S15.2.2.1_A5_T2.js | 16 +-
.../built-ins/Object/S15.2.2.1_A5_T3.js | 28 +-
.../built-ins/Object/S15.2.2.1_A5_T4.js | 23 +-
.../built-ins/Object/S15.2.2.1_A6_T1.js | 17 +-
.../built-ins/Object/S15.2.2.1_A6_T2.js | 11 +-
.../built-ins/Object/S15.2.2.1_A6_T3.js | 18 +-
.../test262/built-ins/Object/S15.2.3_A1.js | 8 +-
.../test262/built-ins/Object/S15.2.3_A2.js | 9 +-
.../test262/built-ins/Object/S15.2.3_A3.js | 14 +-
.../test262/built-ins/Object/S15.2_A1.js | 4 +-
.../tests/test262/built-ins/Object/S9.9_A3.js | 41 +-
.../tests/test262/built-ins/Object/S9.9_A4.js | 252 +-
.../tests/test262/built-ins/Object/S9.9_A5.js | 94 +-
.../tests/test262/built-ins/Object/S9.9_A6.js | 26 +-
.../Object/assign/Source-Null-Undefined.js | 2 +-
.../assign/Source-Number-Boolen-Symbol.js | 2 +-
.../built-ins/Object/assign/Source-String.js | 6 +-
.../Object/assign/assign-descriptor.js | 3 +-
.../defineProperties/15.2.3.7-6-a-36.js | 3 +-
.../Object/defineProperty/S15.2.3.6_A1.js | 4 +-
.../Object/defineProperty/S15.2.3.6_A2.js | 8 +-
.../getOwnPropertyNames/15.2.3.4-4-2.js | 18 +-
.../getOwnPropertyNames/15.2.3.4-4-44.js | 5 +-
.../getOwnPropertyNames/15.2.3.4-4-49.js | 5 +-
.../getOwnPropertyNames/15.2.3.4-4-b-2.js | 5 +-
.../getOwnPropertyNames/S15.2.3.4_A1_T1.js | 4 +-
.../Object/getOwnPropertyNames/shell.js | 31 -
.../built-ins/Object/hasOwn/descriptor.js | 3 +-
.../Object/prototype/S15.2.3.1_A1.js | 12 +-
.../Object/prototype/S15.2.3.1_A2.js | 20 +-
.../Object/prototype/S15.2.3.1_A3.js | 14 +-
.../Object/prototype/S15.2.4_A1_T1.js | 10 +-
.../Object/prototype/S15.2.4_A1_T2.js | 15 +-
.../built-ins/Object/prototype/S15.2.4_A2.js | 5 +-
.../built-ins/Object/prototype/S15.2.4_A3.js | 2 +-
.../built-ins/Object/prototype/S15.2.4_A4.js | 2 +-
.../prototype/constructor/S15.2.4.1_A1_T1.js | 10 +-
.../prototype/constructor/S15.2.4.1_A1_T2.js | 30 +-
.../prototype/hasOwnProperty/S15.2.4.5_A12.js | 2 +-
.../prototype/hasOwnProperty/S15.2.4.5_A13.js | 2 +-
.../hasOwnProperty/S15.2.4.5_A1_T1.js | 19 +-
.../hasOwnProperty/S15.2.4.5_A1_T2.js | 36 +-
.../hasOwnProperty/S15.2.4.5_A1_T3.js | 34 +-
.../prototype/hasOwnProperty/S15.2.4.5_A6.js | 11 +-
.../prototype/hasOwnProperty/S15.2.4.5_A7.js | 16 -
.../propertyIsEnumerable/S15.2.4.7_A10.js | 20 +-
.../propertyIsEnumerable/S15.2.4.7_A11.js | 18 +-
.../propertyIsEnumerable/S15.2.4.7_A12.js | 2 +-
.../propertyIsEnumerable/S15.2.4.7_A13.js | 2 +-
.../propertyIsEnumerable/S15.2.4.7_A1_T1.js | 38 +-
.../propertyIsEnumerable/S15.2.4.7_A2_T1.js | 19 +-
.../propertyIsEnumerable/S15.2.4.7_A2_T2.js | 35 +-
.../propertyIsEnumerable/S15.2.4.7_A6.js | 11 +-
.../propertyIsEnumerable/S15.2.4.7_A7.js | 18 -
.../propertyIsEnumerable/S15.2.4.7_A8.js | 24 +-
.../propertyIsEnumerable/S15.2.4.7_A9.js | 18 +-
.../prototype/toLocaleString/S15.2.4.3_A1.js | 28 +-
.../prototype/toLocaleString/S15.2.4.3_A10.js | 20 +-
.../prototype/toLocaleString/S15.2.4.3_A11.js | 18 +-
.../prototype/toLocaleString/S15.2.4.3_A12.js | 2 +-
.../prototype/toLocaleString/S15.2.4.3_A13.js | 2 +-
.../prototype/toLocaleString/S15.2.4.3_A6.js | 11 +-
.../prototype/toLocaleString/S15.2.4.3_A7.js | 16 -
.../prototype/toLocaleString/S15.2.4.3_A8.js | 24 +-
.../prototype/toLocaleString/S15.2.4.3_A9.js | 25 +-
.../Object/prototype/toString/not-ctor.js | 17 -
.../Object/prototype/valueOf/S15.2.4.4_A10.js | 20 +-
.../Object/prototype/valueOf/S15.2.4.4_A11.js | 18 +-
.../Object/prototype/valueOf/S15.2.4.4_A12.js | 2 +-
.../Object/prototype/valueOf/S15.2.4.4_A13.js | 2 +-
.../Object/prototype/valueOf/S15.2.4.4_A14.js | 2 +-
.../Object/prototype/valueOf/S15.2.4.4_A15.js | 7 +-
.../prototype/valueOf/S15.2.4.4_A1_T1.js | 21 +-
.../prototype/valueOf/S15.2.4.4_A1_T2.js | 21 +-
.../prototype/valueOf/S15.2.4.4_A1_T3.js | 21 +-
.../prototype/valueOf/S15.2.4.4_A1_T4.js | 21 +-
.../prototype/valueOf/S15.2.4.4_A1_T5.js | 21 +-
.../prototype/valueOf/S15.2.4.4_A1_T6.js | 21 +-
.../prototype/valueOf/S15.2.4.4_A1_T7.js | 21 +-
.../Object/prototype/valueOf/S15.2.4.4_A6.js | 11 +-
.../Object/prototype/valueOf/S15.2.4.4_A7.js | 16 -
.../Object/prototype/valueOf/S15.2.4.4_A8.js | 24 +-
.../Object/prototype/valueOf/S15.2.4.4_A9.js | 25 +-
.../Object/seal/seal-aggregateerror.js | 1 +
.../Promise/Symbol.species/symbol-species.js | 3 +-
.../Promise/all/S25.4.4.1_A1.1_T1.js | 5 +-
.../Promise/all/S25.4.4.1_A2.1_T1.js | 4 +-
.../Promise/all/S25.4.4.1_A2.3_T1.js | 4 +-
.../Promise/all/S25.4.4.1_A2.3_T2.js | 4 +-
.../Promise/all/S25.4.4.1_A2.3_T3.js | 4 +-
.../Promise/all/S25.4.4.1_A3.1_T1.js | 4 +-
.../Promise/all/S25.4.4.1_A3.1_T2.js | 4 +-
.../Promise/all/S25.4.4.1_A3.1_T3.js | 4 +-
.../Promise/all/S25.4.4.1_A5.1_T1.js | 2 +-
.../Promise/all/S25.4.4.1_A7.1_T1.js | 16 +-
.../Promise/all/S25.4.4.1_A8.2_T1.js | 4 +-
.../Promise/all/S25.4.4.1_A8.2_T2.js | 4 +-
.../Promise/prototype/S25.4.4.2_A1.1_T1.js | 9 +-
.../Promise/prototype/S25.4.5_A3.1_T1.js | 9 +-
.../prototype/catch/S25.4.5.1_A1.1_T1.js | 8 +-
.../prototype/catch/S25.4.5.1_A2.1_T1.js | 7 +-
.../prototype/catch/S25.4.5.1_A3.1_T1.js | 10 +-
.../prototype/catch/S25.4.5.1_A3.1_T2.js | 10 +-
.../prototype/then/S25.4.5.3_A1.1_T1.js | 8 +-
.../prototype/then/S25.4.5.3_A1.1_T2.js | 9 +-
.../prototype/then/S25.4.5.3_A4.1_T1.js | 12 +-
.../prototype/then/S25.4.5.3_A4.1_T2.js | 10 +-
.../prototype/then/S25.4.5.3_A4.2_T1.js | 12 +-
.../prototype/then/S25.4.5.3_A4.2_T2.js | 10 +-
.../prototype/then/S25.4.5.3_A5.3_T1.js | 6 +-
.../Promise/race/S25.4.4.3_A1.1_T1.js | 5 +-
.../Promise/race/S25.4.4.3_A2.1_T1.js | 4 +-
.../Promise/race/S25.4.4.3_A2.2_T1.js | 4 +-
.../Promise/race/S25.4.4.3_A2.2_T2.js | 4 +-
.../Promise/race/S25.4.4.3_A2.2_T3.js | 4 +-
.../Promise/race/S25.4.4.3_A4.1_T1.js | 2 +-
.../Promise/race/S25.4.4.3_A4.1_T2.js | 4 +-
.../Promise/race/S25.4.4.3_A6.2_T1.js | 6 +-
.../Promise/race/S25.4.4.3_A7.1_T1.js | 12 +-
.../Promise/race/S25.4.4.3_A7.1_T2.js | 12 +-
.../Promise/race/S25.4.4.3_A7.1_T3.js | 12 +-
.../Promise/race/S25.4.4.3_A7.2_T1.js | 12 +-
.../Promise/race/S25.4.4.3_A7.3_T1.js | 6 +-
.../Promise/race/S25.4.4.3_A7.3_T2.js | 6 +-
.../race/resolved-sequence-with-rejections.js | 2 +-
.../Promise/race/resolved-sequence.js | 2 +-
.../Promise/reject/S25.4.4.4_A1.1_T1.js | 9 +-
.../Promise/reject/S25.4.4.4_A2.1_T1.js | 10 +-
.../Promise/resolve/S25.4.4.5_A1.1_T1.js | 9 +-
.../Promise/resolve/S25.4.4.5_A2.1_T1.js | 4 +-
.../Promise/resolve/S25.4.4.5_A2.2_T1.js | 14 +-
.../Promise/resolve/S25.4.4.5_A2.3_T1.js | 14 +-
.../Promise/resolve/S25.4.4.5_A4.1_T1.js | 4 +-
.../return-not-object-throws-number.js | 2 -
.../return-not-object-throws-string.js | 2 -
.../return-not-object-throws-symbol.js | 2 -
.../enumerate/removed-does-not-trigger.js | 4 +-
.../Proxy/revocable/tco-fn-realm-strict.js | 27 +
.../test262/built-ins/Realm/constructor.js | 21 -
.../tests/test262/built-ins/Realm/instance.js | 33 -
...other-realm-is-wrapped-into-a-typeerror.js | 24 -
.../prototype/evaluate/not-constructor.js | 37 -
.../evaluate/returns-symbol-values.js | 26 -
.../evaluate/validates-realm-object.js | 24 -
.../prototype/importValue/import-value.js | 24 -
.../prototype/importValue/not-constructor.js | 34 -
.../importValue/specifier-tostring.js | 33 -
.../importValue/validates-realm-object.js | 24 -
.../return-from-accessor-descriptor.js | 7 +-
.../return-from-data-descriptor.js | 7 +-
.../symbol-property.js | 7 +-
.../return-array-with-own-keys-only.js | 5 +-
.../Reflect/ownKeys/return-empty-array.js | 4 +-
.../ownKeys/return-non-enumerable-keys.js | 12 +-
.../RegExp/CharacterClassEscapes/shell.js | 62 +-
.../built-ins/RegExp/S15.10.1_A1_T1.js | 13 +-
.../built-ins/RegExp/S15.10.1_A1_T10.js | 13 +-
.../built-ins/RegExp/S15.10.1_A1_T11.js | 13 +-
.../built-ins/RegExp/S15.10.1_A1_T12.js | 13 +-
.../built-ins/RegExp/S15.10.1_A1_T13.js | 13 +-
.../built-ins/RegExp/S15.10.1_A1_T14.js | 13 +-
.../built-ins/RegExp/S15.10.1_A1_T15.js | 13 +-
.../built-ins/RegExp/S15.10.1_A1_T16.js | 13 +-
.../built-ins/RegExp/S15.10.1_A1_T2.js | 13 +-
.../built-ins/RegExp/S15.10.1_A1_T3.js | 13 +-
.../built-ins/RegExp/S15.10.1_A1_T4.js | 13 +-
.../built-ins/RegExp/S15.10.1_A1_T5.js | 13 +-
.../built-ins/RegExp/S15.10.1_A1_T6.js | 13 +-
.../built-ins/RegExp/S15.10.1_A1_T7.js | 13 +-
.../built-ins/RegExp/S15.10.1_A1_T8.js | 13 +-
.../built-ins/RegExp/S15.10.1_A1_T9.js | 13 +-
.../built-ins/RegExp/S15.10.2.10_A1.1_T1.js | 2 -
.../built-ins/RegExp/S15.10.2.10_A1.2_T1.js | 2 -
.../built-ins/RegExp/S15.10.2.10_A1.3_T1.js | 2 -
.../built-ins/RegExp/S15.10.2.10_A1.4_T1.js | 2 -
.../built-ins/RegExp/S15.10.2.10_A1.5_T1.js | 2 -
.../built-ins/RegExp/S15.10.2.10_A2.1_T1.js | 7 +-
.../built-ins/RegExp/S15.10.2.10_A2.1_T2.js | 7 +-
.../built-ins/RegExp/S15.10.2.10_A3.1_T1.js | 4 -
.../built-ins/RegExp/S15.10.2.10_A3.1_T2.js | 10 +-
.../built-ins/RegExp/S15.10.2.10_A4.1_T1.js | 6 -
.../built-ins/RegExp/S15.10.2.10_A4.1_T2.js | 10 +-
.../built-ins/RegExp/S15.10.2.10_A4.1_T3.js | 10 +-
.../built-ins/RegExp/S15.10.2.10_A5.1_T1.js | 1 -
.../built-ins/RegExp/S15.10.2.11_A1_T1.js | 2 -
.../built-ins/RegExp/S15.10.2.11_A1_T4.js | 2 -
.../built-ins/RegExp/S15.10.2.11_A1_T5.js | 2 -
.../built-ins/RegExp/S15.10.2.11_A1_T6.js | 3 -
.../built-ins/RegExp/S15.10.2.11_A1_T7.js | 3 -
.../built-ins/RegExp/S15.10.2.11_A1_T8.js | 4 +-
.../built-ins/RegExp/S15.10.2.11_A1_T9.js | 4 +-
.../built-ins/RegExp/S15.10.2.12_A3_T5.js | 15 +-
.../built-ins/RegExp/S15.10.2.12_A4_T5.js | 15 +-
.../built-ins/RegExp/S15.10.2.13_A1_T1.js | 8 +-
.../built-ins/RegExp/S15.10.2.13_A1_T10.js | 36 +-
.../built-ins/RegExp/S15.10.2.13_A1_T11.js | 36 +-
.../built-ins/RegExp/S15.10.2.13_A1_T12.js | 36 +-
.../built-ins/RegExp/S15.10.2.13_A1_T13.js | 36 +-
.../built-ins/RegExp/S15.10.2.13_A1_T14.js | 36 +-
.../built-ins/RegExp/S15.10.2.13_A1_T15.js | 36 +-
.../built-ins/RegExp/S15.10.2.13_A1_T17.js | 5 +-
.../built-ins/RegExp/S15.10.2.13_A1_T2.js | 8 +-
.../built-ins/RegExp/S15.10.2.13_A1_T3.js | 36 +-
.../built-ins/RegExp/S15.10.2.13_A1_T4.js | 36 +-
.../built-ins/RegExp/S15.10.2.13_A1_T5.js | 36 +-
.../built-ins/RegExp/S15.10.2.13_A1_T6.js | 36 +-
.../built-ins/RegExp/S15.10.2.13_A1_T7.js | 5 +-
.../built-ins/RegExp/S15.10.2.13_A1_T8.js | 36 +-
.../built-ins/RegExp/S15.10.2.13_A1_T9.js | 36 +-
.../built-ins/RegExp/S15.10.2.13_A2_T1.js | 36 +-
.../built-ins/RegExp/S15.10.2.13_A2_T2.js | 36 +-
.../built-ins/RegExp/S15.10.2.13_A2_T3.js | 36 +-
.../built-ins/RegExp/S15.10.2.13_A2_T4.js | 36 +-
.../built-ins/RegExp/S15.10.2.13_A2_T5.js | 36 +-
.../built-ins/RegExp/S15.10.2.13_A2_T6.js | 5 +-
.../built-ins/RegExp/S15.10.2.13_A2_T7.js | 36 +-
.../built-ins/RegExp/S15.10.2.13_A2_T8.js | 36 +-
.../built-ins/RegExp/S15.10.2.13_A3_T1.js | 36 +-
.../built-ins/RegExp/S15.10.2.13_A3_T2.js | 36 +-
.../built-ins/RegExp/S15.10.2.13_A3_T3.js | 36 +-
.../built-ins/RegExp/S15.10.2.13_A3_T4.js | 36 +-
.../built-ins/RegExp/S15.10.2.15_A1_T1.js | 11 +-
.../built-ins/RegExp/S15.10.2.15_A1_T10.js | 11 +-
.../built-ins/RegExp/S15.10.2.15_A1_T11.js | 11 +-
.../built-ins/RegExp/S15.10.2.15_A1_T12.js | 11 +-
.../built-ins/RegExp/S15.10.2.15_A1_T13.js | 11 +-
.../built-ins/RegExp/S15.10.2.15_A1_T14.js | 11 +-
.../built-ins/RegExp/S15.10.2.15_A1_T15.js | 11 +-
.../built-ins/RegExp/S15.10.2.15_A1_T16.js | 11 +-
.../built-ins/RegExp/S15.10.2.15_A1_T17.js | 11 +-
.../built-ins/RegExp/S15.10.2.15_A1_T18.js | 11 +-
.../built-ins/RegExp/S15.10.2.15_A1_T19.js | 11 +-
.../built-ins/RegExp/S15.10.2.15_A1_T2.js | 11 +-
.../built-ins/RegExp/S15.10.2.15_A1_T20.js | 11 +-
.../built-ins/RegExp/S15.10.2.15_A1_T21.js | 11 +-
.../built-ins/RegExp/S15.10.2.15_A1_T22.js | 11 +-
.../built-ins/RegExp/S15.10.2.15_A1_T23.js | 11 +-
.../built-ins/RegExp/S15.10.2.15_A1_T24.js | 11 +-
.../built-ins/RegExp/S15.10.2.15_A1_T25.js | 11 +-
.../built-ins/RegExp/S15.10.2.15_A1_T26.js | 11 +-
.../built-ins/RegExp/S15.10.2.15_A1_T27.js | 11 +-
.../built-ins/RegExp/S15.10.2.15_A1_T28.js | 11 +-
.../built-ins/RegExp/S15.10.2.15_A1_T29.js | 11 +-
.../built-ins/RegExp/S15.10.2.15_A1_T3.js | 11 +-
.../built-ins/RegExp/S15.10.2.15_A1_T30.js | 11 +-
.../built-ins/RegExp/S15.10.2.15_A1_T31.js | 11 +-
.../built-ins/RegExp/S15.10.2.15_A1_T32.js | 11 +-
.../built-ins/RegExp/S15.10.2.15_A1_T33.js | 11 +-
.../built-ins/RegExp/S15.10.2.15_A1_T34.js | 11 +-
.../built-ins/RegExp/S15.10.2.15_A1_T35.js | 11 +-
.../built-ins/RegExp/S15.10.2.15_A1_T36.js | 11 +-
.../built-ins/RegExp/S15.10.2.15_A1_T37.js | 11 +-
.../built-ins/RegExp/S15.10.2.15_A1_T38.js | 11 +-
.../built-ins/RegExp/S15.10.2.15_A1_T39.js | 11 +-
.../built-ins/RegExp/S15.10.2.15_A1_T4.js | 11 +-
.../built-ins/RegExp/S15.10.2.15_A1_T40.js | 11 +-
.../built-ins/RegExp/S15.10.2.15_A1_T41.js | 11 +-
.../built-ins/RegExp/S15.10.2.15_A1_T5.js | 11 +-
.../built-ins/RegExp/S15.10.2.15_A1_T6.js | 11 +-
.../built-ins/RegExp/S15.10.2.15_A1_T7.js | 11 +-
.../built-ins/RegExp/S15.10.2.15_A1_T8.js | 11 +-
.../built-ins/RegExp/S15.10.2.15_A1_T9.js | 11 +-
.../built-ins/RegExp/S15.10.2.3_A1_T1.js | 36 +-
.../built-ins/RegExp/S15.10.2.3_A1_T10.js | 36 +-
.../built-ins/RegExp/S15.10.2.3_A1_T11.js | 36 +-
.../built-ins/RegExp/S15.10.2.3_A1_T12.js | 36 +-
.../built-ins/RegExp/S15.10.2.3_A1_T13.js | 36 +-
.../built-ins/RegExp/S15.10.2.3_A1_T14.js | 36 +-
.../built-ins/RegExp/S15.10.2.3_A1_T15.js | 36 +-
.../built-ins/RegExp/S15.10.2.3_A1_T16.js | 36 +-
.../built-ins/RegExp/S15.10.2.3_A1_T17.js | 36 +-
.../built-ins/RegExp/S15.10.2.3_A1_T2.js | 36 +-
.../built-ins/RegExp/S15.10.2.3_A1_T3.js | 36 +-
.../built-ins/RegExp/S15.10.2.3_A1_T4.js | 36 +-
.../built-ins/RegExp/S15.10.2.3_A1_T5.js | 5 +-
.../built-ins/RegExp/S15.10.2.3_A1_T6.js | 36 +-
.../built-ins/RegExp/S15.10.2.3_A1_T7.js | 5 +-
.../built-ins/RegExp/S15.10.2.3_A1_T8.js | 36 +-
.../built-ins/RegExp/S15.10.2.3_A1_T9.js | 36 +-
.../built-ins/RegExp/S15.10.2.5_A1_T1.js | 36 +-
.../built-ins/RegExp/S15.10.2.5_A1_T2.js | 36 +-
.../built-ins/RegExp/S15.10.2.5_A1_T3.js | 36 +-
.../built-ins/RegExp/S15.10.2.5_A1_T4.js | 36 +-
.../built-ins/RegExp/S15.10.2.5_A1_T5.js | 36 +-
.../built-ins/RegExp/S15.10.2.6_A1_T1.js | 5 +-
.../built-ins/RegExp/S15.10.2.6_A1_T2.js | 36 +-
.../built-ins/RegExp/S15.10.2.6_A1_T3.js | 36 +-
.../built-ins/RegExp/S15.10.2.6_A1_T4.js | 36 +-
.../built-ins/RegExp/S15.10.2.6_A1_T5.js | 36 +-
.../built-ins/RegExp/S15.10.2.6_A2_T1.js | 5 +-
.../built-ins/RegExp/S15.10.2.6_A2_T10.js | 36 +-
.../built-ins/RegExp/S15.10.2.6_A2_T2.js | 36 +-
.../built-ins/RegExp/S15.10.2.6_A2_T3.js | 36 +-
.../built-ins/RegExp/S15.10.2.6_A2_T4.js | 36 +-
.../built-ins/RegExp/S15.10.2.6_A2_T5.js | 36 +-
.../built-ins/RegExp/S15.10.2.6_A2_T6.js | 36 +-
.../built-ins/RegExp/S15.10.2.6_A2_T7.js | 5 +-
.../built-ins/RegExp/S15.10.2.6_A2_T8.js | 5 +-
.../built-ins/RegExp/S15.10.2.6_A2_T9.js | 36 +-
.../built-ins/RegExp/S15.10.2.6_A3_T1.js | 36 +-
.../built-ins/RegExp/S15.10.2.6_A3_T10.js | 36 +-
.../built-ins/RegExp/S15.10.2.6_A3_T11.js | 36 +-
.../built-ins/RegExp/S15.10.2.6_A3_T12.js | 36 +-
.../built-ins/RegExp/S15.10.2.6_A3_T13.js | 5 +-
.../built-ins/RegExp/S15.10.2.6_A3_T14.js | 36 +-
.../built-ins/RegExp/S15.10.2.6_A3_T15.js | 5 +-
.../built-ins/RegExp/S15.10.2.6_A3_T2.js | 36 +-
.../built-ins/RegExp/S15.10.2.6_A3_T3.js | 5 +-
.../built-ins/RegExp/S15.10.2.6_A3_T4.js | 36 +-
.../built-ins/RegExp/S15.10.2.6_A3_T5.js | 5 +-
.../built-ins/RegExp/S15.10.2.6_A3_T6.js | 36 +-
.../built-ins/RegExp/S15.10.2.6_A3_T7.js | 36 +-
.../built-ins/RegExp/S15.10.2.6_A3_T8.js | 36 +-
.../built-ins/RegExp/S15.10.2.6_A3_T9.js | 5 +-
.../built-ins/RegExp/S15.10.2.6_A4_T1.js | 36 +-
.../built-ins/RegExp/S15.10.2.6_A4_T2.js | 36 +-
.../built-ins/RegExp/S15.10.2.6_A4_T3.js | 36 +-
.../built-ins/RegExp/S15.10.2.6_A4_T4.js | 36 +-
.../built-ins/RegExp/S15.10.2.6_A4_T5.js | 36 +-
.../built-ins/RegExp/S15.10.2.6_A4_T6.js | 36 +-
.../built-ins/RegExp/S15.10.2.6_A4_T7.js | 36 +-
.../built-ins/RegExp/S15.10.2.6_A4_T8.js | 36 +-
.../built-ins/RegExp/S15.10.2.6_A5_T1.js | 36 +-
.../built-ins/RegExp/S15.10.2.6_A5_T2.js | 36 +-
.../built-ins/RegExp/S15.10.2.6_A6_T1.js | 36 +-
.../built-ins/RegExp/S15.10.2.6_A6_T2.js | 36 +-
.../built-ins/RegExp/S15.10.2.6_A6_T3.js | 36 +-
.../built-ins/RegExp/S15.10.2.6_A6_T4.js | 36 +-
.../built-ins/RegExp/S15.10.2.7_A1_T1.js | 36 +-
.../built-ins/RegExp/S15.10.2.7_A1_T10.js | 36 +-
.../built-ins/RegExp/S15.10.2.7_A1_T11.js | 36 +-
.../built-ins/RegExp/S15.10.2.7_A1_T12.js | 36 +-
.../built-ins/RegExp/S15.10.2.7_A1_T2.js | 5 +-
.../built-ins/RegExp/S15.10.2.7_A1_T3.js | 36 +-
.../built-ins/RegExp/S15.10.2.7_A1_T4.js | 36 +-
.../built-ins/RegExp/S15.10.2.7_A1_T5.js | 36 +-
.../built-ins/RegExp/S15.10.2.7_A1_T6.js | 36 +-
.../built-ins/RegExp/S15.10.2.7_A1_T7.js | 36 +-
.../built-ins/RegExp/S15.10.2.7_A1_T8.js | 36 +-
.../built-ins/RegExp/S15.10.2.7_A1_T9.js | 5 +-
.../built-ins/RegExp/S15.10.2.7_A2_T1.js | 36 +-
.../built-ins/RegExp/S15.10.2.7_A2_T2.js | 36 +-
.../built-ins/RegExp/S15.10.2.7_A2_T3.js | 36 +-
.../built-ins/RegExp/S15.10.2.7_A2_T4.js | 5 +-
.../built-ins/RegExp/S15.10.2.7_A3_T1.js | 36 +-
.../built-ins/RegExp/S15.10.2.7_A3_T10.js | 5 +-
.../built-ins/RegExp/S15.10.2.7_A3_T11.js | 36 +-
.../built-ins/RegExp/S15.10.2.7_A3_T12.js | 36 +-
.../built-ins/RegExp/S15.10.2.7_A3_T13.js | 36 +-
.../built-ins/RegExp/S15.10.2.7_A3_T14.js | 36 +-
.../built-ins/RegExp/S15.10.2.7_A3_T2.js | 36 +-
.../built-ins/RegExp/S15.10.2.7_A3_T3.js | 5 +-
.../built-ins/RegExp/S15.10.2.7_A3_T4.js | 5 +-
.../built-ins/RegExp/S15.10.2.7_A3_T5.js | 36 +-
.../built-ins/RegExp/S15.10.2.7_A3_T6.js | 36 +-
.../built-ins/RegExp/S15.10.2.7_A3_T7.js | 36 +-
.../built-ins/RegExp/S15.10.2.7_A3_T8.js | 36 +-
.../built-ins/RegExp/S15.10.2.7_A3_T9.js | 36 +-
.../built-ins/RegExp/S15.10.2.7_A4_T1.js | 36 +-
.../built-ins/RegExp/S15.10.2.7_A4_T10.js | 36 +-
.../built-ins/RegExp/S15.10.2.7_A4_T11.js | 36 +-
.../built-ins/RegExp/S15.10.2.7_A4_T12.js | 36 +-
.../built-ins/RegExp/S15.10.2.7_A4_T13.js | 36 +-
.../built-ins/RegExp/S15.10.2.7_A4_T14.js | 36 +-
.../built-ins/RegExp/S15.10.2.7_A4_T15.js | 36 +-
.../built-ins/RegExp/S15.10.2.7_A4_T16.js | 36 +-
.../built-ins/RegExp/S15.10.2.7_A4_T17.js | 36 +-
.../built-ins/RegExp/S15.10.2.7_A4_T18.js | 36 +-
.../built-ins/RegExp/S15.10.2.7_A4_T19.js | 36 +-
.../built-ins/RegExp/S15.10.2.7_A4_T2.js | 36 +-
.../built-ins/RegExp/S15.10.2.7_A4_T20.js | 36 +-
.../built-ins/RegExp/S15.10.2.7_A4_T21.js | 5 +-
.../built-ins/RegExp/S15.10.2.7_A4_T3.js | 36 +-
.../built-ins/RegExp/S15.10.2.7_A4_T4.js | 36 +-
.../built-ins/RegExp/S15.10.2.7_A4_T5.js | 36 +-
.../built-ins/RegExp/S15.10.2.7_A4_T6.js | 36 +-
.../built-ins/RegExp/S15.10.2.7_A4_T7.js | 36 +-
.../built-ins/RegExp/S15.10.2.7_A4_T8.js | 5 +-
.../built-ins/RegExp/S15.10.2.7_A4_T9.js | 36 +-
.../built-ins/RegExp/S15.10.2.7_A5_T1.js | 36 +-
.../built-ins/RegExp/S15.10.2.7_A5_T10.js | 36 +-
.../built-ins/RegExp/S15.10.2.7_A5_T11.js | 36 +-
.../built-ins/RegExp/S15.10.2.7_A5_T12.js | 36 +-
.../built-ins/RegExp/S15.10.2.7_A5_T2.js | 36 +-
.../built-ins/RegExp/S15.10.2.7_A5_T3.js | 5 +-
.../built-ins/RegExp/S15.10.2.7_A5_T4.js | 36 +-
.../built-ins/RegExp/S15.10.2.7_A5_T5.js | 36 +-
.../built-ins/RegExp/S15.10.2.7_A5_T6.js | 36 +-
.../built-ins/RegExp/S15.10.2.7_A5_T7.js | 36 +-
.../built-ins/RegExp/S15.10.2.7_A5_T8.js | 36 +-
.../built-ins/RegExp/S15.10.2.7_A5_T9.js | 36 +-
.../built-ins/RegExp/S15.10.2.7_A6_T1.js | 36 +-
.../built-ins/RegExp/S15.10.2.7_A6_T2.js | 5 +-
.../built-ins/RegExp/S15.10.2.7_A6_T3.js | 36 +-
.../built-ins/RegExp/S15.10.2.7_A6_T4.js | 36 +-
.../built-ins/RegExp/S15.10.2.7_A6_T5.js | 36 +-
.../built-ins/RegExp/S15.10.2.7_A6_T6.js | 36 +-
.../built-ins/RegExp/S15.10.2.8_A1_T1.js | 36 +-
.../built-ins/RegExp/S15.10.2.8_A1_T2.js | 36 +-
.../built-ins/RegExp/S15.10.2.8_A1_T3.js | 36 +-
.../built-ins/RegExp/S15.10.2.8_A1_T4.js | 36 +-
.../built-ins/RegExp/S15.10.2.8_A1_T5.js | 5 +-
.../built-ins/RegExp/S15.10.2.8_A2_T1.js | 36 +-
.../built-ins/RegExp/S15.10.2.8_A2_T10.js | 36 +-
.../built-ins/RegExp/S15.10.2.8_A2_T11.js | 36 +-
.../built-ins/RegExp/S15.10.2.8_A2_T2.js | 36 +-
.../built-ins/RegExp/S15.10.2.8_A2_T3.js | 5 +-
.../built-ins/RegExp/S15.10.2.8_A2_T4.js | 5 +-
.../built-ins/RegExp/S15.10.2.8_A2_T5.js | 36 +-
.../built-ins/RegExp/S15.10.2.8_A2_T6.js | 36 +-
.../built-ins/RegExp/S15.10.2.8_A2_T7.js | 36 +-
.../built-ins/RegExp/S15.10.2.8_A2_T8.js | 5 +-
.../built-ins/RegExp/S15.10.2.8_A2_T9.js | 36 +-
.../built-ins/RegExp/S15.10.2.8_A3_T1.js | 36 +-
.../built-ins/RegExp/S15.10.2.8_A3_T10.js | 36 +-
.../built-ins/RegExp/S15.10.2.8_A3_T11.js | 36 +-
.../built-ins/RegExp/S15.10.2.8_A3_T12.js | 36 +-
.../built-ins/RegExp/S15.10.2.8_A3_T13.js | 36 +-
.../built-ins/RegExp/S15.10.2.8_A3_T14.js | 36 +-
.../built-ins/RegExp/S15.10.2.8_A3_T15.js | 42 +-
.../built-ins/RegExp/S15.10.2.8_A3_T16.js | 42 +-
.../built-ins/RegExp/S15.10.2.8_A3_T17.js | 36 +-
.../built-ins/RegExp/S15.10.2.8_A3_T18.js | 5 +-
.../built-ins/RegExp/S15.10.2.8_A3_T19.js | 36 +-
.../built-ins/RegExp/S15.10.2.8_A3_T2.js | 36 +-
.../built-ins/RegExp/S15.10.2.8_A3_T20.js | 36 +-
.../built-ins/RegExp/S15.10.2.8_A3_T21.js | 36 +-
.../built-ins/RegExp/S15.10.2.8_A3_T22.js | 36 +-
.../built-ins/RegExp/S15.10.2.8_A3_T23.js | 36 +-
.../built-ins/RegExp/S15.10.2.8_A3_T24.js | 36 +-
.../built-ins/RegExp/S15.10.2.8_A3_T25.js | 36 +-
.../built-ins/RegExp/S15.10.2.8_A3_T26.js | 36 +-
.../built-ins/RegExp/S15.10.2.8_A3_T27.js | 36 +-
.../built-ins/RegExp/S15.10.2.8_A3_T28.js | 36 +-
.../built-ins/RegExp/S15.10.2.8_A3_T29.js | 36 +-
.../built-ins/RegExp/S15.10.2.8_A3_T3.js | 5 +-
.../built-ins/RegExp/S15.10.2.8_A3_T30.js | 36 +-
.../built-ins/RegExp/S15.10.2.8_A3_T31.js | 36 +-
.../built-ins/RegExp/S15.10.2.8_A3_T32.js | 36 +-
.../built-ins/RegExp/S15.10.2.8_A3_T33.js | 36 +-
.../built-ins/RegExp/S15.10.2.8_A3_T4.js | 36 +-
.../built-ins/RegExp/S15.10.2.8_A3_T5.js | 36 +-
.../built-ins/RegExp/S15.10.2.8_A3_T6.js | 36 +-
.../built-ins/RegExp/S15.10.2.8_A3_T7.js | 36 +-
.../built-ins/RegExp/S15.10.2.8_A3_T8.js | 36 +-
.../built-ins/RegExp/S15.10.2.8_A3_T9.js | 36 +-
.../built-ins/RegExp/S15.10.2.8_A4_T1.js | 36 +-
.../built-ins/RegExp/S15.10.2.8_A4_T2.js | 36 +-
.../built-ins/RegExp/S15.10.2.8_A4_T3.js | 36 +-
.../built-ins/RegExp/S15.10.2.8_A4_T4.js | 36 +-
.../built-ins/RegExp/S15.10.2.8_A4_T5.js | 36 +-
.../built-ins/RegExp/S15.10.2.8_A4_T6.js | 36 +-
.../built-ins/RegExp/S15.10.2.8_A4_T7.js | 36 +-
.../built-ins/RegExp/S15.10.2.8_A4_T8.js | 36 +-
.../built-ins/RegExp/S15.10.2.8_A4_T9.js | 36 +-
.../built-ins/RegExp/S15.10.2.8_A5_T1.js | 36 +-
.../built-ins/RegExp/S15.10.2.8_A5_T2.js | 36 +-
.../built-ins/RegExp/S15.10.2.9_A1_T1.js | 36 +-
.../built-ins/RegExp/S15.10.2.9_A1_T2.js | 36 +-
.../built-ins/RegExp/S15.10.2.9_A1_T3.js | 36 +-
.../built-ins/RegExp/S15.10.2.9_A1_T5.js | 36 +-
.../built-ins/RegExp/S15.10.2_A1_T1.js | 9 +-
.../built-ins/RegExp/S15.10.3.1_A1_T1.js | 5 +-
.../built-ins/RegExp/S15.10.3.1_A1_T2.js | 5 +-
.../built-ins/RegExp/S15.10.3.1_A1_T3.js | 5 +-
.../built-ins/RegExp/S15.10.3.1_A1_T4.js | 5 +-
.../built-ins/RegExp/S15.10.3.1_A1_T5.js | 5 +-
.../built-ins/RegExp/S15.10.3.1_A2_T1.js | 13 +-
.../built-ins/RegExp/S15.10.3.1_A2_T2.js | 13 +-
.../built-ins/RegExp/S15.10.3.1_A3_T1.js | 14 +-
.../built-ins/RegExp/S15.10.3.1_A3_T2.js | 14 +-
.../built-ins/RegExp/S15.10.4.1_A1_T1.js | 38 +-
.../built-ins/RegExp/S15.10.4.1_A1_T2.js | 36 +-
.../built-ins/RegExp/S15.10.4.1_A1_T3.js | 36 +-
.../built-ins/RegExp/S15.10.4.1_A1_T4.js | 36 +-
.../built-ins/RegExp/S15.10.4.1_A1_T5.js | 36 +-
.../built-ins/RegExp/S15.10.4.1_A2_T1.js | 1 -
.../built-ins/RegExp/S15.10.4.1_A2_T2.js | 11 +-
.../built-ins/RegExp/S15.10.4.1_A3_T1.js | 17 +-
.../built-ins/RegExp/S15.10.4.1_A3_T2.js | 17 +-
.../built-ins/RegExp/S15.10.4.1_A3_T3.js | 17 +-
.../built-ins/RegExp/S15.10.4.1_A3_T4.js | 17 +-
.../built-ins/RegExp/S15.10.4.1_A3_T5.js | 17 +-
.../built-ins/RegExp/S15.10.4.1_A4_T1.js | 23 +-
.../built-ins/RegExp/S15.10.4.1_A4_T2.js | 17 +-
.../built-ins/RegExp/S15.10.4.1_A4_T3.js | 17 +-
.../built-ins/RegExp/S15.10.4.1_A4_T4.js | 23 +-
.../built-ins/RegExp/S15.10.4.1_A4_T5.js | 17 +-
.../built-ins/RegExp/S15.10.4.1_A5_T1.js | 13 +-
.../built-ins/RegExp/S15.10.4.1_A5_T3.js | 13 +-
.../built-ins/RegExp/S15.10.4.1_A5_T4.js | 13 +-
.../built-ins/RegExp/S15.10.4.1_A5_T6.js | 13 +-
.../built-ins/RegExp/S15.10.4.1_A5_T7.js | 13 +-
.../built-ins/RegExp/S15.10.4.1_A5_T8.js | 13 +-
.../built-ins/RegExp/S15.10.4.1_A5_T9.js | 13 +-
.../built-ins/RegExp/S15.10.4.1_A6_T1.js | 5 +-
.../built-ins/RegExp/S15.10.4.1_A7_T1.js | 5 +-
.../built-ins/RegExp/S15.10.4.1_A7_T2.js | 9 +-
.../built-ins/RegExp/S15.10.4.1_A8_T1.js | 29 +-
.../built-ins/RegExp/S15.10.4.1_A8_T10.js | 29 +-
.../built-ins/RegExp/S15.10.4.1_A8_T11.js | 29 +-
.../built-ins/RegExp/S15.10.4.1_A8_T12.js | 9 +-
.../built-ins/RegExp/S15.10.4.1_A8_T13.js | 9 +-
.../built-ins/RegExp/S15.10.4.1_A8_T2.js | 29 +-
.../built-ins/RegExp/S15.10.4.1_A8_T3.js | 29 +-
.../built-ins/RegExp/S15.10.4.1_A8_T4.js | 29 +-
.../built-ins/RegExp/S15.10.4.1_A8_T5.js | 29 +-
.../built-ins/RegExp/S15.10.4.1_A8_T6.js | 9 +-
.../built-ins/RegExp/S15.10.4.1_A8_T7.js | 9 +-
.../built-ins/RegExp/S15.10.4.1_A8_T8.js | 9 +-
.../built-ins/RegExp/S15.10.4.1_A8_T9.js | 29 +-
.../built-ins/RegExp/S15.10.4.1_A9_T1.js | 13 +-
.../built-ins/RegExp/S15.10.4.1_A9_T2.js | 13 +-
.../built-ins/RegExp/S15.10.4.1_A9_T3.js | 13 +-
.../test262/built-ins/RegExp/S15.10.5_A1.js | 6 +-
.../built-ins/RegExp/S15.10.5_A2_T1.js | 10 +-
.../built-ins/RegExp/S15.10.5_A2_T2.js | 5 +-
.../built-ins/RegExp/S15.10.7_A1_T1.js | 13 +-
.../built-ins/RegExp/S15.10.7_A1_T2.js | 11 +-
.../built-ins/RegExp/S15.10.7_A2_T1.js | 11 +-
.../built-ins/RegExp/S15.10.7_A2_T2.js | 11 +-
.../built-ins/RegExp/S15.10.7_A3_T1.js | 20 +-
.../built-ins/RegExp/S15.10.7_A3_T2.js | 20 +-
.../indices-array-non-unicode-match.js | 2 +-
.../indices-array-unicode-match.js | 2 +-
.../indices-array-unicode-property-names.js | 2 +-
.../RegExp/named-groups/groups-properties.js | 5 +-
.../RegExp/named-groups/lookbehind.js | 29 +-
.../RegExp/named-groups/non-unicode-match.js | 51 +-
.../named-groups/non-unicode-references.js | 12 +-
.../RegExp/named-groups/unicode-match.js | 56 +-
.../RegExp/named-groups/unicode-references.js | 12 +-
.../property-escapes/generated/ASCII.js | 4 +-
.../generated/ASCII_Hex_Digit.js | 4 +-
.../property-escapes/generated/Alphabetic.js | 156 +-
.../RegExp/property-escapes/generated/Any.js | 4 +-
.../property-escapes/generated/Assigned.js | 256 +-
.../generated/Bidi_Control.js | 4 +-
.../generated/Bidi_Mirrored.js | 8 +-
.../generated/Case_Ignorable.js | 82 +-
.../property-escapes/generated/Cased.js | 56 +-
.../generated/Changes_When_Casefolded.js | 32 +-
.../generated/Changes_When_Casemapped.js | 40 +-
.../generated/Changes_When_Lowercased.js | 32 +-
.../generated/Changes_When_NFKC_Casefolded.js | 42 +-
.../generated/Changes_When_Titlecased.js | 32 +-
.../generated/Changes_When_Uppercased.js | 32 +-
.../RegExp/property-escapes/generated/Dash.js | 8 +-
.../generated/Default_Ignorable_Code_Point.js | 8 +-
.../property-escapes/generated/Deprecated.js | 4 +-
.../property-escapes/generated/Diacritic.js | 62 +-
.../property-escapes/generated/Emoji.js | 46 +-
.../generated/Emoji_Component.js | 4 +-
.../generated/Emoji_Modifier.js | 4 +-
.../generated/Emoji_Modifier_Base.js | 12 +-
.../generated/Emoji_Presentation.js | 46 +-
.../generated/Extended_Pictographic.js | 4 +-
.../property-escapes/generated/Extender.js | 8 +-
.../General_Category_-_Cased_Letter.js | 48 +-
.../General_Category_-_Close_Punctuation.js | 14 +-
...eneral_Category_-_Connector_Punctuation.js | 4 +-
.../generated/General_Category_-_Control.js | 4 +-
.../General_Category_-_Currency_Symbol.js | 8 +-
.../General_Category_-_Dash_Punctuation.js | 8 +-
.../General_Category_-_Decimal_Number.js | 8 +-
.../General_Category_-_Enclosing_Mark.js | 4 +-
.../General_Category_-_Final_Punctuation.js | 4 +-
.../generated/General_Category_-_Format.js | 8 +-
.../General_Category_-_Initial_Punctuation.js | 4 +-
.../generated/General_Category_-_Letter.js | 150 +-
.../General_Category_-_Letter_Number.js | 4 +-
.../General_Category_-_Line_Separator.js | 4 +-
.../General_Category_-_Lowercase_Letter.js | 42 +-
.../generated/General_Category_-_Mark.js | 56 +-
.../General_Category_-_Math_Symbol.js | 4 +-
.../General_Category_-_Modifier_Letter.js | 30 +-
.../General_Category_-_Modifier_Symbol.js | 12 +-
.../General_Category_-_Nonspacing_Mark.js | 56 +-
.../generated/General_Category_-_Number.js | 8 +-
.../General_Category_-_Open_Punctuation.js | 14 +-
.../generated/General_Category_-_Other.js | 256 +-
.../General_Category_-_Other_Letter.js | 96 +-
.../General_Category_-_Other_Number.js | 4 +-
.../General_Category_-_Other_Punctuation.js | 28 +-
.../General_Category_-_Other_Symbol.js | 62 +-
.../General_Category_-_Paragraph_Separator.js | 4 +-
.../General_Category_-_Private_Use.js | 4 +-
.../General_Category_-_Punctuation.js | 28 +-
.../generated/General_Category_-_Separator.js | 4 +-
.../General_Category_-_Space_Separator.js | 4 +-
.../General_Category_-_Spacing_Mark.js | 10 +-
.../generated/General_Category_-_Surrogate.js | 4 +-
.../generated/General_Category_-_Symbol.js | 72 +-
.../General_Category_-_Titlecase_Letter.js | 4 +-
.../General_Category_-_Unassigned.js | 256 +-
.../General_Category_-_Uppercase_Letter.js | 30 +-
.../generated/Grapheme_Base.js | 242 +-
.../generated/Grapheme_Extend.js | 56 +-
.../property-escapes/generated/Hex_Digit.js | 4 +-
.../generated/IDS_Binary_Operator.js | 4 +-
.../generated/IDS_Trinary_Operator.js | 4 +-
.../property-escapes/generated/ID_Continue.js | 176 +-
.../property-escapes/generated/ID_Start.js | 150 +-
.../property-escapes/generated/Ideographic.js | 16 +-
.../generated/Join_Control.js | 4 +-
.../generated/Logical_Order_Exception.js | 4 +-
.../property-escapes/generated/Lowercase.js | 50 +-
.../RegExp/property-escapes/generated/Math.js | 4 +-
.../generated/Noncharacter_Code_Point.js | 4 +-
.../generated/Pattern_Syntax.js | 4 +-
.../generated/Pattern_White_Space.js | 4 +-
.../generated/Quotation_Mark.js | 4 +-
.../property-escapes/generated/Radical.js | 4 +-
.../generated/Regional_Indicator.js | 4 +-
.../generated/Script_-_Adlam.js | 4 +-
.../generated/Script_-_Ahom.js | 8 +-
.../Script_-_Anatolian_Hieroglyphs.js | 4 +-
.../generated/Script_-_Arabic.js | 36 +-
.../generated/Script_-_Armenian.js | 4 +-
.../generated/Script_-_Avestan.js | 4 +-
.../generated/Script_-_Balinese.js | 12 +-
.../generated/Script_-_Bamum.js | 4 +-
.../generated/Script_-_Bassa_Vah.js | 4 +-
.../generated/Script_-_Batak.js | 4 +-
.../generated/Script_-_Bengali.js | 4 +-
.../generated/Script_-_Bhaiksuki.js | 4 +-
.../generated/Script_-_Bopomofo.js | 4 +-
.../generated/Script_-_Brahmi.js | 8 +-
.../generated/Script_-_Braille.js | 4 +-
.../generated/Script_-_Buginese.js | 4 +-
.../generated/Script_-_Buhid.js | 4 +-
.../generated/Script_-_Canadian_Aboriginal.js | 10 +-
.../generated/Script_-_Carian.js | 4 +-
.../generated/Script_-_Caucasian_Albanian.js | 4 +-
.../generated/Script_-_Chakma.js | 4 +-
.../generated/Script_-_Cham.js | 4 +-
.../generated/Script_-_Cherokee.js | 4 +-
.../generated/Script_-_Chorasmian.js | 4 +-
.../generated/Script_-_Common.js | 62 +-
.../generated/Script_-_Coptic.js | 4 +-
.../generated/Script_-_Cuneiform.js | 4 +-
.../generated/Script_-_Cypriot.js | 4 +-
.../generated/Script_-_Cypro_Minoan.js | 73 +
.../generated/Script_-_Cyrillic.js | 4 +-
.../generated/Script_-_Deseret.js | 4 +-
.../generated/Script_-_Devanagari.js | 4 +-
.../generated/Script_-_Dives_Akuru.js | 4 +-
.../generated/Script_-_Dogra.js | 4 +-
.../generated/Script_-_Duployan.js | 4 +-
.../Script_-_Egyptian_Hieroglyphs.js | 4 +-
.../generated/Script_-_Elbasan.js | 4 +-
.../generated/Script_-_Elymaic.js | 4 +-
.../generated/Script_-_Ethiopic.js | 18 +-
.../generated/Script_-_Georgian.js | 4 +-
.../generated/Script_-_Glagolitic.js | 10 +-
.../generated/Script_-_Gothic.js | 4 +-
.../generated/Script_-_Grantha.js | 4 +-
.../generated/Script_-_Greek.js | 4 +-
.../generated/Script_-_Gujarati.js | 4 +-
.../generated/Script_-_Gunjala_Gondi.js | 4 +-
.../generated/Script_-_Gurmukhi.js | 4 +-
.../generated/Script_-_Han.js | 20 +-
.../generated/Script_-_Hangul.js | 4 +-
.../generated/Script_-_Hanifi_Rohingya.js | 4 +-
.../generated/Script_-_Hanunoo.js | 4 +-
.../generated/Script_-_Hatran.js | 4 +-
.../generated/Script_-_Hebrew.js | 4 +-
.../generated/Script_-_Hiragana.js | 8 +-
.../generated/Script_-_Imperial_Aramaic.js | 4 +-
.../generated/Script_-_Inherited.js | 20 +-
.../Script_-_Inscriptional_Pahlavi.js | 4 +-
.../Script_-_Inscriptional_Parthian.js | 4 +-
.../generated/Script_-_Javanese.js | 4 +-
.../generated/Script_-_Kaithi.js | 8 +-
.../generated/Script_-_Kannada.js | 11 +-
.../generated/Script_-_Katakana.js | 18 +-
.../generated/Script_-_Kayah_Li.js | 4 +-
.../generated/Script_-_Kharoshthi.js | 4 +-
.../generated/Script_-_Khitan_Small_Script.js | 4 +-
.../generated/Script_-_Khmer.js | 4 +-
.../generated/Script_-_Khojki.js | 4 +-
.../generated/Script_-_Khudawadi.js | 4 +-
.../generated/Script_-_Lao.js | 4 +-
.../generated/Script_-_Latin.js | 34 +-
.../generated/Script_-_Lepcha.js | 4 +-
.../generated/Script_-_Limbu.js | 4 +-
.../generated/Script_-_Linear_A.js | 4 +-
.../generated/Script_-_Linear_B.js | 4 +-
.../generated/Script_-_Lisu.js | 4 +-
.../generated/Script_-_Lycian.js | 4 +-
.../generated/Script_-_Lydian.js | 4 +-
.../generated/Script_-_Mahajani.js | 4 +-
.../generated/Script_-_Makasar.js | 4 +-
.../generated/Script_-_Malayalam.js | 4 +-
.../generated/Script_-_Mandaic.js | 4 +-
.../generated/Script_-_Manichaean.js | 4 +-
.../generated/Script_-_Marchen.js | 4 +-
.../generated/Script_-_Masaram_Gondi.js | 4 +-
.../generated/Script_-_Medefaidrin.js | 4 +-
.../generated/Script_-_Meetei_Mayek.js | 4 +-
.../generated/Script_-_Mende_Kikakui.js | 4 +-
.../generated/Script_-_Meroitic_Cursive.js | 4 +-
.../Script_-_Meroitic_Hieroglyphs.js | 4 +-
.../generated/Script_-_Miao.js | 4 +-
.../generated/Script_-_Modi.js | 4 +-
.../generated/Script_-_Mongolian.js | 10 +-
.../generated/Script_-_Mro.js | 4 +-
.../generated/Script_-_Multani.js | 4 +-
.../generated/Script_-_Myanmar.js | 4 +-
.../generated/Script_-_Nabataean.js | 4 +-
.../generated/Script_-_Nandinagari.js | 4 +-
.../generated/Script_-_New_Tai_Lue.js | 4 +-
.../generated/Script_-_Newa.js | 4 +-
.../generated/Script_-_Nko.js | 4 +-
.../generated/Script_-_Nushu.js | 4 +-
.../Script_-_Nyiakeng_Puachue_Hmong.js | 4 +-
.../generated/Script_-_Ogham.js | 4 +-
.../generated/Script_-_Ol_Chiki.js | 4 +-
.../generated/Script_-_Old_Hungarian.js | 4 +-
.../generated/Script_-_Old_Italic.js | 4 +-
.../generated/Script_-_Old_North_Arabian.js | 4 +-
.../generated/Script_-_Old_Permic.js | 4 +-
.../generated/Script_-_Old_Persian.js | 4 +-
.../generated/Script_-_Old_Sogdian.js | 4 +-
.../generated/Script_-_Old_South_Arabian.js | 4 +-
.../generated/Script_-_Old_Turkic.js | 4 +-
.../generated/Script_-_Old_Uyghur.js | 73 +
.../generated/Script_-_Oriya.js | 4 +-
.../generated/Script_-_Osage.js | 4 +-
.../generated/Script_-_Osmanya.js | 4 +-
.../generated/Script_-_Pahawh_Hmong.js | 4 +-
.../generated/Script_-_Palmyrene.js | 4 +-
.../generated/Script_-_Pau_Cin_Hau.js | 4 +-
.../generated/Script_-_Phags_Pa.js | 4 +-
.../generated/Script_-_Phoenician.js | 4 +-
.../generated/Script_-_Psalter_Pahlavi.js | 4 +-
.../generated/Script_-_Rejang.js | 4 +-
.../generated/Script_-_Runic.js | 4 +-
.../generated/Script_-_Samaritan.js | 4 +-
.../generated/Script_-_Saurashtra.js | 4 +-
.../generated/Script_-_Sharada.js | 4 +-
.../generated/Script_-_Shavian.js | 4 +-
.../generated/Script_-_Siddham.js | 4 +-
.../generated/Script_-_SignWriting.js | 4 +-
.../generated/Script_-_Sinhala.js | 4 +-
.../generated/Script_-_Sogdian.js | 4 +-
.../generated/Script_-_Sora_Sompeng.js | 4 +-
.../generated/Script_-_Soyombo.js | 4 +-
.../generated/Script_-_Sundanese.js | 4 +-
.../generated/Script_-_Syloti_Nagri.js | 4 +-
.../generated/Script_-_Syriac.js | 4 +-
.../generated/Script_-_Tagalog.js | 18 +-
.../generated/Script_-_Tagbanwa.js | 4 +-
.../generated/Script_-_Tai_Le.js | 4 +-
.../generated/Script_-_Tai_Tham.js | 4 +-
.../generated/Script_-_Tai_Viet.js | 4 +-
.../generated/Script_-_Takri.js | 8 +-
.../generated/Script_-_Tamil.js | 4 +-
.../generated/Script_-_Tangsa.js | 76 +
.../generated/Script_-_Tangut.js | 4 +-
.../generated/Script_-_Telugu.js | 15 +-
.../generated/Script_-_Thaana.js | 4 +-
.../generated/Script_-_Thai.js | 4 +-
.../generated/Script_-_Tibetan.js | 4 +-
.../generated/Script_-_Tifinagh.js | 4 +-
.../generated/Script_-_Tirhuta.js | 4 +-
.../generated/Script_-_Toto.js | 73 +
.../generated/Script_-_Ugaritic.js | 4 +-
.../generated/Script_-_Vai.js | 4 +-
.../generated/Script_-_Vithkuqi.js | 88 +
.../generated/Script_-_Wancho.js | 4 +-
.../generated/Script_-_Warang_Citi.js | 4 +-
.../generated/Script_-_Yezidi.js | 4 +-
.../property-escapes/generated/Script_-_Yi.js | 4 +-
.../generated/Script_-_Zanabazar_Square.js | 4 +-
.../generated/Script_Extensions_-_Adlam.js | 8 +-
.../generated/Script_Extensions_-_Ahom.js | 8 +-
...ript_Extensions_-_Anatolian_Hieroglyphs.js | 4 +-
.../generated/Script_Extensions_-_Arabic.js | 36 +-
.../generated/Script_Extensions_-_Armenian.js | 4 +-
.../generated/Script_Extensions_-_Avestan.js | 4 +-
.../generated/Script_Extensions_-_Balinese.js | 12 +-
.../generated/Script_Extensions_-_Bamum.js | 4 +-
.../Script_Extensions_-_Bassa_Vah.js | 4 +-
.../generated/Script_Extensions_-_Batak.js | 4 +-
.../generated/Script_Extensions_-_Bengali.js | 4 +-
.../Script_Extensions_-_Bhaiksuki.js | 4 +-
.../generated/Script_Extensions_-_Bopomofo.js | 4 +-
.../generated/Script_Extensions_-_Brahmi.js | 8 +-
.../generated/Script_Extensions_-_Braille.js | 4 +-
.../generated/Script_Extensions_-_Buginese.js | 4 +-
.../generated/Script_Extensions_-_Buhid.js | 4 +-
...Script_Extensions_-_Canadian_Aboriginal.js | 10 +-
.../generated/Script_Extensions_-_Carian.js | 4 +-
.../Script_Extensions_-_Caucasian_Albanian.js | 4 +-
.../generated/Script_Extensions_-_Chakma.js | 4 +-
.../generated/Script_Extensions_-_Cham.js | 4 +-
.../generated/Script_Extensions_-_Cherokee.js | 4 +-
.../Script_Extensions_-_Chorasmian.js | 4 +-
.../generated/Script_Extensions_-_Common.js | 64 +-
.../generated/Script_Extensions_-_Coptic.js | 4 +-
.../Script_Extensions_-_Cuneiform.js | 4 +-
.../generated/Script_Extensions_-_Cypriot.js | 4 +-
.../Script_Extensions_-_Cypro_Minoan.js | 75 +
.../generated/Script_Extensions_-_Cyrillic.js | 4 +-
.../generated/Script_Extensions_-_Deseret.js | 4 +-
.../Script_Extensions_-_Devanagari.js | 4 +-
.../Script_Extensions_-_Dives_Akuru.js | 4 +-
.../generated/Script_Extensions_-_Dogra.js | 4 +-
.../generated/Script_Extensions_-_Duployan.js | 4 +-
...cript_Extensions_-_Egyptian_Hieroglyphs.js | 4 +-
.../generated/Script_Extensions_-_Elbasan.js | 4 +-
.../generated/Script_Extensions_-_Elymaic.js | 4 +-
.../generated/Script_Extensions_-_Ethiopic.js | 18 +-
.../generated/Script_Extensions_-_Georgian.js | 4 +-
.../Script_Extensions_-_Glagolitic.js | 10 +-
.../generated/Script_Extensions_-_Gothic.js | 4 +-
.../generated/Script_Extensions_-_Grantha.js | 4 +-
.../generated/Script_Extensions_-_Greek.js | 4 +-
.../generated/Script_Extensions_-_Gujarati.js | 4 +-
.../Script_Extensions_-_Gunjala_Gondi.js | 4 +-
.../generated/Script_Extensions_-_Gurmukhi.js | 4 +-
.../generated/Script_Extensions_-_Han.js | 20 +-
.../generated/Script_Extensions_-_Hangul.js | 4 +-
.../Script_Extensions_-_Hanifi_Rohingya.js | 4 +-
.../generated/Script_Extensions_-_Hanunoo.js | 4 +-
.../generated/Script_Extensions_-_Hatran.js | 4 +-
.../generated/Script_Extensions_-_Hebrew.js | 4 +-
.../generated/Script_Extensions_-_Hiragana.js | 8 +-
.../Script_Extensions_-_Imperial_Aramaic.js | 4 +-
.../Script_Extensions_-_Inherited.js | 14 +-
...ript_Extensions_-_Inscriptional_Pahlavi.js | 4 +-
...ipt_Extensions_-_Inscriptional_Parthian.js | 4 +-
.../generated/Script_Extensions_-_Javanese.js | 4 +-
.../generated/Script_Extensions_-_Kaithi.js | 8 +-
.../generated/Script_Extensions_-_Kannada.js | 8 +-
.../generated/Script_Extensions_-_Katakana.js | 18 +-
.../generated/Script_Extensions_-_Kayah_Li.js | 4 +-
.../Script_Extensions_-_Kharoshthi.js | 4 +-
...Script_Extensions_-_Khitan_Small_Script.js | 4 +-
.../generated/Script_Extensions_-_Khmer.js | 4 +-
.../generated/Script_Extensions_-_Khojki.js | 4 +-
.../Script_Extensions_-_Khudawadi.js | 4 +-
.../generated/Script_Extensions_-_Lao.js | 4 +-
.../generated/Script_Extensions_-_Latin.js | 32 +-
.../generated/Script_Extensions_-_Lepcha.js | 4 +-
.../generated/Script_Extensions_-_Limbu.js | 4 +-
.../generated/Script_Extensions_-_Linear_A.js | 4 +-
.../generated/Script_Extensions_-_Linear_B.js | 4 +-
.../generated/Script_Extensions_-_Lisu.js | 4 +-
.../generated/Script_Extensions_-_Lycian.js | 4 +-
.../generated/Script_Extensions_-_Lydian.js | 4 +-
.../generated/Script_Extensions_-_Mahajani.js | 4 +-
.../generated/Script_Extensions_-_Makasar.js | 4 +-
.../Script_Extensions_-_Malayalam.js | 4 +-
.../generated/Script_Extensions_-_Mandaic.js | 4 +-
.../Script_Extensions_-_Manichaean.js | 4 +-
.../generated/Script_Extensions_-_Marchen.js | 4 +-
.../Script_Extensions_-_Masaram_Gondi.js | 4 +-
.../Script_Extensions_-_Medefaidrin.js | 4 +-
.../Script_Extensions_-_Meetei_Mayek.js | 4 +-
.../Script_Extensions_-_Mende_Kikakui.js | 4 +-
.../Script_Extensions_-_Meroitic_Cursive.js | 4 +-
...cript_Extensions_-_Meroitic_Hieroglyphs.js | 4 +-
.../generated/Script_Extensions_-_Miao.js | 4 +-
.../generated/Script_Extensions_-_Modi.js | 4 +-
.../Script_Extensions_-_Mongolian.js | 11 +-
.../generated/Script_Extensions_-_Mro.js | 4 +-
.../generated/Script_Extensions_-_Multani.js | 4 +-
.../generated/Script_Extensions_-_Myanmar.js | 4 +-
.../Script_Extensions_-_Nabataean.js | 4 +-
.../Script_Extensions_-_Nandinagari.js | 4 +-
.../Script_Extensions_-_New_Tai_Lue.js | 4 +-
.../generated/Script_Extensions_-_Newa.js | 4 +-
.../generated/Script_Extensions_-_Nko.js | 21 +-
.../generated/Script_Extensions_-_Nushu.js | 4 +-
...ipt_Extensions_-_Nyiakeng_Puachue_Hmong.js | 4 +-
.../generated/Script_Extensions_-_Ogham.js | 4 +-
.../generated/Script_Extensions_-_Ol_Chiki.js | 4 +-
.../Script_Extensions_-_Old_Hungarian.js | 4 +-
.../Script_Extensions_-_Old_Italic.js | 4 +-
.../Script_Extensions_-_Old_North_Arabian.js | 4 +-
.../Script_Extensions_-_Old_Permic.js | 4 +-
.../Script_Extensions_-_Old_Persian.js | 4 +-
.../Script_Extensions_-_Old_Sogdian.js | 4 +-
.../Script_Extensions_-_Old_South_Arabian.js | 4 +-
.../Script_Extensions_-_Old_Turkic.js | 4 +-
.../Script_Extensions_-_Old_Uyghur.js | 78 +
.../generated/Script_Extensions_-_Oriya.js | 4 +-
.../generated/Script_Extensions_-_Osage.js | 4 +-
.../generated/Script_Extensions_-_Osmanya.js | 4 +-
.../Script_Extensions_-_Pahawh_Hmong.js | 4 +-
.../Script_Extensions_-_Palmyrene.js | 4 +-
.../Script_Extensions_-_Pau_Cin_Hau.js | 4 +-
.../generated/Script_Extensions_-_Phags_Pa.js | 4 +-
.../Script_Extensions_-_Phoenician.js | 4 +-
.../Script_Extensions_-_Psalter_Pahlavi.js | 4 +-
.../generated/Script_Extensions_-_Rejang.js | 4 +-
.../generated/Script_Extensions_-_Runic.js | 4 +-
.../Script_Extensions_-_Samaritan.js | 4 +-
.../Script_Extensions_-_Saurashtra.js | 4 +-
.../generated/Script_Extensions_-_Sharada.js | 4 +-
.../generated/Script_Extensions_-_Shavian.js | 4 +-
.../generated/Script_Extensions_-_Siddham.js | 4 +-
.../Script_Extensions_-_SignWriting.js | 4 +-
.../generated/Script_Extensions_-_Sinhala.js | 4 +-
.../generated/Script_Extensions_-_Sogdian.js | 4 +-
.../Script_Extensions_-_Sora_Sompeng.js | 4 +-
.../generated/Script_Extensions_-_Soyombo.js | 4 +-
.../Script_Extensions_-_Sundanese.js | 4 +-
.../Script_Extensions_-_Syloti_Nagri.js | 4 +-
.../generated/Script_Extensions_-_Syriac.js | 12 +-
.../generated/Script_Extensions_-_Tagalog.js | 18 +-
.../generated/Script_Extensions_-_Tagbanwa.js | 4 +-
.../generated/Script_Extensions_-_Tai_Le.js | 4 +-
.../generated/Script_Extensions_-_Tai_Tham.js | 4 +-
.../generated/Script_Extensions_-_Tai_Viet.js | 4 +-
.../generated/Script_Extensions_-_Takri.js | 8 +-
.../generated/Script_Extensions_-_Tamil.js | 4 +-
.../generated/Script_Extensions_-_Tangsa.js | 76 +
.../generated/Script_Extensions_-_Tangut.js | 4 +-
.../generated/Script_Extensions_-_Telugu.js | 12 +-
.../generated/Script_Extensions_-_Thaana.js | 4 +-
.../generated/Script_Extensions_-_Thai.js | 4 +-
.../generated/Script_Extensions_-_Tibetan.js | 4 +-
.../generated/Script_Extensions_-_Tifinagh.js | 4 +-
.../generated/Script_Extensions_-_Tirhuta.js | 4 +-
.../generated/Script_Extensions_-_Toto.js | 73 +
.../generated/Script_Extensions_-_Ugaritic.js | 4 +-
.../generated/Script_Extensions_-_Vai.js | 4 +-
.../generated/Script_Extensions_-_Vithkuqi.js | 88 +
.../generated/Script_Extensions_-_Wancho.js | 4 +-
.../Script_Extensions_-_Warang_Citi.js | 4 +-
.../generated/Script_Extensions_-_Yezidi.js | 4 +-
.../generated/Script_Extensions_-_Yi.js | 4 +-
.../Script_Extensions_-_Zanabazar_Square.js | 4 +-
.../generated/Sentence_Terminal.js | 20 +-
.../property-escapes/generated/Soft_Dotted.js | 10 +-
.../generated/Terminal_Punctuation.js | 20 +-
.../generated/Unified_Ideograph.js | 16 +-
.../property-escapes/generated/Uppercase.js | 30 +-
.../generated/Variation_Selector.js | 14 +-
.../property-escapes/generated/White_Space.js | 4 +-
.../generated/XID_Continue.js | 176 +-
.../property-escapes/generated/XID_Start.js | 150 +-
.../property-escapes/generated/shell.js | 62 +-
.../Basic_Emoji-negative-CharacterClass.js | 21 +
.../strings/Basic_Emoji-negative-P.js | 21 +
.../strings/Basic_Emoji-negative-u.js | 21 +
.../generated/strings/Basic_Emoji.js | 1402 +++++
...Keycap_Sequence-negative-CharacterClass.js | 21 +
.../Emoji_Keycap_Sequence-negative-P.js | 21 +
.../Emoji_Keycap_Sequence-negative-u.js | 21 +
.../strings/Emoji_Keycap_Sequence.js | 53 +
.../Emoji_Test-negative-CharacterClass.js | 21 +
.../strings/Emoji_Test-negative-P.js | 21 +
.../strings/Emoji_Test-negative-u.js | 21 +
.../generated/strings/Emoji_Test.js | 4743 +++++++++++++++++
.../RGI_Emoji-negative-CharacterClass.js | 21 +
.../generated/strings/RGI_Emoji-negative-P.js | 21 +
.../generated/strings/RGI_Emoji-negative-u.js | 21 +
.../generated/strings/RGI_Emoji.js | 3674 +++++++++++++
...i_Flag_Sequence-negative-CharacterClass.js | 21 +
.../RGI_Emoji_Flag_Sequence-negative-P.js | 21 +
.../RGI_Emoji_Flag_Sequence-negative-u.js | 21 +
.../strings/RGI_Emoji_Flag_Sequence.js | 294 +
...difier_Sequence-negative-CharacterClass.js | 21 +
.../RGI_Emoji_Modifier_Sequence-negative-P.js | 21 +
.../RGI_Emoji_Modifier_Sequence-negative-u.js | 21 +
.../strings/RGI_Emoji_Modifier_Sequence.js | 681 +++
...ji_Tag_Sequence-negative-CharacterClass.js | 21 +
.../RGI_Emoji_Tag_Sequence-negative-P.js | 21 +
.../RGI_Emoji_Tag_Sequence-negative-u.js | 21 +
.../strings/RGI_Emoji_Tag_Sequence.js | 38 +
...ji_ZWJ_Sequence-negative-CharacterClass.js | 21 +
.../RGI_Emoji_ZWJ_Sequence-negative-P.js | 21 +
.../RGI_Emoji_ZWJ_Sequence-negative-u.js | 21 +
.../strings/RGI_Emoji_ZWJ_Sequence.js | 1390 +++++
.../generated/strings}/browser.js | 0
.../generated/strings}/shell.js | 0
.../RegExp/prototype/S15.10.5.1_A1.js | 6 +-
.../RegExp/prototype/S15.10.5.1_A2.js | 26 +-
.../RegExp/prototype/S15.10.5.1_A3.js | 21 +-
.../RegExp/prototype/S15.10.5.1_A4.js | 13 +-
.../RegExp/prototype/S15.10.6.1_A1_T1.js | 10 +-
.../RegExp/prototype/S15.10.6.1_A1_T2.js | 18 +-
.../RegExp/prototype/S15.10.6_A1_T1.js | 10 +-
.../RegExp/prototype/S15.10.6_A1_T2.js | 5 +-
.../RegExp/prototype/Symbol.matchAll/shell.js | 62 +-
.../RegExp/prototype/exec/S15.10.6.2_A10.js | 21 +-
.../RegExp/prototype/exec/S15.10.6.2_A11.js | 15 +-
.../RegExp/prototype/exec/S15.10.6.2_A12.js | 8 +-
.../RegExp/prototype/exec/S15.10.6.2_A1_T1.js | 45 +-
.../prototype/exec/S15.10.6.2_A1_T10.js | 45 +-
.../prototype/exec/S15.10.6.2_A1_T11.js | 45 +-
.../prototype/exec/S15.10.6.2_A1_T12.js | 45 +-
.../prototype/exec/S15.10.6.2_A1_T13.js | 45 +-
.../prototype/exec/S15.10.6.2_A1_T14.js | 45 +-
.../prototype/exec/S15.10.6.2_A1_T15.js | 45 +-
.../prototype/exec/S15.10.6.2_A1_T16.js | 4 +-
.../prototype/exec/S15.10.6.2_A1_T17.js | 45 +-
.../prototype/exec/S15.10.6.2_A1_T18.js | 45 +-
.../prototype/exec/S15.10.6.2_A1_T19.js | 45 +-
.../RegExp/prototype/exec/S15.10.6.2_A1_T2.js | 45 +-
.../prototype/exec/S15.10.6.2_A1_T20.js | 45 +-
.../prototype/exec/S15.10.6.2_A1_T21.js | 45 +-
.../RegExp/prototype/exec/S15.10.6.2_A1_T3.js | 45 +-
.../RegExp/prototype/exec/S15.10.6.2_A1_T4.js | 45 +-
.../RegExp/prototype/exec/S15.10.6.2_A1_T5.js | 45 +-
.../RegExp/prototype/exec/S15.10.6.2_A1_T6.js | 45 +-
.../RegExp/prototype/exec/S15.10.6.2_A1_T7.js | 9 +-
.../RegExp/prototype/exec/S15.10.6.2_A1_T8.js | 7 +-
.../RegExp/prototype/exec/S15.10.6.2_A1_T9.js | 7 +-
.../RegExp/prototype/exec/S15.10.6.2_A2_T1.js | 13 +-
.../prototype/exec/S15.10.6.2_A2_T10.js | 13 +-
.../RegExp/prototype/exec/S15.10.6.2_A2_T2.js | 13 +-
.../RegExp/prototype/exec/S15.10.6.2_A2_T3.js | 13 +-
.../RegExp/prototype/exec/S15.10.6.2_A2_T4.js | 15 +-
.../RegExp/prototype/exec/S15.10.6.2_A2_T5.js | 11 +-
.../RegExp/prototype/exec/S15.10.6.2_A2_T6.js | 13 +-
.../RegExp/prototype/exec/S15.10.6.2_A2_T7.js | 13 +-
.../RegExp/prototype/exec/S15.10.6.2_A2_T8.js | 13 +-
.../RegExp/prototype/exec/S15.10.6.2_A2_T9.js | 13 +-
.../RegExp/prototype/exec/S15.10.6.2_A3_T1.js | 18 +-
.../RegExp/prototype/exec/S15.10.6.2_A3_T2.js | 13 +-
.../RegExp/prototype/exec/S15.10.6.2_A3_T3.js | 17 +-
.../RegExp/prototype/exec/S15.10.6.2_A3_T4.js | 17 +-
.../RegExp/prototype/exec/S15.10.6.2_A3_T5.js | 22 +-
.../RegExp/prototype/exec/S15.10.6.2_A3_T6.js | 22 +-
.../RegExp/prototype/exec/S15.10.6.2_A3_T7.js | 22 +-
.../RegExp/prototype/exec/S15.10.6.2_A4_T1.js | 72 +-
.../prototype/exec/S15.10.6.2_A4_T10.js | 72 +-
.../prototype/exec/S15.10.6.2_A4_T11.js | 43 +-
.../prototype/exec/S15.10.6.2_A4_T12.js | 72 +-
.../RegExp/prototype/exec/S15.10.6.2_A4_T2.js | 72 +-
.../RegExp/prototype/exec/S15.10.6.2_A4_T3.js | 72 +-
.../RegExp/prototype/exec/S15.10.6.2_A4_T4.js | 72 +-
.../RegExp/prototype/exec/S15.10.6.2_A4_T5.js | 72 +-
.../RegExp/prototype/exec/S15.10.6.2_A4_T6.js | 72 +-
.../RegExp/prototype/exec/S15.10.6.2_A4_T7.js | 72 +-
.../RegExp/prototype/exec/S15.10.6.2_A4_T8.js | 72 +-
.../RegExp/prototype/exec/S15.10.6.2_A4_T9.js | 72 +-
.../RegExp/prototype/exec/S15.10.6.2_A5_T1.js | 47 +-
.../RegExp/prototype/exec/S15.10.6.2_A5_T2.js | 11 +-
.../RegExp/prototype/exec/S15.10.6.2_A5_T3.js | 22 +-
.../RegExp/prototype/exec/S15.10.6.2_A6.js | 10 +-
.../RegExp/prototype/exec/S15.10.6.2_A7.js | 10 +-
.../RegExp/prototype/exec/S15.10.6.2_A8.js | 30 +-
.../RegExp/prototype/exec/S15.10.6.2_A9.js | 28 +-
.../prototype/exec/failure-lastindex-set.js | 73 +
.../RegExp/prototype/global/S15.10.7.2_A10.js | 10 +-
.../RegExp/prototype/global/S15.10.7.2_A8.js | 25 +-
.../RegExp/prototype/global/S15.10.7.2_A9.js | 17 +-
.../prototype/ignoreCase/S15.10.7.3_A10.js | 14 +-
.../prototype/ignoreCase/S15.10.7.3_A8.js | 25 +-
.../prototype/ignoreCase/S15.10.7.3_A9.js | 17 +-
.../prototype/multiline/S15.10.7.4_A10.js | 10 +-
.../prototype/multiline/S15.10.7.4_A8.js | 25 +-
.../prototype/multiline/S15.10.7.4_A9.js | 17 +-
.../RegExp/prototype/test/S15.10.6.3_A10.js | 21 +-
.../RegExp/prototype/test/S15.10.6.3_A11.js | 15 +-
.../RegExp/prototype/test/S15.10.6.3_A1_T1.js | 9 +-
.../prototype/test/S15.10.6.3_A1_T10.js | 9 +-
.../prototype/test/S15.10.6.3_A1_T11.js | 9 +-
.../prototype/test/S15.10.6.3_A1_T12.js | 9 +-
.../prototype/test/S15.10.6.3_A1_T13.js | 9 +-
.../prototype/test/S15.10.6.3_A1_T14.js | 9 +-
.../prototype/test/S15.10.6.3_A1_T15.js | 9 +-
.../prototype/test/S15.10.6.3_A1_T16.js | 5 +-
.../prototype/test/S15.10.6.3_A1_T17.js | 5 +-
.../prototype/test/S15.10.6.3_A1_T18.js | 9 +-
.../prototype/test/S15.10.6.3_A1_T19.js | 9 +-
.../RegExp/prototype/test/S15.10.6.3_A1_T2.js | 9 +-
.../prototype/test/S15.10.6.3_A1_T20.js | 5 +-
.../prototype/test/S15.10.6.3_A1_T21.js | 9 +-
.../prototype/test/S15.10.6.3_A1_T22.js | 22 +-
.../RegExp/prototype/test/S15.10.6.3_A1_T3.js | 9 +-
.../RegExp/prototype/test/S15.10.6.3_A1_T4.js | 9 +-
.../RegExp/prototype/test/S15.10.6.3_A1_T5.js | 9 +-
.../RegExp/prototype/test/S15.10.6.3_A1_T6.js | 9 +-
.../RegExp/prototype/test/S15.10.6.3_A1_T7.js | 9 +-
.../RegExp/prototype/test/S15.10.6.3_A1_T8.js | 7 +-
.../RegExp/prototype/test/S15.10.6.3_A1_T9.js | 11 +-
.../RegExp/prototype/test/S15.10.6.3_A2_T1.js | 11 +-
.../prototype/test/S15.10.6.3_A2_T10.js | 11 +-
.../RegExp/prototype/test/S15.10.6.3_A2_T2.js | 11 +-
.../RegExp/prototype/test/S15.10.6.3_A2_T3.js | 11 +-
.../RegExp/prototype/test/S15.10.6.3_A2_T4.js | 13 +-
.../RegExp/prototype/test/S15.10.6.3_A2_T5.js | 11 +-
.../RegExp/prototype/test/S15.10.6.3_A2_T6.js | 11 +-
.../RegExp/prototype/test/S15.10.6.3_A2_T7.js | 11 +-
.../RegExp/prototype/test/S15.10.6.3_A2_T8.js | 11 +-
.../RegExp/prototype/test/S15.10.6.3_A2_T9.js | 11 +-
.../RegExp/prototype/test/S15.10.6.3_A6.js | 10 +-
.../RegExp/prototype/test/S15.10.6.3_A7.js | 10 +-
.../RegExp/prototype/test/S15.10.6.3_A8.js | 30 +-
.../RegExp/prototype/test/S15.10.6.3_A9.js | 28 +-
.../prototype/toString/S15.10.6.4_A10.js | 21 +-
.../prototype/toString/S15.10.6.4_A11.js | 19 +-
.../prototype/toString/S15.10.6.4_A6.js | 10 +-
.../prototype/toString/S15.10.6.4_A7.js | 14 +-
.../prototype/toString/S15.10.6.4_A8.js | 30 +-
.../prototype/toString/S15.10.6.4_A9.js | 28 +-
.../next/shell.js | 62 +-
.../built-ins/Set/Symbol.species/length.js | 2 +-
.../Set/Symbol.species/symbol-species-name.js | 2 +-
.../Set/Symbol.species/symbol-species.js | 6 +-
.../built-ins/Set/bigint-number-same-value.js | 46 +
.../test262/built-ins/Set/constructor.js | 2 +-
js/src/tests/test262/built-ins/Set/length.js | 2 +-
js/src/tests/test262/built-ins/Set/name.js | 2 +-
.../properties-of-the-set-prototype-object.js | 2 +-
.../test262/built-ins/Set/prototype-of-set.js | 2 +-
.../Set/prototype/Symbol.iterator.js | 2 +-
.../Set/prototype/Symbol.toStringTag.js | 2 +-
.../Symbol.toStringTag/property-descriptor.js | 2 +-
.../built-ins/Set/prototype/add/add.js | 2 +-
...es-not-have-setdata-internal-slot-array.js | 2 +-
...does-not-have-setdata-internal-slot-map.js | 2 +-
...s-not-have-setdata-internal-slot-object.js | 2 +-
...ave-setdata-internal-slot-set-prototype.js | 2 +-
...-not-have-setdata-internal-slot-weakset.js | 2 +-
.../built-ins/Set/prototype/add/length.js | 2 +-
.../built-ins/Set/prototype/add/name.js | 2 +-
.../add/preserves-insertion-order.js | 2 +-
.../returns-this-when-ignoring-duplicate.js | 2 +-
.../Set/prototype/add/returns-this.js | 2 +-
.../add/this-not-object-throw-boolean.js | 2 +-
.../add/this-not-object-throw-null.js | 2 +-
.../add/this-not-object-throw-number.js | 2 +-
.../add/this-not-object-throw-string.js | 2 +-
.../add/this-not-object-throw-symbol.js | 2 +-
.../add/this-not-object-throw-undefined.js | 2 +-
...ot-add-duplicate-entry-initial-iterable.js | 2 +-
...not-add-duplicate-entry-normalizes-zero.js | 2 +-
.../add/will-not-add-duplicate-entry.js | 2 +-
.../built-ins/Set/prototype/clear/clear.js | 2 +-
.../clears-all-contents-from-iterable.js | 2 +-
.../prototype/clear/clears-all-contents.js | 2 +-
.../prototype/clear/clears-an-empty-set.js | 2 +-
...es-not-have-setdata-internal-slot-array.js | 2 +-
...does-not-have-setdata-internal-slot-map.js | 2 +-
...s-not-have-setdata-internal-slot-object.js | 2 +-
...ave-setdata-internal-slot-set.prototype.js | 2 +-
...-not-have-setdata-internal-slot-weakset.js | 2 +-
.../built-ins/Set/prototype/clear/length.js | 2 +-
.../built-ins/Set/prototype/clear/name.js | 2 +-
.../Set/prototype/clear/returns-undefined.js | 2 +-
.../clear/this-not-object-throw-boolean.js | 2 +-
.../clear/this-not-object-throw-null.js | 2 +-
.../clear/this-not-object-throw-number.js | 2 +-
.../clear/this-not-object-throw-string.js | 2 +-
.../clear/this-not-object-throw-symbol.js | 2 +-
.../clear/this-not-object-throw-undefined.js | 2 +-
.../set-prototype-constructor-intrinsic.js | 2 +-
.../constructor/set-prototype-constructor.js | 2 +-
.../delete/delete-entry-initial-iterable.js | 2 +-
.../delete/delete-entry-normalizes-zero.js | 2 +-
.../Set/prototype/delete/delete-entry.js | 2 +-
.../built-ins/Set/prototype/delete/delete.js | 2 +-
...es-not-have-setdata-internal-slot-array.js | 2 +-
...does-not-have-setdata-internal-slot-map.js | 2 +-
...s-not-have-setdata-internal-slot-object.js | 2 +-
...ave-setdata-internal-slot-set-prototype.js | 2 +-
...-not-have-setdata-internal-slot-weakset.js | 2 +-
.../built-ins/Set/prototype/delete/length.js | 2 +-
.../built-ins/Set/prototype/delete/name.js | 2 +-
.../returns-false-when-delete-is-noop.js | 2 +-
...turns-true-when-delete-operation-occurs.js | 2 +-
.../delete/this-not-object-throw-boolean.js | 2 +-
.../delete/this-not-object-throw-null.js | 2 +-
.../delete/this-not-object-throw-number.js | 2 +-
.../delete/this-not-object-throw-string.js | 2 +-
.../delete/this-not-object-throw-symbol.js | 2 +-
.../delete/this-not-object-throw-undefined.js | 2 +-
...es-not-have-setdata-internal-slot-array.js | 2 +-
...does-not-have-setdata-internal-slot-map.js | 2 +-
...s-not-have-setdata-internal-slot-object.js | 2 +-
...ave-setdata-internal-slot-set-prototype.js | 2 +-
...-not-have-setdata-internal-slot-weakset.js | 2 +-
.../Set/prototype/entries/entries.js | 2 +-
.../built-ins/Set/prototype/entries/length.js | 2 +-
.../built-ins/Set/prototype/entries/name.js | 2 +-
.../entries/returns-iterator-empty.js | 2 +-
.../Set/prototype/entries/returns-iterator.js | 2 +-
.../entries/this-not-object-throw-boolean.js | 2 +-
.../entries/this-not-object-throw-null.js | 2 +-
.../entries/this-not-object-throw-number.js | 2 +-
.../entries/this-not-object-throw-string.js | 2 +-
.../entries/this-not-object-throw-symbol.js | 2 +-
.../this-not-object-throw-undefined.js | 2 +-
.../forEach/callback-not-callable-boolean.js | 2 +-
.../forEach/callback-not-callable-null.js | 2 +-
.../forEach/callback-not-callable-number.js | 2 +-
.../forEach/callback-not-callable-string.js | 2 +-
.../forEach/callback-not-callable-symbol.js | 2 +-
.../callback-not-callable-undefined.js | 2 +-
...es-not-have-setdata-internal-slot-array.js | 2 +-
...does-not-have-setdata-internal-slot-map.js | 2 +-
...s-not-have-setdata-internal-slot-object.js | 2 +-
...ave-setdata-internal-slot-set-prototype.js | 2 +-
...-not-have-setdata-internal-slot-weakset.js | 2 +-
.../Set/prototype/forEach/forEach.js | 2 +-
.../forEach/iterates-in-insertion-order.js | 2 +-
.../iterates-in-iterable-entry-order.js | 2 +-
...rates-values-added-after-foreach-begins.js | 2 +-
.../iterates-values-deleted-then-readded.js | 2 +-
.../forEach/iterates-values-not-deleted.js | 2 +-
...tes-values-revisits-after-delete-re-add.js | 2 +-
.../built-ins/Set/prototype/forEach/length.js | 2 +-
.../built-ins/Set/prototype/forEach/name.js | 2 +-
.../prototype/forEach/returns-undefined.js | 2 +-
...icit-cannot-override-lexical-this-arrow.js | 2 +-
.../prototype/forEach/this-arg-explicit.js | 2 +-
.../Set/prototype/forEach/this-non-strict.js | 2 +-
.../forEach/this-not-object-throw-boolean.js | 2 +-
.../forEach/this-not-object-throw-null.js | 2 +-
.../forEach/this-not-object-throw-number.js | 2 +-
.../forEach/this-not-object-throw-string.js | 2 +-
.../forEach/this-not-object-throw-symbol.js | 2 +-
.../this-not-object-throw-undefined.js | 2 +-
.../prototype/forEach/this-strict-strict.js | 2 +-
.../forEach/throws-when-callback-throws.js | 2 +-
...es-not-have-setdata-internal-slot-array.js | 2 +-
...does-not-have-setdata-internal-slot-map.js | 2 +-
...s-not-have-setdata-internal-slot-object.js | 2 +-
...ave-setdata-internal-slot-set-prototype.js | 2 +-
...-not-have-setdata-internal-slot-weakset.js | 2 +-
.../built-ins/Set/prototype/has/has.js | 2 +-
.../built-ins/Set/prototype/has/length.js | 2 +-
.../built-ins/Set/prototype/has/name.js | 2 +-
...ned-added-deleted-not-present-undefined.js | 2 +-
...ns-false-when-value-not-present-boolean.js | 2 +-
...eturns-false-when-value-not-present-nan.js | 2 +-
...turns-false-when-value-not-present-null.js | 2 +-
...rns-false-when-value-not-present-number.js | 2 +-
...rns-false-when-value-not-present-string.js | 2 +-
...rns-false-when-value-not-present-symbol.js | 2 +-
...-false-when-value-not-present-undefined.js | 2 +-
...returns-true-when-value-present-boolean.js | 2 +-
.../returns-true-when-value-present-nan.js | 2 +-
.../returns-true-when-value-present-null.js | 2 +-
.../returns-true-when-value-present-number.js | 2 +-
.../returns-true-when-value-present-string.js | 2 +-
.../returns-true-when-value-present-symbol.js | 2 +-
...turns-true-when-value-present-undefined.js | 2 +-
.../has/this-not-object-throw-boolean.js | 2 +-
.../has/this-not-object-throw-null.js | 2 +-
.../has/this-not-object-throw-number.js | 2 +-
.../has/this-not-object-throw-string.js | 2 +-
.../has/this-not-object-throw-symbol.js | 2 +-
.../has/this-not-object-throw-undefined.js | 2 +-
.../built-ins/Set/prototype/keys/keys.js | 8 +-
.../built-ins/Set/prototype/set-prototype.js | 17 -
.../built-ins/Set/prototype/size/length.js | 2 +-
.../built-ins/Set/prototype/size/name.js | 2 +-
...-present-values-before-after-add-delete.js | 2 +-
...ns-count-of-present-values-by-insertion.js | 2 +-
...rns-count-of-present-values-by-iterable.js | 2 +-
.../built-ins/Set/prototype/size/size.js | 2 +-
...es-not-have-setdata-internal-slot-array.js | 2 +-
...does-not-have-setdata-internal-slot-map.js | 2 +-
...s-not-have-setdata-internal-slot-object.js | 2 +-
...ave-setdata-internal-slot-set-prototype.js | 2 +-
...-not-have-setdata-internal-slot-weakset.js | 2 +-
.../built-ins/Set/prototype/values/length.js | 2 +-
.../built-ins/Set/prototype/values/name.js | 2 +-
.../values/returns-iterator-empty.js | 6 +-
.../Set/prototype/values/returns-iterator.js | 8 +-
.../values/this-not-object-throw-boolean.js | 2 +-
.../values/this-not-object-throw-null.js | 2 +-
.../values/this-not-object-throw-number.js | 2 +-
.../values/this-not-object-throw-string.js | 2 +-
.../values/this-not-object-throw-symbol.js | 2 +-
.../values/this-not-object-throw-undefined.js | 2 +-
.../values/values-iteration-mutable.js | 12 +-
.../built-ins/Set/prototype/values/values.js | 2 +-
...does-not-throw-when-add-is-not-callable.js | 2 +-
.../Set/set-get-add-method-failure.js | 2 +-
.../built-ins/Set/set-iterable-calls-add.js | 2 +-
.../set-iterable-empty-does-not-call-add.js | 2 +-
...terable-throws-when-add-is-not-callable.js | 2 +-
.../test262/built-ins/Set/set-iterable.js | 2 +-
.../set-iterator-close-after-add-failure.js | 2 +-
.../Set/set-iterator-next-failure.js | 2 +-
.../Set/set-iterator-value-failure.js | 2 +-
.../test262/built-ins/Set/set-newtarget.js | 2 +-
.../test262/built-ins/Set/set-no-iterable.js | 2 +-
.../built-ins/Set/set-undefined-newtarget.js | 2 +-
js/src/tests/test262/built-ins/Set/set.js | 2 +-
.../test262/built-ins/Set/symbol-as-entry.js | 19 -
.../test262/built-ins/Set/valid-values.js | 390 ++
.../next/iteration-mutable.js | 2 +-
.../SetIteratorPrototype/next/iteration.js | 2 +-
.../WrappedFunction}/browser.js | 0
.../length-throws-typeerror.js | 39 +
.../ShadowRealm/WrappedFunction/length.js | 125 +
.../WrappedFunction/name-throws-typeerror.js | 39 +
.../ShadowRealm/WrappedFunction/name.js | 86 +
.../WrappedFunction}/shell.js | 0
.../throws-typeerror-on-revoked-proxy.js | 43 +
.../evaluate => ShadowRealm}/browser.js | 0
.../built-ins/ShadowRealm/constructor.js | 21 +
.../{Realm => ShadowRealm}/descriptor.js | 10 +-
.../{Realm => ShadowRealm}/extensibility.js | 10 +-
.../instance-extensibility.js | 16 +-
.../test262/built-ins/ShadowRealm/instance.js | 36 +
.../{Realm => ShadowRealm}/length.js | 12 +-
.../built-ins/{Realm => ShadowRealm}/name.js | 20 +-
.../built-ins/{Realm => ShadowRealm}/proto.js | 10 +-
.../prototype/Symbol.toStringTag.js | 12 +-
.../prototype}/browser.js | 0
.../prototype/evaluate}/browser.js | 0
.../prototype/evaluate/descriptor.js | 10 +-
...other-realm-is-wrapped-into-a-typeerror.js | 29 +
.../globalthis-available-properties.js | 108 +
.../globalthis-config-only-properties.js | 101 +
.../evaluate/globalthis-orginary-object.js | 69 +
.../prototype/evaluate/length.js | 12 +-
.../prototype/evaluate/name.js | 20 +-
.../prototype/evaluate/nested-realms.js | 40 +
.../evaluate/no-conditional-strict-mode.js | 37 +
.../prototype/evaluate/not-constructor.js | 37 +
.../prototype/evaluate/proto.js | 10 +-
.../evaluate/returns-primitive-values.js | 14 +-
.../evaluate/returns-proxy-callable-object.js | 28 +
.../evaluate/returns-symbol-values.js | 54 +
.../prototype/evaluate}/shell.js | 0
.../evaluate/throws-error-from-ctor-realm.js | 35 +
.../throws-syntaxerror-on-bad-syntax.js | 33 +
...if-evaluation-resolves-to-non-primitive.js | 14 +-
.../throws-typeerror-wrap-throwing.js | 73 +
.../throws-when-argument-is-not-a-string.js | 14 +-
.../evaluate/validates-realm-object.js | 24 +
...e-wrapped-into-the-inner-realm-extended.js | 14 +-
...uments-are-wrapped-into-the-inner-realm.js | 14 +-
...on-from-return-values-share-no-identity.js | 14 +-
...nction-multiple-different-realms-nested.js | 58 +
...pped-function-multiple-different-realms.js | 51 +
...wrapped-function-observing-their-scopes.js | 16 +-
...rapped-function-proto-from-caller-realm.js | 56 +
...pped-function-proxied-observes-boundary.js | 44 +
...tion-throws-typeerror-from-caller-realm.js | 42 +
...on-throws-typeerror-on-exceptional-exit.js | 42 +
...ws-typeerror-on-non-primitive-arguments.js | 36 +
...rows-typeerror-on-non-primitive-returns.js | 31 +
...pped-functions-accepts-callable-objects.js | 15 +-
...-functions-can-resolve-callable-returns.js | 14 +-
...nctions-new-wrapping-on-each-evaluation.js | 18 +-
...-functions-share-no-properties-extended.js | 14 +-
.../wrapped-functions-share-no-properties.js | 14 +-
.../prototype/importValue}/browser.js | 0
.../prototype/importValue/descriptor.js | 10 +-
.../importValue/exportName-tostring.js | 14 +-
.../prototype/importValue/import-value.js | 24 +
.../importValue/import-value_FIXTURE.js | 0
.../import-value_syntax_error_FIXTURE.js | 5 +
.../import-value_throws_FIXTURE.js | 5 +
.../prototype/importValue/length.js | 10 +-
.../prototype/importValue/name.js | 22 +-
.../prototype/importValue/not-constructor.js | 34 +
.../prototype/importValue/proto.js | 10 +-
.../prototype/importValue}/shell.js | 0
.../importValue/specifier-tostring.js | 76 +
.../throws-if-import-value-does-not-exist.js | 29 +-
.../throws-typeerror-import-syntax-error.js | 35 +
.../throws-typeerror-import-throws.js | 35 +
.../importValue/validates-realm-object.js | 24 +
.../{Realm => ShadowRealm}/prototype/proto.js | 8 +-
.../prototype}/shell.js | 0
.../built-ins/{Realm => ShadowRealm}/shell.js | 0
.../options-maxbytelength-diminuitive.js | 2 +-
.../options-maxbytelength-excessive.js | 2 +-
.../options-maxbytelength-negative.js | 2 +-
.../options-maxbytelength-object.js | 2 +-
.../options-maxbytelength-poisoned.js | 2 +-
.../options-maxbytelength-undefined.js | 2 +-
.../SharedArrayBuffer/options-non-object.js | 2 +-
.../prototype-from-newtarget.js | 2 +-
.../prototype/grow/descriptor.js | 2 +-
.../prototype/grow/extensible.js | 2 +-
.../prototype/grow/grow-larger-size.js | 2 +-
.../prototype/grow/grow-same-size.js | 2 +-
.../prototype/grow/grow-smaller-size.js | 2 +-
.../prototype/grow/length.js | 2 +-
.../SharedArrayBuffer/prototype/grow/name.js | 2 +-
.../prototype/grow/new-length-excessive.js | 2 +-
.../prototype/grow/new-length-negative.js | 2 +-
.../prototype/grow/new-length-non-number.js | 2 +-
.../prototype/grow/nonconstructor.js | 2 +-
.../grow/this-is-not-arraybuffer-object.js | 2 +-
.../prototype/grow/this-is-not-object.js | 2 +-
...his-is-not-resizable-arraybuffer-object.js | 2 +-
.../grow/this-is-sharedarraybuffer.js | 2 +-
.../prototype/growable/invoked-as-accessor.js | 2 +-
.../prototype/growable/invoked-as-func.js | 2 +-
.../prototype/growable/length.js | 2 +-
.../prototype/growable/name.js | 2 +-
.../prototype/growable/prop-desc.js | 2 +-
.../prototype/growable/return-growable.js | 2 +-
.../this-has-no-arraybufferdata-internal.js | 2 +-
.../prototype/growable/this-is-arraybuffer.js | 2 +-
.../prototype/growable/this-is-not-object.js | 2 +-
.../maxByteLength/invoked-as-accessor.js | 2 +-
.../maxByteLength/invoked-as-func.js | 2 +-
.../prototype/maxByteLength/length.js | 2 +-
.../prototype/maxByteLength/name.js | 2 +-
.../prototype/maxByteLength/prop-desc.js | 2 +-
.../return-maxbytelength-growable.js | 2 +-
.../return-maxbytelength-non-growable.js | 2 +-
.../this-has-no-arraybufferdata-internal.js | 2 +-
.../maxByteLength/this-is-arraybuffer.js | 2 +-
.../maxByteLength/this-is-not-object.js | 2 +-
.../SharedArrayBuffer/prototype/prop-desc.js | 18 +
.../prototype/slice/this-is-arraybuffer.js | 2 +-
.../prototype/localeCompare/15.5.4.9_CE.js | 42 +-
.../String/prototype/matchAll/shell.js | 62 +-
.../test262/built-ins/Symbol/species/basic.js | 3 +-
.../built-ins/Temporal/Calendar/builtin.js | 30 +
.../Temporal/Calendar/constructor.js | 15 +
.../era => Calendar/from}/browser.js | 0
.../Temporal/Calendar/from/builtin.js | 33 +
.../Calendar/from/calendar-object-invalid.js | 14 +
.../from/calendar-object-operations.js | 42 +
.../Temporal/Calendar/from/calendar-object.js | 24 +
.../Calendar/from/calendar-string-builtin.js | 22 +
.../from/calendar-string-not-builtin.js | 22 +
.../Calendar/from/calendar-temporal-object.js | 23 +
.../Temporal/Calendar/from/length.js | 28 +
.../built-ins/Temporal/Calendar/from/name.js | 26 +
.../Calendar/from/not-a-constructor.js | 23 +
.../Temporal/Calendar/from/prop-desc.js | 24 +
.../built-ins/Temporal/Calendar/from/shell.js | 1517 ++++++
.../Calendar/from/subclassing-ignored.js | 22 +
.../built-ins/Temporal/Calendar/length.js | 28 +
.../Temporal/Calendar/missing-arguments.js | 14 +
.../built-ins/Temporal/Calendar/name.js | 26 +
.../built-ins/Temporal/Calendar/prop-desc.js | 24 +
.../dateAdd/argument-plaindatetime.js | 26 +
.../dateAdd/argument-string-invalid.js | 64 +
.../argument-string-with-utc-designator.js | 24 +
...one-getoffsetnanosecondsfor-non-integer.js | 20 +
...ne-getoffsetnanosecondsfor-not-callable.js | 24 +
...ne-getoffsetnanosecondsfor-out-of-range.js | 20 +
...zone-getoffsetnanosecondsfor-wrong-type.js | 29 +
.../dateAdd/balance-smaller-units.js | 25 +
.../Calendar/prototype/dateAdd/basic.js | 53 +
.../Calendar/prototype/dateAdd/branding.js | 20 +-
.../Calendar/prototype/dateAdd/builtin.js | 36 +
...romfields-called-with-options-undefined.js | 18 +
.../dateAdd/calendar-fields-iterable.js | 36 +
.../dateAdd/calendar-temporal-object.js | 30 +
.../date-infinity-throws-rangeerror.js | 29 +
...gument-string-negative-fractional-units.js | 21 +
.../Calendar/prototype/dateAdd/length.js | 28 +
.../Calendar/prototype/dateAdd/name.js | 26 +
.../prototype/dateAdd/not-a-constructor.js | 24 +
.../dateAdd/overflow-invalid-string.js | 30 +
.../prototype/dateAdd/overflow-undefined.js | 28 +
.../prototype/dateAdd/overflow-wrong-type.js | 27 +
.../Calendar/prototype/dateAdd/prop-desc.js | 24 +
.../Calendar/prototype/dateAdd/shell.js | 1329 ++++-
...row-range-error-from-ToTemporalOverflow.js | 18 -
...row-type-error-from-RequireInternalSlot.js | 20 -
.../Calendar/prototype/dateAdd/year-zero.js | 20 +
.../prototype/dateFromFields/branding.js | 20 +-
.../prototype/dateFromFields/builtin.js | 36 +
.../dateFromFields/fields-not-object.js | 23 +
.../infinity-throws-rangeerror.js | 28 +
.../prototype/dateFromFields/length.js | 28 +
.../Calendar/prototype/dateFromFields/name.js | 26 +
.../dateFromFields/not-a-constructor.js | 24 +
.../dateFromFields/overflow-invalid-string.js | 31 +
.../dateFromFields/overflow-undefined.js | 28 +
.../dateFromFields/overflow-wrong-type.js | 27 +
.../prototype/dateFromFields/prop-desc.js | 24 +
.../prototype/dateFromFields/shell.js | 1329 ++++-
...hrow-range-error-from-ISODateFromFields.js | 17 -
.../throw-type-error-fields-is-not-object.js | 22 -
...row-type-error-from-RequireInternalSlot.js | 18 -
.../dateFromFields/throws-range-error.js | 3 +-
.../argument-infinity-throws-rangeerror.js | 34 +
.../dateUntil/argument-plaindatetime.js | 33 +
.../dateUntil/argument-string-invalid.js | 70 +
.../argument-string-with-utc-designator.js | 30 +
...one-getoffsetnanosecondsfor-non-integer.js | 22 +
...ne-getoffsetnanosecondsfor-not-callable.js | 30 +
...ne-getoffsetnanosecondsfor-out-of-range.js | 22 +
...zone-getoffsetnanosecondsfor-wrong-type.js | 31 +
.../Calendar/prototype/dateUntil/basic.js | 48 +
.../Calendar/prototype/dateUntil/branding.js | 20 +-
.../Calendar/prototype/dateUntil/builtin.js | 36 +
...romfields-called-with-options-undefined.js | 18 +
.../dateUntil/calendar-fields-iterable.js | 43 +
.../dateUntil/calendar-temporal-object.js | 33 +
.../dateUntil/largestunit-plurals-accepted.js | 23 +
.../Calendar/prototype/dateUntil/length.js | 28 +
.../Calendar/prototype/dateUntil/name.js | 26 +
.../prototype/dateUntil/not-a-constructor.js | 24 +
.../Calendar/prototype/dateUntil/prop-desc.js | 24 +
.../Calendar/prototype/dateUntil/shell.js | 1329 ++++-
...hrows-range-error-ToLargestTemporalUnit.js | 2 +-
.../throws-type-error-RequireInternalSlot.js | 19 -
.../Calendar/prototype/dateUntil/year-zero.js | 27 +
.../prototype/day/argument-string-invalid.js | 64 +
.../argument-string-with-utc-designator.js | 24 +
...one-getoffsetnanosecondsfor-non-integer.js | 19 +
...ne-getoffsetnanosecondsfor-not-callable.js | 23 +
...ne-getoffsetnanosecondsfor-out-of-range.js | 19 +
...zone-getoffsetnanosecondsfor-wrong-type.js | 28 +
.../Temporal/Calendar/prototype/day/basic.js | 20 +
.../Calendar/prototype/day/branding.js | 20 +-
.../Calendar/prototype/day/builtin.js | 36 +
...romfields-called-with-options-undefined.js | 18 +
.../prototype/day/calendar-fields-iterable.js | 37 +
.../prototype/day/calendar-temporal-object.js | 31 +
.../Calendar/prototype/day/date-time.js | 3 +-
.../Temporal/Calendar/prototype/day/date.js | 3 +-
.../day/infinity-throws-rangeerror.js | 26 +
.../Temporal/Calendar/prototype/day/length.js | 28 +
.../Calendar/prototype/day/month-day.js | 3 +-
.../Temporal/Calendar/prototype/day/name.js | 26 +
.../prototype/day/not-a-constructor.js | 24 +
.../Calendar/prototype/day/prop-desc.js | 24 +
.../Temporal/Calendar/prototype/day/shell.js | 1517 ++++++
.../Temporal/Calendar/prototype/day/string.js | 3 +-
.../day/throw-range-error-ToTemporalDate.js | 3 +-
.../throw-type-error-RequireInternalSlot.js | 18 -
.../Calendar/prototype/day/year-zero.js | 20 +
.../dayOfWeek/argument-string-invalid.js | 64 +
.../argument-string-with-utc-designator.js | 24 +
...one-getoffsetnanosecondsfor-non-integer.js | 19 +
...ne-getoffsetnanosecondsfor-not-callable.js | 23 +
...ne-getoffsetnanosecondsfor-out-of-range.js | 19 +
...zone-getoffsetnanosecondsfor-wrong-type.js | 28 +
.../Calendar/prototype/dayOfWeek/basic.js | 19 +
.../Calendar/prototype/dayOfWeek/branding.js | 20 +-
.../Calendar/prototype/dayOfWeek/builtin.js | 36 +
...romfields-called-with-options-undefined.js | 18 +
.../dayOfWeek/calendar-fields-iterable.js | 35 +
.../dayOfWeek/calendar-temporal-object.js | 29 +
.../dayOfWeek/infinity-throws-rangeerror.js | 26 +
.../Calendar/prototype/dayOfWeek/length.js | 28 +
.../Calendar/prototype/dayOfWeek/name.js | 26 +
.../prototype/dayOfWeek/not-a-constructor.js | 24 +
.../prototype/dayOfWeek/plain-date-time.js | 3 +-
.../prototype/dayOfWeek/plain-date.js | 3 +-
.../Calendar/prototype/dayOfWeek/prop-desc.js | 24 +
.../Calendar/prototype/dayOfWeek/shell.js | 1517 ++++++
.../Calendar/prototype/dayOfWeek/string.js | 3 +-
.../throw-range-error-ToTemporalDate.js | 3 +-
.../throw-type-error-RequireInternalSlot.js | 18 -
.../Calendar/prototype/dayOfWeek/year-zero.js | 20 +
.../dayOfYear/argument-string-invalid.js | 64 +
.../argument-string-with-utc-designator.js | 24 +
...one-getoffsetnanosecondsfor-non-integer.js | 19 +
...ne-getoffsetnanosecondsfor-not-callable.js | 23 +
...ne-getoffsetnanosecondsfor-out-of-range.js | 19 +
...zone-getoffsetnanosecondsfor-wrong-type.js | 28 +
.../Calendar/prototype/dayOfYear/basic.js | 19 +
.../Calendar/prototype/dayOfYear/branding.js | 20 +-
.../Calendar/prototype/dayOfYear/builtin.js | 36 +
...romfields-called-with-options-undefined.js | 18 +
.../dayOfYear/calendar-fields-iterable.js | 35 +
.../dayOfYear/calendar-temporal-object.js | 29 +
.../dayOfYear/infinity-throws-rangeerror.js | 26 +
.../Calendar/prototype/dayOfYear/length.js | 28 +
.../Calendar/prototype/dayOfYear/name.js | 26 +
.../prototype/dayOfYear/not-a-constructor.js | 24 +
.../prototype/dayOfYear/plain-date-time.js | 3 +-
.../prototype/dayOfYear/plain-date.js | 3 +-
.../Calendar/prototype/dayOfYear/prop-desc.js | 24 +
.../Calendar/prototype/dayOfYear/shell.js | 1517 ++++++
.../Calendar/prototype/dayOfYear/string.js | 3 +-
.../throw-range-error-ToTemporalDate.js | 3 +-
.../throw-type-error-RequireInternalSlot.js | 18 -
.../Calendar/prototype/dayOfYear/year-zero.js | 20 +
.../daysInMonth/argument-string-invalid.js | 64 +
.../argument-string-with-utc-designator.js | 24 +
...one-getoffsetnanosecondsfor-non-integer.js | 19 +
...ne-getoffsetnanosecondsfor-not-callable.js | 23 +
...ne-getoffsetnanosecondsfor-out-of-range.js | 19 +
...zone-getoffsetnanosecondsfor-wrong-type.js | 28 +
.../Calendar/prototype/daysInMonth/basic.js | 19 +
.../prototype/daysInMonth/branding.js | 20 +-
.../Calendar/prototype/daysInMonth/builtin.js | 36 +
...romfields-called-with-options-undefined.js | 18 +
.../daysInMonth/calendar-fields-iterable.js | 35 +
.../daysInMonth/calendar-temporal-object.js | 29 +
.../daysInMonth/infinity-throws-rangeerror.js | 26 +
.../Calendar/prototype/daysInMonth/length.js | 28 +
.../Calendar/prototype/daysInMonth/name.js | 26 +
.../daysInMonth/not-a-constructor.js | 24 +
.../prototype/daysInMonth/plain-date-time.js | 3 +-
.../prototype/daysInMonth/plain-date.js | 3 +-
.../prototype/daysInMonth/prop-desc.js | 24 +
.../Calendar/prototype/daysInMonth/shell.js | 1517 ++++++
.../Calendar/prototype/daysInMonth/string.js | 3 +-
.../throw-range-error-ToTemporalDate.js | 3 +-
.../throw-type-error-RequireInternalSlot.js | 18 -
.../prototype/daysInMonth/year-zero.js | 20 +
.../daysInWeek/argument-string-invalid.js | 64 +
.../argument-string-with-utc-designator.js | 24 +
...one-getoffsetnanosecondsfor-non-integer.js | 19 +
...ne-getoffsetnanosecondsfor-not-callable.js | 23 +
...ne-getoffsetnanosecondsfor-out-of-range.js | 19 +
...zone-getoffsetnanosecondsfor-wrong-type.js | 28 +
.../Calendar/prototype/daysInWeek/basic.js | 19 +
.../Calendar/prototype/daysInWeek/branding.js | 20 +-
.../Calendar/prototype/daysInWeek/builtin.js | 36 +
...romfields-called-with-options-undefined.js | 18 +
.../daysInWeek/calendar-fields-iterable.js | 35 +
.../daysInWeek/calendar-temporal-object.js | 29 +
.../daysInWeek/infinity-throws-rangeerror.js | 26 +
.../Calendar/prototype/daysInWeek/length.js | 28 +
.../Calendar/prototype/daysInWeek/name.js | 26 +
.../prototype/daysInWeek/not-a-constructor.js | 24 +
.../prototype/daysInWeek/prop-desc.js | 24 +
.../Calendar/prototype/daysInWeek/shell.js | 1517 ++++++
.../Calendar/prototype/daysInWeek/string.js | 3 +-
.../throw-range-error-ToTemporalDate.js | 3 +-
.../throw-type-error-RequireInternalSlot.js | 18 -
.../prototype/daysInWeek/year-zero.js | 20 +
.../daysInYear/argument-string-invalid.js | 64 +
.../argument-string-with-utc-designator.js | 24 +
...one-getoffsetnanosecondsfor-non-integer.js | 19 +
...ne-getoffsetnanosecondsfor-not-callable.js | 23 +
...ne-getoffsetnanosecondsfor-out-of-range.js | 19 +
...zone-getoffsetnanosecondsfor-wrong-type.js | 28 +
.../Calendar/prototype/daysInYear/basic.js | 20 +
.../Calendar/prototype/daysInYear/branding.js | 20 +-
.../Calendar/prototype/daysInYear/builtin.js | 36 +
...romfields-called-with-options-undefined.js | 18 +
.../daysInYear/calendar-fields-iterable.js | 37 +
.../daysInYear/calendar-temporal-object.js | 31 +
.../daysInYear/infinity-throws-rangeerror.js | 26 +
.../Calendar/prototype/daysInYear/length.js | 28 +
.../Calendar/prototype/daysInYear/name.js | 26 +
.../prototype/daysInYear/not-a-constructor.js | 24 +
.../prototype/daysInYear/plain-date-time.js | 3 +-
.../prototype/daysInYear/plain-date.js | 3 +-
.../prototype/daysInYear/prop-desc.js | 24 +
.../Calendar/prototype/daysInYear/shell.js | 1517 ++++++
.../Calendar/prototype/daysInYear/string.js | 3 +-
.../throw-range-error-ToTemporalDate.js | 3 +-
.../throw-type-error-RequireInternalSlot.js | 18 -
.../prototype/daysInYear/year-zero.js | 20 +
.../fields/argument-iterable-not-array.js | 30 +
.../fields/argument-throws-duplicate-keys.js | 31 +
.../fields/argument-throws-invalid-keys.js | 38 +
.../Calendar/prototype/fields/builtin.js | 36 +
.../Calendar/prototype/fields/length.js | 28 +
.../Calendar/prototype/fields/long-input.js | 44 +-
.../Calendar/prototype/fields/name.js | 26 +
.../fields/non-string-element-throws.js | 20 +
.../prototype/fields/not-a-constructor.js | 24 +
.../Calendar/prototype/fields/prop-desc.js | 24 +
.../prototype/fields/repeated-throw.js | 59 +
.../Calendar/prototype/fields/reverse.js | 45 +
.../Calendar/prototype/fields/shell.js | 19 +
.../inLeapYear/argument-string-invalid.js | 64 +
.../argument-string-with-utc-designator.js | 24 +
.../prototype/inLeapYear/argument-string.js | 29 +
...one-getoffsetnanosecondsfor-non-integer.js | 19 +
...ne-getoffsetnanosecondsfor-not-callable.js | 23 +
...ne-getoffsetnanosecondsfor-out-of-range.js | 19 +
...zone-getoffsetnanosecondsfor-wrong-type.js | 28 +
.../Calendar/prototype/inLeapYear/basic.js | 29 +
.../Calendar/prototype/inLeapYear/branding.js | 20 +-
.../Calendar/prototype/inLeapYear/builtin.js | 36 +
...romfields-called-with-options-undefined.js | 18 +
.../inLeapYear/calendar-fields-iterable.js | 37 +
.../inLeapYear/calendar-temporal-object.js | 29 +
.../inLeapYear/infinity-throws-rangeerror.js | 26 +
.../Calendar/prototype/inLeapYear/length.js | 28 +
.../Calendar/prototype/inLeapYear/name.js | 26 +
.../prototype/inLeapYear/not-a-constructor.js | 24 +
.../prototype/inLeapYear/prop-desc.js | 24 +
.../Calendar/prototype/inLeapYear/shell.js | 1517 ++++++
.../prototype/inLeapYear/year-zero.js | 20 +
.../mergeFields/arguments-empty-object.js | 35 +
.../mergeFields/arguments-not-object.js | 43 +
.../Calendar/prototype/mergeFields/basic.js | 36 +
.../Calendar/prototype/mergeFields/builtin.js | 36 +
.../iso8601-calendar-month-monthCode.js | 102 +
.../Calendar/prototype/mergeFields/length.js | 28 +
.../Calendar/prototype/mergeFields/name.js | 26 +
.../mergeFields/non-string-properties.js | 37 +
.../mergeFields/not-a-constructor.js | 24 +
.../prototype/mergeFields/prop-desc.js | 24 +
.../Calendar/prototype/mergeFields/shell.js | 348 ++
.../month/argument-string-invalid.js | 64 +
.../argument-string-with-utc-designator.js | 24 +
...one-getoffsetnanosecondsfor-non-integer.js | 19 +
...ne-getoffsetnanosecondsfor-not-callable.js | 23 +
...ne-getoffsetnanosecondsfor-out-of-range.js | 19 +
...zone-getoffsetnanosecondsfor-wrong-type.js | 28 +
.../Calendar/prototype/month/basic.js | 21 +
.../Calendar/prototype/month/branding.js | 20 +-
.../Calendar/prototype/month/builtin.js | 36 +
...romfields-called-with-options-undefined.js | 18 +
.../month/calendar-fields-iterable.js | 37 +
.../month/calendar-temporal-object.js | 31 +
.../Calendar/prototype/month/date-time.js | 3 +-
.../Temporal/Calendar/prototype/month/date.js | 3 +-
.../month/infinity-throws-rangeerror.js | 26 +
.../Calendar/prototype/month/length.js | 28 +
.../month/month-day-throw-type-error.js | 3 +-
.../Temporal/Calendar/prototype/month/name.js | 26 +
.../prototype/month/not-a-constructor.js | 24 +
.../Calendar/prototype/month/prop-desc.js | 24 +
.../Calendar/prototype/month/shell.js | 1517 ++++++
.../Calendar/prototype/month/string.js | 3 +-
.../month/throw-range-error-ToTemporalDate.js | 3 +-
.../throw-type-error-RequireInternalSlot.js | 18 -
.../Calendar/prototype/month/year-month.js | 3 +-
.../Calendar/prototype/month/year-zero.js | 20 +
.../monthCode/argument-string-invalid.js | 64 +
.../argument-string-with-utc-designator.js | 24 +
...one-getoffsetnanosecondsfor-non-integer.js | 19 +
...ne-getoffsetnanosecondsfor-not-callable.js | 23 +
...ne-getoffsetnanosecondsfor-out-of-range.js | 19 +
...zone-getoffsetnanosecondsfor-wrong-type.js | 28 +
.../Calendar/prototype/monthCode/basic.js | 21 +
.../Calendar/prototype/monthCode/branding.js | 20 +-
.../Calendar/prototype/monthCode/builtin.js | 36 +
...romfields-called-with-options-undefined.js | 18 +
.../monthCode/calendar-fields-iterable.js | 37 +
.../monthCode/calendar-temporal-object.js | 31 +
.../Calendar/prototype/monthCode/date-time.js | 3 +-
.../Calendar/prototype/monthCode/date.js | 3 +-
.../monthCode/infinity-throws-rangeerror.js | 26 +
.../Calendar/prototype/monthCode/length.js | 28 +
.../Calendar/prototype/monthCode/month-day.js | 3 +-
.../Calendar/prototype/monthCode/name.js | 26 +
.../prototype/monthCode/not-a-constructor.js | 24 +
.../Calendar/prototype/monthCode/prop-desc.js | 24 +
.../Calendar/prototype/monthCode/shell.js | 1517 ++++++
.../Calendar/prototype/monthCode/string.js | 3 +-
.../throw-range-error-ToTemporalDate.js | 3 +-
.../throw-type-error-RequireInternalSlot.js | 18 -
.../prototype/monthCode/year-month.js | 3 +-
.../Calendar/prototype/monthCode/year-zero.js | 20 +
.../prototype/monthDayFromFields/basic.js | 43 +
.../prototype/monthDayFromFields/builtin.js | 36 +
.../fields-missing-properties.js | 27 +
.../monthDayFromFields/fields-not-object.js | 17 +
.../infinity-throws-rangeerror.js | 28 +
.../prototype/monthDayFromFields/length.js | 28 +
.../monthDayFromFields/monthcode-invalid.js | 34 +
.../prototype/monthDayFromFields/name.js | 26 +
.../monthDayFromFields/not-a-constructor.js | 24 +
.../monthDayFromFields/overflow-constrain.js | 94 +
.../overflow-invalid-string.js | 30 +
.../monthDayFromFields/overflow-reject.js | 67 +
.../monthDayFromFields/overflow-undefined.js | 28 +
.../monthDayFromFields/overflow-wrong-type.js | 27 +
.../prototype/monthDayFromFields/prop-desc.js | 24 +
.../monthDayFromFields/reference-year-1972.js | 26 +
.../prototype/monthDayFromFields/shell.js | 1517 ++++++
.../monthsInYear/argument-string-invalid.js | 64 +
.../argument-string-with-utc-designator.js | 24 +
.../prototype/monthsInYear/argument-string.js | 21 +
...one-getoffsetnanosecondsfor-non-integer.js | 19 +
...ne-getoffsetnanosecondsfor-not-callable.js | 23 +
...ne-getoffsetnanosecondsfor-out-of-range.js | 19 +
...zone-getoffsetnanosecondsfor-wrong-type.js | 28 +
.../Calendar/prototype/monthsInYear/basic.js | 20 +
.../prototype/monthsInYear/branding.js | 20 +-
.../prototype/monthsInYear/builtin.js | 36 +
...romfields-called-with-options-undefined.js | 18 +
.../monthsInYear/calendar-fields-iterable.js | 35 +
.../monthsInYear/calendar-temporal-object.js | 29 +
.../infinity-throws-rangeerror.js | 26 +
.../Calendar/prototype/monthsInYear/length.js | 28 +
.../Calendar/prototype/monthsInYear/name.js | 26 +
.../monthsInYear/not-a-constructor.js | 24 +
.../prototype/monthsInYear/prop-desc.js | 24 +
.../Calendar/prototype/monthsInYear/shell.js | 1517 ++++++
.../prototype/monthsInYear/year-zero.js | 20 +
.../Temporal/Calendar/prototype/prop-desc.js | 21 +
.../Calendar/prototype/toJSON/branding.js | 25 +
.../prototype/toJSON}/browser.js | 0
.../Calendar/prototype/toJSON/builtin.js | 36 +
.../Calendar/prototype/toJSON/length.js | 28 +
.../Calendar/prototype/toJSON/name.js | 26 +
.../prototype/toJSON/not-a-constructor.js | 24 +
.../Calendar/prototype/toJSON/prop-desc.js | 24 +
.../Calendar/prototype/toJSON/shell.js | 19 +
.../Calendar/prototype/toString/builtin.js | 36 +
.../Calendar/prototype/toString/length.js | 28 +
.../Calendar/prototype/toString/name.js | 26 +
.../prototype/toString/not-a-constructor.js | 24 +
.../Calendar/prototype/toString/prop-desc.js | 24 +
.../Calendar/prototype/toString/shell.js | 19 +
.../weekOfYear/argument-plaindate.js | 79 +
.../weekOfYear/argument-plaindatetime.js | 79 +
.../weekOfYear/argument-string-invalid.js | 64 +
.../argument-string-with-utc-designator.js | 24 +
.../prototype/weekOfYear/argument-string.js | 42 +
...one-getoffsetnanosecondsfor-non-integer.js | 19 +
...ne-getoffsetnanosecondsfor-not-callable.js | 23 +
...ne-getoffsetnanosecondsfor-out-of-range.js | 19 +
...zone-getoffsetnanosecondsfor-wrong-type.js | 28 +
.../Calendar/prototype/weekOfYear/basic.js | 19 +
.../Calendar/prototype/weekOfYear/branding.js | 20 +-
.../Calendar/prototype/weekOfYear/builtin.js | 36 +
...romfields-called-with-options-undefined.js | 18 +
.../weekOfYear/calendar-fields-iterable.js | 35 +
.../weekOfYear/calendar-temporal-object.js | 29 +
.../prototype/weekOfYear/cross-year.js | 15 +
.../weekOfYear/infinity-throws-rangeerror.js | 26 +
.../Calendar/prototype/weekOfYear/length.js | 28 +
.../Calendar/prototype/weekOfYear/name.js | 26 +
.../prototype/weekOfYear/not-a-constructor.js | 24 +
.../prototype/weekOfYear/prop-desc.js | 24 +
.../Calendar/prototype/weekOfYear/shell.js | 1517 ++++++
.../prototype/weekOfYear/year-zero.js | 20 +
.../prototype/year/argument-string-invalid.js | 64 +
.../argument-string-with-utc-designator.js | 24 +
...one-getoffsetnanosecondsfor-non-integer.js | 19 +
...ne-getoffsetnanosecondsfor-not-callable.js | 23 +
...ne-getoffsetnanosecondsfor-out-of-range.js | 19 +
...zone-getoffsetnanosecondsfor-wrong-type.js | 28 +
.../Temporal/Calendar/prototype/year/basic.js | 20 +
.../Calendar/prototype/year/branding.js | 20 +-
.../Calendar/prototype/year/builtin.js | 36 +
...romfields-called-with-options-undefined.js | 18 +
.../year/calendar-fields-iterable.js | 37 +
.../year/calendar-temporal-object.js | 31 +
.../Calendar/prototype/year/date-time.js | 3 +-
.../Temporal/Calendar/prototype/year/date.js | 3 +-
.../year/infinity-throws-rangeerror.js | 26 +
.../Calendar/prototype/year/length.js | 28 +
.../Temporal/Calendar/prototype/year/name.js | 26 +
.../prototype/year/not-a-constructor.js | 24 +
.../Calendar/prototype/year/prop-desc.js | 24 +
.../Temporal/Calendar/prototype/year/shell.js | 1517 ++++++
.../Calendar/prototype/year/string.js | 3 +-
.../year/throw-range-error-ToTemporalDate.js | 3 +-
.../throw-type-error-RequireInternalSlot.js | 19 -
.../Calendar/prototype/year/year-month.js | 3 +-
.../Calendar/prototype/year/year-zero.js | 20 +
.../prototype/yearMonthFromFields/basic.js | 43 +
.../prototype/yearMonthFromFields/branding.js | 20 +-
.../prototype/yearMonthFromFields/builtin.js | 36 +
.../fields-missing-properties.js | 25 +
.../yearMonthFromFields/fields-not-object.js | 17 +
.../infinity-throws-rangeerror.js | 28 +
.../prototype/yearMonthFromFields/length.js | 28 +
.../yearMonthFromFields/monthcode-invalid.js | 34 +
.../prototype/yearMonthFromFields/name.js | 26 +
.../yearMonthFromFields/not-a-constructor.js | 24 +
.../yearMonthFromFields/options-not-object.js | 20 +
.../yearMonthFromFields/overflow-constrain.js | 94 +
.../overflow-invalid-string.js | 30 +
.../yearMonthFromFields/overflow-reject.js | 29 +
.../yearMonthFromFields/overflow-undefined.js | 28 +
.../overflow-wrong-type.js | 27 +
.../yearMonthFromFields/prop-desc.js | 24 +
.../prototype/yearMonthFromFields/shell.js | 1517 ++++++
.../built-ins/Temporal/Duration/basic.js | 19 +
.../built-ins/Temporal/Duration/builtin.js | 30 +
.../Temporal/Duration/call-builtin.js | 18 +
...t-string-fractional-units-rounding-mode.js | 23 +
...gument-string-negative-fractional-units.js | 23 +
.../era => Duration/compare}/browser.js | 0
.../Temporal/Duration/compare/builtin.js | 33 +
...r-dateadd-called-with-options-undefined.js | 25 +
...-dateadd-called-with-plaindate-instance.js | 20 +
.../compare/calendar-fields-iterable.js | 41 +
.../compare/calendar-possibly-required.js | 51 +
.../compare/calendar-temporal-object.js | 30 +
.../Temporal/Duration/compare/length.js | 28 +
.../Temporal/Duration/compare/name.js | 26 +
.../Duration/compare/not-a-constructor.js | 23 +
.../Duration/compare/options-undefined.js | 16 +
.../Temporal/Duration/compare/prop-desc.js | 24 +
.../read-time-fields-before-datefromfields.js | 25 +
...-propertybag-infinity-throws-rangeerror.js | 27 +
...one-getoffsetnanosecondsfor-non-integer.js | 19 +
...ne-getoffsetnanosecondsfor-not-callable.js | 22 +
...ne-getoffsetnanosecondsfor-out-of-range.js | 19 +
...zone-getoffsetnanosecondsfor-wrong-type.js | 28 +
.../compare/relativeto-string-invalid.js | 17 +
.../relativeto-string-plaindatetime.js | 18 +
...iveto-string-zoneddatetime-wrong-offset.js | 16 +
.../relativeto-string-zoneddatetime.js | 23 +
.../compare/relativeto-sub-minute-offset.js | 24 +
...iveto-undefined-throw-on-calendar-units.js | 29 +
...zoneddatetime-negative-epochnanoseconds.js | 26 +
...one-getoffsetnanosecondsfor-non-integer.js | 20 +
...ne-getoffsetnanosecondsfor-not-callable.js | 23 +
...ne-getoffsetnanosecondsfor-out-of-range.js | 20 +
...zone-getoffsetnanosecondsfor-wrong-type.js | 29 +
.../Temporal/Duration/compare/shell.js | 19 +
...imezone-getpossibleinstantsfor-iterable.js | 41 +
.../compare/timezone-string-datetime.js | 37 +
.../Duration/compare/twenty-five-hour-day.js | 36 +
.../Temporal/Duration/compare/year-zero.js | 21 +
.../Temporal/Duration/constructor.js | 15 +
.../Temporal/Duration/days-undefined.js | 20 +
.../Duration/fractional-throws-rangeerror.js | 35 +
.../Duration/from/argument-existing-object.js | 20 +
.../Duration/from/argument-non-string.js | 18 +
.../Duration/from/argument-object-invalid.js | 29 +
...t-string-fractional-units-rounding-mode.js | 31 +
.../Duration/from/argument-string-invalid.js | 35 +
...gument-string-negative-fractional-units.js | 18 +
.../Temporal/Duration/from/argument-string.js | 51 +
.../eraYear => Duration/from}/browser.js | 0
.../Temporal/Duration/from/builtin.js | 33 +
.../from/infinity-throws-rangeerror.js | 31 +
.../Temporal/Duration/from/length.js | 28 +
.../built-ins/Temporal/Duration/from/name.js | 26 +
.../negative-inifinity-throws-rangeerror.js | 31 +
.../from/non-integer-throws-rangeerror.js | 28 +
.../Duration/from/not-a-constructor.js | 23 +
.../Duration/from/order-of-operations.js | 72 +
.../Temporal/Duration/from/prop-desc.js | 24 +
.../built-ins/Temporal/Duration/from/shell.js | 19 +
.../from/string-with-skipped-units.js | 34 +
.../Duration/from/subclassing-ignored.js | 19 +
.../Temporal/Duration/hours-undefined.js | 20 +
.../Duration/infinity-throws-rangeerror.js | 84 +
.../built-ins/Temporal/Duration/length.js | 28 +
.../Duration/microseconds-undefined.js | 20 +
.../Duration/milliseconds-undefined.js | 20 +
.../Temporal/Duration/minutes-undefined.js | 20 +
.../built-ins/Temporal/Duration/mixed.js | 22 +
.../Temporal/Duration/months-undefined.js | 20 +
.../built-ins/Temporal/Duration/name.js | 26 +
.../Duration/nanoseconds-undefined.js | 20 +
.../negative-infinity-throws-rangeerror.js | 84 +
.../built-ins/Temporal/Duration/prop-desc.js | 24 +
.../Temporal/Duration/prototype/abs/basic.js | 42 +
.../Duration/prototype/abs/builtin.js | 36 +
.../Temporal/Duration/prototype/abs/length.js | 28 +
.../Temporal/Duration/prototype/abs/name.js | 26 +
.../prototype/abs/not-a-constructor.js | 24 +
.../Duration/prototype/abs/prop-desc.js | 24 +
.../Temporal/Duration/prototype/abs/shell.js | 19 +
.../prototype/abs/subclassing-ignored.js | 20 +
...t-string-fractional-units-rounding-mode.js | 19 +
...gument-string-negative-fractional-units.js | 20 +
.../prototype/add/balance-negative-result.js | 39 +
.../add/balance-negative-time-units.js | 63 +
.../Duration/prototype/add/builtin.js | 36 +
...r-dateadd-called-with-options-undefined.js | 20 +
...-dateadd-called-with-plaindate-instance.js | 21 +
...euntil-called-with-singular-largestunit.js | 81 +
.../prototype/add/calendar-fields-iterable.js | 41 +
.../prototype/add/calendar-temporal-object.js | 30 +
.../add/infinity-throws-rangeerror.js | 34 +
.../Temporal/Duration/prototype/add/length.js | 28 +
.../Temporal/Duration/prototype/add/name.js | 26 +
.../negative-infinity-throws-rangeerror.js | 34 +
.../add/non-integer-throws-rangeerror.js | 29 +
.../prototype/add/not-a-constructor.js | 24 +
.../prototype/add/options-undefined.js | 16 +
.../prototype/add/order-of-operations.js | 77 +
.../Duration/prototype/add/prop-desc.js | 24 +
.../read-time-fields-before-datefromfields.js | 25 +
.../relativeto-infinity-throws-rangeerror.js | 26 +
.../relativeto-propertybag-no-time-units.js | 18 +
...one-getoffsetnanosecondsfor-non-integer.js | 19 +
...ne-getoffsetnanosecondsfor-not-callable.js | 23 +
...ne-getoffsetnanosecondsfor-out-of-range.js | 19 +
...zone-getoffsetnanosecondsfor-wrong-type.js | 28 +
.../add/relativeto-string-datetime.js | 43 +
.../add/relativeto-string-invalid.js | 16 +
.../add/relativeto-string-plaindatetime.js | 18 +
...iveto-string-zoneddatetime-wrong-offset.js | 19 +
.../add/relativeto-string-zoneddatetime.js | 23 +
.../add/relativeto-sub-minute-offset.js | 25 +
...zoneddatetime-negative-epochnanoseconds.js | 27 +
...one-getoffsetnanosecondsfor-non-integer.js | 20 +
...ne-getoffsetnanosecondsfor-not-callable.js | 24 +
...ne-getoffsetnanosecondsfor-out-of-range.js | 20 +
...zone-getoffsetnanosecondsfor-wrong-type.js | 29 +
.../Temporal/Duration/prototype/add/shell.js | 19 +
.../prototype/add/subclassing-ignored.js | 20 +
...imezone-getpossibleinstantsfor-iterable.js | 46 +
.../prototype/add/timezone-string-datetime.js | 39 +
.../Duration/prototype/add/year-zero.js | 20 +
.../Duration/prototype/blank/prop-desc.js | 17 +
.../Duration/prototype/days/prop-desc.js | 17 +
.../Duration/prototype/hours/prop-desc.js | 17 +
.../prototype/microseconds/prop-desc.js | 17 +
.../prototype/milliseconds/prop-desc.js | 17 +
.../Duration/prototype/minutes/prop-desc.js | 17 +
.../Duration/prototype/months/prop-desc.js | 17 +
.../prototype/nanoseconds/prop-desc.js | 17 +
.../Duration/prototype/negated/basic.js | 54 +
.../Duration/prototype/negated/builtin.js | 36 +
.../Duration/prototype/negated/length.js | 28 +
.../Duration/prototype/negated/name.js | 26 +
.../prototype/negated/not-a-constructor.js | 24 +
.../Duration/prototype/negated/prop-desc.js | 24 +
.../Duration/prototype/negated/shell.js | 19 +
.../prototype/negated/subclassing-ignored.js | 20 +
.../Temporal/Duration/prototype/prop-desc.js | 21 +
.../round/balance-negative-result.js | 25 +
.../Duration/prototype/round/builtin.js | 36 +
...r-dateadd-called-with-options-undefined.js | 76 +
...-dateadd-called-with-plaindate-instance.js | 21 +
...euntil-called-with-singular-largestunit.js | 163 +
.../round/calendar-fields-iterable.js | 40 +
.../round/calendar-possibly-required.js | 65 +
.../round/calendar-temporal-object.js | 29 +
.../prototype/round/dateuntil-field.js | 48 +
.../round/largestunit-invalid-string.js | 14 +
.../round/largestunit-plurals-accepted.js | 28 +
.../prototype/round/largestunit-undefined.js | 24 +
.../prototype/round/largestunit-wrong-type.js | 18 +
.../Duration/prototype/round/length.js | 28 +
.../Temporal/Duration/prototype/round/name.js | 26 +
.../prototype/round/not-a-constructor.js | 24 +
.../Duration/prototype/round/prop-desc.js | 24 +
.../read-time-fields-before-datefromfields.js | 24 +
.../relativeto-infinity-throws-rangeerror.js | 26 +
.../relativeto-propertybag-no-time-units.js | 18 +
...one-getoffsetnanosecondsfor-non-integer.js | 18 +
...ne-getoffsetnanosecondsfor-not-callable.js | 22 +
...ne-getoffsetnanosecondsfor-out-of-range.js | 18 +
...zone-getoffsetnanosecondsfor-wrong-type.js | 27 +
.../round/relativeto-string-datetime.js | 43 +
.../round/relativeto-string-invalid.js | 16 +
.../round/relativeto-string-plaindatetime.js | 18 +
...iveto-string-zoneddatetime-wrong-offset.js | 19 +
.../round/relativeto-string-zoneddatetime.js | 23 +
.../round/relativeto-sub-minute-offset.js | 25 +
...iveto-undefined-throw-on-calendar-units.js | 31 +
...zoneddatetime-negative-epochnanoseconds.js | 27 +
...one-getoffsetnanosecondsfor-non-integer.js | 19 +
...ne-getoffsetnanosecondsfor-not-callable.js | 23 +
...ne-getoffsetnanosecondsfor-out-of-range.js | 19 +
...zone-getoffsetnanosecondsfor-wrong-type.js | 28 +
.../prototype/round/round-negative-result.js | 26 +
.../prototype/round/roundingincrement-nan.js | 21 +
.../round/roundingincrement-undefined.js | 27 +
.../round/roundingincrement-wrong-type.js | 27 +
.../round/roundingmode-invalid-string.js | 16 +
.../prototype/round/roundingmode-undefined.js | 29 +
.../round/roundingmode-wrong-type.js | 18 +
.../Duration/prototype/round/shell.js | 19 +
.../smallestunit-disallowed-units-string.js | 29 +
.../round/smallestunit-invalid-string.js | 14 +
.../smallestunit-plurals-accepted-string.js | 24 +
.../round/smallestunit-plurals-accepted.js | 28 +
.../smallestunit-string-shorthand-string.js | 28 +
.../prototype/round/smallestunit-undefined.js | 18 +
.../round/smallestunit-wrong-type.js | 18 +
.../prototype/round/subclassing-ignored.js | 20 +
...imezone-getpossibleinstantsfor-iterable.js | 48 +
.../round/timezone-string-datetime.js | 39 +
.../Duration/prototype/round/year-zero.js | 20 +
.../Duration/prototype/seconds/prop-desc.js | 17 +
.../Duration/prototype/sign/prop-desc.js | 17 +
...t-string-fractional-units-rounding-mode.js | 19 +
...gument-string-negative-fractional-units.js | 20 +
.../subtract/balance-negative-result.js | 39 +
.../subtract/balance-negative-time-units.js | 63 +
.../Duration/prototype/subtract/builtin.js | 36 +
...r-dateadd-called-with-options-undefined.js | 20 +
...-dateadd-called-with-plaindate-instance.js | 21 +
...euntil-called-with-singular-largestunit.js | 81 +
.../subtract/calendar-fields-iterable.js | 41 +
.../subtract/calendar-temporal-object.js | 30 +
.../subtract/infinity-throws-rangeerror.js | 34 +
.../Duration/prototype/subtract/length.js | 28 +
.../Duration/prototype/subtract/name.js | 26 +
.../negative-infinity-throws-rangeerror.js | 34 +
.../subtract/non-integer-throws-rangeerror.js | 29 +
.../prototype/subtract/not-a-constructor.js | 24 +
.../prototype/subtract/options-undefined.js | 16 +
.../prototype/subtract/order-of-operations.js | 77 +
.../Duration/prototype/subtract/prop-desc.js | 24 +
.../read-time-fields-before-datefromfields.js | 25 +
.../relativeto-infinity-throws-rangeerror.js | 26 +
.../relativeto-propertybag-no-time-units.js | 18 +
...one-getoffsetnanosecondsfor-non-integer.js | 19 +
...ne-getoffsetnanosecondsfor-not-callable.js | 23 +
...ne-getoffsetnanosecondsfor-out-of-range.js | 19 +
...zone-getoffsetnanosecondsfor-wrong-type.js | 28 +
.../subtract/relativeto-string-datetime.js | 43 +
.../subtract/relativeto-string-invalid.js | 16 +
.../relativeto-string-plaindatetime.js | 18 +
...iveto-string-zoneddatetime-wrong-offset.js | 19 +
.../relativeto-string-zoneddatetime.js | 23 +
.../subtract/relativeto-sub-minute-offset.js | 25 +
...zoneddatetime-negative-epochnanoseconds.js | 27 +
...one-getoffsetnanosecondsfor-non-integer.js | 20 +
...ne-getoffsetnanosecondsfor-not-callable.js | 24 +
...ne-getoffsetnanosecondsfor-out-of-range.js | 20 +
...zone-getoffsetnanosecondsfor-wrong-type.js | 29 +
.../Duration/prototype/subtract/shell.js | 19 +
.../prototype/subtract/subclassing-ignored.js | 20 +
...imezone-getpossibleinstantsfor-iterable.js | 46 +
.../subtract/timezone-string-datetime.js | 39 +
.../Duration/prototype/subtract/year-zero.js | 20 +
.../Duration/prototype/toJSON/basic.js | 243 +
.../Duration/prototype/toJSON/builtin.js | 36 +
.../Duration/prototype/toJSON/length.js | 28 +
.../Duration/prototype/toJSON/name.js | 26 +
.../prototype/toJSON/negative-components.js | 14 +
.../prototype/toJSON/not-a-constructor.js | 24 +
.../Duration/prototype/toJSON/prop-desc.js | 24 +
.../Duration/prototype/toJSON/shell.js | 19 +
.../prototype/toLocaleString/builtin.js | 36 +
.../prototype/toLocaleString/length.js | 28 +
.../Duration/prototype/toLocaleString/name.js | 26 +
.../toLocaleString/not-a-constructor.js | 24 +
.../prototype/toLocaleString/prop-desc.js | 24 +
.../prototype/toLocaleString/shell.js | 19 +
.../Duration/prototype/toString/balance.js | 27 +
.../toString/blank-duration-precision.js | 25 +
.../Duration/prototype/toString/builtin.js | 36 +
...onalseconddigits-exact-number-of-digits.js | 40 +
.../fractionalseconddigits-invalid-string.js | 24 +
.../toString/fractionalseconddigits-nan.js | 23 +
.../fractionalseconddigits-non-integer.js | 23 +
.../fractionalseconddigits-out-of-range.js | 25 +
.../fractionalseconddigits-undefined.js | 28 +
.../fractionalseconddigits-wrong-type.js | 28 +
.../Duration/prototype/toString/length.js | 28 +
.../Duration/prototype/toString/name.js | 26 +
.../prototype/toString/negative-components.js | 41 +
.../prototype/toString/not-a-constructor.js | 24 +
.../prototype/toString/options-undefined.js | 19 +
.../Duration/prototype/toString/precision.js | 22 +
.../Duration/prototype/toString/prop-desc.js | 24 +
.../toString/roundingmode-invalid-string.js | 16 +
.../toString/roundingmode-undefined.js | 28 +
.../toString/roundingmode-wrong-type.js | 18 +
.../Duration/prototype/toString/shell.js | 19 +
.../toString/smallestunit-invalid-string.js | 17 +
.../toString/smallestunit-plurals-accepted.js | 21 +
.../toString/smallestunit-undefined.js | 23 +
.../toString/smallestunit-valid-units.js | 31 +
.../toString/smallestunit-wrong-type.js | 18 +
.../total/balance-negative-result.js | 24 +
.../Duration/prototype/total/builtin.js | 36 +
...r-dateadd-called-with-options-undefined.js | 52 +
...-dateadd-called-with-plaindate-instance.js | 21 +
...euntil-called-with-singular-largestunit.js | 96 +
.../total/calendar-fields-iterable.js | 40 +
.../total/calendar-possibly-required.js | 49 +
.../total/calendar-temporal-object.js | 29 +
.../prototype/total/dateuntil-field.js | 31 +
.../Duration/prototype/total/length.js | 28 +
.../Temporal/Duration/prototype/total/name.js | 26 +
.../prototype/total/not-a-constructor.js | 24 +
.../prototype/total/options-wrong-type.js | 26 +
.../Duration/prototype/total/prop-desc.js | 24 +
.../read-time-fields-before-datefromfields.js | 24 +
.../relativeto-infinity-throws-rangeerror.js | 26 +
.../relativeto-propertybag-no-time-units.js | 17 +
...one-getoffsetnanosecondsfor-non-integer.js | 18 +
...ne-getoffsetnanosecondsfor-not-callable.js | 22 +
...ne-getoffsetnanosecondsfor-out-of-range.js | 18 +
...zone-getoffsetnanosecondsfor-wrong-type.js | 27 +
.../total/relativeto-string-datetime.js | 42 +
.../total/relativeto-string-invalid.js | 16 +
.../total/relativeto-string-plaindatetime.js | 17 +
...iveto-string-zoneddatetime-wrong-offset.js | 19 +
.../total/relativeto-string-zoneddatetime.js | 22 +
.../total/relativeto-sub-minute-offset.js | 24 +
...iveto-undefined-throw-on-calendar-units.js | 35 +
...zoneddatetime-negative-epochnanoseconds.js | 26 +
...one-getoffsetnanosecondsfor-non-integer.js | 19 +
...ne-getoffsetnanosecondsfor-not-callable.js | 23 +
...ne-getoffsetnanosecondsfor-out-of-range.js | 19 +
...zone-getoffsetnanosecondsfor-wrong-type.js | 28 +
.../Duration/prototype/total/shell.js | 19 +
...imezone-getpossibleinstantsfor-iterable.js | 36 +
.../total/timezone-string-datetime.js | 39 +
.../total/unit-disallowed-units-string.js | 29 +
.../prototype/total/unit-invalid-string.js | 21 +
.../total/unit-plurals-accepted-string.js | 24 +
.../prototype/total/unit-plurals-accepted.js | 28 +
.../total/unit-string-shorthand-string.js | 27 +
.../prototype/total/unit-wrong-type.js | 25 +
.../Duration/prototype/total/year-zero.js | 20 +
.../Duration/prototype/valueOf/builtin.js | 36 +
.../Duration/prototype/valueOf/length.js | 28 +
.../Duration/prototype/valueOf/name.js | 26 +
.../prototype/valueOf/not-a-constructor.js | 24 +
.../Duration/prototype/valueOf/prop-desc.js | 24 +
.../Duration/prototype/valueOf/shell.js | 19 +
.../Duration/prototype/weeks/prop-desc.js | 17 +
.../Duration/prototype/with/all-negative.js | 96 +
.../Duration/prototype/with/all-positive.js | 95 +
.../with/argument-object-wrong-shape.js | 34 +
.../prototype/with/argument-wrong-type.js | 30 +
.../Duration/prototype/with/branding.js | 20 +-
.../Duration/prototype/with/builtin.js | 36 +
.../with/copy-properties-not-undefined.js | 26 +
.../with/infinity-throws-rangeerror.js | 33 +
.../Duration/prototype/with/length.js | 28 +
.../Temporal/Duration/prototype/with/name.js | 26 +
.../negative-infinity-throws-rangeerror.js | 33 +
.../with/non-integer-throws-rangeerror.js | 29 +
.../prototype/with/not-a-constructor.js | 24 +
.../prototype/with/order-of-operations.js | 76 +
.../prototype/with/partial-positive.js | 89 +
.../Duration/prototype/with/prop-desc.js | 24 +
.../Temporal/Duration/prototype/with/shell.js | 19 +
.../with/sign-conflict-throws-rangeerror.js | 31 +
.../prototype/with/subclassing-ignored.js | 20 +
.../Duration/prototype/years/prop-desc.js | 17 +
.../Temporal/Duration/seconds-undefined.js | 20 +
.../built-ins/Temporal/Duration/shell.js | 1498 ++++++
.../Temporal/Duration/weeks-undefined.js | 20 +
.../Temporal/Duration/years-undefined.js | 20 +
.../built-ins/Temporal/Instant/argument.js | 17 +
.../built-ins/Temporal/Instant/basic.js | 23 +
.../built-ins/Temporal/Instant/builtin.js | 30 +
.../Instant/compare/argument-zoneddatetime.js | 31 +
.../era => Instant/compare}/browser.js | 0
.../Temporal/Instant/compare/builtin.js | 33 +
.../instant-string-multiple-offsets.js | 17 +
.../Instant/compare/instant-string.js | 37 +
.../Temporal/Instant/compare/length.js | 28 +
.../Temporal/Instant/compare/name.js | 26 +
.../Instant/compare/not-a-constructor.js | 23 +
.../Temporal/Instant/compare/prop-desc.js | 24 +
.../Temporal/Instant/compare/shell.js | 1517 ++++++
.../Temporal/Instant/compare/year-zero.js | 22 +
.../built-ins/Temporal/Instant/constructor.js | 15 +
.../Instant/from/argument-zoneddatetime.js | 23 +
.../eraYear => Instant/from}/browser.js | 0
.../Temporal/Instant/from/builtin.js | 33 +
.../from/instant-string-multiple-offsets.js | 16 +
.../Temporal/Instant/from/instant-string.js | 32 +
.../built-ins/Temporal/Instant/from/length.js | 28 +
.../built-ins/Temporal/Instant/from/name.js | 26 +
.../Instant/from/not-a-constructor.js | 23 +
.../Temporal/Instant/from/prop-desc.js | 24 +
.../built-ins/Temporal/Instant/from/shell.js | 1517 ++++++
.../Instant/from/subclassing-ignored.js | 19 +
.../Temporal/Instant/from/timezone-custom.js | 22 +
.../Temporal/Instant/from/year-zero.js | 25 +
.../Instant/fromEpochMicroseconds/basic.js | 17 +
.../fromEpochMicroseconds}/browser.js | 0
.../Instant/fromEpochMicroseconds/builtin.js | 33 +
.../Instant/fromEpochMicroseconds/length.js | 28 +
.../Instant/fromEpochMicroseconds/name.js | 26 +
.../not-a-constructor.js | 23 +
.../fromEpochMicroseconds/prop-desc.js | 24 +
.../Instant/fromEpochMicroseconds/shell.js | 1517 ++++++
.../subclassing-ignored.js | 21 +
.../Instant/fromEpochMilliseconds/basic.js | 17 +
.../fromEpochMilliseconds}/browser.js | 0
.../Instant/fromEpochMilliseconds/builtin.js | 33 +
.../Instant/fromEpochMilliseconds/length.js | 28 +
.../Instant/fromEpochMilliseconds/name.js | 26 +
.../not-a-constructor.js | 23 +
.../fromEpochMilliseconds/prop-desc.js | 24 +
.../Instant/fromEpochMilliseconds/shell.js | 1517 ++++++
.../subclassing-ignored.js | 21 +
.../Instant/fromEpochNanoseconds/basic.js | 17 +
.../fromEpochNanoseconds/browser.js} | 0
.../Instant/fromEpochNanoseconds/builtin.js | 33 +
.../Instant/fromEpochNanoseconds/length.js | 28 +
.../Instant/fromEpochNanoseconds/name.js | 26 +
.../fromEpochNanoseconds/not-a-constructor.js | 23 +
.../Instant/fromEpochNanoseconds/prop-desc.js | 24 +
.../Instant/fromEpochNanoseconds/shell.js | 1517 ++++++
.../subclassing-ignored.js | 21 +
.../Instant/fromEpochSeconds/basic.js | 17 +
.../fromEpochSeconds/browser.js} | 0
.../Instant/fromEpochSeconds/builtin.js | 33 +
.../Instant/fromEpochSeconds/length.js | 28 +
.../Temporal/Instant/fromEpochSeconds/name.js | 26 +
.../fromEpochSeconds/not-a-constructor.js | 23 +
.../Instant/fromEpochSeconds/prop-desc.js | 24 +
.../Instant/fromEpochSeconds/shell.js | 1517 ++++++
.../fromEpochSeconds/subclassing-ignored.js | 21 +
.../built-ins/Temporal/Instant/length.js | 28 +
.../built-ins/Temporal/Instant/name.js | 26 +
.../built-ins/Temporal/Instant/prop-desc.js | 24 +
...t-string-fractional-units-rounding-mode.js | 18 +
...gument-string-negative-fractional-units.js | 19 +
.../Instant/prototype/add/argument-string.js | 15 +
.../Temporal/Instant/prototype/add/basic.js | 75 +
.../Instant/prototype/add/branding.js | 20 +-
.../Temporal/Instant/prototype/add/builtin.js | 36 +
.../add/disallowed-duration-units.js | 34 +
.../add/infinity-throws-rangeerror.js | 33 +
.../Temporal/Instant/prototype/add/length.js | 28 +
.../Temporal/Instant/prototype/add/name.js | 26 +
.../negative-infinity-throws-rangeerror.js | 33 +
.../add/non-integer-throws-rangeerror.js | 29 +
.../prototype/add/not-a-constructor.js | 24 +
.../prototype/add/order-of-operations.js | 64 +
.../Instant/prototype/add/prop-desc.js | 24 +
.../prototype/add/result-out-of-range.js | 33 +
.../Temporal/Instant/prototype/add/shell.js | 1517 ++++++
.../prototype/add/subclassing-ignored.js | 22 +
.../Temporal/Instant/prototype/builtin.js | 35 +
.../prototype/epochMicroseconds/basic.js | 19 +
.../prototype/epochMicroseconds/prop-desc.js | 17 +
.../prototype/epochMilliseconds/basic.js | 19 +
.../prototype/epochMilliseconds/prop-desc.js | 17 +
.../prototype/epochNanoseconds/basic.js | 19 +
.../prototype/epochNanoseconds/prop-desc.js | 17 +
.../Instant/prototype/epochSeconds/basic.js | 19 +
.../prototype/epochSeconds/prop-desc.js | 17 +
.../prototype/equals/argument-wrong-type.js | 23 +
.../equals/argument-zoneddatetime.js | 23 +
.../Instant/prototype/equals/builtin.js | 36 +
.../equals/instant-string-multiple-offsets.js | 17 +
.../prototype/equals/instant-string.js | 34 +
.../Instant/prototype/equals/length.js | 28 +
.../Temporal/Instant/prototype/equals/name.js | 26 +
.../prototype/equals/not-a-constructor.js | 24 +
.../Instant/prototype/equals/prop-desc.js | 24 +
.../Instant/prototype/equals/shell.js | 1517 ++++++
.../Instant/prototype/equals/year-zero.js | 25 +
.../Temporal/Instant/prototype/prop-desc.js | 21 +
.../Instant/prototype/round/builtin.js | 36 +
.../Instant/prototype/round/length.js | 28 +
.../Temporal/Instant/prototype/round/name.js | 26 +
.../prototype/round/not-a-constructor.js | 24 +
.../prototype/round/options-wrong-type.js | 26 +
.../Instant/prototype/round/prop-desc.js | 24 +
.../prototype/round/roundingincrement-nan.js | 21 +
.../round/roundingincrement-non-integer.js | 18 +
.../round/roundingincrement-out-of-range.js | 20 +
.../round/roundingincrement-undefined.js | 26 +
.../round/roundingincrement-wrong-type.js | 27 +
.../round/roundingmode-invalid-string.js | 16 +
.../prototype/round/roundingmode-undefined.js | 28 +
.../round/roundingmode-wrong-type.js | 18 +
.../Temporal/Instant/prototype/round/shell.js | 1517 ++++++
.../round/smallestunit-disallowed-units.js | 37 +
.../round/smallestunit-invalid-string.js | 14 +
.../round/smallestunit-plurals-accepted.js | 24 +
.../round/smallestunit-string-shorthand.js | 27 +
.../round/smallestunit-wrong-type.js | 18 +
.../prototype/round/subclassing-ignored.js | 22 +
.../prototype/since/argument-zoneddatetime.js | 24 +
.../Instant/prototype/since/builtin.js | 36 +
.../since/instant-string-multiple-offsets.js | 18 +
.../Instant/prototype/since/instant-string.js | 35 +
.../since/largestunit-invalid-string.js | 18 +
.../since/largestunit-plurals-accepted.js | 24 +
.../largestunit-smallestunit-mismatch.js | 22 +
.../prototype/since/largestunit-undefined.js | 20 +
.../prototype/since/largestunit-wrong-type.js | 19 +
.../Instant/prototype/since/largestunit.js | 21 +
.../Instant/prototype/since/length.js | 28 +
.../Temporal/Instant/prototype/since/name.js | 26 +
.../prototype/since/not-a-constructor.js | 24 +
.../prototype/since/options-undefined.js | 34 +
.../Instant/prototype/since/prop-desc.js | 24 +
.../prototype/since/roundingincrement-nan.js | 22 +
.../since/roundingincrement-non-integer.js | 20 +
.../since/roundingincrement-out-of-range.js | 21 +
.../since/roundingincrement-undefined.js | 28 +
.../since/roundingincrement-wrong-type.js | 28 +
.../since/roundingmode-invalid-string.js | 17 +
.../prototype/since/roundingmode-undefined.js | 30 +
.../since/roundingmode-wrong-type.js | 19 +
.../Temporal/Instant/prototype/since/shell.js | 1517 ++++++
.../since/smallestunit-invalid-string.js | 18 +
.../since/smallestunit-plurals-accepted.js | 24 +
.../prototype/since/smallestunit-undefined.js | 20 +
.../since/smallestunit-wrong-type.js | 19 +
.../Instant/prototype/since/year-zero.js | 25 +
...t-string-fractional-units-rounding-mode.js | 18 +
...gument-string-negative-fractional-units.js | 19 +
.../prototype/subtract/argument-string.js | 15 +
.../Instant/prototype/subtract/basic.js | 75 +
.../Instant/prototype/subtract/branding.js | 20 +-
.../Instant/prototype/subtract/builtin.js | 36 +
.../subtract/disallowed-duration-units.js | 34 +
.../subtract/infinity-throws-rangeerror.js | 33 +
.../Instant/prototype/subtract/length.js | 28 +
.../Instant/prototype/subtract/name.js | 26 +
.../negative-infinity-throws-rangeerror.js | 33 +
.../subtract/non-integer-throws-rangeerror.js | 29 +
.../prototype/subtract/not-a-constructor.js | 24 +
.../prototype/subtract/order-of-operations.js | 64 +
.../Instant/prototype/subtract/prop-desc.js | 24 +
.../prototype/subtract/result-out-of-range.js | 33 +
.../Instant/prototype/subtract/shell.js | 1517 ++++++
.../prototype/subtract/subclassing-ignored.js | 22 +
.../Instant/prototype/toJSON/basic.js | 19 +
.../Instant/prototype/toJSON/builtin.js | 36 +
.../Instant/prototype/toJSON/length.js | 28 +
.../Temporal/Instant/prototype/toJSON/name.js | 26 +
.../toJSON/negative-epochnanoseconds.js | 24 +
.../prototype/toJSON/not-a-constructor.js | 24 +
.../Instant/prototype/toJSON/prop-desc.js | 24 +
.../Instant/prototype/toJSON/shell.js | 19 +
...ne-getoffsetnanosecondsfor-not-callable.js | 22 +
.../Instant/prototype/toJSON/year-format.js | 56 +
.../prototype/toLocaleString/builtin.js | 36 +
.../prototype/toLocaleString/length.js | 28 +
.../Instant/prototype/toLocaleString/name.js | 26 +
.../toLocaleString/not-a-constructor.js | 24 +
.../prototype/toLocaleString/prop-desc.js | 24 +
.../prototype/toLocaleString/return-string.js | 17 +
.../Instant/prototype/toLocaleString/shell.js | 19 +
.../Instant/prototype/toString/basic.js | 17 +
.../Instant/prototype/toString/builtin.js | 36 +
.../fractionalseconddigits-invalid-string.js | 22 +
.../toString/fractionalseconddigits-nan.js | 23 +
.../fractionalseconddigits-non-integer.js | 23 +
.../fractionalseconddigits-out-of-range.js | 25 +
.../fractionalseconddigits-undefined.js | 28 +
.../fractionalseconddigits-wrong-type.js | 28 +
.../Instant/prototype/toString/length.js | 28 +
.../Instant/prototype/toString/name.js | 26 +
.../toString/negative-epochnanoseconds.js | 24 +
.../prototype/toString/not-a-constructor.js | 24 +
.../prototype/toString/options-undefined.js | 41 +
.../Instant/prototype/toString/precision.js | 21 +
.../Instant/prototype/toString/prop-desc.js | 24 +
.../toString/roundingmode-invalid-string.js | 16 +
.../toString/roundingmode-undefined.js | 28 +
.../toString/roundingmode-wrong-type.js | 18 +
.../Instant/prototype/toString/shell.js | 1517 ++++++
.../toString/smallestunit-invalid-string.js | 14 +
.../toString/smallestunit-plurals-accepted.js | 22 +
.../toString/smallestunit-undefined.js | 23 +
.../toString/smallestunit-valid-units.js | 32 +
.../toString/smallestunit-wrong-type.js | 18 +
...one-getoffsetnanosecondsfor-non-integer.js | 18 +
...ne-getoffsetnanosecondsfor-not-callable.js | 22 +
...ne-getoffsetnanosecondsfor-out-of-range.js | 18 +
...zone-getoffsetnanosecondsfor-wrong-type.js | 27 +
.../prototype/toString/timezone-offset.js | 24 +
.../toString/timezone-string-datetime.js | 47 +
.../timezone-string-multiple-offsets.js | 19 +
.../Instant/prototype/toString/timezone.js | 56 +
.../Instant/prototype/toString/year-format.js | 56 +
.../prototype/toStringTag/browser.js} | 0
.../prototype/toStringTag/prop-desc.js | 20 +
.../prototype/toStringTag}/shell.js | 0
.../prototype/toZonedDateTime/builtin.js | 36 +
.../calendar-temporal-object.js | 24 +
.../prototype/toZonedDateTime/length.js | 28 +
.../Instant/prototype/toZonedDateTime/name.js | 26 +
.../toZonedDateTime/not-a-constructor.js | 24 +
.../toZonedDateTime/plain-custom-timezone.js | 41 +
.../prototype/toZonedDateTime/prop-desc.js | 24 +
.../prototype/toZonedDateTime/shell.js | 1517 ++++++
.../timezone-string-datetime.js | 47 +
.../timezone-string-multiple-offsets.js | 19 +
.../prototype/toZonedDateTimeISO/builtin.js | 36 +
.../prototype/toZonedDateTimeISO/length.js | 28 +
.../prototype/toZonedDateTimeISO/name.js | 26 +
.../toZonedDateTimeISO/not-a-constructor.js | 24 +
.../prototype/toZonedDateTimeISO/prop-desc.js | 24 +
.../prototype/toZonedDateTimeISO/shell.js | 19 +
.../timezone-string-datetime.js | 47 +
.../timezone-string-multiple-offsets.js | 19 +
.../prototype/until/argument-zoneddatetime.js | 24 +
.../Instant/prototype/until/builtin.js | 36 +
.../until/instant-string-multiple-offsets.js | 18 +
.../Instant/prototype/until/instant-string.js | 35 +
.../until/largestunit-invalid-string.js | 18 +
.../until/largestunit-plurals-accepted.js | 24 +
.../largestunit-smallestunit-mismatch.js | 22 +
.../prototype/until/largestunit-undefined.js | 20 +
.../prototype/until/largestunit-wrong-type.js | 19 +
.../Instant/prototype/until/length.js | 28 +
.../Temporal/Instant/prototype/until/name.js | 26 +
.../prototype/until/not-a-constructor.js | 24 +
.../prototype/until/options-undefined.js | 34 +
.../Instant/prototype/until/prop-desc.js | 24 +
.../prototype/until/roundingincrement-nan.js | 22 +
.../until/roundingincrement-non-integer.js | 20 +
.../until/roundingincrement-out-of-range.js | 21 +
.../until/roundingincrement-undefined.js | 28 +
.../until/roundingincrement-wrong-type.js | 28 +
.../until/roundingmode-invalid-string.js | 17 +
.../prototype/until/roundingmode-undefined.js | 30 +
.../until/roundingmode-wrong-type.js | 19 +
.../Temporal/Instant/prototype/until/shell.js | 1517 ++++++
.../until/smallestunit-invalid-string.js | 18 +
.../until/smallestunit-plurals-accepted.js | 24 +
.../prototype/until/smallestunit-undefined.js | 20 +
.../until/smallestunit-wrong-type.js | 19 +
.../Instant/prototype/until/year-zero.js | 25 +
.../Instant/prototype/valueOf/builtin.js | 36 +
.../Instant/prototype/valueOf/length.js | 28 +
.../Instant/prototype/valueOf/name.js | 26 +
.../prototype/valueOf/not-a-constructor.js | 24 +
.../Instant/prototype/valueOf/prop-desc.js | 24 +
.../Instant/prototype/valueOf/shell.js | 19 +
.../test262/built-ins/Temporal/Now/builtin.js | 30 +
.../built-ins/Temporal/Now/instant/length.js | 9 +
.../Temporal/Now/instant/prop-desc.js | 2 +
.../Now/instant/return-value-instance.js | 14 +
.../era/shell.js => Now/plainDate/browser.js} | 0
.../Now/plainDate/calendar-temporal-object.js | 25 +
.../Now/plainDate/calendar-undefined.js | 14 +
.../Temporal/Now/plainDate/length.js | 28 +
.../Temporal/Now/plainDate/prop-desc.js | 20 +
.../built-ins/Temporal/Now/plainDate/shell.js | 1498 ++++++
...one-getoffsetnanosecondsfor-non-integer.js | 18 +
...ne-getoffsetnanosecondsfor-not-callable.js | 21 +
...ne-getoffsetnanosecondsfor-out-of-range.js | 18 +
...zone-getoffsetnanosecondsfor-wrong-type.js | 27 +
.../Now/plainDate/timezone-string-datetime.js | 37 +
.../Now/plainDate/toPlainDate-override.js | 51 +
.../shell.js => Now/plainDateISO/browser.js} | 0
.../Temporal/Now/plainDateISO/length.js | 28 +
.../Temporal/Now/plainDateISO/prop-desc.js | 20 +
.../Temporal/Now/plainDateISO/return-value.js | 15 +
.../Temporal/Now/plainDateISO/shell.js | 1498 ++++++
...one-getoffsetnanosecondsfor-non-integer.js | 18 +
...ne-getoffsetnanosecondsfor-not-callable.js | 21 +
...ne-getoffsetnanosecondsfor-out-of-range.js | 18 +
...zone-getoffsetnanosecondsfor-wrong-type.js | 27 +
.../plainDateISO/timezone-string-datetime.js | 37 +
.../Now/plainDateTime/calendar-object.js | 16 +-
.../plainDateTime/calendar-temporal-object.js | 2 +-
.../Now/plainDateTime/calendar-undefined.js | 14 +
.../Temporal/Now/plainDateTime/prop-desc.js | 2 +
.../Temporal/Now/plainDateTime/shell.js | 1310 ++++-
...ne-getoffsetnanosecondsfor-not-callable.js | 21 +
.../plainDateTime/timezone-string-datetime.js | 37 +
.../Temporal/Now/plainDateTime/timezone.js | 45 +
.../plainDateTimeISO/browser.js} | 0
.../Now/plainDateTimeISO/extensible.js | 15 +
.../Temporal/Now/plainDateTimeISO/length.js | 28 +
.../Temporal/Now/plainDateTimeISO/name.js | 23 +
.../Now/plainDateTimeISO/not-a-constructor.js | 17 +
.../Now/plainDateTimeISO/prop-desc.js | 19 +
.../plainDateTimeISO/return-value-calendar.js | 15 +
.../Now/plainDateTimeISO/return-value.js | 21 +
.../Temporal/Now/plainDateTimeISO/shell.js | 1517 ++++++
.../plainDateTimeISO/time-zone-undefined.js | 38 +
...zone-getoffsetnanosecondsfor-invocation.js | 31 +
...one-getoffsetnanosecondsfor-non-integer.js | 20 +
...zone-getoffsetnanosecondsfor-non-method.js | 18 +
...ne-getoffsetnanosecondsfor-not-a-number.js | 40 +
...ne-getoffsetnanosecondsfor-not-callable.js | 21 +
...ne-getoffsetnanosecondsfor-out-of-range.js | 20 +
...mezone-getoffsetnanosecondsfor-poisoned.js | 20 +
...timezone-getoffsetnanosecondsfor-throws.js | 20 +
...zone-getoffsetnanosecondsfor-wrong-type.js | 24 +
.../timezone-object-fail-call-tostring.js | 23 +
.../timezone-object-fail-get-timezone.js | 20 +
...imezone-object-fail-has-nested-timezone.js | 24 +
.../timezone-object-fail-has-timezone.js | 22 +
.../Now/plainDateTimeISO/timezone-object.js | 80 +
.../timezone-string-datetime.js | 37 +
.../shell.js => Now/plainTimeISO/browser.js} | 0
.../Temporal/Now/plainTimeISO/length.js | 28 +
.../Temporal/Now/plainTimeISO/prop-desc.js | 20 +
.../Temporal/Now/plainTimeISO/return-value.js | 15 +
.../Temporal/Now/plainTimeISO/shell.js | 1498 ++++++
...one-getoffsetnanosecondsfor-non-integer.js | 18 +
...ne-getoffsetnanosecondsfor-not-callable.js | 21 +
...ne-getoffsetnanosecondsfor-out-of-range.js | 18 +
...zone-getoffsetnanosecondsfor-wrong-type.js | 27 +
.../plainTimeISO/timezone-string-datetime.js | 37 +
.../Temporal/Now/plainTimeISO/timezone.js | 44 +
.../Now/plainTimeISO/toPlainTime-override.js | 53 +
.../built-ins/Temporal/Now/prop-desc.js | 24 +
.../Temporal/Now/timeZone/prop-desc.js | 2 +
.../Temporal/Now/toStringTag/browser.js | 0
.../Temporal/Now/toStringTag/prop-desc.js | 19 +
.../Temporal/Now/toStringTag/shell.js | 0
.../Temporal/Now/toStringTag/string.js | 13 +
.../Temporal/Now/zonedDateTime/browser.js | 0
.../Now/zonedDateTime/calendar-function.js | 50 +
.../calendar-object-fail-call-tostring.js | 23 +
.../calendar-object-fail-get-calendar.js | 20 +
.../calendar-object-fail-has-calendar.js | 23 +
...alendar-object-fail-has-nested-calendar.js | 24 +
.../Now/zonedDateTime/calendar-object.js | 76 +
.../zonedDateTime/calendar-temporal-object.js | 25 +
.../Now/zonedDateTime/calendar-undefined.js | 14 +
.../Temporal/Now/zonedDateTime/extensible.js | 15 +
.../Temporal/Now/zonedDateTime/length.js | 28 +
.../Temporal/Now/zonedDateTime/name.js | 23 +
.../Now/zonedDateTime/not-a-constructor.js | 17 +
.../Temporal/Now/zonedDateTime/prop-desc.js | 19 +
.../Temporal/Now/zonedDateTime/shell.js | 1517 ++++++
.../Now/zonedDateTime/time-zone-undefined.js | 34 +
.../timezone-object-fail-call-tostring.js | 23 +
.../timezone-object-fail-get-timezone.js | 20 +
...imezone-object-fail-has-nested-timezone.js | 24 +
.../timezone-object-fail-has-timezone.js | 22 +
.../Now/zonedDateTime/timezone-object.js | 78 +
.../zonedDateTime/timezone-string-datetime.js | 45 +
.../timezone-string-multiple-offsets.js | 18 +
.../Temporal/Now/zonedDateTimeISO/browser.js | 0
.../Now/zonedDateTimeISO/extensible.js | 15 +
.../Temporal/Now/zonedDateTimeISO/length.js | 28 +
.../Temporal/Now/zonedDateTimeISO/name.js | 23 +
.../Now/zonedDateTimeISO/not-a-constructor.js | 17 +
.../Now/zonedDateTimeISO/prop-desc.js | 19 +
.../Now/zonedDateTimeISO/return-value.js | 19 +
.../Temporal/Now/zonedDateTimeISO/shell.js | 19 +
.../zonedDateTimeISO/time-zone-undefined.js | 34 +
.../timezone-object-fail-call-tostring.js | 23 +
.../timezone-object-fail-get-timezone.js | 20 +
...imezone-object-fail-has-nested-timezone.js | 24 +
.../timezone-object-fail-has-timezone.js | 22 +
.../Now/zonedDateTimeISO/timezone-object.js | 78 +
.../timezone-string-datetime.js | 45 +
.../timezone-string-multiple-offsets.js | 18 +
.../built-ins/Temporal/PlainDate/basic.js | 28 +
.../built-ins/Temporal/PlainDate/builtin.js | 30 +
.../PlainDate/calendar-temporal-object.js | 25 +
.../Temporal/PlainDate/calendar-undefined.js | 25 +
.../PlainDate/compare/argument-object.js | 25 +
.../compare/argument-plaindatetime.js | 31 +
.../compare/argument-string-invalid.js | 69 +
.../argument-string-with-utc-designator.js | 29 +
.../PlainDate/compare/argument-string.js | 22 +
...one-getoffsetnanosecondsfor-non-integer.js | 21 +
...ne-getoffsetnanosecondsfor-not-callable.js | 28 +
...ne-getoffsetnanosecondsfor-out-of-range.js | 21 +
...zone-getoffsetnanosecondsfor-wrong-type.js | 30 +
.../Temporal/PlainDate/compare/basic.js | 19 +
.../Temporal/PlainDate/compare/browser.js | 0
.../Temporal/PlainDate/compare/builtin.js | 33 +
...romfields-called-with-options-undefined.js | 18 +
.../compare/calendar-fields-iterable.js | 41 +
.../compare/calendar-temporal-object.js | 32 +
.../Temporal/PlainDate/compare/calendar.js | 40 +
.../compare/infinity-throws-rangeerror.js | 33 +
.../Temporal/PlainDate/compare/length.js | 28 +
.../Temporal/PlainDate/compare/name.js | 26 +
.../PlainDate/compare/not-a-constructor.js | 23 +
.../Temporal/PlainDate/compare/prop-desc.js | 24 +
.../Temporal/PlainDate/compare/shell.js | 19 +
.../PlainDate/compare/use-internal-slots.js | 29 +
.../Temporal/PlainDate/compare/year-zero.js | 24 +
.../Temporal/PlainDate/constructor.js | 15 +
.../PlainDate/from/argument-number.js | 15 +
.../PlainDate/from/argument-object-invalid.js | 44 +
.../PlainDate/from/argument-object-valid.js | 36 +
.../PlainDate/from/argument-plaindate.js | 17 +
.../PlainDate/from/argument-plaindatetime.js | 24 +
.../PlainDate/from/argument-string-invalid.js | 63 +
.../from/argument-string-trailing-junk.js | 14 +
.../argument-string-with-utc-designator.js | 23 +
.../PlainDate/from/argument-string.js | 43 +
...one-getoffsetnanosecondsfor-non-integer.js | 18 +
...ne-getoffsetnanosecondsfor-not-callable.js | 21 +
...ne-getoffsetnanosecondsfor-out-of-range.js | 18 +
...zone-getoffsetnanosecondsfor-wrong-type.js | 27 +
.../Temporal/PlainDate/from/browser.js | 0
.../Temporal/PlainDate/from/builtin.js | 33 +
.../from/calendar-fields-iterable.js | 33 +
.../from/calendar-temporal-object.js | 29 +
.../from/infinity-throws-rangeerror.js | 27 +
.../Temporal/PlainDate/from/length.js | 28 +
.../Temporal/PlainDate/from/limits.js | 31 +
.../built-ins/Temporal/PlainDate/from/name.js | 26 +
.../PlainDate/from/not-a-constructor.js | 23 +
...le-get-overflow-argument-string-invalid.js | 33 +
...observable-get-overflow-argument-string.js | 36 +
.../PlainDate/from/options-invalid.js | 18 +
.../PlainDate/from/options-undefined.js | 19 +
.../PlainDate/from/order-of-operations.js | 51 +
.../PlainDate/from/overflow-invalid-string.js | 50 +
.../PlainDate/from/overflow-undefined.js | 48 +
.../PlainDate/from/overflow-wrong-type.js | 37 +
.../Temporal/PlainDate/from/prop-desc.js | 24 +
.../Temporal/PlainDate/from/shell.js | 19 +
.../PlainDate/from/subclassing-ignored.js | 19 +
.../Temporal/PlainDate/from/year-zero.js | 20 +
.../PlainDate/infinity-throws-rangeerror.js | 42 +
.../built-ins/Temporal/PlainDate/length.js | 28 +
.../built-ins/Temporal/PlainDate/limits.js | 19 +
.../Temporal/PlainDate/missing-arguments.js | 25 +
.../built-ins/Temporal/PlainDate/name.js | 26 +
.../negative-infinity-throws-rangeerror.js | 42 +
.../built-ins/Temporal/PlainDate/prop-desc.js | 24 +
.../add/argument-invalid-duration.js | 19 +
.../add/argument-missing-properties.js | 21 +
.../prototype/add/argument-not-object.js | 20 +
.../prototype/add/argument-singular-units.js | 16 +
...gument-string-negative-fractional-units.js | 20 +
.../prototype/add/argument-string.js | 16 +
.../add/balance-smaller-units-basic.js | 32 +
.../prototype/add/balance-smaller-units.js | 54 +
.../Temporal/PlainDate/prototype/add/basic.js | 32 +
.../PlainDate/prototype/add/builtin.js | 36 +
.../add/infinity-throws-rangeerror.js | 38 +
.../PlainDate/prototype/add/length.js | 28 +
.../PlainDate/prototype/add/limits.js | 18 +
.../Temporal/PlainDate/prototype/add/name.js | 26 +
.../negative-infinity-throws-rangeerror.js | 38 +
.../add/non-integer-throws-rangeerror.js | 29 +
.../prototype/add/not-a-constructor.js | 24 +
.../prototype/add/options-invalid.js | 19 +
.../prototype/add/options-undefined.js | 22 +
.../prototype/add/order-of-operations.js | 77 +
.../prototype/add/overflow-constrain.js | 18 +
.../prototype/add/overflow-invalid-string.js | 32 +
.../prototype/add/overflow-reject.js | 14 +
.../prototype/add/overflow-undefined.js | 31 +
.../prototype/add/overflow-wrong-type.js | 28 +
.../PlainDate/prototype/add/prop-desc.js | 24 +
.../Temporal/PlainDate/prototype/add/shell.js | 19 +
.../prototype/add/subclassing-ignored.js | 20 +
.../PlainDate/prototype/calendar/prop-desc.js | 17 +
.../day/calendar-returns-infinity.js | 30 +
.../PlainDate/prototype/day/prop-desc.js | 17 +
.../PlainDate/prototype/dayOfWeek/basic.js | 16 +
.../prototype/dayOfWeek/prop-desc.js | 17 +
.../PlainDate/prototype/dayOfYear/basic.js | 16 +
.../prototype/dayOfYear/prop-desc.js | 17 +
.../prototype/daysInMonth/prop-desc.js | 17 +
.../PlainDate/prototype/daysInWeek/basic.js | 14 +
.../prototype/daysInWeek/prop-desc.js | 17 +
.../prototype/daysInYear/prop-desc.js | 17 +
.../equals/argument-object-invalid.js | 23 +
.../prototype/equals/argument-object-valid.js | 19 +
.../equals/argument-plaindatetime.js | 23 +
.../equals/argument-string-invalid.js | 64 +
.../argument-string-with-utc-designator.js | 24 +
.../prototype/equals/argument-string.js | 18 +
.../prototype/equals/argument-wrong-type.js | 20 +
...one-getoffsetnanosecondsfor-non-integer.js | 19 +
...ne-getoffsetnanosecondsfor-not-callable.js | 23 +
...ne-getoffsetnanosecondsfor-out-of-range.js | 19 +
...zone-getoffsetnanosecondsfor-wrong-type.js | 28 +
.../PlainDate/prototype/equals/basic.js | 18 +
.../PlainDate/prototype/equals/builtin.js | 36 +
.../equals/calendar-call-different.js | 33 +
.../prototype/equals/calendar-call-same.js | 33 +
...romfields-called-with-options-undefined.js | 19 +
.../equals/calendar-fields-iterable.js | 36 +
.../prototype/equals/calendar-no-call.js | 33 +
.../equals/calendar-temporal-object.js | 29 +
.../equals/infinity-throws-rangeerror.js | 26 +
.../PlainDate/prototype/equals/length.js | 28 +
.../PlainDate/prototype/equals/name.js | 26 +
.../prototype/equals/not-a-constructor.js | 24 +
.../PlainDate/prototype/equals/prop-desc.js | 24 +
.../PlainDate/prototype/equals/shell.js | 19 +
.../PlainDate/prototype/equals/year-zero.js | 20 +
.../prototype/getISOFields/builtin.js | 36 +
.../prototype/getISOFields/field-names.js | 19 +
.../prototype/getISOFields/field-prop-desc.js | 30 +
.../getISOFields/field-traversal-order.js | 24 +
.../prototype/getISOFields/length.js | 28 +
.../PlainDate/prototype/getISOFields/name.js | 26 +
.../getISOFields/not-a-constructor.js | 24 +
.../prototype/getISOFields/prop-desc.js | 24 +
.../PlainDate/prototype/getISOFields/shell.js | 19 +
.../prototype/inLeapYear/prop-desc.js | 17 +
.../month/calendar-returns-infinity.js | 30 +
.../PlainDate/prototype/month/prop-desc.js | 17 +
.../prototype/monthCode/prop-desc.js | 17 +
.../PlainDate/prototype/monthsInYear/basic.js | 14 +
.../prototype/monthsInYear/prop-desc.js | 17 +
.../Temporal/PlainDate/prototype/prop-desc.js | 21 +
.../prototype/since/argument-plaindatetime.js | 24 +
.../since/argument-string-invalid.js | 64 +
.../argument-string-with-utc-designator.js | 24 +
...one-getoffsetnanosecondsfor-non-integer.js | 19 +
...ne-getoffsetnanosecondsfor-not-callable.js | 23 +
...ne-getoffsetnanosecondsfor-out-of-range.js | 19 +
...zone-getoffsetnanosecondsfor-wrong-type.js | 28 +
.../PlainDate/prototype/since/basic.js | 24 +
.../PlainDate/prototype/since/builtin.js | 36 +
...-dateadd-called-with-plaindate-instance.js | 20 +
...romfields-called-with-options-undefined.js | 19 +
...euntil-called-with-singular-largestunit.js | 30 +
.../since/calendar-fields-iterable.js | 36 +
.../prototype/since/calendar-id-match.js | 33 +
.../prototype/since/calendar-mismatch.js | 18 +
.../since/calendar-temporal-object.js | 29 +
.../prototype/since/days-in-month.js | 22 +
.../PlainDate/prototype/since/days-in-year.js | 24 +
.../since/infinity-throws-rangeerror.js | 26 +
.../prototype/since/largestunit-default.js | 22 +
.../since/largestunit-higher-units.js | 29 +
.../since/largestunit-invalid-string.js | 18 +
.../since/largestunit-plurals-accepted.js | 22 +
.../largestunit-smallestunit-mismatch.js | 22 +
.../prototype/since/largestunit-undefined.js | 20 +
.../prototype/since/largestunit-wrong-type.js | 19 +
.../PlainDate/prototype/since/largestunit.js | 17 +
.../PlainDate/prototype/since/length.js | 28 +
.../PlainDate/prototype/since/name.js | 26 +
.../prototype/since/not-a-constructor.js | 24 +
.../prototype/since/options-invalid.js | 18 +
.../PlainDate/prototype/since/prop-desc.js | 24 +
.../prototype/since/rounding-relative.js | 37 +
.../prototype/since/roundingincrement-nan.js | 22 +
.../since/roundingincrement-non-integer.js | 20 +
.../since/roundingincrement-out-of-range.js | 21 +
.../since/roundingincrement-undefined.js | 27 +
.../since/roundingincrement-wrong-type.js | 28 +
.../prototype/since/roundingincrement.js | 31 +
.../prototype/since/roundingmode-ceil.js | 43 +
.../prototype/since/roundingmode-floor.js | 43 +
.../since/roundingmode-halfExpand.js | 43 +
.../since/roundingmode-invalid-string.js | 17 +
.../prototype/since/roundingmode-trunc.js | 43 +
.../prototype/since/roundingmode-undefined.js | 26 +
.../since/roundingmode-wrong-type.js | 19 +
.../PlainDate/prototype/since/shell.js | 19 +
.../since/smallestunit-higher-units.js | 27 +
.../since/smallestunit-invalid-string.js | 18 +
.../since/smallestunit-plurals-accepted.js | 22 +
.../prototype/since/smallestunit-undefined.js | 20 +
.../since/smallestunit-wrong-type.js | 19 +
.../PlainDate/prototype/since/weeks-months.js | 19 +
.../PlainDate/prototype/since/year-zero.js | 20 +
.../subtract/argument-invalid-duration.js | 19 +
.../subtract/argument-missing-properties.js | 21 +
.../prototype/subtract/argument-not-object.js | 20 +
.../subtract/argument-singular-units.js | 16 +
...gument-string-negative-fractional-units.js | 20 +
.../prototype/subtract/argument-string.js | 16 +
.../subtract/balance-smaller-units-basic.js | 32 +
.../subtract/balance-smaller-units.js | 56 +
.../PlainDate/prototype/subtract/basic.js | 32 +
.../PlainDate/prototype/subtract/builtin.js | 36 +
.../subtract/infinity-throws-rangeerror.js | 38 +
.../PlainDate/prototype/subtract/length.js | 28 +
.../PlainDate/prototype/subtract/limits.js | 18 +
.../PlainDate/prototype/subtract/name.js | 26 +
.../negative-infinity-throws-rangeerror.js | 38 +
.../subtract/non-integer-throws-rangeerror.js | 29 +
.../prototype/subtract/not-a-constructor.js | 24 +
.../prototype/subtract/options-invalid.js | 19 +
.../prototype/subtract/options-undefined.js | 22 +
.../prototype/subtract/order-of-operations.js | 77 +
.../prototype/subtract/overflow-constrain.js | 18 +
.../subtract/overflow-invalid-string.js | 32 +
.../prototype/subtract/overflow-reject.js | 14 +
.../prototype/subtract/overflow-undefined.js | 31 +
.../prototype/subtract/overflow-wrong-type.js | 28 +
.../PlainDate/prototype/subtract/prop-desc.js | 24 +
.../PlainDate/prototype/subtract/shell.js | 19 +
.../prototype/subtract/subclassing-ignored.js | 20 +
.../PlainDate/prototype/toJSON/builtin.js | 36 +
.../PlainDate/prototype/toJSON/length.js | 28 +
.../PlainDate/prototype/toJSON/name.js | 26 +
.../prototype/toJSON/not-a-constructor.js | 24 +
.../PlainDate/prototype/toJSON/prop-desc.js | 24 +
.../PlainDate/prototype/toJSON/shell.js | 19 +
.../PlainDate/prototype/toJSON/year-format.js | 50 +
.../prototype/toLocaleString/builtin.js | 36 +
.../prototype/toLocaleString/length.js | 28 +
.../prototype/toLocaleString/name.js | 26 +
.../toLocaleString/not-a-constructor.js | 24 +
.../prototype/toLocaleString/prop-desc.js | 24 +
.../prototype/toLocaleString/return-string.js | 16 +
.../prototype/toLocaleString/shell.js | 19 +
.../argument-string-no-implicit-midnight.js | 19 +
...-designator-required-for-disambiguation.js | 56 +
.../argument-string-with-time-designator.js | 32 +
.../argument-string-with-utc-designator.js | 24 +
...neddatetime-balance-negative-time-units.js | 47 +
...zoneddatetime-negative-epochnanoseconds.js | 26 +
...one-getoffsetnanosecondsfor-non-integer.js | 19 +
...ne-getoffsetnanosecondsfor-not-callable.js | 23 +
...ne-getoffsetnanosecondsfor-out-of-range.js | 19 +
...zone-getoffsetnanosecondsfor-wrong-type.js | 28 +
.../prototype/toPlainDateTime/basic.js | 29 +
.../prototype/toPlainDateTime/builtin.js | 36 +
.../calendar-temporal-object.js | 28 +
.../prototype/toPlainDateTime/length.js | 28 +
.../prototype/toPlainDateTime/name.js | 26 +
.../toPlainDateTime/not-a-constructor.js | 24 +
.../plaintime-propertybag-no-time-units.js | 21 +
.../prototype/toPlainDateTime/prop-desc.js | 24 +
.../prototype/toPlainDateTime/shell.js | 19 +
.../prototype/toPlainDateTime/time-invalid.js | 15 +
.../toPlainDateTime/time-undefined.js | 20 +
.../prototype/toPlainDateTime/year-zero.js | 24 +
.../prototype/toPlainMonthDay/builtin.js | 36 +
.../toPlainMonthDay/calendar-arguments.js | 32 +
.../calendar-fields-iterable.js | 30 +
...romfields-called-with-options-undefined.js | 19 +
.../prototype/toPlainMonthDay/length.js | 28 +
.../prototype/toPlainMonthDay/name.js | 26 +
.../toPlainMonthDay/not-a-constructor.js | 24 +
.../prototype/toPlainMonthDay/prop-desc.js | 24 +
.../prototype/toPlainMonthDay/shell.js | 19 +
.../prototype/toPlainYearMonth/builtin.js | 36 +
.../toPlainYearMonth/calendar-arguments.js | 32 +
.../calendar-fields-iterable.js | 30 +
...romfields-called-with-options-undefined.js | 19 +
.../prototype/toPlainYearMonth/length.js | 28 +
.../prototype/toPlainYearMonth/limits.js | 20 +
.../prototype/toPlainYearMonth/name.js | 26 +
.../toPlainYearMonth/not-a-constructor.js | 24 +
.../prototype/toPlainYearMonth/prop-desc.js | 24 +
.../prototype/toPlainYearMonth/shell.js | 19 +
.../PlainDate/prototype/toString/basic.js | 20 +
.../PlainDate/prototype/toString/builtin.js | 36 +
.../prototype/toString/calendarname-always.js | 25 +
.../prototype/toString/calendarname-auto.js | 25 +
.../toString/calendarname-invalid-string.js | 25 +
.../prototype/toString/calendarname-never.js | 25 +
.../toString/calendarname-undefined.js | 35 +
.../toString/calendarname-wrong-type.js | 29 +
.../PlainDate/prototype/toString/length.js | 28 +
.../PlainDate/prototype/toString/name.js | 26 +
.../prototype/toString/not-a-constructor.js | 24 +
.../prototype/toString/options-undefined.js | 28 +
.../PlainDate/prototype/toString/prop-desc.js | 24 +
.../PlainDate/prototype/toString/shell.js | 19 +
.../prototype/toString/year-format.js | 50 +
.../argument-string-no-implicit-midnight.js | 19 +
...-designator-required-for-disambiguation.js | 56 +
.../argument-string-with-time-designator.js | 31 +
.../argument-string-with-utc-designator.js | 24 +
...zoneddatetime-negative-epochnanoseconds.js | 25 +
.../prototype/toZonedDateTime/basic.js | 33 +
.../prototype/toZonedDateTime/builtin.js | 36 +
...r-dateadd-called-with-options-undefined.js | 20 +
.../calendar-temporal-object.js | 28 +
.../prototype/toZonedDateTime/length.js | 28 +
.../prototype/toZonedDateTime/name.js | 26 +
.../toZonedDateTime/not-a-constructor.js | 24 +
...neddatetime-balance-negative-time-units.js | 48 +
...one-getoffsetnanosecondsfor-non-integer.js | 19 +
...ne-getoffsetnanosecondsfor-not-callable.js | 23 +
...ne-getoffsetnanosecondsfor-out-of-range.js | 19 +
...zone-getoffsetnanosecondsfor-wrong-type.js | 28 +
.../plaintime-propertybag-no-time-units.js | 20 +
.../prototype/toZonedDateTime/prop-desc.js | 24 +
.../prototype/toZonedDateTime/shell.js | 19 +
...one-getoffsetnanosecondsfor-non-integer.js | 19 +
...ne-getoffsetnanosecondsfor-not-callable.js | 26 +
...ne-getoffsetnanosecondsfor-out-of-range.js | 19 +
...zone-getoffsetnanosecondsfor-wrong-type.js | 28 +
...imezone-getpossibleinstantsfor-iterable.js | 45 +
.../timezone-string-datetime.js | 47 +
.../timezone-string-multiple-offsets.js | 19 +
.../prototype/toZonedDateTime/year-zero.js | 24 +
.../prototype/until/argument-plaindatetime.js | 24 +
.../until/argument-string-invalid.js | 64 +
.../argument-string-with-utc-designator.js | 24 +
...one-getoffsetnanosecondsfor-non-integer.js | 19 +
...ne-getoffsetnanosecondsfor-not-callable.js | 23 +
...ne-getoffsetnanosecondsfor-out-of-range.js | 19 +
...zone-getoffsetnanosecondsfor-wrong-type.js | 28 +
.../PlainDate/prototype/until/basic.js | 23 +
.../PlainDate/prototype/until/builtin.js | 36 +
...-dateadd-called-with-plaindate-instance.js | 20 +
...romfields-called-with-options-undefined.js | 19 +
...euntil-called-with-singular-largestunit.js | 30 +
.../until/calendar-fields-iterable.js | 36 +
.../prototype/until/calendar-id-match.js | 33 +
.../prototype/until/calendar-mismatch.js | 18 +
.../until/calendar-temporal-object.js | 29 +
.../prototype/until/days-in-month.js | 22 +
.../PlainDate/prototype/until/days-in-year.js | 24 +
.../until/infinity-throws-rangeerror.js | 26 +
.../prototype/until/largestunit-default.js | 22 +
.../until/largestunit-higher-units.js | 29 +
.../until/largestunit-invalid-string.js | 18 +
.../until/largestunit-plurals-accepted.js | 22 +
.../largestunit-smallestunit-mismatch.js | 22 +
.../prototype/until/largestunit-undefined.js | 20 +
.../prototype/until/largestunit-wrong-type.js | 19 +
.../PlainDate/prototype/until/length.js | 28 +
.../PlainDate/prototype/until/name.js | 26 +
.../prototype/until/not-a-constructor.js | 24 +
.../prototype/until/options-invalid.js | 18 +
.../PlainDate/prototype/until/prop-desc.js | 24 +
.../prototype/until/rounding-relative.js | 37 +
.../prototype/until/roundingincrement-nan.js | 22 +
.../until/roundingincrement-non-integer.js | 20 +
.../until/roundingincrement-out-of-range.js | 21 +
.../until/roundingincrement-undefined.js | 27 +
.../until/roundingincrement-wrong-type.js | 28 +
.../prototype/until/roundingincrement.js | 31 +
.../prototype/until/roundingmode-ceil.js | 43 +
.../prototype/until/roundingmode-floor.js | 43 +
.../until/roundingmode-halfExpand.js | 43 +
.../until/roundingmode-invalid-string.js | 17 +
.../prototype/until/roundingmode-trunc.js | 43 +
.../prototype/until/roundingmode-undefined.js | 26 +
.../until/roundingmode-wrong-type.js | 19 +
.../PlainDate/prototype/until/shell.js | 19 +
.../until/smallestunit-higher-units.js | 27 +
.../until/smallestunit-invalid-string.js | 18 +
.../until/smallestunit-plurals-accepted.js | 22 +
.../prototype/until/smallestunit-undefined.js | 20 +
.../until/smallestunit-wrong-type.js | 19 +
.../PlainDate/prototype/until/weeks-months.js | 19 +
.../PlainDate/prototype/until/year-zero.js | 20 +
.../PlainDate/prototype/valueOf/basic.js | 24 +
.../PlainDate/prototype/valueOf/builtin.js | 36 +
.../PlainDate/prototype/valueOf/length.js | 28 +
.../PlainDate/prototype/valueOf/name.js | 26 +
.../prototype/valueOf/not-a-constructor.js | 24 +
.../PlainDate/prototype/valueOf/prop-desc.js | 24 +
.../PlainDate/prototype/valueOf/shell.js | 19 +
.../PlainDate/prototype/weekOfYear/basic.js | 37 +
.../prototype/weekOfYear/prop-desc.js | 17 +
.../PlainDate/prototype/with/basic.js | 31 +
.../PlainDate/prototype/with/builtin.js | 36 +
.../with/calendar-fields-iterable.js | 32 +
...calendar-merge-fields-returns-primitive.js | 21 +
.../with/copies-merge-fields-object.js | 38 +
.../with/copy-properties-not-undefined.js | 25 +
.../with/infinity-throws-rangeerror.js | 27 +
.../PlainDate/prototype/with/length.js | 28 +
.../Temporal/PlainDate/prototype/with/name.js | 26 +
.../prototype/with/not-a-constructor.js | 24 +
.../prototype/with/options-invalid.js | 16 +
.../prototype/with/options-undefined.js | 22 +
.../prototype/with/order-of-operations.js | 55 +
.../prototype/with/overflow-invalid-string.js | 31 +
.../prototype/with/overflow-undefined.js | 29 +
.../prototype/with/overflow-wrong-type.js | 27 +
.../prototype/with/plaindatelike-invalid.js | 51 +
.../PlainDate/prototype/with/prop-desc.js | 24 +
.../PlainDate/prototype/with/shell.js | 19 +
.../prototype/with/subclassing-ignored.js | 20 +
.../PlainDate/prototype/withCalendar/basic.js | 23 +
.../prototype/withCalendar/builtin.js | 36 +
.../withCalendar/calendar-temporal-object.js | 24 +
.../prototype/withCalendar/length.js | 28 +
.../withCalendar/missing-argument.js | 15 +
.../PlainDate/prototype/withCalendar/name.js | 26 +
.../withCalendar/not-a-constructor.js | 24 +
.../prototype/withCalendar/prop-desc.js | 24 +
.../PlainDate/prototype/withCalendar/shell.js | 19 +
.../withCalendar/subclassing-ignored.js | 33 +
.../year/calendar-returns-infinity.js | 30 +
.../PlainDate/prototype/year/prop-desc.js | 17 +
.../built-ins/Temporal/PlainDate/shell.js | 1498 ++++++
.../Temporal/PlainDateTime/builtin.js | 30 +
.../PlainDateTime/calendar-temporal-object.js | 25 +
.../PlainDateTime/calendar-undefined.js | 25 +
.../argument-object-insufficient-data.js | 26 +
.../compare/argument-plaindate.js | 31 +
.../argument-string-with-utc-designator.js | 29 +
...zoneddatetime-negative-epochnanoseconds.js | 28 +
...one-getoffsetnanosecondsfor-non-integer.js | 21 +
...ne-getoffsetnanosecondsfor-not-callable.js | 28 +
...ne-getoffsetnanosecondsfor-out-of-range.js | 21 +
...zone-getoffsetnanosecondsfor-wrong-type.js | 30 +
.../Temporal/PlainDateTime/compare/basic.js | 32 +
.../Temporal/PlainDateTime/compare/browser.js | 0
.../Temporal/PlainDateTime/compare/builtin.js | 33 +
.../compare/calendar-fields-iterable.js | 47 +
.../compare/calendar-temporal-object.js | 32 +
.../Temporal/PlainDateTime/compare/cast.js | 38 +
.../compare/infinity-throws-rangeerror.js | 33 +
.../Temporal/PlainDateTime/compare/length.js | 28 +
.../Temporal/PlainDateTime/compare/name.js | 26 +
.../compare/not-a-constructor.js | 23 +
.../PlainDateTime/compare/prop-desc.js | 24 +
.../read-time-fields-before-datefromfields.js | 30 +
.../Temporal/PlainDateTime/compare/shell.js | 19 +
.../compare/use-internal-slots.js | 47 +
.../PlainDateTime/compare/year-zero.js | 24 +
.../PlainDateTime/constructor-full.js | 26 +
.../Temporal/PlainDateTime/constructor.js | 15 +
.../Temporal/PlainDateTime/datetime-math.js | 50 +
.../PlainDateTime/from/argument-plaindate.js | 24 +
.../argument-string-with-utc-designator.js | 23 +
...neddatetime-balance-negative-time-units.js | 46 +
...zoneddatetime-negative-epochnanoseconds.js | 25 +
...one-getoffsetnanosecondsfor-non-integer.js | 18 +
...ne-getoffsetnanosecondsfor-not-callable.js | 21 +
...ne-getoffsetnanosecondsfor-out-of-range.js | 18 +
...zone-getoffsetnanosecondsfor-wrong-type.js | 27 +
.../Temporal/PlainDateTime/from/browser.js | 0
.../Temporal/PlainDateTime/from/builtin.js | 33 +
.../from/calendar-fields-iterable.js | 39 +
.../from/calendar-temporal-object.js | 29 +
.../from/infinity-throws-rangeerror.js | 27 +
.../Temporal/PlainDateTime/from/length.js | 28 +
.../Temporal/PlainDateTime/from/name.js | 26 +
.../PlainDateTime/from/not-a-constructor.js | 23 +
.../PlainDateTime/from/options-undefined.js | 19 +
.../PlainDateTime/from/order-of-operations.js | 75 +
.../from/overflow-invalid-string.js | 47 +
.../PlainDateTime/from/overflow-undefined.js | 48 +
.../PlainDateTime/from/overflow-wrong-type.js | 66 +
.../Temporal/PlainDateTime/from/parser.js | 15 +
.../Temporal/PlainDateTime/from/prop-desc.js | 24 +
.../read-time-fields-before-datefromfields.js | 30 +
.../Temporal/PlainDateTime/from/shell.js | 19 +
.../PlainDateTime/from/subclassing-ignored.js | 19 +
.../Temporal/PlainDateTime/from/year-zero.js | 23 +
.../Temporal/PlainDateTime/hour-undefined.js | 26 +
.../infinity-throws-rangeerror.js | 165 +
.../Temporal/PlainDateTime/length.js | 28 +
.../PlainDateTime/microsecond-undefined.js | 27 +
.../PlainDateTime/millisecond-undefined.js | 26 +
.../PlainDateTime/minute-undefined.js | 26 +
.../PlainDateTime/missing-arguments.js | 25 +
.../built-ins/Temporal/PlainDateTime/name.js | 26 +
.../PlainDateTime/nanosecond-undefined.js | 26 +
.../negative-infinity-throws-rangeerror.js | 165 +
.../PlainDateTime/order-of-operations.js | 42 +
.../Temporal/PlainDateTime/prop-desc.js | 24 +
.../prototype/add/ambiguous-date.js | 32 +
.../prototype/add/argument-duration.js | 20 +
.../prototype/add/argument-not-object.js | 20 +
.../add/argument-object-insufficient-data.js | 38 +
.../add/argument-plain-object-mixed-signs.js | 21 +
...t-string-fractional-units-rounding-mode.js | 19 +
...gument-string-negative-fractional-units.js | 20 +
.../prototype/add/argument-string.js | 16 +
.../add/balance-negative-time-units.js | 52 +
.../PlainDateTime/prototype/add/builtin.js | 36 +
.../prototype/add/hour-overflow.js | 28 +
.../add/infinity-throws-rangeerror.js | 38 +
.../PlainDateTime/prototype/add/length.js | 28 +
.../PlainDateTime/prototype/add/name.js | 26 +
.../prototype/add/negative-duration.js | 26 +
.../negative-infinity-throws-rangeerror.js | 38 +
.../add/non-integer-throws-rangeerror.js | 29 +
.../prototype/add/not-a-constructor.js | 24 +
.../prototype/add/options-empty.js | 26 +
.../prototype/add/options-invalid.js | 23 +
.../prototype/add/options-undefined.js | 22 +
.../prototype/add/order-of-operations.js | 77 +
.../prototype/add/overflow-invalid-string.js | 35 +
.../prototype/add/overflow-undefined.js | 31 +
.../prototype/add/overflow-wrong-type.js | 30 +
.../PlainDateTime/prototype/add/prop-desc.js | 24 +
.../PlainDateTime/prototype/add/shell.js | 19 +
.../prototype/add/subclassing-ignored.js | 20 +
.../prototype/calendar/prop-desc.js | 17 +
.../day/calendar-returns-infinity.js | 30 +
.../PlainDateTime/prototype/day/prop-desc.js | 17 +
.../prototype/dayOfWeek/basic.js | 15 +
.../prototype/dayOfWeek/prop-desc.js | 17 +
.../prototype/dayOfYear/basic.js | 15 +
.../prototype/dayOfYear/prop-desc.js | 17 +
.../prototype/daysInMonth/basic.js | 15 +
.../prototype/daysInMonth/prop-desc.js | 17 +
.../prototype/daysInWeek/basic.js | 15 +
.../prototype/daysInWeek/prop-desc.js | 17 +
.../prototype/daysInYear/basic.js | 15 +
.../prototype/daysInYear/prop-desc.js | 17 +
.../argument-object-insufficient-data.js | 19 +
.../prototype/equals/argument-plaindate.js | 23 +
.../argument-string-with-utc-designator.js | 24 +
.../prototype/equals/argument-wrong-type.js | 23 +
...neddatetime-balance-negative-time-units.js | 43 +
...zoneddatetime-negative-epochnanoseconds.js | 25 +
...one-getoffsetnanosecondsfor-non-integer.js | 19 +
...ne-getoffsetnanosecondsfor-not-callable.js | 23 +
...ne-getoffsetnanosecondsfor-out-of-range.js | 19 +
...zone-getoffsetnanosecondsfor-wrong-type.js | 28 +
.../PlainDateTime/prototype/equals/basic.js | 17 +
.../PlainDateTime/prototype/equals/builtin.js | 36 +
.../equals/calendar-fields-iterable.js | 42 +
.../equals/calendar-temporal-object.js | 29 +
.../PlainDateTime/prototype/equals/cast.js | 49 +
.../equals/infinity-throws-rangeerror.js | 26 +
.../PlainDateTime/prototype/equals/length.js | 28 +
.../PlainDateTime/prototype/equals/name.js | 26 +
.../prototype/equals/not-a-constructor.js | 24 +
.../prototype/equals/prop-desc.js | 24 +
.../read-time-fields-before-datefromfields.js | 26 +
.../PlainDateTime/prototype/equals/shell.js | 19 +
.../prototype/equals/year-zero.js | 24 +
.../prototype/getISOFields/builtin.js | 36 +
.../prototype/getISOFields/field-names.js | 25 +
.../prototype/getISOFields/field-prop-desc.js | 36 +
.../getISOFields/field-traversal-order.js | 30 +
.../prototype/getISOFields/length.js | 28 +
.../prototype/getISOFields/name.js | 26 +
.../getISOFields/not-a-constructor.js | 24 +
.../prototype/getISOFields/prop-desc.js | 24 +
.../prototype/getISOFields/shell.js | 19 +
.../PlainDateTime/prototype/hour/prop-desc.js | 17 +
.../prototype/inLeapYear/prop-desc.js | 17 +
.../prototype/microsecond/prop-desc.js | 17 +
.../prototype/millisecond/prop-desc.js | 17 +
.../prototype/minute/prop-desc.js | 17 +
.../month/calendar-returns-infinity.js | 30 +
.../prototype/month/prop-desc.js | 17 +
.../prototype/monthCode/prop-desc.js | 17 +
.../prototype/monthsInYear/basic.js | 15 +
.../prototype/monthsInYear/prop-desc.js | 17 +
.../prototype/nanosecond/prop-desc.js | 17 +
.../PlainDateTime/prototype/prop-desc.js | 21 +
.../PlainDateTime/prototype/round/builtin.js | 36 +
.../PlainDateTime/prototype/round/length.js | 28 +
.../PlainDateTime/prototype/round/name.js | 26 +
.../prototype/round/not-a-constructor.js | 24 +
.../prototype/round/prop-desc.js | 24 +
.../prototype/round/roundingincrement-nan.js | 23 +
.../round/roundingincrement-non-integer.js | 19 +
.../round/roundingincrement-out-of-range.js | 20 +
.../round/roundingincrement-undefined.js | 29 +
.../round/roundingincrement-wrong-type.js | 29 +
.../round/roundingmode-invalid-string.js | 16 +
.../prototype/round/roundingmode-undefined.js | 29 +
.../round/roundingmode-wrong-type.js | 18 +
.../PlainDateTime/prototype/round/shell.js | 19 +
.../round/smallestunit-disallowed-units.js | 35 +
.../round/smallestunit-invalid-string.js | 14 +
.../round/smallestunit-plurals-accepted.js | 25 +
.../round/smallestunit-string-shorthand.js | 28 +
.../round/smallestunit-wrong-type.js | 18 +
.../prototype/round/subclassing-ignored.js | 20 +
.../prototype/second/prop-desc.js | 17 +
.../prototype/since/argument-plaindate.js | 24 +
.../argument-string-with-utc-designator.js | 24 +
...neddatetime-balance-negative-time-units.js | 46 +
...zoneddatetime-negative-epochnanoseconds.js | 26 +
...one-getoffsetnanosecondsfor-non-integer.js | 19 +
...ne-getoffsetnanosecondsfor-not-callable.js | 23 +
...ne-getoffsetnanosecondsfor-out-of-range.js | 19 +
...zone-getoffsetnanosecondsfor-wrong-type.js | 28 +
.../since/balance-negative-duration.js | 37 +
.../since/balance-negative-time-units.js | 53 +
.../PlainDateTime/prototype/since/builtin.js | 36 +
...-dateadd-called-with-plaindate-instance.js | 19 +
...r-dateuntil-called-with-copy-of-options.js | 35 +
...ateuntil-called-with-plaindate-calendar.js | 34 +
...euntil-called-with-singular-largestunit.js | 39 +
.../since/calendar-fields-iterable.js | 42 +
.../since/calendar-temporal-object.js | 29 +
.../since/infinity-throws-rangeerror.js | 26 +
.../since/largestunit-invalid-string.js | 18 +
.../since/largestunit-plurals-accepted.js | 28 +
.../largestunit-smallestunit-mismatch.js | 22 +
.../prototype/since/largestunit-undefined.js | 20 +
.../prototype/since/largestunit-wrong-type.js | 19 +
.../prototype/since/largestunit.js | 17 +
.../PlainDateTime/prototype/since/length.js | 28 +
.../PlainDateTime/prototype/since/name.js | 26 +
.../prototype/since/not-a-constructor.js | 24 +
.../prototype/since/options-undefined.js | 28 +
.../prototype/since/prop-desc.js | 24 +
.../read-time-fields-before-datefromfields.js | 26 +
.../since/round-negative-duration.js | 27 +
.../prototype/since/roundingincrement-nan.js | 22 +
.../since/roundingincrement-non-integer.js | 20 +
.../since/roundingincrement-out-of-range.js | 21 +
.../since/roundingincrement-undefined.js | 28 +
.../since/roundingincrement-wrong-type.js | 28 +
.../since/roundingmode-invalid-string.js | 17 +
.../prototype/since/roundingmode-undefined.js | 30 +
.../since/roundingmode-wrong-type.js | 19 +
.../PlainDateTime/prototype/since/shell.js | 19 +
.../since/smallestunit-invalid-string.js | 18 +
.../since/smallestunit-plurals-accepted.js | 28 +
.../prototype/since/smallestunit-undefined.js | 20 +
.../since/smallestunit-wrong-type.js | 19 +
.../prototype/since/year-zero.js | 24 +
.../prototype/subtract/ambiguous-date.js | 32 +
.../prototype/subtract/argument-duration.js | 21 +
.../prototype/subtract/argument-not-object.js | 20 +
.../argument-object-insufficient-data.js | 38 +
.../argument-plain-object-mixed-signs.js | 21 +
...t-string-fractional-units-rounding-mode.js | 19 +
...gument-string-negative-fractional-units.js | 20 +
.../prototype/subtract/argument-string.js | 16 +
.../subtract/balance-negative-time-units.js | 52 +
.../prototype/subtract/builtin.js | 36 +
.../prototype/subtract/hour-overflow.js | 33 +
.../subtract/infinity-throws-rangeerror.js | 38 +
.../prototype/subtract/length.js | 28 +
.../PlainDateTime/prototype/subtract/name.js | 26 +
.../prototype/subtract/negative-duration.js | 26 +
.../negative-infinity-throws-rangeerror.js | 38 +
.../subtract/non-integer-throws-rangeerror.js | 29 +
.../prototype/subtract/not-a-constructor.js | 24 +
.../prototype/subtract/options-empty.js | 26 +
.../prototype/subtract/options-invalid.js | 23 +
.../prototype/subtract/options-undefined.js | 22 +
.../prototype/subtract/order-of-operations.js | 77 +
.../subtract/overflow-invalid-string.js | 33 +
.../prototype/subtract/overflow-undefined.js | 31 +
.../prototype/subtract/overflow-wrong-type.js | 30 +
.../prototype/subtract/prop-desc.js | 24 +
.../PlainDateTime/prototype/subtract/shell.js | 19 +
.../prototype/subtract/subclassing-ignored.js | 20 +
.../PlainDateTime/prototype/toJSON/builtin.js | 36 +
.../PlainDateTime/prototype/toJSON/length.js | 28 +
.../PlainDateTime/prototype/toJSON/name.js | 26 +
.../prototype/toJSON/not-a-constructor.js | 24 +
.../prototype/toJSON/prop-desc.js | 24 +
.../PlainDateTime/prototype/toJSON/shell.js | 19 +
.../prototype/toJSON/year-format.js | 50 +
.../prototype/toLocaleString/builtin.js | 36 +
.../prototype/toLocaleString/length.js | 28 +
.../prototype/toLocaleString/name.js | 26 +
.../toLocaleString/not-a-constructor.js | 24 +
.../prototype/toLocaleString/prop-desc.js | 24 +
.../prototype/toLocaleString/return-string.js | 17 +
.../prototype/toLocaleString/shell.js | 19 +
.../prototype/toPlainDate/builtin.js | 36 +
.../prototype/toPlainDate/length.js | 28 +
.../prototype/toPlainDate/limits.js | 21 +
.../prototype/toPlainDate/name.js | 26 +
.../toPlainDate/not-a-constructor.js | 24 +
.../prototype/toPlainDate/prop-desc.js | 24 +
.../prototype/toPlainDate/shell.js | 19 +
.../prototype/toPlainMonthDay/builtin.js | 36 +
.../toPlainMonthDay/calendar-arguments.js | 32 +
.../calendar-fields-iterable.js | 30 +
...romfields-called-with-options-undefined.js | 19 +
.../prototype/toPlainMonthDay/length.js | 28 +
.../prototype/toPlainMonthDay/name.js | 26 +
.../toPlainMonthDay/not-a-constructor.js | 24 +
.../prototype/toPlainMonthDay/prop-desc.js | 24 +
.../prototype/toPlainMonthDay/shell.js | 19 +
.../prototype/toPlainTime/basic.js | 15 +
.../prototype/toPlainTime/builtin.js | 36 +
.../prototype/toPlainTime/length.js | 28 +
.../prototype/toPlainTime/name.js | 26 +
.../toPlainTime/not-a-constructor.js | 24 +
.../prototype/toPlainTime/prop-desc.js | 24 +
.../prototype/toPlainTime/shell.js | 19 +
.../prototype/toPlainYearMonth/builtin.js | 36 +
.../toPlainYearMonth/calendar-arguments.js | 32 +
.../calendar-fields-iterable.js | 30 +
...romfields-called-with-options-undefined.js | 19 +
.../prototype/toPlainYearMonth/length.js | 28 +
.../prototype/toPlainYearMonth/name.js | 26 +
.../toPlainYearMonth/not-a-constructor.js | 24 +
.../prototype/toPlainYearMonth/prop-desc.js | 24 +
.../prototype/toPlainYearMonth/shell.js | 19 +
.../PlainDateTime/prototype/toString/basic.js | 16 +
.../prototype/toString/builtin.js | 36 +
.../toString/calendarname-invalid-string.js | 21 +
.../toString/calendarname-undefined.js | 34 +
.../toString/calendarname-wrong-type.js | 29 +
.../fractionalseconddigits-invalid-string.js | 22 +
.../toString/fractionalseconddigits-nan.js | 23 +
.../fractionalseconddigits-non-integer.js | 23 +
.../fractionalseconddigits-out-of-range.js | 23 +
.../fractionalseconddigits-undefined.js | 27 +
.../fractionalseconddigits-wrong-type.js | 28 +
.../prototype/toString/length.js | 28 +
.../PlainDateTime/prototype/toString/name.js | 26 +
.../prototype/toString/not-a-constructor.js | 24 +
.../prototype/toString/options-undefined.js | 31 +
.../prototype/toString/prop-desc.js | 24 +
.../toString/roundingmode-invalid-string.js | 16 +
.../toString/roundingmode-undefined.js | 28 +
.../toString/roundingmode-wrong-type.js | 18 +
.../PlainDateTime/prototype/toString/shell.js | 19 +
.../toString/smallestunit-invalid-string.js | 14 +
.../toString/smallestunit-plurals-accepted.js | 22 +
.../toString/smallestunit-undefined.js | 23 +
.../toString/smallestunit-valid-units.js | 31 +
.../toString/smallestunit-wrong-type.js | 18 +
.../prototype/toString/year-format.js | 50 +
.../balance-negative-time-units.js | 48 +
.../prototype/toZonedDateTime/builtin.js | 36 +
...r-dateadd-called-with-options-undefined.js | 25 +
.../disambiguation-invalid-string.js | 22 +
.../disambiguation-undefined.js | 33 +
.../disambiguation-wrong-type.js | 26 +
.../prototype/toZonedDateTime/length.js | 28 +
.../prototype/toZonedDateTime/name.js | 26 +
.../toZonedDateTime/not-a-constructor.js | 24 +
.../toZonedDateTime/options-undefined.js | 27 +
.../toZonedDateTime/plain-custom-timezone.js | 69 +
.../prototype/toZonedDateTime/prop-desc.js | 24 +
.../prototype/toZonedDateTime/shell.js | 19 +
...one-getoffsetnanosecondsfor-non-integer.js | 18 +
...ne-getoffsetnanosecondsfor-not-callable.js | 25 +
...ne-getoffsetnanosecondsfor-out-of-range.js | 18 +
...zone-getoffsetnanosecondsfor-wrong-type.js | 27 +
...imezone-getpossibleinstantsfor-iterable.js | 45 +
.../timezone-string-datetime.js | 47 +
.../timezone-string-multiple-offsets.js | 19 +
.../prototype/until/argument-plaindate.js | 24 +
.../argument-string-with-utc-designator.js | 24 +
...neddatetime-balance-negative-time-units.js | 46 +
...zoneddatetime-negative-epochnanoseconds.js | 26 +
...one-getoffsetnanosecondsfor-non-integer.js | 19 +
...ne-getoffsetnanosecondsfor-not-callable.js | 23 +
...ne-getoffsetnanosecondsfor-out-of-range.js | 19 +
...zone-getoffsetnanosecondsfor-wrong-type.js | 28 +
.../until/balance-negative-duration.js | 37 +
.../until/balance-negative-time-units.js | 53 +
.../PlainDateTime/prototype/until/balance.js | 28 +
.../PlainDateTime/prototype/until/builtin.js | 36 +
...-dateadd-called-with-plaindate-instance.js | 19 +
...r-dateuntil-called-with-copy-of-options.js | 35 +
...ateuntil-called-with-plaindate-calendar.js | 34 +
...euntil-called-with-singular-largestunit.js | 39 +
.../until/calendar-fields-iterable.js | 42 +
.../until/calendar-temporal-object.js | 29 +
.../prototype/until/casts-argument.js | 26 +
.../until/different-calendars-throws.js | 25 +
.../until/infinity-throws-rangeerror.js | 26 +
.../PlainDateTime/prototype/until/inverse.js | 17 +
.../until/largestunit-invalid-string.js | 18 +
.../until/largestunit-plurals-accepted.js | 28 +
.../largestunit-smallestunit-mismatch.js | 22 +
.../prototype/until/largestunit-undefined.js | 20 +
.../prototype/until/largestunit-wrong-type.js | 19 +
.../PlainDateTime/prototype/until/length.js | 28 +
.../PlainDateTime/prototype/until/name.js | 26 +
.../prototype/until/no-unnecessary-units.js | 27 +
.../prototype/until/not-a-constructor.js | 24 +
.../prototype/until/options-undefined.js | 28 +
.../prototype/until/prop-desc.js | 24 +
.../read-time-fields-before-datefromfields.js | 26 +
.../prototype/until/returns-days.js | 41 +
.../until/round-negative-duration.js | 27 +
.../prototype/until/roundingincrement-nan.js | 22 +
.../until/roundingincrement-non-integer.js | 20 +
.../until/roundingincrement-out-of-range.js | 21 +
.../until/roundingincrement-undefined.js | 28 +
.../until/roundingincrement-wrong-type.js | 28 +
.../until/roundingmode-invalid-string.js | 17 +
.../prototype/until/roundingmode-undefined.js | 30 +
.../until/roundingmode-wrong-type.js | 19 +
.../PlainDateTime/prototype/until/shell.js | 19 +
.../until/smallestunit-invalid-string.js | 18 +
.../until/smallestunit-plurals-accepted.js | 28 +
.../prototype/until/smallestunit-undefined.js | 20 +
.../until/smallestunit-wrong-type.js | 19 +
.../prototype/until/subseconds.js | 39 +
.../prototype/until/units-changed.js | 69 +
.../until/weeks-months-mutually-exclusive.js | 27 +
.../prototype/until/year-zero.js | 24 +
.../PlainDateTime/prototype/valueOf/basic.js | 26 +
.../prototype/valueOf/builtin.js | 36 +
.../PlainDateTime/prototype/valueOf/length.js | 28 +
.../PlainDateTime/prototype/valueOf/name.js | 26 +
.../prototype/valueOf/not-a-constructor.js | 24 +
.../prototype/valueOf/prop-desc.js | 24 +
.../PlainDateTime/prototype/valueOf/shell.js | 19 +
.../prototype/weekOfYear/basic.js | 15 +
.../prototype/weekOfYear/prop-desc.js | 17 +
.../with/argument-object-insufficient-data.js | 45 +
.../PlainDateTime/prototype/with/basic.js | 80 +
.../PlainDateTime/prototype/with/builtin.js | 36 +
.../with/calendar-fields-iterable.js | 38 +
...calendar-merge-fields-returns-primitive.js | 21 +
.../prototype/with/calendar-throws.js | 19 +
.../with/copies-merge-fields-object.js | 58 +
.../with/copy-properties-not-undefined.js | 25 +
.../with/infinity-throws-rangeerror.js | 27 +
.../PlainDateTime/prototype/with/length.js | 28 +
.../with/month-and-monthcode-must-agree.js | 19 +
...ultiple-unrecognized-properties-ignored.js | 26 +
.../PlainDateTime/prototype/with/name.js | 26 +
.../prototype/with/not-a-constructor.js | 24 +
.../prototype/with/options-empty.js | 26 +
.../prototype/with/options-invalid.js | 23 +
.../prototype/with/options-undefined.js | 22 +
.../prototype/with/order-of-operations.js | 79 +
.../prototype/with/overflow-invalid-string.js | 32 +
.../prototype/with/overflow-undefined.js | 28 +
.../prototype/with/overflow-wrong-type.js | 49 +
.../PlainDateTime/prototype/with/prop-desc.js | 24 +
.../read-time-fields-before-datefromfields.js | 29 +
.../PlainDateTime/prototype/with/shell.js | 19 +
.../prototype/with/string-throws.js | 23 +
.../prototype/with/subclassing-ignored.js | 20 +
.../prototype/with/timezone-throws.js | 19 +
.../prototype/withCalendar/builtin.js | 36 +
.../withCalendar/calendar-temporal-object.js | 24 +
.../prototype/withCalendar/length.js | 28 +
.../withCalendar/missing-argument.js | 15 +
.../prototype/withCalendar/name.js | 26 +
.../withCalendar/not-a-constructor.js | 24 +
.../prototype/withCalendar/prop-desc.js | 24 +
.../prototype/withCalendar/shell.js | 19 +
.../withCalendar/subclassing-ignored.js | 33 +
.../argument-object-insuffcient-data.js | 38 +
.../withPlainDate/argument-object.js | 20 +
.../withPlainDate/argument-plaindate.js | 21 +
.../withPlainDate/argument-plaindatetime.js | 24 +
.../withPlainDate/argument-string-invalid.js | 64 +
.../argument-string-iso-calendar.js | 39 +
.../argument-string-with-utc-designator.js | 24 +
.../withPlainDate/argument-string.js | 20 +
...one-getoffsetnanosecondsfor-non-integer.js | 19 +
...ne-getoffsetnanosecondsfor-not-callable.js | 23 +
...ne-getoffsetnanosecondsfor-out-of-range.js | 19 +
...zone-getoffsetnanosecondsfor-wrong-type.js | 28 +
.../prototype/withPlainDate/builtin.js | 36 +
...romfields-called-with-options-undefined.js | 19 +
.../withPlainDate/calendar-fields-iterable.js | 36 +
.../withPlainDate/calendar-temporal-object.js | 31 +
.../infinity-throws-rangeerror.js | 26 +
.../prototype/withPlainDate/length.js | 28 +
.../prototype/withPlainDate/name.js | 26 +
.../non-compatible-calendars-throw.js | 31 +
.../withPlainDate/not-a-constructor.js | 24 +
.../prototype/withPlainDate/prop-desc.js | 24 +
.../prototype/withPlainDate/shell.js | 19 +
.../withPlainDate/subclassing-ignored.js | 20 +
.../prototype/withPlainDate/year-zero.js | 20 +
.../argument-object-insufficient-data.js | 38 +
.../argument-string-no-implicit-midnight.js | 19 +
...-designator-required-for-disambiguation.js | 56 +
.../argument-string-with-time-designator.js | 32 +
.../argument-string-with-utc-designator.js | 24 +
...argument-string-without-time-designator.js | 20 +
.../prototype/withPlainTime/argument-time.js | 32 +
...neddatetime-balance-negative-time-units.js | 47 +
...zoneddatetime-negative-epochnanoseconds.js | 26 +
...one-getoffsetnanosecondsfor-non-integer.js | 19 +
...ne-getoffsetnanosecondsfor-not-callable.js | 23 +
...ne-getoffsetnanosecondsfor-out-of-range.js | 19 +
...zone-getoffsetnanosecondsfor-wrong-type.js | 28 +
.../prototype/withPlainTime/builtin.js | 36 +
.../withPlainTime/calendar-temporal-object.js | 28 +
.../prototype/withPlainTime/length.js | 28 +
.../prototype/withPlainTime/name.js | 26 +
.../no-argument-default-to-midnight.js | 20 +
.../withPlainTime/not-a-constructor.js | 24 +
.../plaintime-propertybag-no-time-units.js | 21 +
.../prototype/withPlainTime/prop-desc.js | 24 +
.../prototype/withPlainTime/shell.js | 19 +
.../withPlainTime/subclassing-ignored.js | 20 +
.../prototype/withPlainTime/time-undefined.js | 29 +
.../prototype/withPlainTime/year-zero.js | 24 +
.../year/calendar-returns-infinity.js | 30 +
.../PlainDateTime/prototype/year/prop-desc.js | 17 +
.../PlainDateTime/second-undefined.js | 26 +
.../built-ins/Temporal/PlainDateTime/shell.js | 1498 ++++++
.../built-ins/Temporal/PlainMonthDay/basic.js | 24 +
.../Temporal/PlainMonthDay/builtin.js | 30 +
.../Temporal/PlainMonthDay/calendar-always.js | 27 +
.../PlainMonthDay/calendar-invalid.js | 23 +
.../PlainMonthDay/calendar-temporal-object.js | 25 +
.../PlainMonthDay/calendar-undefined.js | 25 +
.../Temporal/PlainMonthDay/constructor.js | 15 +
.../argument-string-with-utc-designator.js | 23 +
.../Temporal/PlainMonthDay/from/browser.js | 0
.../Temporal/PlainMonthDay/from/builtin.js | 33 +
.../from/calendar-fields-iterable.js | 33 +
...romfields-called-with-options-undefined.js | 26 +
.../from/calendar-temporal-object.js | 29 +
.../PlainMonthDay/from/fields-leap-day.js | 42 +
.../from/fields-missing-properties.js | 18 +
.../PlainMonthDay/from/fields-object.js | 29 +
.../from/fields-plainmonthday.js | 30 +
.../PlainMonthDay/from/fields-string.js | 49 +
.../from/infinity-throws-rangeerror.js | 27 +
.../Temporal/PlainMonthDay/from/length.js | 28 +
.../Temporal/PlainMonthDay/from/name.js | 26 +
.../PlainMonthDay/from/not-a-constructor.js | 23 +
.../PlainMonthDay/from/options-invalid.js | 18 +
.../PlainMonthDay/from/options-undefined.js | 20 +
.../PlainMonthDay/from/order-of-operations.js | 51 +
.../from/overflow-invalid-string.js | 43 +
.../PlainMonthDay/from/overflow-undefined.js | 48 +
.../PlainMonthDay/from/overflow-wrong-type.js | 37 +
.../Temporal/PlainMonthDay/from/overflow.js | 41 +
.../Temporal/PlainMonthDay/from/prop-desc.js | 24 +
.../Temporal/PlainMonthDay/from/shell.js | 19 +
.../PlainMonthDay/from/subclassing-ignored.js | 19 +
.../Temporal/PlainMonthDay/from/year-zero.js | 25 +
.../infinity-throws-rangeerror.js | 44 +
.../Temporal/PlainMonthDay/length.js | 28 +
.../PlainMonthDay/missing-arguments.js | 24 +
.../built-ins/Temporal/PlainMonthDay/name.js | 26 +
.../negative-infinity-throws-rangeerror.js | 44 +
.../Temporal/PlainMonthDay/prop-desc.js | 24 +
.../prototype/calendar/prop-desc.js | 17 +
.../PlainMonthDay/prototype/day/basic.js | 14 +
.../day/calendar-returns-infinity.js | 30 +
.../PlainMonthDay/prototype/day/prop-desc.js | 17 +
.../argument-string-with-utc-designator.js | 24 +
.../prototype/equals/argument-wrong-type.js | 23 +
.../PlainMonthDay/prototype/equals/basic.js | 28 +
.../PlainMonthDay/prototype/equals/builtin.js | 36 +
.../equals/calendar-fields-iterable.js | 36 +
...romfields-called-with-options-undefined.js | 36 +
.../equals/calendar-temporal-object.js | 29 +
.../prototype/equals/calendars.js | 33 +
.../equals/infinity-throws-rangeerror.js | 26 +
.../PlainMonthDay/prototype/equals/length.js | 28 +
.../PlainMonthDay/prototype/equals/name.js | 26 +
.../prototype/equals/not-a-constructor.js | 24 +
.../prototype/equals/prop-desc.js | 24 +
.../PlainMonthDay/prototype/equals/shell.js | 19 +
.../prototype/equals/year-zero.js | 26 +
.../prototype/getISOFields/builtin.js | 36 +
.../prototype/getISOFields/field-names.js | 19 +
.../prototype/getISOFields/field-prop-desc.js | 30 +
.../getISOFields/field-traversal-order.js | 24 +
.../prototype/getISOFields/length.js | 28 +
.../prototype/getISOFields/name.js | 26 +
.../getISOFields/not-a-constructor.js | 24 +
.../prototype/getISOFields/prop-desc.js | 24 +
.../prototype/getISOFields/shell.js | 19 +
.../PlainMonthDay/prototype/month/browser.js | 0
.../PlainMonthDay/prototype/month/shell.js | 0
.../prototype/month/unsupported.js | 15 +
.../prototype/monthCode/basic.js | 14 +
.../prototype/monthCode/prop-desc.js | 17 +
.../PlainMonthDay/prototype/prop-desc.js | 21 +
.../PlainMonthDay/prototype/toJSON/builtin.js | 36 +
.../prototype/toJSON/calendarname.js | 31 +
.../PlainMonthDay/prototype/toJSON/length.js | 28 +
.../PlainMonthDay/prototype/toJSON/name.js | 26 +
.../prototype/toJSON/not-a-constructor.js | 24 +
.../prototype/toJSON/prop-desc.js | 24 +
.../PlainMonthDay/prototype/toJSON/shell.js | 19 +
.../prototype/toJSON/year-format.js | 58 +
.../prototype/toLocaleString/builtin.js | 36 +
.../prototype/toLocaleString/length.js | 28 +
.../prototype/toLocaleString/name.js | 26 +
.../toLocaleString/not-a-constructor.js | 24 +
.../prototype/toLocaleString/prop-desc.js | 24 +
.../prototype/toLocaleString/shell.js | 19 +
.../toPlainDate/argument-not-object.js | 18 +
.../prototype/toPlainDate/basic.js | 30 +
.../prototype/toPlainDate/builtin.js | 36 +
.../toPlainDate/calendar-fields-iterable.js | 37 +
...calendar-merge-fields-returns-primitive.js | 21 +
.../toPlainDate/copies-merge-fields-object.js | 34 +
.../toPlainDate/infinity-throws-rangeerror.js | 23 +
.../prototype/toPlainDate/length.js | 28 +
.../prototype/toPlainDate/limits.js | 33 +
.../prototype/toPlainDate/name.js | 26 +
.../toPlainDate/not-a-constructor.js | 24 +
.../prototype/toPlainDate/prop-desc.js | 24 +
.../prototype/toPlainDate/shell.js | 19 +
.../prototype/toString/builtin.js | 36 +
.../prototype/toString/calendarname-always.js | 25 +
.../prototype/toString/calendarname-auto.js | 25 +
.../toString/calendarname-invalid-string.js | 23 +
.../prototype/toString/calendarname-never.js | 25 +
.../toString/calendarname-undefined.js | 35 +
.../toString/calendarname-wrong-type.js | 29 +
.../prototype/toString/length.js | 28 +
.../PlainMonthDay/prototype/toString/name.js | 26 +
.../prototype/toString/not-a-constructor.js | 24 +
.../prototype/toString/options-undefined.js | 28 +
.../prototype/toString/prop-desc.js | 24 +
.../PlainMonthDay/prototype/toString/shell.js | 19 +
.../prototype/toString/year-format.js | 58 +
.../PlainMonthDay/prototype/valueOf/basic.js | 24 +
.../prototype/valueOf/builtin.js | 36 +
.../PlainMonthDay/prototype/valueOf/length.js | 28 +
.../PlainMonthDay/prototype/valueOf/name.js | 26 +
.../prototype/valueOf/not-a-constructor.js | 24 +
.../prototype/valueOf/prop-desc.js | 24 +
.../PlainMonthDay/prototype/valueOf/shell.js | 19 +
.../PlainMonthDay/prototype/with/basic.js | 43 +
.../PlainMonthDay/prototype/with/builtin.js | 36 +
.../prototype/with/calendar-arguments.js | 32 +
.../with/calendar-fields-iterable.js | 32 +
...calendar-merge-fields-returns-primitive.js | 21 +
.../with/copies-merge-fields-object.js | 34 +
.../with/copy-properties-not-undefined.js | 25 +
.../with/infinity-throws-rangeerror.js | 25 +
.../PlainMonthDay/prototype/with/length.js | 28 +
.../PlainMonthDay/prototype/with/name.js | 26 +
.../prototype/with/not-a-constructor.js | 24 +
.../prototype/with/options-invalid.js | 16 +
.../prototype/with/options-undefined.js | 20 +
.../prototype/with/order-of-operations.js | 54 +
.../prototype/with/overflow-invalid-string.js | 31 +
.../prototype/with/overflow-undefined.js | 29 +
.../prototype/with/overflow-wrong-type.js | 27 +
.../PlainMonthDay/prototype/with/prop-desc.js | 24 +
.../PlainMonthDay/prototype/with/shell.js | 19 +
.../prototype/with/subclassing-ignored.js | 20 +
.../PlainMonthDay/refisoyear-undefined.js | 20 +
.../built-ins/Temporal/PlainMonthDay/shell.js | 1498 ++++++
.../built-ins/Temporal/PlainTime/basic.js | 17 +
.../built-ins/Temporal/PlainTime/builtin.js | 30 +
.../PlainTime/compare/argument-cast.js | 22 +
.../argument-string-no-implicit-midnight.js | 24 +
...-designator-required-for-disambiguation.js | 70 +
.../argument-string-with-time-designator.js | 31 +
.../argument-string-with-utc-designator.js | 29 +
...zoneddatetime-negative-epochnanoseconds.js | 28 +
...one-getoffsetnanosecondsfor-non-integer.js | 21 +
...ne-getoffsetnanosecondsfor-not-callable.js | 28 +
...ne-getoffsetnanosecondsfor-out-of-range.js | 21 +
...zone-getoffsetnanosecondsfor-wrong-type.js | 30 +
.../Temporal/PlainTime/compare/basic.js | 20 +
.../Temporal/PlainTime/compare/browser.js | 0
.../Temporal/PlainTime/compare/builtin.js | 33 +
.../compare/calendar-temporal-object.js | 30 +
.../Temporal/PlainTime/compare/length.js | 28 +
.../Temporal/PlainTime/compare/name.js | 26 +
.../PlainTime/compare/not-a-constructor.js | 23 +
.../plaintime-propertybag-no-time-units.js | 18 +
.../Temporal/PlainTime/compare/prop-desc.js | 24 +
.../Temporal/PlainTime/compare/shell.js | 19 +
.../PlainTime/compare/use-internal-slots.js | 38 +
.../Temporal/PlainTime/compare/year-zero.js | 26 +
.../Temporal/PlainTime/constructor.js | 15 +
.../PlainTime/from/argument-number.js | 15 +
.../from/argument-object-leap-second.js | 26 +
.../PlainTime/from/argument-object.js | 24 +
.../PlainTime/from/argument-plaindatetime.js | 17 +
.../PlainTime/from/argument-plaintime.js | 17 +
.../from/argument-string-leap-second.js | 21 +
.../argument-string-no-implicit-midnight.js | 18 +
...-designator-required-for-disambiguation.js | 54 +
.../from/argument-string-trailing-junk.js | 14 +
.../from/argument-string-with-calendar.js | 38 +
.../argument-string-with-time-designator.js | 31 +
.../argument-string-with-utc-designator.js | 23 +
.../PlainTime/from/argument-string.js | 60 +
...neddatetime-balance-negative-time-units.js | 46 +
...zoneddatetime-negative-epochnanoseconds.js | 25 +
...one-getoffsetnanosecondsfor-non-integer.js | 18 +
...ne-getoffsetnanosecondsfor-not-callable.js | 21 +
...ne-getoffsetnanosecondsfor-out-of-range.js | 18 +
...zone-getoffsetnanosecondsfor-wrong-type.js | 27 +
.../Temporal/PlainTime/from/browser.js | 0
.../Temporal/PlainTime/from/builtin.js | 33 +
.../from/calendar-temporal-object.js | 27 +
.../from/infinity-throws-rangeerror.js | 27 +
.../Temporal/PlainTime/from/length.js | 28 +
.../built-ins/Temporal/PlainTime/from/name.js | 26 +
.../PlainTime/from/not-a-constructor.js | 23 +
...le-get-overflow-argument-string-invalid.js | 29 +
.../PlainTime/from/options-invalid.js | 17 +
.../PlainTime/from/options-undefined.js | 19 +
.../PlainTime/from/order-of-operations.js | 59 +
.../PlainTime/from/overflow-constrain.js | 17 +
.../PlainTime/from/overflow-invalid-string.js | 35 +
.../PlainTime/from/overflow-reject.js | 16 +
.../PlainTime/from/overflow-undefined.js | 40 +
.../PlainTime/from/overflow-wrong-type.js | 29 +
.../plaintime-propertybag-no-time-units.js | 19 +
.../Temporal/PlainTime/from/prop-desc.js | 24 +
.../Temporal/PlainTime/from/shell.js | 19 +
.../PlainTime/from/subclassing-ignored.js | 19 +
.../Temporal/PlainTime/from/year-zero.js | 23 +
.../Temporal/PlainTime/hour-undefined.js | 18 +
.../PlainTime/infinity-throws-rangeerror.js | 60 +
.../built-ins/Temporal/PlainTime/length.js | 28 +
.../PlainTime/microsecond-undefined.js | 20 +
.../PlainTime/millisecond-undefined.js | 20 +
.../Temporal/PlainTime/minute-undefined.js | 20 +
.../built-ins/Temporal/PlainTime/name.js | 26 +
.../PlainTime/nanosecond-undefined.js | 20 +
.../negative-infinity-throws-rangeerror.js | 60 +
.../Temporal/PlainTime/negative-zero.js | 15 +
.../built-ins/Temporal/PlainTime/prop-desc.js | 24 +
.../prototype/add/argument-duration.js | 17 +
.../prototype/add/argument-higher-units.js | 32 +
.../prototype/add/argument-not-object.js | 20 +
.../prototype/add/argument-object-invalid.js | 16 +
.../prototype/add/argument-object.js | 40 +
...t-string-fractional-units-rounding-mode.js | 19 +
...gument-string-negative-fractional-units.js | 20 +
.../prototype/add/argument-string.js | 16 +
.../add/balance-negative-time-units.js | 50 +
.../PlainTime/prototype/add/builtin.js | 36 +
.../add/infinity-throws-rangeerror.js | 38 +
.../PlainTime/prototype/add/length.js | 28 +
.../Temporal/PlainTime/prototype/add/name.js | 26 +
.../negative-infinity-throws-rangeerror.js | 38 +
.../add/non-integer-throws-rangeerror.js | 29 +
.../prototype/add/not-a-constructor.js | 24 +
.../prototype/add/options-ignored.js | 32 +
.../prototype/add/order-of-operations.js | 77 +
.../PlainTime/prototype/add/prop-desc.js | 24 +
.../Temporal/PlainTime/prototype/add/shell.js | 19 +
.../prototype/add/subclassing-ignored.js | 20 +
.../PlainTime/prototype/calendar/prop-desc.js | 17 +
.../prototype/equals/argument-cast.js | 20 +
.../argument-string-no-implicit-midnight.js | 19 +
...-designator-required-for-disambiguation.js | 56 +
.../argument-string-with-time-designator.js | 31 +
.../argument-string-with-utc-designator.js | 24 +
.../prototype/equals/argument-wrong-type.js | 23 +
...neddatetime-balance-negative-time-units.js | 43 +
...zoneddatetime-negative-epochnanoseconds.js | 25 +
...one-getoffsetnanosecondsfor-non-integer.js | 19 +
...ne-getoffsetnanosecondsfor-not-callable.js | 23 +
...ne-getoffsetnanosecondsfor-out-of-range.js | 19 +
...zone-getoffsetnanosecondsfor-wrong-type.js | 28 +
.../PlainTime/prototype/equals/basic.js | 18 +
.../PlainTime/prototype/equals/builtin.js | 36 +
.../equals/calendar-temporal-object.js | 28 +
.../PlainTime/prototype/equals/length.js | 28 +
.../PlainTime/prototype/equals/name.js | 26 +
.../prototype/equals/not-a-constructor.js | 24 +
.../plaintime-propertybag-no-time-units.js | 20 +
.../PlainTime/prototype/equals/prop-desc.js | 24 +
.../PlainTime/prototype/equals/shell.js | 19 +
.../PlainTime/prototype/equals/year-zero.js | 24 +
.../prototype/getISOFields/builtin.js | 36 +
.../prototype/getISOFields/field-names.js | 22 +
.../prototype/getISOFields/field-prop-desc.js | 33 +
.../getISOFields/field-traversal-order.js | 27 +
.../prototype/getISOFields/length.js | 28 +
.../PlainTime/prototype/getISOFields/name.js | 26 +
.../getISOFields/not-a-constructor.js | 24 +
.../prototype/getISOFields/prop-desc.js | 24 +
.../PlainTime/prototype/getISOFields/shell.js | 19 +
.../PlainTime/prototype/hour/prop-desc.js | 17 +
.../prototype/microsecond/prop-desc.js | 17 +
.../prototype/millisecond/prop-desc.js | 17 +
.../PlainTime/prototype/minute/prop-desc.js | 17 +
.../prototype/nanosecond/prop-desc.js | 17 +
.../Temporal/PlainTime/prototype/prop-desc.js | 21 +
.../PlainTime/prototype/round/builtin.js | 36 +
.../PlainTime/prototype/round/length.js | 28 +
.../PlainTime/prototype/round/name.js | 26 +
.../prototype/round/not-a-constructor.js | 24 +
.../PlainTime/prototype/round/prop-desc.js | 24 +
.../round/rounding-cross-midnight.js | 17 +
.../round/roundingincrement-hours.js | 36 +
.../round/roundingincrement-invalid.js | 26 +
.../round/roundingincrement-microseconds.js | 60 +
.../round/roundingincrement-milliseconds.js | 60 +
.../round/roundingincrement-minutes.js | 48 +
.../prototype/round/roundingincrement-nan.js | 21 +
.../round/roundingincrement-nanoseconds.js | 60 +
.../round/roundingincrement-non-integer.js | 19 +
.../round/roundingincrement-out-of-range.js | 20 +
.../round/roundingincrement-seconds.js | 48 +
.../round/roundingincrement-undefined.js | 27 +
.../round/roundingincrement-wrong-type.js | 27 +
.../prototype/round/roundingmode-ceil.js | 39 +
.../prototype/round/roundingmode-floor.js | 38 +
.../round/roundingmode-halfExpand.js | 38 +
.../round/roundingmode-invalid-string.js | 16 +
.../prototype/round/roundingmode-trunc.js | 38 +
.../prototype/round/roundingmode-undefined.js | 56 +
.../round/roundingmode-wrong-type.js | 18 +
.../PlainTime/prototype/round/shell.js | 19 +
.../round/smallestunit-disallowed-units.js | 37 +
.../round/smallestunit-invalid-string.js | 17 +
.../prototype/round/smallestunit-missing.js | 16 +
.../round/smallestunit-plurals-accepted.js | 24 +
.../round/smallestunit-string-shorthand.js | 27 +
.../round/smallestunit-wrong-type.js | 18 +
.../prototype/round/subclassing-ignored.js | 20 +
.../PlainTime/prototype/second/prop-desc.js | 17 +
.../prototype/since/argument-cast.js | 21 +
.../argument-string-no-implicit-midnight.js | 19 +
...-designator-required-for-disambiguation.js | 56 +
.../argument-string-with-time-designator.js | 32 +
.../argument-string-with-utc-designator.js | 24 +
...neddatetime-balance-negative-time-units.js | 46 +
...zoneddatetime-negative-epochnanoseconds.js | 26 +
...one-getoffsetnanosecondsfor-non-integer.js | 19 +
...ne-getoffsetnanosecondsfor-not-callable.js | 23 +
...ne-getoffsetnanosecondsfor-out-of-range.js | 19 +
...zone-getoffsetnanosecondsfor-wrong-type.js | 28 +
.../since/balance-negative-time-units.js | 51 +
.../PlainTime/prototype/since/basic.js | 25 +
.../PlainTime/prototype/since/builtin.js | 36 +
.../since/calendar-temporal-object.js | 28 +
.../since/largestunit-invalid-string.js | 18 +
.../since/largestunit-plurals-accepted.js | 24 +
.../largestunit-smallestunit-mismatch.js | 22 +
.../prototype/since/largestunit-undefined.js | 20 +
.../prototype/since/largestunit-wrong-type.js | 19 +
.../PlainTime/prototype/since/largestunit.js | 19 +
.../PlainTime/prototype/since/length.js | 28 +
.../PlainTime/prototype/since/name.js | 26 +
.../prototype/since/not-a-constructor.js | 24 +
.../prototype/since/options-invalid.js | 19 +
.../prototype/since/options-undefined.js | 22 +
.../PlainTime/prototype/since/prop-desc.js | 24 +
.../prototype/since/result-sub-second.js | 24 +
.../since/roundingincrement-hours.js | 37 +
.../since/roundingincrement-invalid.js | 27 +
.../since/roundingincrement-microseconds.js | 61 +
.../since/roundingincrement-milliseconds.js | 61 +
.../since/roundingincrement-minutes.js | 49 +
.../prototype/since/roundingincrement-nan.js | 22 +
.../since/roundingincrement-nanoseconds.js | 61 +
.../since/roundingincrement-non-integer.js | 20 +
.../since/roundingincrement-out-of-range.js | 21 +
.../since/roundingincrement-seconds.js | 49 +
.../since/roundingincrement-undefined.js | 28 +
.../since/roundingincrement-wrong-type.js | 28 +
.../prototype/since/roundingmode-ceil.js | 57 +
.../prototype/since/roundingmode-floor.js | 58 +
.../since/roundingmode-halfExpand.js | 57 +
.../since/roundingmode-invalid-string.js | 17 +
.../prototype/since/roundingmode-trunc.js | 57 +
.../prototype/since/roundingmode-undefined.js | 93 +
.../since/roundingmode-wrong-type.js | 19 +
.../PlainTime/prototype/since/shell.js | 19 +
.../since/smallestunit-invalid-string.js | 18 +
.../since/smallestunit-plurals-accepted.js | 24 +
.../prototype/since/smallestunit-undefined.js | 22 +
.../since/smallestunit-wrong-type.js | 19 +
.../PlainTime/prototype/since/year-zero.js | 24 +
.../prototype/subtract/argument-duration.js | 17 +
.../subtract/argument-higher-units.js | 32 +
.../prototype/subtract/argument-not-object.js | 20 +
.../subtract/argument-object-invalid.js | 16 +
.../prototype/subtract/argument-object.js | 40 +
...t-string-fractional-units-rounding-mode.js | 19 +
...gument-string-negative-fractional-units.js | 20 +
.../prototype/subtract/argument-string.js | 16 +
.../subtract/balance-negative-time-units.js | 50 +
.../PlainTime/prototype/subtract/builtin.js | 36 +
.../subtract/infinity-throws-rangeerror.js | 38 +
.../PlainTime/prototype/subtract/length.js | 28 +
.../PlainTime/prototype/subtract/name.js | 26 +
.../negative-infinity-throws-rangeerror.js | 38 +
.../subtract/non-integer-throws-rangeerror.js | 29 +
.../prototype/subtract/not-a-constructor.js | 24 +
.../prototype/subtract/options-ignored.js | 32 +
.../prototype/subtract/order-of-operations.js | 77 +
.../PlainTime/prototype/subtract/prop-desc.js | 24 +
.../PlainTime/prototype/subtract/shell.js | 19 +
.../prototype/subtract/subclassing-ignored.js | 20 +
.../PlainTime/prototype/toJSON/builtin.js | 36 +
.../PlainTime/prototype/toJSON/length.js | 28 +
.../PlainTime/prototype/toJSON/name.js | 26 +
.../prototype/toJSON/not-a-constructor.js | 24 +
.../PlainTime/prototype/toJSON/prop-desc.js | 24 +
.../PlainTime/prototype/toJSON/shell.js | 19 +
.../prototype/toLocaleString/builtin.js | 36 +
.../prototype/toLocaleString/length.js | 28 +
.../prototype/toLocaleString/name.js | 26 +
.../toLocaleString/not-a-constructor.js | 24 +
.../prototype/toLocaleString/prop-desc.js | 24 +
.../prototype/toLocaleString/return-string.js | 16 +
.../prototype/toLocaleString/shell.js | 19 +
.../toPlainDateTime/argument-plaindatetime.js | 24 +
.../argument-string-invalid.js | 64 +
.../argument-string-with-utc-designator.js | 24 +
...one-getoffsetnanosecondsfor-non-integer.js | 19 +
...ne-getoffsetnanosecondsfor-not-callable.js | 23 +
...ne-getoffsetnanosecondsfor-out-of-range.js | 19 +
...zone-getoffsetnanosecondsfor-wrong-type.js | 28 +
.../prototype/toPlainDateTime/basic.js | 25 +
.../prototype/toPlainDateTime/builtin.js | 36 +
...romfields-called-with-options-undefined.js | 19 +
.../calendar-fields-iterable.js | 34 +
.../calendar-temporal-object.js | 30 +
.../infinity-throws-rangeerror.js | 26 +
.../prototype/toPlainDateTime/length.js | 28 +
.../prototype/toPlainDateTime/name.js | 26 +
.../toPlainDateTime/not-a-constructor.js | 24 +
.../prototype/toPlainDateTime/prop-desc.js | 24 +
.../prototype/toPlainDateTime/shell.js | 19 +
.../prototype/toPlainDateTime/year-zero.js | 20 +
.../PlainTime/prototype/toString/basic.js | 18 +
.../PlainTime/prototype/toString/builtin.js | 36 +
.../toString/fractionalseconddigits-auto.js | 22 +
.../fractionalseconddigits-invalid-string.js | 24 +
.../toString/fractionalseconddigits-nan.js | 23 +
.../fractionalseconddigits-non-integer.js | 23 +
.../toString/fractionalseconddigits-number.js | 25 +
.../fractionalseconddigits-out-of-range.js | 25 +
.../fractionalseconddigits-undefined.js | 39 +
.../fractionalseconddigits-wrong-type.js | 28 +
.../PlainTime/prototype/toString/length.js | 28 +
.../PlainTime/prototype/toString/name.js | 26 +
.../prototype/toString/not-a-constructor.js | 24 +
.../prototype/toString/options-invalid.js | 18 +
.../prototype/toString/options-undefined.js | 27 +
.../PlainTime/prototype/toString/prop-desc.js | 24 +
.../toString/rounding-cross-midnight.js | 16 +
.../prototype/toString/roundingmode-ceil.js | 22 +
.../prototype/toString/roundingmode-floor.js | 22 +
.../toString/roundingmode-halfExpand.js | 22 +
.../toString/roundingmode-invalid-string.js | 16 +
.../prototype/toString/roundingmode-trunc.js | 22 +
.../toString/roundingmode-undefined.js | 28 +
.../toString/roundingmode-wrong-type.js | 18 +
.../PlainTime/prototype/toString/shell.js | 19 +
.../smallestunit-fractionalseconddigits.js | 34 +
.../toString/smallestunit-invalid-string.js | 16 +
.../toString/smallestunit-plurals-accepted.js | 22 +
.../toString/smallestunit-undefined.js | 23 +
.../toString/smallestunit-valid-units.js | 37 +
.../toString/smallestunit-wrong-type.js | 18 +
.../toZonedDateTime/argument-plaindatetime.js | 32 +
.../toZonedDateTime/argument-primitive.js | 26 +
.../argument-string-invalid.js | 64 +
.../argument-string-with-utc-designator.js | 24 +
...one-getoffsetnanosecondsfor-non-integer.js | 19 +
...ne-getoffsetnanosecondsfor-not-callable.js | 23 +
...ne-getoffsetnanosecondsfor-out-of-range.js | 19 +
...zone-getoffsetnanosecondsfor-wrong-type.js | 28 +
.../prototype/toZonedDateTime/basic.js | 27 +
.../prototype/toZonedDateTime/builtin.js | 36 +
...r-dateadd-called-with-options-undefined.js | 20 +
...romfields-called-with-options-undefined.js | 19 +
.../calendar-fields-iterable.js | 34 +
.../calendar-temporal-object.js | 30 +
.../infinity-throws-rangeerror.js | 26 +
.../prototype/toZonedDateTime/length.js | 28 +
.../prototype/toZonedDateTime/name.js | 26 +
.../toZonedDateTime/not-a-constructor.js | 24 +
.../plaindate-infinity-throws-rangeerror.js | 26 +
.../prototype/toZonedDateTime/prop-desc.js | 24 +
.../prototype/toZonedDateTime/shell.js | 19 +
...one-getoffsetnanosecondsfor-non-integer.js | 19 +
...ne-getoffsetnanosecondsfor-not-callable.js | 26 +
...ne-getoffsetnanosecondsfor-out-of-range.js | 19 +
...zone-getoffsetnanosecondsfor-wrong-type.js | 28 +
...imezone-getpossibleinstantsfor-iterable.js | 45 +
.../timezone-string-datetime.js | 47 +
.../timezone-string-multiple-offsets.js | 19 +
.../prototype/toZonedDateTime/year-zero.js | 20 +
.../prototype/until/argument-cast.js | 21 +
.../argument-string-no-implicit-midnight.js | 19 +
...-designator-required-for-disambiguation.js | 56 +
.../argument-string-with-time-designator.js | 32 +
.../argument-string-with-utc-designator.js | 24 +
...neddatetime-balance-negative-time-units.js | 46 +
...zoneddatetime-negative-epochnanoseconds.js | 26 +
...one-getoffsetnanosecondsfor-non-integer.js | 19 +
...ne-getoffsetnanosecondsfor-not-callable.js | 23 +
...ne-getoffsetnanosecondsfor-out-of-range.js | 19 +
...zone-getoffsetnanosecondsfor-wrong-type.js | 28 +
.../until/balance-negative-time-units.js | 51 +
.../PlainTime/prototype/until/basic.js | 25 +
.../PlainTime/prototype/until/builtin.js | 36 +
.../until/calendar-temporal-object.js | 28 +
.../until/largestunit-invalid-string.js | 18 +
.../until/largestunit-plurals-accepted.js | 24 +
.../largestunit-smallestunit-mismatch.js | 22 +
.../prototype/until/largestunit-undefined.js | 20 +
.../prototype/until/largestunit-wrong-type.js | 19 +
.../PlainTime/prototype/until/largestunit.js | 19 +
.../PlainTime/prototype/until/length.js | 28 +
.../PlainTime/prototype/until/name.js | 26 +
.../prototype/until/not-a-constructor.js | 24 +
.../prototype/until/options-invalid.js | 19 +
.../prototype/until/options-undefined.js | 22 +
.../PlainTime/prototype/until/prop-desc.js | 24 +
.../prototype/until/result-sub-second.js | 24 +
.../until/roundingincrement-hours.js | 37 +
.../until/roundingincrement-invalid.js | 27 +
.../until/roundingincrement-microseconds.js | 61 +
.../until/roundingincrement-milliseconds.js | 61 +
.../until/roundingincrement-minutes.js | 49 +
.../prototype/until/roundingincrement-nan.js | 22 +
.../until/roundingincrement-nanoseconds.js | 61 +
.../until/roundingincrement-non-integer.js | 20 +
.../until/roundingincrement-out-of-range.js | 21 +
.../until/roundingincrement-seconds.js | 49 +
.../until/roundingincrement-undefined.js | 28 +
.../until/roundingincrement-wrong-type.js | 28 +
.../prototype/until/roundingmode-ceil.js | 57 +
.../prototype/until/roundingmode-floor.js | 57 +
.../until/roundingmode-halfExpand.js | 57 +
.../until/roundingmode-invalid-string.js | 17 +
.../prototype/until/roundingmode-trunc.js | 57 +
.../prototype/until/roundingmode-undefined.js | 93 +
.../until/roundingmode-wrong-type.js | 19 +
.../PlainTime/prototype/until/shell.js | 19 +
.../until/smallestunit-invalid-string.js | 18 +
.../until/smallestunit-plurals-accepted.js | 24 +
.../prototype/until/smallestunit-undefined.js | 22 +
.../until/smallestunit-wrong-type.js | 19 +
.../PlainTime/prototype/until/year-zero.js | 24 +
.../PlainTime/prototype/valueOf/basic.js | 24 +
.../PlainTime/prototype/valueOf/builtin.js | 36 +
.../PlainTime/prototype/valueOf/length.js | 28 +
.../PlainTime/prototype/valueOf/name.js | 26 +
.../prototype/valueOf/not-a-constructor.js | 24 +
.../PlainTime/prototype/valueOf/prop-desc.js | 24 +
.../PlainTime/prototype/valueOf/shell.js | 19 +
.../prototype/with/argument-not-object.js | 37 +
.../PlainTime/prototype/with/basic.js | 39 +
.../PlainTime/prototype/with/builtin.js | 36 +
.../with/copy-properties-not-undefined.js | 25 +
.../with/infinity-throws-rangeerror.js | 27 +
.../PlainTime/prototype/with/length.js | 28 +
.../Temporal/PlainTime/prototype/with/name.js | 26 +
.../prototype/with/not-a-constructor.js | 24 +
.../prototype/with/options-invalid.js | 16 +
.../prototype/with/options-undefined.js | 24 +
.../prototype/with/order-of-operations.js | 63 +
.../prototype/with/overflow-invalid-string.js | 30 +
.../prototype/with/overflow-undefined.js | 25 +
.../prototype/with/overflow-wrong-type.js | 25 +
.../prototype/with/plaintimelike-invalid.js | 50 +
.../PlainTime/prototype/with/prop-desc.js | 24 +
.../PlainTime/prototype/with/shell.js | 19 +
.../prototype/with/subclassing-ignored.js | 20 +
.../Temporal/PlainTime/second-undefined.js | 20 +
.../built-ins/Temporal/PlainTime/shell.js | 1498 ++++++
.../Temporal/PlainYearMonth/basic.js | 16 +
.../Temporal/PlainYearMonth/builtin.js | 30 +
.../PlainYearMonth/calendar-always.js | 27 +
.../PlainYearMonth/calendar-invalid.js | 23 +
.../calendar-temporal-object.js | 25 +
.../PlainYearMonth/calendar-undefined.js | 25 +
.../PlainYearMonth/compare/argument-cast.js | 22 +
.../argument-string-with-utc-designator.js | 29 +
.../Temporal/PlainYearMonth/compare/basic.js | 19 +
.../PlainYearMonth/compare/browser.js | 0
.../PlainYearMonth/compare/builtin.js | 33 +
.../compare/calendar-fields-iterable.js | 40 +
.../compare/calendar-temporal-object.js | 32 +
...romfields-called-with-options-undefined.js | 35 +
.../compare/compare-calendar.js | 25 +
.../compare/compare-reference-day.js | 16 +
.../compare/infinity-throws-rangeerror.js | 33 +
.../Temporal/PlainYearMonth/compare/length.js | 28 +
.../Temporal/PlainYearMonth/compare/name.js | 26 +
.../compare/not-a-constructor.js | 23 +
.../PlainYearMonth/compare/prop-desc.js | 24 +
.../Temporal/PlainYearMonth/compare/shell.js | 19 +
.../compare/use-internal-slots.js | 26 +
.../PlainYearMonth/compare/year-zero.js | 26 +
.../Temporal/PlainYearMonth/constructor.js | 15 +
.../PlainYearMonth/from/argument-number.js | 20 +
.../PlainYearMonth/from/argument-object.js | 50 +
.../PlainYearMonth/from/argument-plaindate.js | 21 +
.../from/argument-plainyearmonth.js | 25 +
.../from/argument-string-invalid.js | 14 +
.../from/argument-string-trailing-junk.js | 13 +
.../argument-string-with-utc-designator.js | 23 +
.../PlainYearMonth/from/argument-string.js | 58 +
.../Temporal/PlainYearMonth/from/browser.js | 0
.../Temporal/PlainYearMonth/from/builtin.js | 33 +
.../from/calendar-fields-iterable.js | 32 +
.../from/calendar-temporal-object.js | 29 +
...romfields-called-with-options-undefined.js | 26 +
.../from/infinity-throws-rangeerror.js | 27 +
.../Temporal/PlainYearMonth/from/length.js | 28 +
.../Temporal/PlainYearMonth/from/limits.js | 28 +
.../Temporal/PlainYearMonth/from/name.js | 26 +
.../PlainYearMonth/from/not-a-constructor.js | 23 +
.../PlainYearMonth/from/options-invalid.js | 24 +
.../PlainYearMonth/from/options-undefined.js | 19 +
.../from/order-of-operations.js | 47 +
.../PlainYearMonth/from/overflow-constrain.js | 17 +
.../from/overflow-invalid-string.js | 43 +
.../PlainYearMonth/from/overflow-reject.js | 14 +
.../PlainYearMonth/from/overflow-undefined.js | 48 +
.../from/overflow-wrong-type.js | 37 +
.../Temporal/PlainYearMonth/from/prop-desc.js | 24 +
.../Temporal/PlainYearMonth/from/shell.js | 19 +
.../from/subclassing-ignored.js | 19 +
.../Temporal/PlainYearMonth/from/year-zero.js | 25 +
.../infinity-throws-rangeerror.js | 44 +
.../Temporal/PlainYearMonth/length.js | 28 +
.../Temporal/PlainYearMonth/limits.js | 23 +
.../PlainYearMonth/missing-arguments.js | 23 +
.../built-ins/Temporal/PlainYearMonth/name.js | 26 +
.../negative-infinity-throws-rangeerror.js | 44 +
.../Temporal/PlainYearMonth/prop-desc.js | 24 +
.../prototype/add/argument-duration-object.js | 16 +
.../prototype/add/argument-lower-units.js | 41 +
.../prototype/add/argument-not-object.js | 20 +
.../prototype/add/argument-object-invalid.js | 19 +
.../prototype/add/argument-object-plural.js | 15 +
.../prototype/add/argument-object.js | 27 +
...gument-string-negative-fractional-units.js | 20 +
.../prototype/add/argument-string.js | 16 +
.../PlainYearMonth/prototype/add/builtin.js | 36 +
.../add/calendar-arguments-extra-options.js | 57 +
.../prototype/add/calendar-arguments.js | 62 +
.../add/calendar-datefromfields-called.js | 150 +
.../add/calendar-daysinmonth-wrong-value.js | 45 +
.../prototype/add/calendar-fields-iterable.js | 30 +
.../add/infinity-throws-rangeerror.js | 38 +
.../PlainYearMonth/prototype/add/length.js | 28 +
.../PlainYearMonth/prototype/add/limits.js | 16 +
.../prototype/add/month-length.js | 31 +
.../PlainYearMonth/prototype/add/name.js | 26 +
.../negative-infinity-throws-rangeerror.js | 38 +
.../add/non-integer-throws-rangeerror.js | 29 +
.../prototype/add/not-a-constructor.js | 24 +
.../prototype/add/options-invalid.js | 17 +
.../prototype/add/options-undefined.js | 33 +
.../prototype/add/order-of-operations.js | 77 +
.../prototype/add/overflow-invalid-string.js | 34 +
.../prototype/add/overflow-undefined.js | 36 +
.../prototype/add/overflow-wrong-type.js | 51 +
.../PlainYearMonth/prototype/add/prop-desc.js | 24 +
.../PlainYearMonth/prototype/add/shell.js | 348 ++
.../prototype/add/subclassing-ignored.js | 20 +
.../prototype/calendar/prop-desc.js | 17 +
.../prototype/daysInMonth/basic.js | 14 +
.../prototype/daysInMonth/prop-desc.js | 17 +
.../prototype/daysInYear/basic.js | 14 +
.../prototype/daysInYear/prop-desc.js | 17 +
.../prototype/equals/argument-cast.js | 19 +
.../argument-string-with-utc-designator.js | 24 +
.../prototype/equals/argument-wrong-type.js | 23 +
.../PlainYearMonth/prototype/equals/basic.js | 18 +
.../prototype/equals/builtin.js | 36 +
.../equals/calendar-fields-iterable.js | 35 +
.../equals/calendar-temporal-object.js | 29 +
...romfields-called-with-options-undefined.js | 38 +
.../prototype/equals/compare-calendar.js | 46 +
.../prototype/equals/compare-reference-day.js | 16 +
.../equals/infinity-throws-rangeerror.js | 26 +
.../PlainYearMonth/prototype/equals/length.js | 28 +
.../PlainYearMonth/prototype/equals/name.js | 26 +
.../prototype/equals/not-a-constructor.js | 24 +
.../prototype/equals/prop-desc.js | 24 +
.../PlainYearMonth/prototype/equals/shell.js | 19 +
.../prototype/equals/use-internal-slots.js | 26 +
.../prototype/equals/year-zero.js | 26 +
.../prototype/getISOFields/builtin.js | 36 +
.../prototype/getISOFields/field-names.js | 19 +
.../prototype/getISOFields/field-prop-desc.js | 30 +
.../getISOFields/field-traversal-order.js | 24 +
.../prototype/getISOFields/length.js | 28 +
.../prototype/getISOFields/name.js | 26 +
.../getISOFields/not-a-constructor.js | 24 +
.../prototype/getISOFields/prop-desc.js | 24 +
.../prototype/getISOFields/shell.js | 19 +
.../prototype/inLeapYear/prop-desc.js | 17 +
.../month/calendar-returns-infinity.js | 30 +
.../prototype/month/prop-desc.js | 17 +
.../prototype/monthCode/prop-desc.js | 17 +
.../prototype/monthsInYear/basic.js | 14 +
.../prototype/monthsInYear/prop-desc.js | 17 +
.../PlainYearMonth/prototype/prop-desc.js | 21 +
.../prototype/since/argument-casting.js | 19 +
.../argument-string-with-utc-designator.js | 24 +
.../since/arguments-missing-throws.js | 16 +
.../PlainYearMonth/prototype/since/builtin.js | 36 +
...-dateadd-called-with-plaindate-instance.js | 19 +
...romfields-called-with-options-undefined.js | 19 +
...euntil-called-with-singular-largestunit.js | 28 +
.../since/calendar-fields-iterable.js | 43 +
.../since/calendar-temporal-object.js | 29 +
...romfields-called-with-options-undefined.js | 38 +
.../since/infinity-throws-rangeerror.js | 26 +
.../prototype/since/largestunit-auto.js | 20 +
.../since/largestunit-disallowed-units.js | 27 +
.../since/largestunit-invalid-string.js | 18 +
.../prototype/since/largestunit-months.js | 20 +
.../since/largestunit-plurals-accepted.js | 20 +
.../largestunit-smallestunit-mismatch.js | 22 +
.../prototype/since/largestunit-undefined.js | 30 +
.../prototype/since/largestunit-wrong-type.js | 19 +
.../prototype/since/largestunit-years.js | 20 +
.../PlainYearMonth/prototype/since/length.js | 28 +
.../prototype/since/mixed-calendar-invalid.js | 26 +
.../PlainYearMonth/prototype/since/name.js | 26 +
.../prototype/since/not-a-constructor.js | 24 +
.../prototype/since/options-invalid.js | 25 +
.../prototype/since/options-undefined.js | 25 +
.../prototype/since/prop-desc.js | 24 +
.../since/roundingincrement-as-expected.js | 27 +
.../prototype/since/roundingincrement-nan.js | 22 +
.../since/roundingincrement-non-integer.js | 20 +
.../since/roundingincrement-out-of-range.js | 21 +
.../since/roundingincrement-undefined.js | 28 +
.../since/roundingincrement-wrong-type.js | 28 +
.../prototype/since/roundingmode-ceil.js | 29 +
.../prototype/since/roundingmode-floor.js | 29 +
.../since/roundingmode-halfExpand.js | 29 +
.../since/roundingmode-invalid-string.js | 17 +
.../prototype/since/roundingmode-trunc.js | 29 +
.../prototype/since/roundingmode-undefined.js | 26 +
.../since/roundingmode-wrong-type.js | 19 +
.../PlainYearMonth/prototype/since/shell.js | 19 +
.../since/smallestunit-invalid-string.js | 18 +
.../since/smallestunit-plurals-accepted.js | 20 +
.../prototype/since/smallestunit-undefined.js | 20 +
.../since/smallestunit-wrong-type.js | 19 +
.../prototype/since/symmetry.js | 18 +
.../prototype/since/year-zero.js | 26 +
.../subtract/argument-duration-object.js | 16 +
.../subtract/argument-lower-units.js | 40 +
.../prototype/subtract/argument-not-object.js | 20 +
.../subtract/argument-object-invalid.js | 19 +
.../subtract/argument-object-plural.js | 15 +
.../prototype/subtract/argument-object.js | 27 +
...gument-string-negative-fractional-units.js | 20 +
.../prototype/subtract/argument-string.js | 16 +
.../prototype/subtract/builtin.js | 36 +
.../calendar-arguments-extra-options.js | 57 +
.../prototype/subtract/calendar-arguments.js | 61 +
.../calendar-datefromfields-called.js | 150 +
.../calendar-daysinmonth-wrong-value.js | 45 +
.../subtract/calendar-fields-iterable.js | 30 +
.../subtract/infinity-throws-rangeerror.js | 37 +
.../prototype/subtract/length.js | 28 +
.../prototype/subtract/limits.js | 16 +
.../prototype/subtract/month-length.js | 31 +
.../PlainYearMonth/prototype/subtract/name.js | 26 +
.../negative-infinity-throws-rangeerror.js | 38 +
.../subtract/non-integer-throws-rangeerror.js | 29 +
.../prototype/subtract/not-a-constructor.js | 24 +
.../prototype/subtract/options-invalid.js | 17 +
.../prototype/subtract/options-undefined.js | 33 +
.../prototype/subtract/order-of-operations.js | 77 +
.../subtract/overflow-invalid-string.js | 34 +
.../prototype/subtract/overflow-undefined.js | 36 +
.../prototype/subtract/overflow-wrong-type.js | 51 +
.../prototype/subtract/prop-desc.js | 24 +
.../prototype/subtract/shell.js | 348 ++
.../prototype/subtract/subclassing-ignored.js | 20 +
.../prototype/toJSON/builtin.js | 36 +
.../PlainYearMonth/prototype/toJSON/length.js | 28 +
.../PlainYearMonth/prototype/toJSON/name.js | 26 +
.../prototype/toJSON/not-a-constructor.js | 24 +
.../prototype/toJSON/prop-desc.js | 24 +
.../PlainYearMonth/prototype/toJSON/shell.js | 19 +
.../prototype/toJSON/year-format.js | 50 +
.../prototype/toLocaleString/builtin.js | 36 +
.../prototype/toLocaleString/length.js | 28 +
.../prototype/toLocaleString/name.js | 26 +
.../toLocaleString/not-a-constructor.js | 24 +
.../prototype/toLocaleString/prop-desc.js | 24 +
.../prototype/toLocaleString/shell.js | 19 +
.../toPlainDate/argument-not-object.js | 18 +
.../prototype/toPlainDate/basic.js | 16 +
.../prototype/toPlainDate/builtin.js | 36 +
.../toPlainDate/calendar-fields-iterable.js | 37 +
...calendar-merge-fields-returns-primitive.js | 21 +
.../toPlainDate/copies-merge-fields-object.js | 34 +
.../toPlainDate/infinity-throws-rangeerror.js | 23 +
.../prototype/toPlainDate/length.js | 28 +
.../prototype/toPlainDate/limits.js | 22 +
.../prototype/toPlainDate/name.js | 26 +
.../toPlainDate/not-a-constructor.js | 24 +
.../prototype/toPlainDate/prop-desc.js | 24 +
.../prototype/toPlainDate/shell.js | 19 +
.../prototype/toString/builtin.js | 36 +
.../prototype/toString/calendarname-always.js | 25 +
.../prototype/toString/calendarname-auto.js | 25 +
.../toString/calendarname-invalid-string.js | 23 +
.../prototype/toString/calendarname-never.js | 25 +
.../toString/calendarname-undefined.js | 35 +
.../toString/calendarname-wrong-type.js | 29 +
.../prototype/toString/length.js | 28 +
.../PlainYearMonth/prototype/toString/name.js | 26 +
.../prototype/toString/not-a-constructor.js | 24 +
.../prototype/toString/options-undefined.js | 28 +
.../prototype/toString/prop-desc.js | 24 +
.../prototype/toString/shell.js | 19 +
.../prototype/toString/year-format.js | 50 +
.../prototype/until/argument-casting.js | 19 +
.../argument-string-with-utc-designator.js | 24 +
.../until/arguments-missing-throws.js | 16 +
.../PlainYearMonth/prototype/until/builtin.js | 36 +
...-dateadd-called-with-plaindate-instance.js | 19 +
...romfields-called-with-options-undefined.js | 19 +
...euntil-called-with-singular-largestunit.js | 28 +
.../until/calendar-fields-iterable.js | 43 +
.../until/calendar-temporal-object.js | 29 +
...romfields-called-with-options-undefined.js | 38 +
.../until/infinity-throws-rangeerror.js | 26 +
.../prototype/until/largestunit-auto.js | 20 +
.../until/largestunit-disallowed-units.js | 28 +
.../until/largestunit-invalid-string.js | 18 +
.../prototype/until/largestunit-months.js | 20 +
.../until/largestunit-plurals-accepted.js | 20 +
.../largestunit-smallestunit-mismatch.js | 22 +
.../prototype/until/largestunit-undefined.js | 30 +
.../prototype/until/largestunit-wrong-type.js | 19 +
.../prototype/until/largestunit-years.js | 20 +
.../PlainYearMonth/prototype/until/length.js | 28 +
.../prototype/until/mixed-calendar-invalid.js | 26 +
.../PlainYearMonth/prototype/until/name.js | 26 +
.../prototype/until/not-a-constructor.js | 24 +
.../prototype/until/options-invalid.js | 25 +
.../prototype/until/options-undefined.js | 25 +
.../prototype/until/prop-desc.js | 24 +
.../until/roundingincrement-as-expected.js | 27 +
.../prototype/until/roundingincrement-nan.js | 22 +
.../until/roundingincrement-non-integer.js | 20 +
.../until/roundingincrement-out-of-range.js | 21 +
.../until/roundingincrement-undefined.js | 28 +
.../until/roundingincrement-wrong-type.js | 28 +
.../prototype/until/roundingmode-ceil.js | 29 +
.../prototype/until/roundingmode-floor.js | 29 +
.../until/roundingmode-halfExpand.js | 29 +
.../until/roundingmode-invalid-string.js | 17 +
.../prototype/until/roundingmode-trunc.js | 29 +
.../prototype/until/roundingmode-undefined.js | 26 +
.../until/roundingmode-wrong-type.js | 19 +
.../PlainYearMonth/prototype/until/shell.js | 19 +
.../until/smallestunit-invalid-string.js | 18 +
.../until/smallestunit-plurals-accepted.js | 20 +
.../prototype/until/smallestunit-undefined.js | 20 +
.../until/smallestunit-wrong-type.js | 19 +
.../prototype/until/year-zero.js | 26 +
.../PlainYearMonth/prototype/valueOf/basic.js | 24 +
.../prototype/valueOf/builtin.js | 36 +
.../prototype/valueOf/length.js | 28 +
.../PlainYearMonth/prototype/valueOf/name.js | 26 +
.../prototype/valueOf/not-a-constructor.js | 24 +
.../prototype/valueOf/prop-desc.js | 24 +
.../PlainYearMonth/prototype/valueOf/shell.js | 19 +
.../prototype/with/argument-calendar-field.js | 14 +
.../prototype/with/argument-missing-fields.js | 15 +
.../prototype/with/argument-timezone-field.js | 14 +
.../PlainYearMonth/prototype/with/basic.js | 26 +
.../PlainYearMonth/prototype/with/builtin.js | 36 +
.../prototype/with/calendar-arguments.js | 32 +
.../with/calendar-fields-iterable.js | 31 +
...calendar-merge-fields-returns-primitive.js | 21 +
.../with/copies-merge-fields-object.js | 35 +
.../with/copy-properties-not-undefined.js | 25 +
.../with/infinity-throws-rangeerror.js | 27 +
.../PlainYearMonth/prototype/with/length.js | 28 +
.../PlainYearMonth/prototype/with/name.js | 26 +
.../prototype/with/not-a-constructor.js | 24 +
.../prototype/with/options-undefined.js | 20 +
.../prototype/with/options-wrong-type.js | 25 +
.../prototype/with/order-of-operations.js | 51 +
.../prototype/with/overflow-invalid-string.js | 31 +
.../prototype/with/overflow-undefined.js | 29 +
.../prototype/with/overflow-wrong-type.js | 27 +
.../prototype/with/prop-desc.js | 24 +
.../PlainYearMonth/prototype/with/shell.js | 19 +
.../prototype/with/subclassing-ignored.js | 20 +
.../year/calendar-returns-infinity.js | 30 +
.../prototype/year/prop-desc.js | 17 +
.../PlainYearMonth/refisoday-undefined.js | 20 +
.../Temporal/PlainYearMonth/shell.js | 1498 ++++++
.../built-ins/Temporal/TimeZone/basic.js | 37 +
.../built-ins/Temporal/TimeZone/builtin.js | 30 +
.../Temporal/TimeZone/constructor.js | 15 +
.../TimeZone/from/argument-object-invalid.js | 14 +
.../Temporal/TimeZone/from/argument-object.js | 51 +
.../TimeZone/from/argument-primitive.js | 48 +
.../Temporal/TimeZone/from/argument-valid.js | 37 +
.../Temporal/TimeZone/from/browser.js | 0
.../Temporal/TimeZone/from/builtin.js | 33 +
.../Temporal/TimeZone/from/length.js | 28 +
.../built-ins/Temporal/TimeZone/from/name.js | 26 +
.../TimeZone/from/not-a-constructor.js | 23 +
.../Temporal/TimeZone/from/prop-desc.js | 24 +
.../built-ins/Temporal/TimeZone/from/shell.js | 1517 ++++++
.../TimeZone/from/subclassing-ignored.js | 22 +
.../TimeZone/from/timezone-string-datetime.js | 45 +
.../from/timezone-string-multiple-offsets.js | 18 +
.../built-ins/Temporal/TimeZone/length.js | 28 +
.../Temporal/TimeZone/missing-arguments.js | 14 +
.../built-ins/Temporal/TimeZone/name.js | 26 +
.../built-ins/Temporal/TimeZone/prop-desc.js | 24 +
.../getInstantFor/argument-not-datetime.js | 21 +
.../getInstantFor/argument-plaindate.js | 24 +
.../argument-string-with-utc-designator.js | 24 +
...neddatetime-balance-negative-time-units.js | 46 +
...zoneddatetime-negative-epochnanoseconds.js | 25 +
...one-getoffsetnanosecondsfor-non-integer.js | 19 +
...ne-getoffsetnanosecondsfor-not-callable.js | 23 +
...ne-getoffsetnanosecondsfor-out-of-range.js | 19 +
...zone-getoffsetnanosecondsfor-wrong-type.js | 28 +
.../balance-negative-time-units.js | 48 +
.../prototype/getInstantFor/builtin.js | 36 +
...r-dateadd-called-with-options-undefined.js | 25 +
.../getInstantFor/calendar-fields-iterable.js | 40 +
.../getInstantFor/calendar-temporal-object.js | 29 +
.../disambiguation-invalid-string.js | 22 +
.../getInstantFor/disambiguation-undefined.js | 35 +
.../disambiguation-wrong-type.js | 26 +
.../infinity-throws-rangeerror.js | 26 +
.../prototype/getInstantFor/length.js | 28 +
.../TimeZone/prototype/getInstantFor/name.js | 26 +
.../getInstantFor/not-a-constructor.js | 24 +
.../getInstantFor/options-undefined.js | 27 +
.../prototype/getInstantFor/prop-desc.js | 24 +
.../read-time-fields-before-datefromfields.js | 26 +
.../TimeZone/prototype/getInstantFor/shell.js | 1517 ++++++
.../prototype/getInstantFor/year-zero.js | 24 +
.../argument-zoneddatetime.js | 24 +
.../prototype/getNextTransition/builtin.js | 36 +
.../getNextTransition/instant-string.js | 31 +
.../prototype/getNextTransition/length.js | 28 +
.../prototype/getNextTransition/name.js | 26 +
.../getNextTransition/not-a-constructor.js | 24 +
.../prototype/getNextTransition/prop-desc.js | 24 +
.../prototype/getNextTransition/shell.js | 1517 ++++++
.../prototype/getNextTransition/year-zero.js | 16 +
.../argument-not-absolute.js | 21 +
.../argument-zoneddatetime.js | 24 +
.../getOffsetNanosecondsFor/builtin.js | 36 +
.../getOffsetNanosecondsFor/instant-string.js | 31 +
.../getOffsetNanosecondsFor/length.js | 28 +
.../prototype/getOffsetNanosecondsFor/name.js | 26 +
.../not-a-constructor.js | 24 +
.../getOffsetNanosecondsFor/prop-desc.js | 24 +
.../getOffsetNanosecondsFor/shell.js | 1517 ++++++
.../getOffsetNanosecondsFor/year-zero.js | 16 +
...solute-getOffsetNanosecondsFor-override.js | 24 +
.../argument-not-absolute.js | 21 +
.../argument-zoneddatetime.js | 24 +
.../prototype/getOffsetStringFor/basic.js | 23 +
.../prototype/getOffsetStringFor/builtin.js | 36 +
.../getOffsetStringFor/instant-string.js | 31 +
.../prototype/getOffsetStringFor/length.js | 28 +
.../prototype/getOffsetStringFor/name.js | 26 +
.../getOffsetStringFor/not-a-constructor.js | 24 +
.../prototype/getOffsetStringFor/prop-desc.js | 24 +
.../prototype/getOffsetStringFor/shell.js | 1517 ++++++
...one-getoffsetnanosecondsfor-non-integer.js | 18 +
...ne-getoffsetnanosecondsfor-not-callable.js | 22 +
...ne-getoffsetnanosecondsfor-out-of-range.js | 18 +
...zone-getoffsetnanosecondsfor-wrong-type.js | 27 +
.../prototype/getOffsetStringFor/year-zero.js | 16 +
.../argument-negative-epochnanoseconds.js | 26 +
...solute-getOffsetNanosecondsFor-override.js | 24 +
.../argument-not-absolute.js | 21 +
.../argument-zoneddatetime.js | 24 +
.../balance-negative-time-units.js | 42 +
.../prototype/getPlainDateTimeFor/branding.js | 25 +
.../prototype/getPlainDateTimeFor/browser.js | 0
.../prototype/getPlainDateTimeFor/builtin.js | 36 +
.../calendar-temporal-object.js | 25 +
.../getPlainDateTimeFor/calendar-undefined.js | 26 +
.../getPlainDateTimeFor/custom-timezone.js | 30 +
.../instant-string-multiple-offsets.js | 18 +
.../getPlainDateTimeFor/instant-string.js | 35 +
.../prototype/getPlainDateTimeFor/length.js | 28 +
.../prototype/getPlainDateTimeFor/name.js | 26 +
.../getPlainDateTimeFor/not-a-constructor.js | 24 +
.../getPlainDateTimeFor/pre-epoch.js | 18 +
.../getPlainDateTimeFor/prop-desc.js | 24 +
.../prototype/getPlainDateTimeFor/shell.js | 1517 ++++++
...one-getoffsetnanosecondsfor-non-integer.js | 18 +
...ne-getoffsetnanosecondsfor-not-callable.js | 22 +
...ne-getoffsetnanosecondsfor-out-of-range.js | 18 +
...zone-getoffsetnanosecondsfor-wrong-type.js | 27 +
.../getPlainDateTimeFor/year-zero.js | 25 +
.../argument-not-datetime.js | 21 +
.../argument-plaindate.js | 25 +
.../argument-string-with-utc-designator.js | 24 +
...neddatetime-balance-negative-time-units.js | 47 +
...zoneddatetime-negative-epochnanoseconds.js | 26 +
...one-getoffsetnanosecondsfor-non-integer.js | 19 +
...ne-getoffsetnanosecondsfor-not-callable.js | 23 +
...ne-getoffsetnanosecondsfor-out-of-range.js | 19 +
...zone-getoffsetnanosecondsfor-wrong-type.js | 28 +
.../getPossibleInstantsFor/builtin.js | 36 +
.../calendar-fields-iterable.js | 40 +
.../calendar-temporal-object.js | 29 +
.../infinity-throws-rangeerror.js | 26 +
.../getPossibleInstantsFor/length.js | 28 +
.../prototype/getPossibleInstantsFor/name.js | 26 +
.../not-a-constructor.js | 24 +
.../getPossibleInstantsFor/prop-desc.js | 24 +
.../read-time-fields-before-datefromfields.js | 27 +
.../prototype/getPossibleInstantsFor/shell.js | 1517 ++++++
.../getPossibleInstantsFor/year-zero.js | 24 +
.../argument-zoneddatetime.js | 24 +
.../getPreviousTransition/builtin.js | 36 +
.../getPreviousTransition/instant-string.js | 31 +
.../prototype/getPreviousTransition/length.js | 28 +
.../prototype/getPreviousTransition/name.js | 26 +
.../not-a-constructor.js | 24 +
.../getPreviousTransition/prop-desc.js | 24 +
.../prototype/getPreviousTransition/shell.js | 1517 ++++++
.../getPreviousTransition/year-zero.js | 16 +
.../Temporal/TimeZone/prototype/prop-desc.js | 21 +
.../TimeZone/prototype/toJSON/branding.js | 25 +
.../TimeZone/prototype/toJSON/browser.js | 0
.../TimeZone/prototype/toJSON/builtin.js | 36 +
.../TimeZone/prototype/toJSON/length.js | 28 +
.../TimeZone/prototype/toJSON/name.js | 26 +
.../prototype/toJSON/not-a-constructor.js | 24 +
.../TimeZone/prototype/toJSON/prop-desc.js | 24 +
.../TimeZone/prototype/toJSON/shell.js | 1517 ++++++
.../prototype/toJSON/tostring-call.js | 30 +
.../toJSON/tostring-undefined-custom.js | 27 +
.../prototype/toJSON/tostring-undefined.js | 16 +
.../TimeZone/prototype/toString/builtin.js | 36 +
.../TimeZone/prototype/toString/length.js | 28 +
.../TimeZone/prototype/toString/name.js | 26 +
.../prototype/toString/not-a-constructor.js | 24 +
.../TimeZone/prototype/toString/prop-desc.js | 24 +
.../TimeZone/prototype/toString/shell.js | 19 +
.../Temporal/ZonedDateTime/builtin.js | 30 +
.../ZonedDateTime/calendar-temporal-object.js | 25 +
.../ZonedDateTime/calendar-undefined.js | 25 +
...tybag-offset-not-agreeing-with-timezone.js | 18 +
...one-getoffsetnanosecondsfor-non-integer.js | 20 +
...ne-getoffsetnanosecondsfor-not-callable.js | 31 +
...ne-getoffsetnanosecondsfor-out-of-range.js | 20 +
...zone-getoffsetnanosecondsfor-wrong-type.js | 29 +
.../Temporal/ZonedDateTime/compare/browser.js | 0
.../Temporal/ZonedDateTime/compare/builtin.js | 33 +
.../compare/calendar-fields-iterable.js | 47 +
.../compare/calendar-temporal-object.js | 32 +
.../compare/infinity-throws-rangeerror.js | 33 +
.../Temporal/ZonedDateTime/compare/length.js | 28 +
.../Temporal/ZonedDateTime/compare/name.js | 26 +
.../compare/not-a-constructor.js | 23 +
.../ZonedDateTime/compare/prop-desc.js | 24 +
.../read-time-fields-before-datefromfields.js | 30 +
.../Temporal/ZonedDateTime/compare/shell.js | 19 +
...imezone-getpossibleinstantsfor-iterable.js | 46 +
.../compare/timezone-string-datetime.js | 34 +
.../ZonedDateTime/compare/year-zero.js | 23 +
.../zoneddatetime-string-multiple-offsets.js | 17 +
.../compare/zoneddatetime-string.js | 46 +
.../Temporal/ZonedDateTime/constructor.js | 15 +
...tybag-offset-not-agreeing-with-timezone.js | 16 +
...one-getoffsetnanosecondsfor-non-integer.js | 18 +
...ne-getoffsetnanosecondsfor-not-callable.js | 35 +
...ne-getoffsetnanosecondsfor-out-of-range.js | 18 +
...zone-getoffsetnanosecondsfor-wrong-type.js | 27 +
.../from/balance-negative-time-units.js | 91 +
.../Temporal/ZonedDateTime/from/browser.js | 0
.../Temporal/ZonedDateTime/from/builtin.js | 33 +
.../from/calendar-fields-iterable.js | 39 +
.../from/calendar-temporal-object.js | 29 +
.../from/disambiguation-invalid-string.js | 32 +
.../from/disambiguation-undefined.js | 38 +
.../from/disambiguation-wrong-type.js | 39 +
.../from/infinity-throws-rangeerror.js | 27 +
.../Temporal/ZonedDateTime/from/length.js | 28 +
.../Temporal/ZonedDateTime/from/name.js | 26 +
.../ZonedDateTime/from/not-a-constructor.js | 23 +
.../from/offset-invalid-string.js | 31 +
.../ZonedDateTime/from/offset-undefined.js | 30 +
.../ZonedDateTime/from/offset-wrong-type.js | 38 +
.../ZonedDateTime/from/options-undefined.js | 46 +
.../from/overflow-invalid-string.js | 48 +
.../ZonedDateTime/from/overflow-undefined.js | 48 +
.../ZonedDateTime/from/overflow-wrong-type.js | 67 +
.../Temporal/ZonedDateTime/from/prop-desc.js | 24 +
.../read-time-fields-before-datefromfields.js | 30 +
.../Temporal/ZonedDateTime/from/shell.js | 19 +
.../ZonedDateTime/from/subclassing-ignored.js | 30 +
...imezone-getpossibleinstantsfor-iterable.js | 29 +
.../from/timezone-string-datetime.js | 45 +
.../from/timezone-string-multiple-offsets.js | 18 +
.../Temporal/ZonedDateTime/from/year-zero.js | 15 +
.../zoneddatetime-string-multiple-offsets.js | 16 +
.../from/zoneddatetime-string.js | 40 +
.../from/zoneddatetime-sub-minute-offset.js | 46 +
.../Temporal/ZonedDateTime/length.js | 28 +
.../ZonedDateTime/missing-arguments.js | 13 +
.../built-ins/Temporal/ZonedDateTime/name.js | 26 +
.../Temporal/ZonedDateTime/prop-desc.js | 24 +
...t-string-fractional-units-rounding-mode.js | 18 +
...gument-string-negative-fractional-units.js | 19 +
.../ZonedDateTime/prototype/add/builtin.js | 36 +
.../ZonedDateTime/prototype/add/length.js | 28 +
.../ZonedDateTime/prototype/add/name.js | 26 +
.../add/negative-epochnanoseconds.js | 24 +
.../add/non-integer-throws-rangeerror.js | 29 +
.../prototype/add/not-a-constructor.js | 24 +
.../prototype/add/options-undefined.js | 22 +
.../prototype/add/overflow-invalid-string.js | 33 +
.../prototype/add/overflow-undefined.js | 30 +
.../prototype/add/overflow-wrong-type.js | 30 +
.../ZonedDateTime/prototype/add/prop-desc.js | 24 +
.../ZonedDateTime/prototype/add/shell.js | 19 +
.../prototype/add/subclassing-ignored.js | 31 +
...one-getoffsetnanosecondsfor-non-integer.js | 19 +
...ne-getoffsetnanosecondsfor-not-callable.js | 23 +
...ne-getoffsetnanosecondsfor-out-of-range.js | 19 +
...zone-getoffsetnanosecondsfor-wrong-type.js | 28 +
.../prototype/calendar/prop-desc.js | 17 +
.../day/balance-negative-time-units.js | 45 +
.../day/calendar-returns-infinity.js | 30 +
.../ZonedDateTime/prototype/day/prop-desc.js | 17 +
...one-getoffsetnanosecondsfor-non-integer.js | 18 +
...ne-getoffsetnanosecondsfor-not-callable.js | 22 +
...ne-getoffsetnanosecondsfor-out-of-range.js | 18 +
...zone-getoffsetnanosecondsfor-wrong-type.js | 27 +
.../prototype/dayOfWeek/prop-desc.js | 17 +
...one-getoffsetnanosecondsfor-non-integer.js | 18 +
...ne-getoffsetnanosecondsfor-not-callable.js | 22 +
...ne-getoffsetnanosecondsfor-out-of-range.js | 18 +
...zone-getoffsetnanosecondsfor-wrong-type.js | 27 +
.../prototype/dayOfYear/prop-desc.js | 17 +
...one-getoffsetnanosecondsfor-non-integer.js | 18 +
...ne-getoffsetnanosecondsfor-not-callable.js | 22 +
...ne-getoffsetnanosecondsfor-out-of-range.js | 18 +
...zone-getoffsetnanosecondsfor-wrong-type.js | 27 +
.../prototype/daysInMonth/prop-desc.js | 17 +
...one-getoffsetnanosecondsfor-non-integer.js | 18 +
...ne-getoffsetnanosecondsfor-not-callable.js | 22 +
...ne-getoffsetnanosecondsfor-out-of-range.js | 18 +
...zone-getoffsetnanosecondsfor-wrong-type.js | 27 +
.../prototype/daysInWeek/prop-desc.js | 17 +
...one-getoffsetnanosecondsfor-non-integer.js | 18 +
...ne-getoffsetnanosecondsfor-not-callable.js | 22 +
...ne-getoffsetnanosecondsfor-out-of-range.js | 18 +
...zone-getoffsetnanosecondsfor-wrong-type.js | 27 +
.../prototype/daysInYear/prop-desc.js | 17 +
...one-getoffsetnanosecondsfor-non-integer.js | 18 +
...ne-getoffsetnanosecondsfor-not-callable.js | 22 +
...ne-getoffsetnanosecondsfor-out-of-range.js | 18 +
...zone-getoffsetnanosecondsfor-wrong-type.js | 27 +
.../prototype/epochMicroseconds/basic.js | 19 +
.../prototype/epochMicroseconds/prop-desc.js | 17 +
.../prototype/epochMilliseconds/basic.js | 19 +
.../prototype/epochMilliseconds/prop-desc.js | 17 +
.../prototype/epochNanoseconds/basic.js | 19 +
.../prototype/epochNanoseconds/prop-desc.js | 17 +
.../prototype/epochSeconds/basic.js | 19 +
.../prototype/epochSeconds/prop-desc.js | 17 +
...tybag-offset-not-agreeing-with-timezone.js | 17 +
...one-getoffsetnanosecondsfor-non-integer.js | 18 +
...ne-getoffsetnanosecondsfor-not-callable.js | 25 +
...ne-getoffsetnanosecondsfor-out-of-range.js | 18 +
...zone-getoffsetnanosecondsfor-wrong-type.js | 27 +
.../ZonedDateTime/prototype/equals/builtin.js | 36 +
.../equals/calendar-fields-iterable.js | 42 +
.../equals/calendar-temporal-object.js | 29 +
.../equals/infinity-throws-rangeerror.js | 26 +
.../ZonedDateTime/prototype/equals/length.js | 28 +
.../ZonedDateTime/prototype/equals/name.js | 26 +
.../prototype/equals/not-a-constructor.js | 24 +
.../prototype/equals/prop-desc.js | 24 +
.../read-time-fields-before-datefromfields.js | 26 +
.../ZonedDateTime/prototype/equals/shell.js | 19 +
.../prototype/equals/sub-minute-offset.js | 22 +
...imezone-getpossibleinstantsfor-iterable.js | 41 +
.../equals/timezone-string-datetime.js | 45 +
.../timezone-string-multiple-offsets.js | 23 +
.../prototype/equals/year-zero.js | 17 +
.../zoneddatetime-string-multiple-offsets.js | 18 +
.../prototype/equals/zoneddatetime-string.js | 36 +
.../balance-negative-time-units.js | 42 +
.../prototype/getISOFields/builtin.js | 36 +
.../prototype/getISOFields/field-names.js | 27 +
.../prototype/getISOFields/field-prop-desc.js | 38 +
.../getISOFields/field-traversal-order.js | 32 +
.../prototype/getISOFields/length.js | 28 +
.../prototype/getISOFields/name.js | 26 +
.../getISOFields/negative-epochnanoseconds.js | 40 +
.../getISOFields/not-a-constructor.js | 24 +
.../prototype/getISOFields/offset.js | 23 +
.../prototype/getISOFields/prop-desc.js | 24 +
.../prototype/getISOFields/shell.js | 348 ++
...one-getoffsetnanosecondsfor-non-integer.js | 18 +
...ne-getoffsetnanosecondsfor-not-callable.js | 22 +
...ne-getoffsetnanosecondsfor-out-of-range.js | 18 +
...zone-getoffsetnanosecondsfor-wrong-type.js | 27 +
.../hour/balance-negative-time-units.js | 42 +
.../ZonedDateTime/prototype/hour/prop-desc.js | 17 +
...one-getoffsetnanosecondsfor-non-integer.js | 18 +
...ne-getoffsetnanosecondsfor-not-callable.js | 22 +
...ne-getoffsetnanosecondsfor-out-of-range.js | 18 +
...zone-getoffsetnanosecondsfor-wrong-type.js | 27 +
.../prototype/hoursInDay/prop-desc.js | 17 +
...one-getoffsetnanosecondsfor-non-integer.js | 18 +
...ne-getoffsetnanosecondsfor-not-callable.js | 22 +
...ne-getoffsetnanosecondsfor-out-of-range.js | 18 +
...zone-getoffsetnanosecondsfor-wrong-type.js | 27 +
...imezone-getpossibleinstantsfor-iterable.js | 48 +
.../prototype/inLeapYear/prop-desc.js | 17 +
...one-getoffsetnanosecondsfor-non-integer.js | 18 +
...ne-getoffsetnanosecondsfor-not-callable.js | 22 +
...ne-getoffsetnanosecondsfor-out-of-range.js | 18 +
...zone-getoffsetnanosecondsfor-wrong-type.js | 27 +
.../balance-negative-time-units.js | 30 +
.../microsecond/negative-epochnanoseconds.js | 23 +
.../prototype/microsecond/prop-desc.js | 17 +
...one-getoffsetnanosecondsfor-non-integer.js | 18 +
...ne-getoffsetnanosecondsfor-not-callable.js | 22 +
...ne-getoffsetnanosecondsfor-out-of-range.js | 18 +
...zone-getoffsetnanosecondsfor-wrong-type.js | 27 +
.../balance-negative-time-units.js | 33 +
.../millisecond/negative-epochnanoseconds.js | 23 +
.../prototype/millisecond/prop-desc.js | 17 +
...one-getoffsetnanosecondsfor-non-integer.js | 18 +
...ne-getoffsetnanosecondsfor-not-callable.js | 22 +
...ne-getoffsetnanosecondsfor-out-of-range.js | 18 +
...zone-getoffsetnanosecondsfor-wrong-type.js | 27 +
.../minute/balance-negative-time-units.js | 41 +
.../prototype/minute/prop-desc.js | 17 +
...one-getoffsetnanosecondsfor-non-integer.js | 18 +
...ne-getoffsetnanosecondsfor-not-callable.js | 22 +
...ne-getoffsetnanosecondsfor-out-of-range.js | 18 +
...zone-getoffsetnanosecondsfor-wrong-type.js | 27 +
.../month/calendar-returns-infinity.js | 30 +
.../prototype/month/prop-desc.js | 17 +
...one-getoffsetnanosecondsfor-non-integer.js | 18 +
...ne-getoffsetnanosecondsfor-not-callable.js | 22 +
...ne-getoffsetnanosecondsfor-out-of-range.js | 18 +
...zone-getoffsetnanosecondsfor-wrong-type.js | 27 +
.../prototype/monthCode/prop-desc.js | 17 +
...one-getoffsetnanosecondsfor-non-integer.js | 18 +
...ne-getoffsetnanosecondsfor-not-callable.js | 22 +
...ne-getoffsetnanosecondsfor-out-of-range.js | 18 +
...zone-getoffsetnanosecondsfor-wrong-type.js | 27 +
.../prototype/monthsInYear/prop-desc.js | 17 +
...one-getoffsetnanosecondsfor-non-integer.js | 18 +
...ne-getoffsetnanosecondsfor-not-callable.js | 22 +
...ne-getoffsetnanosecondsfor-out-of-range.js | 18 +
...zone-getoffsetnanosecondsfor-wrong-type.js | 27 +
.../nanosecond/negative-epochnanoseconds.js | 23 +
.../prototype/nanosecond/prop-desc.js | 17 +
...one-getoffsetnanosecondsfor-non-integer.js | 18 +
...ne-getoffsetnanosecondsfor-not-callable.js | 22 +
...ne-getoffsetnanosecondsfor-out-of-range.js | 18 +
...zone-getoffsetnanosecondsfor-wrong-type.js | 27 +
.../ZonedDateTime/prototype/offset/basic.js | 22 +
.../prototype/offset/prop-desc.js | 17 +
...one-getoffsetnanosecondsfor-non-integer.js | 18 +
...ne-getoffsetnanosecondsfor-not-callable.js | 22 +
...ne-getoffsetnanosecondsfor-out-of-range.js | 18 +
...zone-getoffsetnanosecondsfor-wrong-type.js | 27 +
.../prototype/offsetNanoseconds/prop-desc.js | 17 +
...one-getoffsetnanosecondsfor-non-integer.js | 18 +
...ne-getoffsetnanosecondsfor-not-callable.js | 22 +
...ne-getoffsetnanosecondsfor-out-of-range.js | 18 +
...zone-getoffsetnanosecondsfor-wrong-type.js | 27 +
.../ZonedDateTime/prototype/prop-desc.js | 21 +
.../ZonedDateTime/prototype/round/builtin.js | 36 +
...r-dateadd-called-with-options-undefined.js | 20 +
.../prototype/round/dateadd-options.js | 34 +
.../ZonedDateTime/prototype/round/div-zero.js | 27 +
.../ZonedDateTime/prototype/round/length.js | 28 +
.../ZonedDateTime/prototype/round/name.js | 26 +
.../round/negative-epochnanoseconds.js | 24 +
.../prototype/round/not-a-constructor.js | 24 +
.../prototype/round/prop-desc.js | 24 +
.../prototype/round/roundingincrement-nan.js | 23 +
.../round/roundingincrement-non-integer.js | 18 +
.../round/roundingincrement-out-of-range.js | 20 +
.../round/roundingincrement-undefined.js | 28 +
.../round/roundingincrement-wrong-type.js | 29 +
.../round/roundingmode-invalid-string.js | 16 +
.../prototype/round/roundingmode-undefined.js | 28 +
.../round/roundingmode-wrong-type.js | 18 +
.../ZonedDateTime/prototype/round/shell.js | 19 +
.../round/smallestunit-disallowed-units.js | 35 +
.../round/smallestunit-invalid-string.js | 14 +
.../round/smallestunit-plurals-accepted.js | 25 +
.../round/smallestunit-string-shorthand.js | 28 +
.../round/smallestunit-wrong-type.js | 18 +
.../prototype/round/subclassing-ignored.js | 31 +
...one-getoffsetnanosecondsfor-non-integer.js | 18 +
...ne-getoffsetnanosecondsfor-not-callable.js | 22 +
...ne-getoffsetnanosecondsfor-out-of-range.js | 18 +
...zone-getoffsetnanosecondsfor-wrong-type.js | 27 +
...imezone-getpossibleinstantsfor-iterable.js | 36 +
.../second/balance-negative-time-units.js | 36 +
.../prototype/second/prop-desc.js | 17 +
...one-getoffsetnanosecondsfor-non-integer.js | 18 +
...ne-getoffsetnanosecondsfor-not-callable.js | 22 +
...ne-getoffsetnanosecondsfor-out-of-range.js | 18 +
...zone-getoffsetnanosecondsfor-wrong-type.js | 27 +
...tybag-offset-not-agreeing-with-timezone.js | 17 +
...ne-getoffsetnanosecondsfor-not-callable.js | 26 +
.../since/balance-negative-time-units.js | 57 +
.../ZonedDateTime/prototype/since/builtin.js | 36 +
...r-dateadd-called-with-options-undefined.js | 71 +
...r-dateuntil-called-with-copy-of-options.js | 36 +
...euntil-called-with-singular-largestunit.js | 117 +
.../since/calendar-fields-iterable.js | 42 +
.../since/calendar-temporal-object.js | 29 +
.../since/infinity-throws-rangeerror.js | 26 +
.../since/largestunit-invalid-string.js | 18 +
.../since/largestunit-plurals-accepted.js | 28 +
.../largestunit-smallestunit-mismatch.js | 22 +
.../prototype/since/largestunit-undefined.js | 20 +
.../prototype/since/largestunit-wrong-type.js | 19 +
.../prototype/since/largestunit.js | 25 +
.../ZonedDateTime/prototype/since/length.js | 28 +
.../ZonedDateTime/prototype/since/name.js | 26 +
.../since/negative-epochnanoseconds.js | 25 +
.../prototype/since/not-a-constructor.js | 24 +
.../prototype/since/options-undefined.js | 30 +
.../prototype/since/prop-desc.js | 24 +
.../read-time-fields-before-datefromfields.js | 26 +
.../prototype/since/roundingincrement-nan.js | 22 +
.../since/roundingincrement-non-integer.js | 20 +
.../since/roundingincrement-out-of-range.js | 21 +
.../since/roundingincrement-undefined.js | 28 +
.../since/roundingincrement-wrong-type.js | 28 +
.../since/roundingmode-invalid-string.js | 17 +
.../prototype/since/roundingmode-undefined.js | 30 +
.../since/roundingmode-wrong-type.js | 19 +
.../ZonedDateTime/prototype/since/shell.js | 19 +
.../since/smallestunit-invalid-string.js | 18 +
.../since/smallestunit-plurals-accepted.js | 28 +
.../prototype/since/smallestunit-undefined.js | 20 +
.../since/smallestunit-wrong-type.js | 19 +
.../prototype/since/sub-minute-offset.js | 23 +
...one-getoffsetnanosecondsfor-non-integer.js | 19 +
...ne-getoffsetnanosecondsfor-not-callable.js | 23 +
...ne-getoffsetnanosecondsfor-out-of-range.js | 19 +
...zone-getoffsetnanosecondsfor-wrong-type.js | 28 +
...imezone-getpossibleinstantsfor-iterable.js | 41 +
.../since/timezone-string-datetime.js | 46 +
.../since/timezone-string-multiple-offsets.js | 22 +
.../prototype/since/year-zero.js | 17 +
.../zoneddatetime-string-multiple-offsets.js | 19 +
.../prototype/since/zoneddatetime-string.js | 37 +
.../prototype/startOfDay/builtin.js | 36 +
...r-dateadd-called-with-options-undefined.js | 20 +
.../prototype/startOfDay/length.js | 28 +
.../prototype/startOfDay/name.js | 26 +
.../prototype/startOfDay/not-a-constructor.js | 24 +
.../prototype/startOfDay/prop-desc.js | 24 +
.../prototype/startOfDay/shell.js | 19 +
.../startOfDay/subclassing-ignored.js | 31 +
...one-getoffsetnanosecondsfor-non-integer.js | 18 +
...ne-getoffsetnanosecondsfor-not-callable.js | 22 +
...ne-getoffsetnanosecondsfor-out-of-range.js | 18 +
...zone-getoffsetnanosecondsfor-wrong-type.js | 27 +
...t-string-fractional-units-rounding-mode.js | 18 +
...gument-string-negative-fractional-units.js | 19 +
.../prototype/subtract/builtin.js | 36 +
.../prototype/subtract/length.js | 28 +
.../ZonedDateTime/prototype/subtract/name.js | 26 +
.../subtract/negative-epochnanoseconds.js | 24 +
.../subtract/non-integer-throws-rangeerror.js | 29 +
.../prototype/subtract/not-a-constructor.js | 24 +
.../prototype/subtract/options-undefined.js | 22 +
.../subtract/overflow-invalid-string.js | 33 +
.../prototype/subtract/overflow-undefined.js | 30 +
.../prototype/subtract/overflow-wrong-type.js | 30 +
.../prototype/subtract/prop-desc.js | 24 +
.../ZonedDateTime/prototype/subtract/shell.js | 19 +
.../prototype/subtract/subclassing-ignored.js | 31 +
...one-getoffsetnanosecondsfor-non-integer.js | 19 +
...ne-getoffsetnanosecondsfor-not-callable.js | 23 +
...ne-getoffsetnanosecondsfor-out-of-range.js | 19 +
...zone-getoffsetnanosecondsfor-wrong-type.js | 28 +
.../prototype/timeZone/prop-desc.js | 17 +
.../prototype/toInstant/builtin.js | 36 +
.../prototype/toInstant/length.js | 28 +
.../ZonedDateTime/prototype/toInstant/name.js | 26 +
.../prototype/toInstant/not-a-constructor.js | 24 +
.../prototype/toInstant/prop-desc.js | 24 +
.../prototype/toInstant/shell.js | 19 +
.../toJSON/balance-negative-time-units.js | 43 +
.../ZonedDateTime/prototype/toJSON/builtin.js | 36 +
.../ZonedDateTime/prototype/toJSON/length.js | 28 +
.../ZonedDateTime/prototype/toJSON/name.js | 26 +
.../toJSON/negative-epochnanoseconds.js | 24 +
.../prototype/toJSON/not-a-constructor.js | 24 +
.../ZonedDateTime/prototype/toJSON/offset.js | 23 +
.../prototype/toJSON/prop-desc.js | 24 +
.../ZonedDateTime/prototype/toJSON/shell.js | 19 +
...one-getoffsetnanosecondsfor-non-integer.js | 18 +
...ne-getoffsetnanosecondsfor-not-callable.js | 22 +
...ne-getoffsetnanosecondsfor-out-of-range.js | 18 +
...zone-getoffsetnanosecondsfor-wrong-type.js | 27 +
.../prototype/toJSON/year-format.js | 58 +
.../prototype/toLocaleString/builtin.js | 36 +
.../prototype/toLocaleString/length.js | 28 +
.../prototype/toLocaleString/name.js | 26 +
.../toLocaleString/not-a-constructor.js | 24 +
.../prototype/toLocaleString/prop-desc.js | 24 +
.../prototype/toLocaleString/return-string.js | 17 +
.../prototype/toLocaleString/shell.js | 19 +
.../prototype/toPlainDate/builtin.js | 36 +
.../prototype/toPlainDate/length.js | 28 +
.../prototype/toPlainDate/name.js | 26 +
.../toPlainDate/not-a-constructor.js | 24 +
.../prototype/toPlainDate/prop-desc.js | 24 +
.../prototype/toPlainDate/shell.js | 19 +
...one-getoffsetnanosecondsfor-non-integer.js | 18 +
...ne-getoffsetnanosecondsfor-not-callable.js | 22 +
...ne-getoffsetnanosecondsfor-out-of-range.js | 18 +
...zone-getoffsetnanosecondsfor-wrong-type.js | 27 +
.../balance-negative-time-units.js | 42 +
.../prototype/toPlainDateTime/builtin.js | 36 +
.../prototype/toPlainDateTime/length.js | 28 +
.../prototype/toPlainDateTime/name.js | 26 +
.../negative-epochnanoseconds.js | 25 +
.../toPlainDateTime/not-a-constructor.js | 24 +
.../toPlainDateTime/plain-custom-timezone.js | 44 +
.../prototype/toPlainDateTime/prop-desc.js | 24 +
.../prototype/toPlainDateTime/shell.js | 19 +
...one-getoffsetnanosecondsfor-non-integer.js | 18 +
...ne-getoffsetnanosecondsfor-not-callable.js | 22 +
...ne-getoffsetnanosecondsfor-out-of-range.js | 18 +
...zone-getoffsetnanosecondsfor-wrong-type.js | 27 +
.../prototype/toPlainMonthDay/builtin.js | 36 +
.../toPlainMonthDay/calendar-arguments.js | 32 +
.../calendar-fields-iterable.js | 30 +
...romfields-called-with-options-undefined.js | 19 +
.../toPlainMonthDay/calendar-result.js | 26 +
.../prototype/toPlainMonthDay/length.js | 28 +
.../prototype/toPlainMonthDay/name.js | 26 +
.../toPlainMonthDay/not-a-constructor.js | 24 +
.../prototype/toPlainMonthDay/prop-desc.js | 24 +
.../prototype/toPlainMonthDay/shell.js | 19 +
...one-getoffsetnanosecondsfor-non-integer.js | 18 +
...ne-getoffsetnanosecondsfor-not-callable.js | 22 +
...ne-getoffsetnanosecondsfor-out-of-range.js | 18 +
...zone-getoffsetnanosecondsfor-wrong-type.js | 27 +
.../balance-negative-time-units.js | 42 +
.../prototype/toPlainTime/builtin.js | 36 +
.../prototype/toPlainTime/length.js | 28 +
.../prototype/toPlainTime/name.js | 26 +
.../toPlainTime/negative-epochnanoseconds.js | 25 +
.../toPlainTime/not-a-constructor.js | 24 +
.../prototype/toPlainTime/prop-desc.js | 24 +
.../prototype/toPlainTime/shell.js | 19 +
...one-getoffsetnanosecondsfor-non-integer.js | 18 +
...ne-getoffsetnanosecondsfor-not-callable.js | 22 +
...ne-getoffsetnanosecondsfor-out-of-range.js | 18 +
...zone-getoffsetnanosecondsfor-wrong-type.js | 27 +
.../prototype/toPlainYearMonth/builtin.js | 36 +
.../toPlainYearMonth/calendar-arguments.js | 32 +
.../calendar-fields-iterable.js | 30 +
.../toPlainYearMonth/calendar-result.js | 26 +
...romfields-called-with-options-undefined.js | 19 +
.../prototype/toPlainYearMonth/length.js | 28 +
.../prototype/toPlainYearMonth/name.js | 26 +
.../toPlainYearMonth/not-a-constructor.js | 24 +
.../prototype/toPlainYearMonth/prop-desc.js | 24 +
.../prototype/toPlainYearMonth/shell.js | 19 +
...one-getoffsetnanosecondsfor-non-integer.js | 18 +
...ne-getoffsetnanosecondsfor-not-callable.js | 22 +
...ne-getoffsetnanosecondsfor-out-of-range.js | 18 +
...zone-getoffsetnanosecondsfor-wrong-type.js | 27 +
.../toString/balance-negative-time-units.js | 43 +
.../prototype/toString/builtin.js | 36 +
.../toString/calendarname-invalid-string.js | 21 +
.../toString/calendarname-undefined.js | 35 +
.../toString/calendarname-wrong-type.js | 29 +
.../fractionalseconddigits-invalid-string.js | 22 +
.../toString/fractionalseconddigits-nan.js | 23 +
.../fractionalseconddigits-non-integer.js | 23 +
.../fractionalseconddigits-out-of-range.js | 23 +
.../fractionalseconddigits-undefined.js | 27 +
.../fractionalseconddigits-wrong-type.js | 28 +
.../prototype/toString/length.js | 28 +
.../ZonedDateTime/prototype/toString/name.js | 26 +
.../toString/negative-epochnanoseconds.js | 24 +
.../prototype/toString/not-a-constructor.js | 24 +
.../toString/offset-invalid-string.js | 21 +
.../prototype/toString/offset-undefined.js | 25 +
.../prototype/toString/offset-wrong-type.js | 26 +
.../prototype/toString/offset.js | 23 +
.../prototype/toString/options-undefined.js | 31 +
.../prototype/toString/prop-desc.js | 24 +
.../toString/roundingmode-invalid-string.js | 16 +
.../toString/roundingmode-undefined.js | 28 +
.../toString/roundingmode-wrong-type.js | 18 +
.../ZonedDateTime/prototype/toString/shell.js | 19 +
.../toString/smallestunit-invalid-string.js | 14 +
.../toString/smallestunit-plurals-accepted.js | 22 +
.../toString/smallestunit-undefined.js | 23 +
.../toString/smallestunit-valid-units.js | 31 +
.../toString/smallestunit-wrong-type.js | 18 +
...one-getoffsetnanosecondsfor-non-integer.js | 18 +
...ne-getoffsetnanosecondsfor-not-callable.js | 22 +
...ne-getoffsetnanosecondsfor-out-of-range.js | 18 +
...zone-getoffsetnanosecondsfor-wrong-type.js | 27 +
.../toString/timezonename-invalid-string.js | 21 +
.../toString/timezonename-undefined.js | 25 +
.../toString/timezonename-wrong-type.js | 26 +
.../prototype/toString/year-format.js | 58 +
...tybag-offset-not-agreeing-with-timezone.js | 17 +
...ne-getoffsetnanosecondsfor-not-callable.js | 26 +
.../until/balance-negative-time-units.js | 57 +
.../ZonedDateTime/prototype/until/builtin.js | 36 +
...r-dateadd-called-with-options-undefined.js | 72 +
...r-dateuntil-called-with-copy-of-options.js | 36 +
...euntil-called-with-singular-largestunit.js | 117 +
.../until/calendar-fields-iterable.js | 42 +
.../until/calendar-temporal-object.js | 29 +
.../until/infinity-throws-rangeerror.js | 26 +
.../until/largestunit-invalid-string.js | 18 +
.../until/largestunit-plurals-accepted.js | 28 +
.../largestunit-smallestunit-mismatch.js | 22 +
.../prototype/until/largestunit-undefined.js | 20 +
.../prototype/until/largestunit-wrong-type.js | 19 +
.../ZonedDateTime/prototype/until/length.js | 28 +
.../ZonedDateTime/prototype/until/name.js | 26 +
.../until/negative-epochnanoseconds.js | 25 +
.../prototype/until/not-a-constructor.js | 24 +
.../prototype/until/options-undefined.js | 30 +
.../prototype/until/prop-desc.js | 24 +
.../read-time-fields-before-datefromfields.js | 26 +
.../prototype/until/roundingincrement-nan.js | 22 +
.../until/roundingincrement-non-integer.js | 20 +
.../until/roundingincrement-out-of-range.js | 21 +
.../until/roundingincrement-undefined.js | 28 +
.../until/roundingincrement-wrong-type.js | 28 +
.../until/roundingmode-invalid-string.js | 17 +
.../prototype/until/roundingmode-undefined.js | 30 +
.../until/roundingmode-wrong-type.js | 19 +
.../ZonedDateTime/prototype/until/shell.js | 19 +
.../until/smallestunit-invalid-string.js | 18 +
.../until/smallestunit-plurals-accepted.js | 28 +
.../prototype/until/smallestunit-undefined.js | 20 +
.../until/smallestunit-wrong-type.js | 19 +
.../prototype/until/sub-minute-offset.js | 23 +
...one-getoffsetnanosecondsfor-non-integer.js | 19 +
...ne-getoffsetnanosecondsfor-not-callable.js | 23 +
...ne-getoffsetnanosecondsfor-out-of-range.js | 19 +
...zone-getoffsetnanosecondsfor-wrong-type.js | 28 +
...imezone-getpossibleinstantsfor-iterable.js | 41 +
.../until/timezone-string-datetime.js | 46 +
.../until/timezone-string-multiple-offsets.js | 22 +
.../prototype/until/year-zero.js | 17 +
.../zoneddatetime-string-multiple-offsets.js | 19 +
.../prototype/until/zoneddatetime-string.js | 37 +
.../prototype/valueOf/builtin.js | 36 +
.../ZonedDateTime/prototype/valueOf/length.js | 28 +
.../ZonedDateTime/prototype/valueOf/name.js | 26 +
.../prototype/valueOf/not-a-constructor.js | 24 +
.../prototype/valueOf/prop-desc.js | 24 +
.../ZonedDateTime/prototype/valueOf/shell.js | 19 +
.../prototype/weekOfYear/prop-desc.js | 17 +
...one-getoffsetnanosecondsfor-non-integer.js | 18 +
...ne-getoffsetnanosecondsfor-not-callable.js | 22 +
...ne-getoffsetnanosecondsfor-out-of-range.js | 18 +
...zone-getoffsetnanosecondsfor-wrong-type.js | 27 +
.../with/balance-negative-time-units.js | 65 +
.../ZonedDateTime/prototype/with/builtin.js | 36 +
.../with/calendar-fields-iterable.js | 38 +
...calendar-merge-fields-returns-primitive.js | 21 +
.../with/copies-merge-fields-object.js | 62 +
.../with/copy-properties-not-undefined.js | 52 +
.../with/disambiguation-invalid-string.js | 21 +
.../with/disambiguation-undefined.js | 34 +
.../with/disambiguation-wrong-type.js | 25 +
.../with/infinity-throws-rangeerror.js | 27 +
.../ZonedDateTime/prototype/with/length.js | 28 +
.../ZonedDateTime/prototype/with/name.js | 26 +
.../prototype/with/not-a-constructor.js | 24 +
.../prototype/with/offset-invalid-string.js | 21 +
.../with/offset-property-sub-minute.js | 31 +
.../prototype/with/offset-undefined.js | 26 +
.../prototype/with/offset-wrong-type.js | 25 +
.../prototype/with/options-undefined.js | 22 +
.../prototype/with/overflow-invalid-string.js | 31 +
.../prototype/with/overflow-undefined.js | 27 +
.../prototype/with/overflow-wrong-type.js | 49 +
.../ZonedDateTime/prototype/with/prop-desc.js | 24 +
.../read-time-fields-before-datefromfields.js | 29 +
.../prototype/with/receiver-offset-broken.js | 79 +
.../ZonedDateTime/prototype/with/shell.js | 19 +
.../prototype/with/subclassing-ignored.js | 31 +
...one-getoffsetnanosecondsfor-non-integer.js | 18 +
...ne-getoffsetnanosecondsfor-not-callable.js | 38 +
...ne-getoffsetnanosecondsfor-out-of-range.js | 18 +
...zone-getoffsetnanosecondsfor-wrong-type.js | 27 +
...imezone-getpossibleinstantsfor-iterable.js | 28 +
.../prototype/withCalendar/builtin.js | 36 +
.../withCalendar/calendar-temporal-object.js | 24 +
.../prototype/withCalendar/length.js | 28 +
.../withCalendar/missing-argument.js | 15 +
.../prototype/withCalendar/name.js | 26 +
.../withCalendar/not-a-constructor.js | 24 +
.../prototype/withCalendar/prop-desc.js | 24 +
.../prototype/withCalendar/shell.js | 19 +
.../withCalendar/subclassing-ignored.js | 39 +
.../withPlainDate/argument-plaindatetime.js | 32 +
.../withPlainDate/argument-string-invalid.js | 64 +
.../argument-string-with-utc-designator.js | 24 +
...one-getoffsetnanosecondsfor-non-integer.js | 19 +
...ne-getoffsetnanosecondsfor-not-callable.js | 23 +
...ne-getoffsetnanosecondsfor-out-of-range.js | 19 +
...zone-getoffsetnanosecondsfor-wrong-type.js | 28 +
.../prototype/withPlainDate/builtin.js | 36 +
...r-dateadd-called-with-options-undefined.js | 20 +
...romfields-called-with-options-undefined.js | 19 +
.../withPlainDate/calendar-fields-iterable.js | 36 +
.../withPlainDate/calendar-temporal-object.js | 31 +
.../infinity-throws-rangeerror.js | 26 +
.../prototype/withPlainDate/length.js | 28 +
.../prototype/withPlainDate/name.js | 26 +
.../negative-epochnanoseconds.js | 24 +
.../withPlainDate/not-a-constructor.js | 24 +
.../prototype/withPlainDate/prop-desc.js | 24 +
.../prototype/withPlainDate/shell.js | 19 +
.../withPlainDate/subclassing-ignored.js | 31 +
...one-getoffsetnanosecondsfor-non-integer.js | 19 +
...ne-getoffsetnanosecondsfor-not-callable.js | 23 +
...ne-getoffsetnanosecondsfor-out-of-range.js | 19 +
...zone-getoffsetnanosecondsfor-wrong-type.js | 28 +
.../prototype/withPlainDate/year-zero.js | 20 +
.../argument-string-no-implicit-midnight.js | 19 +
...-designator-required-for-disambiguation.js | 56 +
.../argument-string-with-time-designator.js | 31 +
.../argument-string-with-utc-designator.js | 24 +
...neddatetime-balance-negative-time-units.js | 48 +
...zoneddatetime-negative-epochnanoseconds.js | 25 +
...one-getoffsetnanosecondsfor-non-integer.js | 19 +
...ne-getoffsetnanosecondsfor-not-callable.js | 23 +
...ne-getoffsetnanosecondsfor-out-of-range.js | 19 +
...zone-getoffsetnanosecondsfor-wrong-type.js | 28 +
.../prototype/withPlainTime/builtin.js | 36 +
...r-dateadd-called-with-options-undefined.js | 20 +
.../withPlainTime/calendar-temporal-object.js | 28 +
.../prototype/withPlainTime/length.js | 28 +
.../prototype/withPlainTime/name.js | 26 +
.../withPlainTime/not-a-constructor.js | 24 +
.../plaintime-propertybag-no-time-units.js | 20 +
.../prototype/withPlainTime/prop-desc.js | 24 +
.../prototype/withPlainTime/shell.js | 19 +
.../withPlainTime/subclassing-ignored.js | 31 +
.../prototype/withPlainTime/time-undefined.js | 29 +
...one-getoffsetnanosecondsfor-non-integer.js | 19 +
...ne-getoffsetnanosecondsfor-not-callable.js | 23 +
...ne-getoffsetnanosecondsfor-out-of-range.js | 19 +
...zone-getoffsetnanosecondsfor-wrong-type.js | 28 +
.../prototype/withPlainTime/year-zero.js | 24 +
.../prototype/withTimeZone/builtin.js | 36 +
.../prototype/withTimeZone/length.js | 28 +
.../prototype/withTimeZone/name.js | 26 +
.../withTimeZone/not-a-constructor.js | 24 +
.../prototype/withTimeZone/prop-desc.js | 24 +
.../prototype/withTimeZone/shell.js | 19 +
.../withTimeZone/subclassing-ignored.js | 31 +
.../withTimeZone/timezone-string-datetime.js | 47 +
.../timezone-string-multiple-offsets.js | 19 +
.../year/calendar-returns-infinity.js | 30 +
.../ZonedDateTime/prototype/year/prop-desc.js | 17 +
...one-getoffsetnanosecondsfor-non-integer.js | 18 +
...ne-getoffsetnanosecondsfor-not-callable.js | 22 +
...ne-getoffsetnanosecondsfor-out-of-range.js | 18 +
...zone-getoffsetnanosecondsfor-wrong-type.js | 27 +
.../built-ins/Temporal/ZonedDateTime/shell.js | 1498 ++++++
.../ZonedDateTime/timezone-string-datetime.js | 45 +
.../built-ins/Temporal/getOwnPropertyNames.js | 25 +
.../tests/test262/built-ins/Temporal/keys.js | 15 +
.../test262/built-ins/Temporal/prop-desc.js | 19 +
.../built-ins/Temporal/toStringTag/browser.js | 0
.../Temporal/toStringTag/prop-desc.js | 19 +
.../built-ins/Temporal/toStringTag/shell.js | 0
.../built-ins/Temporal/toStringTag/string.js | 13 +
.../TypedArray/prototype/at/BigInt/browser.js | 0
.../return-abrupt-from-this-out-of-bounds.js | 62 +
.../TypedArray/prototype/at/BigInt/shell.js | 42 +
.../BigInt/resizable-array-buffer-auto.js | 56 +
.../BigInt/resizable-array-buffer-fixed.js | 49 +
.../byteLength/resizable-array-buffer-auto.js | 7 +
.../BigInt/resizable-array-buffer-auto.js | 53 +
.../BigInt/resizable-array-buffer-fixed.js | 49 +
.../byteOffset/resizable-array-buffer-auto.js | 12 +-
.../return-abrupt-from-this-out-of-bounds.js | 62 +
.../prototype/copyWithin/byteoffset.js | 35 +
.../copyWithin/coerced-values-target.js | 8 +
.../return-abrupt-from-this-out-of-bounds.js | 6 +-
.../return-abrupt-from-this-out-of-bounds.js | 62 +
.../return-abrupt-from-this-out-of-bounds.js | 62 +
.../prototype/every/callbackfn-resize.js | 76 +
.../return-abrupt-from-this-out-of-bounds.js | 62 +
.../return-abrupt-from-this-out-of-bounds.js | 62 +
.../prototype/filter/callbackfn-resize.js | 79 +
.../return-abrupt-from-this-out-of-bounds.js | 62 +
.../prototype/find/callbackfn-resize.js | 76 +
.../return-abrupt-from-this-out-of-bounds.js | 62 +
.../prototype/findIndex/callbackfn-resize.js | 76 +
.../return-abrupt-from-this-out-of-bounds.js | 62 +
.../prototype/findLast/callbackfn-resize.js | 76 +
.../return-abrupt-from-this-out-of-bounds.js | 62 +
.../findLastIndex/callbackfn-resize.js | 76 +
.../return-abrupt-from-this-out-of-bounds.js | 62 +
.../prototype/forEach/callbackfn-resize.js | 74 +
.../return-abrupt-from-this-out-of-bounds.js | 62 +
.../return-abrupt-from-this-out-of-bounds.js | 62 +
.../return-abrupt-from-this-out-of-bounds.js | 62 +
.../return-abrupt-from-this-out-of-bounds.js | 62 +
.../return-abrupt-from-this-out-of-bounds.js | 62 +
.../return-abrupt-from-this-out-of-bounds.js | 2 +-
.../BigInt/resizable-array-buffer-auto.js | 56 +
.../BigInt/resizable-array-buffer-fixed.js | 49 +
.../length/resizable-array-buffer-auto.js | 7 +
.../return-abrupt-from-this-out-of-bounds.js | 62 +
.../prototype/map/callbackfn-resize.js | 81 +
.../return-abrupt-from-this-out-of-bounds.js | 2 +-
.../return-abrupt-from-this-out-of-bounds.js | 62 +
.../prototype/reduce/callbackfn-resize.js | 78 +
.../return-abrupt-from-this-out-of-bounds.js | 2 +-
.../return-abrupt-from-this-out-of-bounds.js | 62 +
.../reduceRight/callbackfn-resize.js | 78 +
.../return-abrupt-from-this-out-of-bounds.js | 2 +-
.../return-abrupt-from-this-out-of-bounds.js | 62 +
...et-values-same-buffer-same-type-resized.js | 48 +
.../typedarray-arg-target-out-of-bounds.js | 46 +
...ffer-detached-on-get-src-value-no-throw.js | 38 +
...buffer-detached-on-get-src-value-throws.js | 47 -
.../return-abrupt-from-this-out-of-bounds.js | 62 +
.../return-abrupt-from-this-out-of-bounds.js | 2 +-
.../return-abrupt-from-this-out-of-bounds.js | 62 +
.../prototype/some/callbackfn-resize.js | 76 +
.../return-abrupt-from-this-out-of-bounds.js | 2 +-
.../sort/BigInt/detached-buffer-comparefn.js | 40 -
.../return-abrupt-from-this-out-of-bounds.js | 62 +
.../sort/detached-buffer-comparefn-coerce.js | 46 -
.../sort/detached-buffer-comparefn.js | 40 -
.../return-abrupt-from-this-out-of-bounds.js | 2 +-
.../prototype/sort/sort-tonumber.js | 16 +-
.../return-abrupt-from-this-out-of-bounds.js | 62 +
.../return-abrupt-from-this-out-of-bounds.js | 2 +-
.../return-abrupt-from-this-out-of-bounds.js | 62 +
.../return-abrupt-from-this-out-of-bounds.js | 2 +-
...d-when-species-retrieved-different-type.js | 63 -
...tached-when-species-retrieved-same-type.js | 66 -
.../other-ctor-buffer-ctor-access-throws.js | 43 -
...or-custom-species-proto-from-ctor-realm.js | 60 -
.../other-ctor-buffer-ctor-custom-species.js | 54 -
...ther-ctor-buffer-ctor-not-object-throws.js | 63 -
...-ctor-buffer-ctor-species-access-throws.js | 47 -
...tor-buffer-ctor-species-not-ctor-throws.js | 49 -
...or-buffer-ctor-species-prototype-throws.js | 61 -
.../same-ctor-buffer-ctor-access-throws.js | 48 -
...or-species-custom-proto-from-ctor-realm.js | 70 -
.../same-ctor-buffer-ctor-species-custom.js | 62 -
.../same-ctor-buffer-ctor-species-not-ctor.js | 51 -
...or-buffer-ctor-species-prototype-throws.js | 64 -
.../same-ctor-buffer-ctor-species-throws.js | 51 -
...e-ctor-buffer-ctor-value-not-obj-throws.js | 67 -
.../ctors-bigint/typedarray-arg/shell.js | 18 -
.../ctors/no-species.js | 32 +
...d-when-species-retrieved-different-type.js | 63 -
...tached-when-species-retrieved-same-type.js | 66 -
.../other-ctor-buffer-ctor-access-throws.js | 43 -
...or-custom-species-proto-from-ctor-realm.js | 61 -
.../other-ctor-buffer-ctor-custom-species.js | 54 -
...ther-ctor-buffer-ctor-not-object-throws.js | 63 -
...-ctor-buffer-ctor-species-access-throws.js | 47 -
...tor-buffer-ctor-species-not-ctor-throws.js | 49 -
.../other-ctor-buffer-ctor-species-null.js | 46 -
...or-buffer-ctor-species-prototype-throws.js | 61 -
...ther-ctor-buffer-ctor-species-undefined.js | 45 -
...s-when-species-retrieved-different-type.js | 83 -
...bounds-when-species-retrieved-same-type.js | 83 -
.../same-ctor-buffer-ctor-access-throws.js | 48 -
...or-species-custom-proto-from-ctor-realm.js | 70 -
.../same-ctor-buffer-ctor-species-custom.js | 62 -
.../same-ctor-buffer-ctor-species-not-ctor.js | 51 -
...or-buffer-ctor-species-prototype-throws.js | 64 -
.../same-ctor-buffer-ctor-species-throws.js | 51 -
...e-ctor-buffer-ctor-value-not-obj-throws.js | 67 -
.../ctors/typedarray-arg/shell.js | 18 -
.../resizable-array-buffer-auto.js | 7 +
...ger-indexes-resizable-array-buffer-auto.js | 9 +
.../gc-cleanup-not-prevented-with-wr-deref.js | 2 +-
.../WeakRef/prototype/deref/shell.js | 2 +-
.../built-ins/decodeURI/S15.1.3.1_A2.1_T1.js | 20 +-
.../decodeURIComponent/S15.1.3.2_A2.1_T1.js | 20 +-
.../built-ins/encodeURI/S15.1.3.3_A1.1_T1.js | 1 -
.../built-ins/encodeURI/S15.1.3.3_A1.1_T2.js | 1 -
.../built-ins/encodeURI/S15.1.3.3_A1.2_T1.js | 1 -
.../built-ins/encodeURI/S15.1.3.3_A1.2_T2.js | 1 -
.../built-ins/encodeURI/S15.1.3.3_A1.3_T1.js | 1 -
.../encodeURIComponent/S15.1.3.4_A1.1_T1.js | 1 -
.../encodeURIComponent/S15.1.3.4_A1.1_T2.js | 1 -
.../encodeURIComponent/S15.1.3.4_A1.2_T1.js | 1 -
.../encodeURIComponent/S15.1.3.4_A1.2_T2.js | 1 -
.../encodeURIComponent/S15.1.3.4_A1.3_T1.js | 1 -
.../built-ins/isFinite/S15.1.2.5_A2.6.js | 6 +-
.../built-ins/isFinite/S15.1.2.5_A2.7.js | 11 +-
.../test262/built-ins/isNaN/S15.1.2.4_A2.6.js | 6 +-
.../test262/built-ins/isNaN/S15.1.2.4_A2.7.js | 11 +-
.../built-ins/parseFloat/S15.1.2.3_A2_T10.js | 15 -
.../built-ins/parseFloat/S15.1.2.3_A6.js | 1 -
.../built-ins/parseInt/S15.1.2.2_A8.js | 1 -
js/src/tests/test262/harness/arrayContains.js | 26 -
.../harness/assert-throws-custom-typeerror.js | 60 +
.../harness/assert-throws-same-realm.js | 32 +
.../harness/compare-array-arguments.js | 40 +
.../harness/compare-array-arraylike.js | 36 +
.../compare-array-different-elements.js | 6 +-
.../harness/compare-array-different-length.js | 13 +-
.../test262/harness/compare-array-empty.js | 4 +-
.../test262/harness/compare-array-message.js | 25 +
...are-array-same-elements-different-order.js | 6 +-
.../compare-array-same-elements-same-order.js | 4 +-
.../harness/compare-array-samevalue.js | 6 +-
.../test262/harness/compare-array-sparse.js | 31 +-
.../test262/harness/compare-array-symbol.js | 2 +-
js/src/tests/test262/harness/shell.js | 1529 +++++-
.../temporalHelpers-one-shift-time-zone.js | 83 +
.../tests/test262/harness/testTypedArray.js | 32 +-
.../prototype/resolvedOptions/basic.js | 26 +-
.../prototype/resolvedOptions/order.js | 17 +-
.../temporal-objects-resolved-time-zone.js | 40 +
...ne-getoffsetnanosecondsfor-not-callable.js | 52 +
.../temporal-objects-resolved-time-zone.js | 39 +
...ne-getoffsetnanosecondsfor-not-callable.js | 57 +
.../formatRangeToParts/pattern-on-calendar.js | 21 +-
.../prototype/formatRangeToParts/shell.js | 329 ++
.../temporal-objects-resolved-time-zone.js | 106 +
...ne-getoffsetnanosecondsfor-not-callable.js | 57 +
.../formatToParts/pattern-on-calendar.js | 21 +-
.../prototype/formatToParts/shell.js | 329 ++
.../temporal-objects-resolved-time-zone.js | 99 +
...ne-getoffsetnanosecondsfor-not-callable.js | 52 +
.../prototype/resolvedOptions/basic.js | 24 +-
.../resolvedOptions/order-dayPeriod.js | 5 +-
.../order-fractionalSecondDigits.js | 5 +-
.../prototype/resolvedOptions/order-style.js | 5 +-
.../prototype/resolvedOptions/order.js | 5 +-
.../prototype/resolvedOptions/shell.js | 31 -
.../prototype/of/type-calendar-invalid.js | 16 +
.../prototype/of/type-calendar-valid.js | 5 -
.../test262/intl402/DurationFormat/browser.js | 0
.../DurationFormat/instance/browser.js | 0
.../DurationFormat/instance/extensibility.js | 25 +
.../intl402/DurationFormat/instance/length.js | 36 +
.../intl402/DurationFormat/instance/name.js | 32 +
.../DurationFormat/instance/prop-desc.js | 35 +
.../DurationFormat/instance/prototype.js | 23 +
.../intl402/DurationFormat/instance/shell.js | 0
.../DurationFormat/prototype/browser.js | 0
.../prototype/constructor/browser.js | 0
.../prototype/constructor/prop-desc.js | 33 +
.../prototype/constructor/shell.js | 0
.../prototype/constructor/value.js | 15 +
.../prototype/format/browser.js | 0
.../DurationFormat/prototype/format/length.js | 39 +
.../DurationFormat/prototype/format/name.js | 29 +
.../prototype/format/prop-desc.js | 24 +
.../DurationFormat/prototype/format/shell.js | 0
.../prototype/format/throw-invoked-as-func.js | 24 +
.../prototype/formatToParts/browser.js | 0
.../prototype/formatToParts/length.js | 39 +
.../prototype/formatToParts/name.js | 29 +
.../prototype/formatToParts/prop-desc.js | 24 +
.../prototype/formatToParts/shell.js | 0
.../formatToParts/throw-invoked-as-func.js | 24 +
.../prototype/prototype_attributes.js | 18 +
.../prototype/resolvedOptions/browser.js | 0
.../prototype/resolvedOptions/length.js | 39 +
.../prototype/resolvedOptions/name.js | 29 +
.../prototype/resolvedOptions/prop-desc.js | 24 +
.../prototype/resolvedOptions/shell.js | 0
.../resolvedOptions/throw-invoked-as-func.js | 24 +
.../intl402/DurationFormat/prototype/shell.js | 0
.../prototype/toStringTag/browser.js | 0
.../prototype/toStringTag/shell.js | 0
.../prototype/toStringTag/toString.js | 20 +
.../prototype/toStringTag/toStringTag.js | 28 +
.../test262/intl402/DurationFormat/shell.js | 0
.../intl402/Intl/DateTimeFormat/browser.js | 0
.../Intl/DateTimeFormat/prototype/browser.js | 0
.../prototype/formatRange/browser.js | 0
.../fails-on-distinct-temporal-types.js | 36 +
.../prototype/formatRange/shell.js | 0
.../prototype/formatRangeToParts/browser.js | 0
.../fails-on-distinct-temporal-types.js | 36 +
.../prototype/formatRangeToParts/shell.js | 0
.../Intl/DateTimeFormat/prototype/shell.js | 0
.../intl402/Intl/DateTimeFormat/shell.js | 0
.../Intl/getCanonicalLocales/duplicates.js | 7 +-
.../locales-is-not-a-string.js | 2 +-
.../intl402/Intl/getCanonicalLocales/main.js | 2 +-
.../overriden-arg-length.js | 28 +-
.../getCanonicalLocales/overriden-push.js | 2 +-
.../Intl/getCanonicalLocales/to-string.js | 2 +-
.../Intl/getCanonicalLocales/weird-cases.js | 2 +-
.../intl402/Intl/supportedValuesOf/browser.js | 0
.../intl402/Intl/supportedValuesOf/builtin.js | 44 +
.../calendars-accepted-by-DateTimeFormat.js | 47 +
.../calendars-accepted-by-DisplayNames.js | 47 +
.../Intl/supportedValuesOf/calendars.js | 56 +
.../supportedValuesOf/coerced-to-string.js | 38 +
.../collations-accepted-by-Collator.js | 83 +
.../Intl/supportedValuesOf/collations.js | 58 +
.../currencies-accepted-by-DisplayNames.js | 53 +
.../currencies-accepted-by-NumberFormat.js | 46 +
.../Intl/supportedValuesOf/currencies.js | 50 +
.../Intl/supportedValuesOf/invalid-key.js | 45 +
.../intl402/Intl/supportedValuesOf/length.js | 32 +
.../intl402/Intl/supportedValuesOf/name.js | 34 +
...eringSystems-accepted-by-DateTimeFormat.js | 50 +
...mberingSystems-accepted-by-NumberFormat.js | 50 +
...gSystems-accepted-by-RelativeTimeFormat.js | 50 +
...eringSystems-with-simple-digit-mappings.js | 38 +
.../supportedValuesOf/numberingSystems.js | 57 +
.../Intl/supportedValuesOf/prop-desc.js | 25 +
.../intl402/Intl/supportedValuesOf/shell.js | 19 +
.../timeZones-accepted-by-DateTimeFormat.js | 46 +
.../Intl/supportedValuesOf/timeZones.js | 59 +
.../units-accepted-by-NumberFormat.js | 47 +
.../intl402/Intl/supportedValuesOf/units.js | 50 +
.../formatToParts/iterable-undefined.js | 2 +-
.../prototype/resolvedOptions/order.js | 11 +-
.../prototype/weekInfo/output-object-keys.js | 21 +-
...onstructor-options-roundingMode-invalid.js | 36 +
...ons-throwing-getters-rounding-increment.js | 20 +
...-options-throwing-getters-rounding-mode.js | 20 +
...ions-throwing-getters-rounding-priority.js | 20 +
...-throwing-getters-trailing-zero-display.js | 20 +
.../constructor-roundingIncrement-invalid.js | 47 +
.../constructor-roundingIncrement.js | 52 +
.../constructor-signDisplay-negative.js | 28 +
...constructor-trailingZeroDisplay-invalid.js | 34 +
.../constructor-trailingZeroDisplay.js | 37 +
.../intl402/NumberFormat/constructor-unit.js | 47 +-
...mat-max-min-fraction-significant-digits.js | 30 +
.../format/format-rounding-increment-1.js | 42 +
.../format/format-rounding-increment-10.js | 42 +
.../format/format-rounding-increment-100.js | 42 +
.../format/format-rounding-increment-1000.js | 42 +
.../format/format-rounding-increment-2.js | 42 +
.../format/format-rounding-increment-20.js | 42 +
.../format/format-rounding-increment-200.js | 42 +
.../format/format-rounding-increment-2000.js | 42 +
.../format/format-rounding-increment-25.js | 42 +
.../format/format-rounding-increment-250.js | 42 +
.../format/format-rounding-increment-2500.js | 42 +
.../format/format-rounding-increment-5.js | 42 +
.../format/format-rounding-increment-50.js | 42 +
.../format/format-rounding-increment-500.js | 42 +
.../format/format-rounding-increment-5000.js | 42 +
.../format/format-rounding-mode-ceil.js | 35 +
.../format/format-rounding-mode-expand.js | 35 +
.../format/format-rounding-mode-floor.js | 35 +
.../format/format-rounding-mode-half-ceil.js | 36 +
.../format/format-rounding-mode-half-even.js | 37 +
.../format-rounding-mode-half-expand.js | 36 +
.../format/format-rounding-mode-half-floor.js | 36 +
.../format/format-rounding-mode-half-trunc.js | 36 +
.../format/format-rounding-mode-trunc.js | 35 +
.../format/format-rounding-priority-auto.js | 50 +
...format-rounding-priority-less-precision.js | 50 +
...format-rounding-priority-more-precision.js | 50 +
.../prototype/format/numbering-systems.js | 84 +-
.../format/signDisplay-currency-de-DE.js | 2 +-
.../format/signDisplay-currency-en-US.js | 2 +-
.../format/signDisplay-currency-ja-JP.js | 2 +-
.../format/signDisplay-currency-ko-KR.js | 2 +-
.../format/signDisplay-currency-zh-TW.js | 2 +-
.../signDisplay-negative-currency-de-DE.js | 20 +
.../signDisplay-negative-currency-en-US.js | 20 +
.../signDisplay-negative-currency-ja-JP.js | 20 +
.../signDisplay-negative-currency-ko-KR.js | 20 +
.../signDisplay-negative-currency-zh-TW.js | 20 +
.../format/signDisplay-negative-de-DE.js | 23 +
.../format/signDisplay-negative-en-US.js | 23 +
.../format/signDisplay-negative-ja-JP.js | 23 +
.../format/signDisplay-negative-ko-KR.js | 23 +
.../format/signDisplay-negative-zh-TW.js | 23 +
.../NumberFormat/prototype/format/units.js | 47 +-
.../prototype/format/useGrouping-de-DE.js | 33 +
.../prototype/format/useGrouping-en-IN.js | 34 +
.../prototype/format/useGrouping-en-US.js | 34 +
.../format/useGrouping-extended-de-DE.js | 36 +
.../format/useGrouping-extended-en-IN.js | 36 +
.../format/useGrouping-extended-en-US.js | 36 +
.../prototype/format/value-decimal-string.js | 27 +
.../prototype/format/value-tonumber.js | 4 +-
...rgument-to-Intlmathematicalvalue-throws.js | 24 +
.../prototype/formatRange/browser.js | 0
.../prototype/formatRange/builtin.js | 32 +
.../prototype/formatRange/en-US.js | 40 +
.../prototype/formatRange/invoked-as-func.js | 23 +
.../prototype/formatRange/length.js | 17 +
.../prototype/formatRange/name.js | 17 +
.../formatRange/nan-arguments-throws.js | 32 +
.../prototype/formatRange/prop-desc.js | 23 +
.../prototype/formatRange/pt-PT.js | 40 +
.../prototype/formatRange/shell.js | 19 +
.../formatRange/undefined-arguments-throws.js | 23 +
.../formatRange/x-greater-than-y-throws.js | 54 +
...rgument-to-Intlmathematicalvalue-throws.js | 24 +
.../prototype/formatRangeToParts/browser.js | 0
.../prototype/formatRangeToParts/builtin.js | 32 +
.../prototype/formatRangeToParts/en-US.js | 54 +
.../formatRangeToParts/invoked-as-func.js | 23 +
.../prototype/formatRangeToParts/length.js | 17 +
.../prototype/formatRangeToParts/name.js | 17 +
.../nan-arguments-throws.js | 32 +
.../prototype/formatRangeToParts/prop-desc.js | 23 +
.../prototype/formatRangeToParts/shell.js | 19 +
.../undefined-arguments-throws.js | 23 +
.../x-greater-than-y-throws.js | 54 +
.../signDisplay-currency-de-DE.js | 14 +-
.../signDisplay-currency-en-US.js | 14 +-
.../signDisplay-currency-ja-JP.js | 14 +-
.../signDisplay-currency-ko-KR.js | 14 +-
.../signDisplay-currency-zh-TW.js | 14 +-
.../signDisplay-negative-currency-de-DE.js | 56 +
.../signDisplay-negative-currency-en-US.js | 56 +
.../signDisplay-negative-currency-ja-JP.js | 56 +
.../signDisplay-negative-currency-ko-KR.js | 56 +
.../signDisplay-negative-currency-zh-TW.js | 56 +
.../signDisplay-negative-de-DE.js | 36 +
.../signDisplay-negative-en-US.js | 36 +
.../signDisplay-negative-ja-JP.js | 36 +
.../signDisplay-negative-ko-KR.js | 36 +
.../signDisplay-negative-zh-TW.js | 36 +
.../prototype/resolvedOptions/basic.js | 5 +-
.../prototype/resolvedOptions/order.js | 11 +-
.../prototype/resolvedOptions/roundingMode.js | 43 +
.../test-option-roundingPriority.js | 19 +
.../test-option-useGrouping-extended.js | 56 +
.../NumberFormat/test-option-useGrouping.js | 30 +-
.../prototype/resolvedOptions/order.js | 11 +-
.../selectRange/argument-tonumber-throws.js | 27 +
.../prototype/selectRange/browser.js | 0
.../prototype/selectRange/default-en-us.js | 17 +
.../prototype/selectRange/invoked-as-func.js | 24 +
.../prototype/selectRange/length.js | 19 +
.../PluralRules/prototype/selectRange/name.js | 20 +
.../selectRange/nan-arguments-throws.js | 24 +
.../prototype/selectRange/prop-desc.js | 24 +
.../prototype/selectRange/shell.js | 0
.../selectRange/undefined-arguments-throws.js | 23 +
.../selectRange/x-greater-than-y-throws.js | 21 +
.../prototype/resolvedOptions/order.js | 11 +-
.../prototype/resolvedOptions/order.js | 11 +-
.../intl402/Temporal/Calendar/browser.js | 0
.../intl402/Temporal/Calendar/from/basic.js | 21 +
.../intl402/Temporal/Calendar/from/browser.js | 0
.../intl402/Temporal/Calendar/from/shell.js | 0
.../Temporal/Calendar/prototype/browser.js | 0
.../Calendar/prototype/dateAdd/browser.js | 0
.../date-infinity-throws-rangeerror.js | 26 +
.../Calendar/prototype/dateAdd/shell.js | 1498 ++++++
.../prototype/dateFromFields/browser.js | 0
.../infinity-throws-rangeerror.js | 26 +
.../prototype/dateFromFields/shell.js | 1498 ++++++
.../argument-infinity-throws-rangeerror.js | 32 +
.../Calendar/prototype/dateUntil/browser.js | 0
.../Calendar/prototype/dateUntil/shell.js | 1498 ++++++
.../Calendar/prototype/day/browser.js | 0
.../day/infinity-throws-rangeerror.js | 24 +
.../Temporal/Calendar/prototype/day/shell.js | 1498 ++++++
.../Calendar/prototype/dayOfWeek/browser.js | 0
.../dayOfWeek/infinity-throws-rangeerror.js | 24 +
.../Calendar/prototype/dayOfWeek/shell.js | 1498 ++++++
.../Calendar/prototype/dayOfYear/browser.js | 0
.../dayOfYear/infinity-throws-rangeerror.js | 24 +
.../Calendar/prototype/dayOfYear/shell.js | 1498 ++++++
.../Calendar/prototype/daysInMonth/browser.js | 0
.../daysInMonth/infinity-throws-rangeerror.js | 24 +
.../Calendar/prototype/daysInMonth/shell.js | 1498 ++++++
.../Calendar/prototype/daysInWeek/browser.js | 0
.../daysInWeek/infinity-throws-rangeerror.js | 24 +
.../Calendar/prototype/daysInWeek/shell.js | 1498 ++++++
.../Calendar/prototype/daysInYear/browser.js | 0
.../daysInYear/infinity-throws-rangeerror.js | 24 +
.../Calendar/prototype/daysInYear/shell.js | 1498 ++++++
.../prototype/era/argument-string-invalid.js | 64 +
.../argument-string-with-utc-designator.js | 24 +
...ne-getoffsetnanosecondsfor-not-callable.js | 23 +
.../Calendar/prototype/era/branding.js | 0
.../Calendar/prototype/era/browser.js | 0
.../Calendar/prototype/era/builtin.js | 36 +
...romfields-called-with-options-undefined.js | 18 +
.../era/infinity-throws-rangeerror.js | 24 +
.../Temporal/Calendar/prototype/era/length.js | 28 +
.../Temporal/Calendar/prototype/era/name.js | 26 +
.../prototype/era/not-a-constructor.js | 24 +
.../Calendar/prototype/era/prop-desc.js | 24 +
.../Temporal/Calendar/prototype/era/shell.js | 1517 ++++++
.../Calendar/prototype/era/year-zero.js | 20 +
.../eraYear/argument-string-invalid.js | 64 +
.../argument-string-with-utc-designator.js | 24 +
...ne-getoffsetnanosecondsfor-not-callable.js | 23 +
.../Calendar/prototype/eraYear/branding.js | 0
.../Calendar/prototype/eraYear/browser.js | 0
.../Calendar/prototype/eraYear/builtin.js | 36 +
...romfields-called-with-options-undefined.js | 18 +
.../eraYear/infinity-throws-rangeerror.js | 24 +
.../Calendar/prototype/eraYear/length.js | 28 +
.../Calendar/prototype/eraYear/name.js | 26 +
.../prototype/eraYear/not-a-constructor.js | 24 +
.../Calendar/prototype/eraYear/prop-desc.js | 24 +
.../Calendar/prototype/eraYear/shell.js | 1517 ++++++
.../Calendar/prototype/eraYear/year-zero.js | 20 +
.../Calendar/prototype/inLeapYear/browser.js | 0
.../inLeapYear/infinity-throws-rangeerror.js | 24 +
.../Calendar/prototype/inLeapYear/shell.js | 1498 ++++++
.../Calendar/prototype/month/browser.js | 0
.../month/infinity-throws-rangeerror.js | 24 +
.../Calendar/prototype/month/shell.js | 1498 ++++++
.../Calendar/prototype/monthCode/browser.js | 0
.../monthCode/infinity-throws-rangeerror.js | 24 +
.../Calendar/prototype/monthCode/shell.js | 1498 ++++++
.../prototype/monthDayFromFields/browser.js | 0
.../infinity-throws-rangeerror.js | 26 +
.../prototype/monthDayFromFields/shell.js | 1498 ++++++
.../prototype/monthsInYear/browser.js | 0
.../infinity-throws-rangeerror.js | 24 +
.../Calendar/prototype/monthsInYear/shell.js | 1498 ++++++
.../Temporal/Calendar/prototype/shell.js | 0
.../Calendar/prototype/weekOfYear/browser.js | 0
.../weekOfYear/infinity-throws-rangeerror.js | 24 +
.../Calendar/prototype/weekOfYear/shell.js | 1498 ++++++
.../Calendar/prototype/year/browser.js | 0
.../year/infinity-throws-rangeerror.js | 24 +
.../Temporal/Calendar/prototype/year/shell.js | 1498 ++++++
.../prototype/yearMonthFromFields/browser.js | 0
.../infinity-throws-rangeerror.js | 26 +
.../prototype/yearMonthFromFields/shell.js | 1498 ++++++
.../intl402/Temporal/Calendar/shell.js | 0
.../intl402/Temporal/Duration/browser.js | 0
.../Duration/prototype/add/browser.js | 0
.../relativeto-infinity-throws-rangeerror.js | 24 +
.../add/relativeto-string-datetime.js | 31 +
.../Temporal/Duration/prototype/add/shell.js | 1498 ++++++
.../Temporal/Duration/prototype/browser.js | 0
.../Duration/prototype/round/browser.js | 0
.../relativeto-infinity-throws-rangeerror.js | 24 +
.../round/relativeto-string-datetime.js | 31 +
.../Duration/prototype/round/shell.js | 1498 ++++++
.../Temporal/Duration/prototype/shell.js | 0
.../Duration/prototype/subtract/browser.js | 0
.../relativeto-infinity-throws-rangeerror.js | 24 +
.../subtract/relativeto-string-datetime.js | 31 +
.../Duration/prototype/subtract/shell.js | 1498 ++++++
.../Duration/prototype/total/browser.js | 0
.../relativeto-infinity-throws-rangeerror.js | 24 +
.../total/relativeto-string-datetime.js | 30 +
.../Duration/prototype/total/shell.js | 1498 ++++++
.../intl402/Temporal/Duration/shell.js | 0
.../intl402/Temporal/Instant/browser.js | 0
.../Temporal/Instant/prototype/browser.js | 0
.../Temporal/Instant/prototype/shell.js | 0
.../prototype/toLocaleString/browser.js | 0
.../toLocaleString/locales-undefined.js | 21 +
.../toLocaleString/options-conflict.js | 50 +
.../toLocaleString/options-undefined.js | 21 +
.../Instant/prototype/toLocaleString/shell.js | 0
.../Instant/prototype/toString/browser.js | 0
.../Instant/prototype/toString/shell.js | 0
.../toString/timezone-string-datetime.js | 31 +
.../prototype/toZonedDateTime/browser.js | 0
.../prototype/toZonedDateTime/shell.js | 0
.../timezone-string-datetime.js | 31 +
.../prototype/toZonedDateTimeISO/browser.js | 0
.../prototype/toZonedDateTimeISO/shell.js | 0
.../timezone-string-datetime.js | 31 +
.../test262/intl402/Temporal/Instant/shell.js | 0
.../test262/intl402/Temporal/Now/browser.js | 0
.../intl402/Temporal/Now/plainDate/browser.js | 0
.../Temporal/Now/plainDate/calendar-string.js | 15 +
.../intl402/Temporal/Now/plainDate/shell.js | 0
.../Temporal/Now/plainDateTime/browser.js | 0
.../Now/plainDateTime/calendar-string.js | 15 +
.../Temporal/Now/plainDateTime/shell.js | 0
.../Temporal/Now/plainDateTimeISO/browser.js | 0
.../Temporal/Now/plainDateTimeISO/shell.js | 0
.../timezone-string-datetime.js | 36 +
.../test262/intl402/Temporal/Now/shell.js | 0
.../Temporal/Now/zonedDateTime/browser.js | 0
.../Now/zonedDateTime/calendar-string.js | 20 +
.../zonedDateTime/calendar-timezone-string.js | 18 +
.../Temporal/Now/zonedDateTime/shell.js | 0
.../zonedDateTime/timezone-string-datetime.js | 29 +
.../Temporal/Now/zonedDateTimeISO/browser.js | 0
.../Temporal/Now/zonedDateTimeISO/shell.js | 0
.../timezone-string-datetime.js | 29 +
.../Now/zonedDateTimeISO/timezone-string.js | 18 +
.../intl402/Temporal/PlainDate/browser.js | 0
.../Temporal/PlainDate/compare/browser.js | 0
.../compare/infinity-throws-rangeerror.js | 31 +
.../Temporal/PlainDate/compare/shell.js | 1498 ++++++
.../Temporal/PlainDate/from/browser.js | 0
.../from/infinity-throws-rangeerror.js | 25 +
.../intl402/Temporal/PlainDate/from/shell.js | 1498 ++++++
.../Temporal/PlainDate/prototype/browser.js | 0
.../PlainDate/prototype/equals/browser.js | 0
.../equals/infinity-throws-rangeerror.js | 24 +
.../PlainDate/prototype/equals/shell.js | 1498 ++++++
.../PlainDate/prototype/era/branding.js | 0
.../PlainDate/prototype/era/browser.js | 0
.../PlainDate/prototype/era/prop-desc.js | 17 +
.../Temporal/PlainDate/prototype/era/shell.js | 0
.../PlainDate/prototype/eraYear/branding.js | 0
.../PlainDate/prototype/eraYear/browser.js | 0
.../eraYear/calendar-returns-infinity.js | 30 +
.../PlainDate/prototype/eraYear/prop-desc.js | 17 +
.../PlainDate/prototype/eraYear/shell.js | 0
.../Temporal/PlainDate/prototype/shell.js | 0
.../PlainDate/prototype/since/browser.js | 0
.../since/infinity-throws-rangeerror.js | 24 +
.../PlainDate/prototype/since/shell.js | 1498 ++++++
.../prototype/toLocaleString/browser.js | 0
.../toLocaleString/locales-undefined.js | 21 +
.../toLocaleString/options-conflict.js | 40 +
.../toLocaleString/options-undefined.js | 21 +
.../toLocaleString/resolved-time-zone.js | 16 +
.../prototype/toLocaleString/shell.js | 0
...ne-getoffsetnanosecondsfor-not-callable.js | 25 +
.../prototype/toZonedDateTime/browser.js | 0
.../prototype/toZonedDateTime/shell.js | 0
.../timezone-string-datetime.js | 31 +
.../PlainDate/prototype/until/browser.js | 0
.../until/infinity-throws-rangeerror.js | 24 +
.../PlainDate/prototype/until/shell.js | 1498 ++++++
.../intl402/Temporal/PlainDate/shell.js | 0
.../intl402/Temporal/PlainDateTime/browser.js | 0
.../Temporal/PlainDateTime/compare/browser.js | 0
.../compare/infinity-throws-rangeerror.js | 31 +
.../Temporal/PlainDateTime/compare/shell.js | 1498 ++++++
.../Temporal/PlainDateTime/from/browser.js | 0
.../from/infinity-throws-rangeerror.js | 25 +
.../Temporal/PlainDateTime/from/shell.js | 1498 ++++++
.../PlainDateTime/prototype/browser.js | 0
.../PlainDateTime/prototype/equals/browser.js | 0
.../equals/infinity-throws-rangeerror.js | 24 +
.../PlainDateTime/prototype/equals/shell.js | 1498 ++++++
.../PlainDateTime/prototype/era/branding.js | 0
.../PlainDateTime/prototype/era/browser.js | 0
.../PlainDateTime/prototype/era/prop-desc.js | 17 +
.../PlainDateTime/prototype/era/shell.js | 0
.../prototype/eraYear/branding.js | 0
.../prototype/eraYear/browser.js | 0
.../eraYear/calendar-returns-infinity.js | 30 +
.../prototype/eraYear/prop-desc.js | 17 +
.../PlainDateTime/prototype/eraYear/shell.js | 0
.../Temporal/PlainDateTime/prototype/shell.js | 0
.../PlainDateTime/prototype/since/browser.js | 0
.../since/infinity-throws-rangeerror.js | 24 +
.../PlainDateTime/prototype/since/shell.js | 1498 ++++++
.../prototype/toLocaleString/browser.js | 0
.../toLocaleString/locales-undefined.js | 21 +
.../toLocaleString/options-conflict.js | 50 +
.../toLocaleString/options-undefined.js | 21 +
.../toLocaleString/resolved-time-zone.js | 20 +
.../prototype/toLocaleString/shell.js | 0
...ne-getoffsetnanosecondsfor-not-callable.js | 25 +
.../prototype/toZonedDateTime/browser.js | 0
.../prototype/toZonedDateTime/shell.js | 0
.../timezone-string-datetime.js | 31 +
.../PlainDateTime/prototype/until/browser.js | 0
.../until/infinity-throws-rangeerror.js | 24 +
.../PlainDateTime/prototype/until/shell.js | 1498 ++++++
.../prototype/withPlainDate/browser.js | 0
.../infinity-throws-rangeerror.js | 24 +
.../prototype/withPlainDate/shell.js | 1498 ++++++
.../intl402/Temporal/PlainDateTime/shell.js | 0
.../intl402/Temporal/PlainMonthDay/browser.js | 0
.../PlainMonthDay/prototype/browser.js | 0
.../PlainMonthDay/prototype/equals/browser.js | 0
.../equals/infinity-throws-rangeerror.js | 24 +
.../PlainMonthDay/prototype/equals/shell.js | 1498 ++++++
.../Temporal/PlainMonthDay/prototype/shell.js | 0
.../prototype/toLocaleString/browser.js | 0
.../toLocaleString/locales-undefined.js | 22 +
.../toLocaleString/options-undefined.js | 22 +
.../toLocaleString/resolved-time-zone.js | 16 +
.../prototype/toLocaleString/shell.js | 0
...ne-getoffsetnanosecondsfor-not-callable.js | 25 +
.../prototype/toPlainDate/browser.js | 0
.../toPlainDate/infinity-throws-rangeerror.js | 23 +
.../prototype/toPlainDate/shell.js | 1498 ++++++
.../intl402/Temporal/PlainMonthDay/shell.js | 0
.../intl402/Temporal/PlainTime/browser.js | 0
.../Temporal/PlainTime/prototype/browser.js | 0
.../Temporal/PlainTime/prototype/shell.js | 0
.../prototype/toLocaleString/browser.js | 0
.../toLocaleString/locales-undefined.js | 21 +
.../toLocaleString/options-conflict.js | 40 +
.../toLocaleString/options-undefined.js | 21 +
.../toLocaleString/resolved-time-zone.js | 20 +
.../prototype/toLocaleString/shell.js | 0
...ne-getoffsetnanosecondsfor-not-callable.js | 25 +
.../prototype/toPlainDateTime/browser.js | 0
.../infinity-throws-rangeerror.js | 24 +
.../prototype/toPlainDateTime/shell.js | 1498 ++++++
.../prototype/toZonedDateTime/browser.js | 0
.../plaindate-infinity-throws-rangeerror.js | 24 +
.../prototype/toZonedDateTime/shell.js | 1498 ++++++
.../timezone-string-datetime.js | 31 +
.../intl402/Temporal/PlainTime/shell.js | 0
.../Temporal/PlainYearMonth/browser.js | 0
.../PlainYearMonth/compare/browser.js | 0
.../compare/infinity-throws-rangeerror.js | 31 +
.../Temporal/PlainYearMonth/compare/shell.js | 1498 ++++++
.../PlainYearMonth/from/argument-object.js | 20 +
.../Temporal/PlainYearMonth/from/browser.js | 0
.../from/infinity-throws-rangeerror.js | 25 +
.../Temporal/PlainYearMonth/from/shell.js | 1498 ++++++
.../PlainYearMonth/prototype/browser.js | 0
.../prototype/equals/browser.js | 0
.../equals/infinity-throws-rangeerror.js | 24 +
.../PlainYearMonth/prototype/equals/shell.js | 1498 ++++++
.../PlainYearMonth/prototype/era/branding.js | 0
.../PlainYearMonth/prototype/era/browser.js | 0
.../PlainYearMonth/prototype/era/prop-desc.js | 17 +
.../PlainYearMonth/prototype/era/shell.js | 0
.../prototype/eraYear/branding.js | 0
.../prototype/eraYear/browser.js | 0
.../eraYear/calendar-returns-infinity.js | 30 +
.../prototype/eraYear/prop-desc.js | 17 +
.../PlainYearMonth/prototype/eraYear/shell.js | 0
.../PlainYearMonth/prototype/shell.js | 0
.../PlainYearMonth/prototype/since/browser.js | 0
.../since/infinity-throws-rangeerror.js | 24 +
.../PlainYearMonth/prototype/since/shell.js | 1498 ++++++
.../prototype/toLocaleString/browser.js | 0
.../toLocaleString/locales-undefined.js | 22 +
.../toLocaleString/options-undefined.js | 22 +
.../toLocaleString/resolved-time-zone.js | 16 +
.../prototype/toLocaleString/shell.js | 0
...ne-getoffsetnanosecondsfor-not-callable.js | 25 +
.../PlainYearMonth/prototype/until/browser.js | 0
.../until/infinity-throws-rangeerror.js | 24 +
.../PlainYearMonth/prototype/until/shell.js | 1498 ++++++
.../intl402/Temporal/PlainYearMonth/shell.js | 0
.../intl402/Temporal/TimeZone/basic.js | 29 +
.../intl402/Temporal/TimeZone/browser.js | 0
.../intl402/Temporal/TimeZone/etc-timezone.js | 82 +
.../Temporal/TimeZone/from/argument-object.js | 48 +
.../Temporal/TimeZone/from/argument-valid.js | 33 +
.../intl402/Temporal/TimeZone/from/browser.js | 0
.../intl402/Temporal/TimeZone/from/shell.js | 0
.../TimeZone/from/timezone-string-datetime.js | 29 +
.../Temporal/TimeZone/prototype/browser.js | 0
.../prototype/getInstantFor/browser.js | 0
.../infinity-throws-rangeerror.js | 24 +
.../TimeZone/prototype/getInstantFor/shell.js | 1498 ++++++
.../getOffsetNanosecondsFor/browser.js | 0
.../getOffsetNanosecondsFor/instant-string.js | 31 +
.../getOffsetNanosecondsFor/shell.js | 0
.../prototype/getOffsetStringFor/browser.js | 0
.../getOffsetStringFor/instant-string.js | 31 +
.../prototype/getOffsetStringFor/shell.js | 0
.../prototype/getPlainDateTimeFor/browser.js | 0
.../getPlainDateTimeFor/instant-string.js | 35 +
.../prototype/getPlainDateTimeFor/shell.js | 1498 ++++++
.../getPossibleInstantsFor/browser.js | 0
.../infinity-throws-rangeerror.js | 24 +
.../prototype/getPossibleInstantsFor/shell.js | 1498 ++++++
.../Temporal/TimeZone/prototype/shell.js | 0
.../intl402/Temporal/TimeZone/shell.js | 0
.../intl402/Temporal/ZonedDateTime/browser.js | 0
.../Temporal/ZonedDateTime/compare/browser.js | 0
.../compare/infinity-throws-rangeerror.js | 31 +
.../Temporal/ZonedDateTime/compare/shell.js | 1498 ++++++
.../Temporal/ZonedDateTime/from/browser.js | 0
.../from/infinity-throws-rangeerror.js | 25 +
.../Temporal/ZonedDateTime/from/shell.js | 1498 ++++++
.../from/timezone-string-datetime.js | 29 +
.../ZonedDateTime/prototype/browser.js | 0
.../ZonedDateTime/prototype/equals/browser.js | 0
.../equals/infinity-throws-rangeerror.js | 24 +
.../ZonedDateTime/prototype/equals/shell.js | 1498 ++++++
.../equals/timezone-string-datetime.js | 25 +
.../ZonedDateTime/prototype/era/branding.js | 0
.../ZonedDateTime/prototype/era/browser.js | 0
.../ZonedDateTime/prototype/era/prop-desc.js | 17 +
.../ZonedDateTime/prototype/era/shell.js | 1498 ++++++
...one-getoffsetnanosecondsfor-non-integer.js | 18 +
...ne-getoffsetnanosecondsfor-not-callable.js | 22 +
...ne-getoffsetnanosecondsfor-out-of-range.js | 18 +
...zone-getoffsetnanosecondsfor-wrong-type.js | 27 +
.../prototype/eraYear/branding.js | 0
.../prototype/eraYear/browser.js | 0
.../eraYear/calendar-returns-infinity.js | 30 +
.../prototype/eraYear/prop-desc.js | 17 +
.../ZonedDateTime/prototype/eraYear/shell.js | 1498 ++++++
...one-getoffsetnanosecondsfor-non-integer.js | 18 +
...ne-getoffsetnanosecondsfor-not-callable.js | 22 +
...ne-getoffsetnanosecondsfor-out-of-range.js | 18 +
...zone-getoffsetnanosecondsfor-wrong-type.js | 27 +
.../Temporal/ZonedDateTime/prototype/shell.js | 0
.../ZonedDateTime/prototype/since/browser.js | 0
.../since/infinity-throws-rangeerror.js | 24 +
.../ZonedDateTime/prototype/since/shell.js | 1498 ++++++
.../since/timezone-string-datetime.js | 25 +
.../prototype/toLocaleString/browser.js | 0
.../toLocaleString/locales-undefined.js | 21 +
.../toLocaleString/options-conflict.js | 51 +
.../toLocaleString/options-undefined.js | 21 +
.../prototype/toLocaleString/shell.js | 0
.../ZonedDateTime/prototype/until/browser.js | 0
.../until/infinity-throws-rangeerror.js | 24 +
.../ZonedDateTime/prototype/until/shell.js | 1498 ++++++
.../until/timezone-string-datetime.js | 25 +
.../prototype/withPlainDate/browser.js | 0
.../infinity-throws-rangeerror.js | 24 +
.../prototype/withPlainDate/shell.js | 1498 ++++++
.../intl402/Temporal/ZonedDateTime/shell.js | 0
.../tests/test262/intl402/Temporal/browser.js | 0
.../tests/test262/intl402/Temporal/shell.js | 0
js/src/tests/test262/intl402/shell.js | 142 +-
.../for-in/acquire-properties-from-array.js | 35 +-
.../for-in/acquire-properties-from-object.js | 35 +-
.../block-scope/syntax/for-in/shell.js | 31 -
.../test262/language/comments/S7.4_A5.js | 11 -
.../test262/language/comments/S7.4_A6.js | 43 +-
.../tests/test262/language/comments/shell.js | 28 +
.../computed-property-names/basics/number.js | 6 +-
.../computed-property-names/basics/string.js | 6 +-
.../computed-property-names/basics/symbol.js | 12 +-
.../class/method/generator.js | 6 +-
.../class/method/number.js | 6 +-
.../class/method/string.js | 6 +-
.../class/method/symbol.js | 12 +-
.../object/method/generator.js | 6 +-
.../object/method/number.js | 6 +-
.../object/method/string.js | 6 +-
.../object/method/symbol.js | 12 +-
.../to-name-side-effects/numbers-object.js | 6 +-
.../to-name-side-effects/object.js | 6 +-
.../addition/coerce-bigint-to-string.js | 2 -
.../array/spread-obj-spread-order.js | 2 +-
.../dstr/array-rest-iter-rtrn-close-err.js | 1 -
.../assignment/dstr/obj-rest-order.js | 2 +-
...ession-minus-multiplicativeexpression-0.js | 5 +-
...ession-minus-multiplicativeexpression-1.js | 5 +-
...ession-minus-multiplicativeexpression-2.js | 5 +-
...ression-plus-multiplicativeexpression-0.js | 5 +-
...ression-plus-multiplicativeexpression-1.js | 5 +-
...ression-plus-multiplicativeexpression-2.js | 5 +-
.../direct-arrowfunction-0.js | 5 +-
.../direct-arrowfunction-1.js | 5 +-
.../direct-arrowfunction-2.js | 5 +-
.../direct-arrowfunction-3.js | 5 +-
.../direct-arrowfunction-4.js | 5 +-
.../direct-arrowfunction-5.js | 5 +-
.../direct-arrowfunction-6.js | 5 +-
.../direct-asyncarrowfunction-0.js | 5 +-
.../direct-asyncarrowfunction-1.js | 5 +-
.../direct-asyncarrowfunction-2.js | 5 +-
.../direct-asyncarrowfunction-3.js | 5 +-
.../direct-asyncarrowfunction-4.js | 5 +-
.../direct-asyncarrowfunction-5.js | 5 +-
.../direct-asyncarrowfunction-6.js | 5 +-
...ession-bitwise-and-equalityexpression-0.js | 5 +-
...ession-bitwise-and-equalityexpression-1.js | 5 +-
...ession-bitwise-and-equalityexpression-2.js | 5 +-
...ssion-bitwise-or-bitwisexorexpression-0.js | 5 +-
...ssion-bitwise-or-bitwisexorexpression-1.js | 5 +-
...ssion-bitwise-or-bitwisexorexpression-2.js | 5 +-
...sion-bitwise-xor-bitwiseandexpression-0.js | 5 +-
...sion-bitwise-xor-bitwiseandexpression-1.js | 5 +-
...sion-bitwise-xor-bitwiseandexpression-2.js | 5 +-
.../direct-callexpression-arguments.js | 5 +-
.../direct-callexpression-templateliteral.js | 5 +-
...sionhead-coalesce-bitwiseorexpression-0.js | 5 +-
...sionhead-coalesce-bitwiseorexpression-1.js | 5 +-
...sionhead-coalesce-bitwiseorexpression-2.js | 5 +-
...n-abstract-equal-relationalexpression-0.js | 5 +-
...n-abstract-equal-relationalexpression-1.js | 5 +-
...n-abstract-equal-relationalexpression-2.js | 5 +-
...stract-not-equal-relationalexpression-0.js | 5 +-
...stract-not-equal-relationalexpression-1.js | 5 +-
...stract-not-equal-relationalexpression-2.js | 5 +-
...ion-strict-equal-relationalexpression-0.js | 5 +-
...ion-strict-equal-relationalexpression-1.js | 5 +-
...ion-strict-equal-relationalexpression-2.js | 5 +-
...strict-not-equal-relationalexpression-0.js | 5 +-
...strict-not-equal-relationalexpression-1.js | 5 +-
...strict-not-equal-relationalexpression-2.js | 5 +-
...expression-comma-assignmentexpression-0.js | 5 +-
...expression-comma-assignmentexpression-1.js | 5 +-
...expression-comma-assignmentexpression-2.js | 5 +-
...tifierreference-arguments-strict-strict.js | 5 +-
...-identifierreference-eval-strict-strict.js | 5 +-
.../direct-import.meta.js | 5 +-
.../assignmenttargettype/direct-importcall.js | 5 +-
...ssion-assignment-assignmentexpression-0.js | 5 +-
...ssion-assignment-assignmentexpression-1.js | 5 +-
...ssion-assignment-assignmentexpression-2.js | 5 +-
...lesce-assignment-assignmentexpression-0.js | 5 +-
...lesce-assignment-assignmentexpression-1.js | 5 +-
...lesce-assignment-assignmentexpression-2.js | 5 +-
...l-and-assignment-assignmentexpression-0.js | 5 +-
...l-and-assignment-assignmentexpression-1.js | 5 +-
...l-and-assignment-assignmentexpression-2.js | 5 +-
...al-or-assignment-assignmentexpression-0.js | 5 +-
...al-or-assignment-assignmentexpression-1.js | 5 +-
...al-or-assignment-assignmentexpression-2.js | 5 +-
...rect-lefthandsideexpression-minus-minus.js | 5 +-
...direct-lefthandsideexpression-plus-plus.js | 5 +-
...ssion-logical-and-bitwiseorexpression-0.js | 5 +-
...ssion-logical-and-bitwiseorexpression-1.js | 5 +-
...ssion-logical-and-bitwiseorexpression-2.js | 5 +-
...ssion-logical-or-logicalandexpression-0.js | 5 +-
...ssion-logical-or-logicalandexpression-1.js | 5 +-
...ssion-logical-or-logicalandexpression-2.js | 5 +-
...direct-memberexpression-templateliteral.js | 5 +-
.../direct-minus-minus-unaryexpression.js | 5 +-
...tiveoperator-exponentiationexpression-0.js | 5 +-
...tiveoperator-exponentiationexpression-1.js | 5 +-
...tiveoperator-exponentiationexpression-2.js | 5 +-
...tiveoperator-exponentiationexpression-3.js | 5 +-
...tiveoperator-exponentiationexpression-4.js | 5 +-
...tiveoperator-exponentiationexpression-5.js | 5 +-
.../direct-new-memberexpression-arguments.js | 5 +-
.../direct-new-newexpression.js | 5 +-
.../direct-optionalexpression.js | 5 +-
.../direct-plus-plus-unaryexpression.js | 5 +-
...imaryexpression-asyncfunctionexpression.js | 5 +-
...maryexpression-asyncgeneratorexpression.js | 5 +-
...irect-primaryexpression-classexpression.js | 5 +-
...ct-primaryexpression-functionexpression.js | 5 +-
...t-primaryexpression-generatorexpression.js | 5 +-
...irect-primaryexpression-literal-boolean.js | 5 +-
.../direct-primaryexpression-literal-null.js | 5 +-
...irect-primaryexpression-literal-numeric.js | 5 +-
...direct-primaryexpression-literal-string.js | 5 +-
.../direct-primaryexpression-objectliteral.js | 5 +-
...maryexpression-regularexpressionliteral.js | 5 +-
...irect-primaryexpression-templateliteral.js | 5 +-
.../direct-primaryexpression-this.js | 5 +-
...ater-than-or-equal-to-shiftexpression-0.js | 5 +-
...ater-than-or-equal-to-shiftexpression-1.js | 5 +-
...ater-than-or-equal-to-shiftexpression-2.js | 5 +-
...pression-greater-than-shiftexpression-0.js | 5 +-
...pression-greater-than-shiftexpression-1.js | 5 +-
...pression-greater-than-shiftexpression-2.js | 5 +-
...lationalexpression-in-shiftexpression-0.js | 5 +-
...lationalexpression-in-shiftexpression-1.js | 5 +-
...lationalexpression-in-shiftexpression-2.js | 5 +-
...expression-instanceof-shiftexpression-0.js | 5 +-
...expression-instanceof-shiftexpression-1.js | 5 +-
...expression-instanceof-shiftexpression-2.js | 5 +-
...less-than-or-equal-to-shiftexpression-0.js | 5 +-
...less-than-or-equal-to-shiftexpression-1.js | 5 +-
...less-than-or-equal-to-shiftexpression-2.js | 5 +-
...lexpression-less-than-shiftexpression-0.js | 5 +-
...lexpression-less-than-shiftexpression-1.js | 5 +-
...lexpression-less-than-shiftexpression-2.js | 5 +-
...ssion-bitwise-left-additiveexpression-0.js | 5 +-
...ssion-bitwise-left-additiveexpression-1.js | 5 +-
...ssion-bitwise-left-additiveexpression-2.js | 5 +-
...sion-bitwise-right-additiveexpression-0.js | 5 +-
...sion-bitwise-right-additiveexpression-1.js | 5 +-
...sion-bitwise-right-additiveexpression-2.js | 5 +-
...gned-bitwise-right-additiveexpression-0.js | 5 +-
...gned-bitwise-right-additiveexpression-1.js | 5 +-
...gned-bitwise-right-additiveexpression-2.js | 5 +-
...texpression-else-assignmentexpression-0.js | 5 +-
...texpression-else-assignmentexpression-1.js | 5 +-
...texpression-else-assignmentexpression-2.js | 5 +-
...-unaryexpression-delete-unaryexpression.js | 5 +-
...xpression-exclamation-unaryexpression-0.js | 5 +-
...xpression-exclamation-unaryexpression-1.js | 5 +-
...xpression-exclamation-unaryexpression-2.js | 5 +-
...unaryexpression-minus-unaryexpression-0.js | 5 +-
...unaryexpression-minus-unaryexpression-1.js | 5 +-
...unaryexpression-minus-unaryexpression-2.js | 5 +-
...-unaryexpression-plus-unaryexpression-0.js | 5 +-
...-unaryexpression-plus-unaryexpression-1.js | 5 +-
...-unaryexpression-plus-unaryexpression-2.js | 5 +-
...unaryexpression-tilde-unaryexpression-0.js | 5 +-
...unaryexpression-tilde-unaryexpression-1.js | 5 +-
...unaryexpression-tilde-unaryexpression-2.js | 5 +-
...naryexpression-typeof-unaryexpression-0.js | 5 +-
...naryexpression-typeof-unaryexpression-1.js | 5 +-
...naryexpression-typeof-unaryexpression-2.js | 5 +-
...-unaryexpression-void-unaryexpression-0.js | 5 +-
...-unaryexpression-void-unaryexpression-1.js | 5 +-
...-unaryexpression-void-unaryexpression-2.js | 5 +-
...on-star-star-exponentiationexpression-0.js | 5 +-
...on-star-star-exponentiationexpression-1.js | 5 +-
...on-star-star-exponentiationexpression-2.js | 5 +-
.../direct-yieldexpression-0.js | 5 +-
.../direct-yieldexpression-1.js | 5 +-
...ession-minus-multiplicativeexpression-0.js | 5 +-
...ession-minus-multiplicativeexpression-1.js | 5 +-
...ession-minus-multiplicativeexpression-2.js | 5 +-
...ression-plus-multiplicativeexpression-0.js | 5 +-
...ression-plus-multiplicativeexpression-1.js | 5 +-
...ression-plus-multiplicativeexpression-2.js | 5 +-
.../parenthesized-arrowfunction-0.js | 5 +-
.../parenthesized-arrowfunction-1.js | 5 +-
.../parenthesized-arrowfunction-2.js | 5 +-
.../parenthesized-arrowfunction-3.js | 5 +-
.../parenthesized-arrowfunction-4.js | 5 +-
.../parenthesized-arrowfunction-5.js | 5 +-
.../parenthesized-arrowfunction-6.js | 5 +-
.../parenthesized-asyncarrowfunction-0.js | 5 +-
.../parenthesized-asyncarrowfunction-1.js | 5 +-
.../parenthesized-asyncarrowfunction-2.js | 5 +-
.../parenthesized-asyncarrowfunction-3.js | 5 +-
.../parenthesized-asyncarrowfunction-4.js | 5 +-
.../parenthesized-asyncarrowfunction-5.js | 5 +-
.../parenthesized-asyncarrowfunction-6.js | 5 +-
...ession-bitwise-and-equalityexpression-0.js | 5 +-
...ession-bitwise-and-equalityexpression-1.js | 5 +-
...ession-bitwise-and-equalityexpression-2.js | 5 +-
...ssion-bitwise-or-bitwisexorexpression-0.js | 5 +-
...ssion-bitwise-or-bitwisexorexpression-1.js | 5 +-
...ssion-bitwise-or-bitwisexorexpression-2.js | 5 +-
...sion-bitwise-xor-bitwiseandexpression-0.js | 5 +-
...sion-bitwise-xor-bitwiseandexpression-1.js | 5 +-
...sion-bitwise-xor-bitwiseandexpression-2.js | 5 +-
.../parenthesized-callexpression-arguments.js | 5 +-
...thesized-callexpression-templateliteral.js | 5 +-
...sionhead-coalesce-bitwiseorexpression-0.js | 5 +-
...sionhead-coalesce-bitwiseorexpression-1.js | 5 +-
...sionhead-coalesce-bitwiseorexpression-2.js | 5 +-
...n-abstract-equal-relationalexpression-0.js | 5 +-
...n-abstract-equal-relationalexpression-1.js | 5 +-
...n-abstract-equal-relationalexpression-2.js | 5 +-
...stract-not-equal-relationalexpression-0.js | 5 +-
...stract-not-equal-relationalexpression-1.js | 5 +-
...stract-not-equal-relationalexpression-2.js | 5 +-
...ion-strict-equal-relationalexpression-0.js | 5 +-
...ion-strict-equal-relationalexpression-1.js | 5 +-
...ion-strict-equal-relationalexpression-2.js | 5 +-
...strict-not-equal-relationalexpression-0.js | 5 +-
...strict-not-equal-relationalexpression-1.js | 5 +-
...strict-not-equal-relationalexpression-2.js | 5 +-
...expression-comma-assignmentexpression-0.js | 5 +-
...expression-comma-assignmentexpression-1.js | 5 +-
...expression-comma-assignmentexpression-2.js | 5 +-
...tifierreference-arguments-strict-strict.js | 5 +-
...-identifierreference-eval-strict-strict.js | 5 +-
.../parenthesized-import.meta.js | 5 +-
.../parenthesized-importcall.js | 5 +-
...ssion-assignment-assignmentexpression-0.js | 5 +-
...ssion-assignment-assignmentexpression-1.js | 5 +-
...ssion-assignment-assignmentexpression-2.js | 5 +-
...lesce-assignment-assignmentexpression-0.js | 5 +-
...lesce-assignment-assignmentexpression-1.js | 5 +-
...lesce-assignment-assignmentexpression-2.js | 5 +-
...l-and-assignment-assignmentexpression-0.js | 5 +-
...l-and-assignment-assignmentexpression-1.js | 5 +-
...l-and-assignment-assignmentexpression-2.js | 5 +-
...al-or-assignment-assignmentexpression-0.js | 5 +-
...al-or-assignment-assignmentexpression-1.js | 5 +-
...al-or-assignment-assignmentexpression-2.js | 5 +-
...ized-lefthandsideexpression-minus-minus.js | 5 +-
...esized-lefthandsideexpression-plus-plus.js | 5 +-
...ssion-logical-and-bitwiseorexpression-0.js | 5 +-
...ssion-logical-and-bitwiseorexpression-1.js | 5 +-
...ssion-logical-and-bitwiseorexpression-2.js | 5 +-
...ssion-logical-or-logicalandexpression-0.js | 5 +-
...ssion-logical-or-logicalandexpression-1.js | 5 +-
...ssion-logical-or-logicalandexpression-2.js | 5 +-
...esized-memberexpression-templateliteral.js | 5 +-
...renthesized-minus-minus-unaryexpression.js | 5 +-
...tiveoperator-exponentiationexpression-0.js | 5 +-
...tiveoperator-exponentiationexpression-1.js | 5 +-
...tiveoperator-exponentiationexpression-2.js | 5 +-
...tiveoperator-exponentiationexpression-3.js | 5 +-
...tiveoperator-exponentiationexpression-4.js | 5 +-
...tiveoperator-exponentiationexpression-5.js | 5 +-
...thesized-new-memberexpression-arguments.js | 5 +-
.../parenthesized-new-newexpression.js | 5 +-
.../parenthesized-optionalexpression.js | 5 +-
...parenthesized-plus-plus-unaryexpression.js | 5 +-
...imaryexpression-asyncfunctionexpression.js | 5 +-
...maryexpression-asyncgeneratorexpression.js | 5 +-
...sized-primaryexpression-classexpression.js | 5 +-
...ed-primaryexpression-functionexpression.js | 5 +-
...d-primaryexpression-generatorexpression.js | 5 +-
...sized-primaryexpression-literal-boolean.js | 5 +-
...thesized-primaryexpression-literal-null.js | 5 +-
...sized-primaryexpression-literal-numeric.js | 5 +-
...esized-primaryexpression-literal-string.js | 5 +-
...hesized-primaryexpression-objectliteral.js | 5 +-
...maryexpression-regularexpressionliteral.js | 5 +-
...sized-primaryexpression-templateliteral.js | 5 +-
.../parenthesized-primaryexpression-this.js | 5 +-
...ater-than-or-equal-to-shiftexpression-0.js | 5 +-
...ater-than-or-equal-to-shiftexpression-1.js | 5 +-
...ater-than-or-equal-to-shiftexpression-2.js | 5 +-
...pression-greater-than-shiftexpression-0.js | 5 +-
...pression-greater-than-shiftexpression-1.js | 5 +-
...pression-greater-than-shiftexpression-2.js | 5 +-
...lationalexpression-in-shiftexpression-0.js | 5 +-
...lationalexpression-in-shiftexpression-1.js | 5 +-
...lationalexpression-in-shiftexpression-2.js | 5 +-
...expression-instanceof-shiftexpression-0.js | 5 +-
...expression-instanceof-shiftexpression-1.js | 5 +-
...expression-instanceof-shiftexpression-2.js | 5 +-
...less-than-or-equal-to-shiftexpression-0.js | 5 +-
...less-than-or-equal-to-shiftexpression-1.js | 5 +-
...less-than-or-equal-to-shiftexpression-2.js | 5 +-
...lexpression-less-than-shiftexpression-0.js | 5 +-
...lexpression-less-than-shiftexpression-1.js | 5 +-
...lexpression-less-than-shiftexpression-2.js | 5 +-
...ssion-bitwise-left-additiveexpression-0.js | 5 +-
...ssion-bitwise-left-additiveexpression-1.js | 5 +-
...ssion-bitwise-left-additiveexpression-2.js | 5 +-
...sion-bitwise-right-additiveexpression-0.js | 5 +-
...sion-bitwise-right-additiveexpression-1.js | 5 +-
...sion-bitwise-right-additiveexpression-2.js | 5 +-
...gned-bitwise-right-additiveexpression-0.js | 5 +-
...gned-bitwise-right-additiveexpression-1.js | 5 +-
...gned-bitwise-right-additiveexpression-2.js | 5 +-
...texpression-else-assignmentexpression-0.js | 5 +-
...texpression-else-assignmentexpression-1.js | 5 +-
...texpression-else-assignmentexpression-2.js | 5 +-
...-unaryexpression-delete-unaryexpression.js | 5 +-
...xpression-exclamation-unaryexpression-0.js | 5 +-
...xpression-exclamation-unaryexpression-1.js | 5 +-
...xpression-exclamation-unaryexpression-2.js | 5 +-
...unaryexpression-minus-unaryexpression-0.js | 5 +-
...unaryexpression-minus-unaryexpression-1.js | 5 +-
...unaryexpression-minus-unaryexpression-2.js | 5 +-
...-unaryexpression-plus-unaryexpression-0.js | 5 +-
...-unaryexpression-plus-unaryexpression-1.js | 5 +-
...-unaryexpression-plus-unaryexpression-2.js | 5 +-
...unaryexpression-tilde-unaryexpression-0.js | 5 +-
...unaryexpression-tilde-unaryexpression-1.js | 5 +-
...unaryexpression-tilde-unaryexpression-2.js | 5 +-
...naryexpression-typeof-unaryexpression-0.js | 5 +-
...naryexpression-typeof-unaryexpression-1.js | 5 +-
...naryexpression-typeof-unaryexpression-2.js | 5 +-
...-unaryexpression-void-unaryexpression-0.js | 5 +-
...-unaryexpression-void-unaryexpression-1.js | 5 +-
...-unaryexpression-void-unaryexpression-2.js | 5 +-
...on-star-star-exponentiationexpression-0.js | 5 +-
...on-star-star-exponentiationexpression-1.js | 5 +-
...on-star-star-exponentiationexpression-2.js | 5 +-
.../parenthesized-yieldexpression-0.js | 5 +-
.../parenthesized-yieldexpression-1.js | 5 +-
.../named-yield-spread-arr-multiple.js | 2 +-
.../yield-spread-arr-multiple.js | 2 +-
.../await/await-throws-rejections.js | 5 +-
.../call/spread-obj-spread-order.js | 2 +-
.../call/tco-cross-realm-class-construct.js | 42 -
...tco-cross-realm-class-derived-construct.js | 42 -
.../call/tco-cross-realm-fun-call.js | 41 -
.../call/tco-cross-realm-fun-construct.js | 41 -
.../yield-spread-arr-multiple.js | 2 +-
.../yield-spread-arr-multiple.js | 2 +-
...ted-property-name-from-yield-expression.js | 2 +
...ted-property-name-from-yield-expression.js | 2 +
...ted-property-name-from-yield-expression.js | 2 +
...ted-property-name-from-yield-expression.js | 2 +
.../yield-spread-arr-multiple.js | 2 +-
.../yield-spread-arr-multiple.js | 2 +-
.../yield-spread-arr-multiple.js | 2 +-
.../yield-spread-arr-multiple.js | 2 +-
.../class/elements/redeclaration-symbol.js | 2 +-
.../class/elements/redeclaration.js | 2 +-
.../yield-spread-arr-multiple.js | 2 +-
.../gen-method/yield-spread-arr-multiple.js | 2 +-
...private-reference-accessor-property-add.js | 62 +
...vate-reference-accessor-property-bitand.js | 62 +
...ivate-reference-accessor-property-bitor.js | 62 +
...vate-reference-accessor-property-bitxor.js | 62 +
...private-reference-accessor-property-div.js | 62 +
...private-reference-accessor-property-exp.js | 62 +
...vate-reference-accessor-property-lshift.js | 62 +
...private-reference-accessor-property-mod.js | 62 +
...rivate-reference-accessor-property-mult.js | 62 +
...vate-reference-accessor-property-rshift.js | 62 +
...ate-reference-accessor-property-srshift.js | 62 +
...private-reference-accessor-property-sub.js | 62 +
...ide-private-reference-data-property-add.js | 54 +
...-private-reference-data-property-bitand.js | 54 +
...e-private-reference-data-property-bitor.js | 54 +
...-private-reference-data-property-bitxor.js | 54 +
...ide-private-reference-data-property-div.js | 54 +
...ide-private-reference-data-property-exp.js | 54 +
...-private-reference-data-property-lshift.js | 54 +
...ide-private-reference-data-property-mod.js | 54 +
...de-private-reference-data-property-mult.js | 54 +
...-private-reference-data-property-rshift.js | 54 +
...private-reference-data-property-srshift.js | 54 +
...ide-private-reference-data-property-sub.js | 54 +
...-hand-side-private-reference-method-add.js | 50 +
...nd-side-private-reference-method-bitand.js | 50 +
...and-side-private-reference-method-bitor.js | 50 +
...nd-side-private-reference-method-bitxor.js | 50 +
...-hand-side-private-reference-method-div.js | 50 +
...-hand-side-private-reference-method-exp.js | 50 +
...nd-side-private-reference-method-lshift.js | 50 +
...-hand-side-private-reference-method-mod.js | 50 +
...hand-side-private-reference-method-mult.js | 50 +
...nd-side-private-reference-method-rshift.js | 50 +
...d-side-private-reference-method-srshift.js | 50 +
...-hand-side-private-reference-method-sub.js | 50 +
...eference-readonly-accessor-property-add.js | 52 +
...rence-readonly-accessor-property-bitand.js | 52 +
...erence-readonly-accessor-property-bitor.js | 52 +
...rence-readonly-accessor-property-bitxor.js | 52 +
...eference-readonly-accessor-property-div.js | 52 +
...eference-readonly-accessor-property-exp.js | 52 +
...rence-readonly-accessor-property-lshift.js | 52 +
...eference-readonly-accessor-property-mod.js | 52 +
...ference-readonly-accessor-property-mult.js | 52 +
...rence-readonly-accessor-property-rshift.js | 52 +
...ence-readonly-accessor-property-srshift.js | 52 +
...eference-readonly-accessor-property-sub.js | 52 +
.../expressions/delete/11.4.1-4.a-11.js | 3 -
.../expressions/division/S11.5.2_A4_T8.js | 4 +-
...l-script-code-host-resolves-module-code.js | 2 +-
...l-script-code-host-resolves-module-code.js | 2 +-
...l-script-code-host-resolves-module-code.js | 2 +-
...l-script-code-host-resolves-module-code.js | 2 +-
...l-script-code-host-resolves-module-code.js | 2 +-
...l-script-code-host-resolves-module-code.js | 2 +-
...l-script-code-host-resolves-module-code.js | 2 +-
...l-script-code-host-resolves-module-code.js | 2 +-
...l-script-code-host-resolves-module-code.js | 2 +-
...l-script-code-host-resolves-module-code.js | 2 +-
...l-script-code-host-resolves-module-code.js | 2 +-
...l-script-code-host-resolves-module-code.js | 2 +-
...l-script-code-host-resolves-module-code.js | 2 +-
...l-script-code-host-resolves-module-code.js | 2 +-
...l-script-code-host-resolves-module-code.js | 2 +-
...l-script-code-host-resolves-module-code.js | 2 +-
...l-script-code-host-resolves-module-code.js | 2 +-
...l-script-code-host-resolves-module-code.js | 2 +-
.../applying-the-exp-operator_A15.js | 4 +-
.../applying-the-exp-operator_A19.js | 4 +-
.../named-yield-spread-arr-multiple.js | 2 +-
.../generators/yield-spread-arr-multiple.js | 2 +-
...private-reference-accessor-property-and.js | 63 +
...ate-reference-accessor-property-nullish.js | 62 +
...-private-reference-accessor-property-or.js | 63 +
...nce-accessor-property-short-circuit-and.js | 64 +
...accessor-property-short-circuit-nullish.js | 63 +
...ence-accessor-property-short-circuit-or.js | 64 +
...ide-private-reference-data-property-and.js | 55 +
...private-reference-data-property-nullish.js | 54 +
...side-private-reference-data-property-or.js | 55 +
...ference-data-property-short-circuit-and.js | 58 +
...nce-data-property-short-circuit-nullish.js | 57 +
...eference-data-property-short-circuit-or.js | 58 +
...-hand-side-private-reference-method-and.js | 51 +
...-reference-method-short-circuit-nullish.js | 57 +
...ivate-reference-method-short-circuit-or.js | 58 +
...eference-readonly-accessor-property-and.js | 53 +
...ence-readonly-accessor-property-nullish.js | 52 +
...reference-readonly-accessor-property-or.js | 53 +
...nly-accessor-property-short-circuit-and.js | 57 +
...accessor-property-short-circuit-nullish.js | 56 +
...only-accessor-property-short-circuit-or.js | 57 +
.../new/spread-obj-spread-order.js | 2 +-
...ted-property-name-from-yield-expression.js | 2 +
.../object/getter-body-strict-inside.js | 2 +-
.../getter-body-strict-outside-strict.js | 2 +-
.../async-gen-yield-spread-arr-multiple.js | 2 +-
.../gen-yield-spread-arr-multiple.js | 2 +-
.../object/setter-body-strict-inside.js | 2 +-
.../setter-body-strict-outside-strict.js | 2 +-
.../setter-param-arguments-strict-inside.js | 2 +-
...r-param-arguments-strict-outside-strict.js | 2 +-
.../object/setter-param-eval-strict-inside.js | 2 +-
...setter-param-eval-strict-outside-strict.js | 2 +-
.../call-expression-super-no-base.js | 2 +-
...il-position-null-op-template-string-esi.js | 2 +-
...s-tail-position-null-op-template-string.js | 2 +-
...ition-null-optchain-template-string-esi.js | 2 +-
...-position-null-optchain-template-string.js | 2 +-
...rs-tail-position-op-template-string-esi.js | 2 +-
...errors-tail-position-op-template-string.js | 2 +-
...l-position-optchain-template-string-esi.js | 2 +-
...-tail-position-optchain-template-string.js | 2 +-
.../static-semantics-simple-assignment.js | 2 +-
.../update-expression-postfix.js | 2 +-
.../update-expression-prefix.js | 2 +-
.../property-accessors/non-identifier-name.js | 2 +-
.../super/call-spread-obj-spread-order.js | 2 +-
.../expressions/unary-plus/S11.4.6_A3_T3.js | 18 +-
.../part-unicode-10.0.0-class-escaped.js | 22 +
.../identifiers/part-unicode-10.0.0-class.js | 19 +
.../part-unicode-10.0.0-escaped.js | 2 +-
.../identifiers/part-unicode-10.0.0.js | 2 +-
.../part-unicode-11.0.0-class-escaped.js | 22 +
.../identifiers/part-unicode-11.0.0-class.js | 19 +
.../part-unicode-11.0.0-escaped.js | 2 +-
.../identifiers/part-unicode-11.0.0.js | 2 +-
.../part-unicode-12.0.0-class-escaped.js | 22 +
.../identifiers/part-unicode-12.0.0-class.js | 19 +
.../part-unicode-12.0.0-escaped.js | 2 +-
.../identifiers/part-unicode-12.0.0.js | 2 +-
.../part-unicode-13.0.0-class-escaped.js | 22 +
.../identifiers/part-unicode-13.0.0-class.js | 19 +
.../part-unicode-13.0.0-escaped.js | 2 +-
.../identifiers/part-unicode-13.0.0.js | 2 +-
.../part-unicode-14.0.0-class-escaped.js | 22 +
.../identifiers/part-unicode-14.0.0-class.js | 19 +
.../part-unicode-14.0.0-escaped.js | 18 +
.../identifiers/part-unicode-14.0.0.js | 16 +
.../part-unicode-5.2.0-class-escaped.js | 22 +
.../identifiers/part-unicode-5.2.0-class.js | 19 +
.../identifiers/part-unicode-5.2.0-escaped.js | 2 +-
.../identifiers/part-unicode-5.2.0.js | 2 +-
.../part-unicode-6.0.0-class-escaped.js | 22 +
.../identifiers/part-unicode-6.0.0-class.js | 19 +
.../identifiers/part-unicode-6.0.0-escaped.js | 2 +-
.../identifiers/part-unicode-6.0.0.js | 2 +-
.../part-unicode-6.1.0-class-escaped.js | 22 +
.../identifiers/part-unicode-6.1.0-class.js | 19 +
.../identifiers/part-unicode-6.1.0-escaped.js | 2 +-
.../identifiers/part-unicode-6.1.0.js | 2 +-
.../part-unicode-7.0.0-class-escaped.js | 22 +
.../identifiers/part-unicode-7.0.0-class.js | 19 +
.../identifiers/part-unicode-7.0.0-escaped.js | 2 +-
.../identifiers/part-unicode-7.0.0.js | 2 +-
.../part-unicode-8.0.0-class-escaped.js | 22 +
.../identifiers/part-unicode-8.0.0-class.js | 19 +
.../identifiers/part-unicode-8.0.0-escaped.js | 2 +-
.../identifiers/part-unicode-8.0.0.js | 2 +-
.../part-unicode-9.0.0-class-escaped.js | 22 +
.../identifiers/part-unicode-9.0.0-class.js | 19 +
.../identifiers/part-unicode-9.0.0-escaped.js | 2 +-
.../identifiers/part-unicode-9.0.0.js | 2 +-
.../start-unicode-10.0.0-class-escaped.js | 22 +
.../identifiers/start-unicode-10.0.0-class.js | 19 +
.../start-unicode-10.0.0-escaped.js | 2 +-
.../identifiers/start-unicode-10.0.0.js | 2 +-
.../start-unicode-11.0.0-class-escaped.js | 22 +
.../identifiers/start-unicode-11.0.0-class.js | 19 +
.../start-unicode-11.0.0-escaped.js | 2 +-
.../identifiers/start-unicode-11.0.0.js | 2 +-
.../start-unicode-12.0.0-class-escaped.js | 22 +
.../identifiers/start-unicode-12.0.0-class.js | 19 +
.../start-unicode-12.0.0-escaped.js | 2 +-
.../identifiers/start-unicode-12.0.0.js | 2 +-
.../start-unicode-13.0.0-class-escaped.js | 22 +
.../identifiers/start-unicode-13.0.0-class.js | 19 +
.../start-unicode-13.0.0-escaped.js | 2 +-
.../identifiers/start-unicode-13.0.0.js | 2 +-
.../start-unicode-14.0.0-class-escaped.js | 22 +
.../identifiers/start-unicode-14.0.0-class.js | 19 +
.../start-unicode-14.0.0-escaped.js | 18 +
.../identifiers/start-unicode-14.0.0.js | 16 +
.../start-unicode-5.2.0-class-escaped.js | 22 +
.../identifiers/start-unicode-5.2.0-class.js | 19 +
.../start-unicode-5.2.0-escaped.js | 2 +-
.../identifiers/start-unicode-5.2.0.js | 2 +-
.../start-unicode-6.0.0-class-escaped.js | 22 +
.../identifiers/start-unicode-6.0.0-class.js | 19 +
.../start-unicode-6.0.0-escaped.js | 2 +-
.../identifiers/start-unicode-6.0.0.js | 2 +-
.../start-unicode-6.1.0-class-escaped.js | 22 +
.../identifiers/start-unicode-6.1.0-class.js | 19 +
.../start-unicode-6.1.0-escaped.js | 2 +-
.../identifiers/start-unicode-6.1.0.js | 2 +-
.../start-unicode-7.0.0-class-escaped.js | 22 +
.../identifiers/start-unicode-7.0.0-class.js | 19 +
.../start-unicode-7.0.0-escaped.js | 2 +-
.../identifiers/start-unicode-7.0.0.js | 2 +-
.../start-unicode-8.0.0-class-escaped.js | 22 +
.../identifiers/start-unicode-8.0.0-class.js | 19 +
.../start-unicode-8.0.0-escaped.js | 2 +-
.../identifiers/start-unicode-8.0.0.js | 2 +-
.../start-unicode-9.0.0-class-escaped.js | 22 +
.../identifiers/start-unicode-9.0.0-class.js | 19 +
.../start-unicode-9.0.0-escaped.js | 2 +-
.../identifiers/start-unicode-9.0.0.js | 2 +-
.../vertical-tilde-continue-escaped.js | 2 +-
.../identifiers/vertical-tilde-continue.js | 2 +-
.../vertical-tilde-start-escaped.js | 2 +-
.../identifiers/vertical-tilde-start.js | 2 +-
.../language/module-code/early-dup-lex.js | 2 +-
.../early-dup-top-function-async-generator.js | 21 +
.../early-dup-top-function-async.js | 21 +
.../early-dup-top-function-generator.js | 21 +
.../module-code/early-dup-top-function.js | 21 +
.../internals/define-own-property.js | 21 +
.../rest-parameters/arrow-function.js | 14 +-
.../rest-parameters/no-alias-arguments.js | 2 +-
.../rest-parameters/with-new-target.js | 16 +-
.../block-array-literal-with-item.js | 2 +-
.../statementList/block-array-literal.js | 2 +-
.../block-arrow-function-assignment-expr.js | 2 +-
.../block-arrow-function-functionbody.js | 2 +-
.../statementList/block-block-with-labels.js | 2 +-
.../language/statementList/block-block.js | 2 +-
...ock-expr-arrow-function-boolean-literal.js | 2 +-
.../statementList/block-let-declaration.js | 2 +-
.../block-regexp-literal-flags.js | 2 +-
.../statementList/block-regexp-literal.js | 2 +-
...k-with-statment-array-literal-with-item.js | 2 +-
.../block-with-statment-array-literal.js | 2 +-
...statment-arrow-function-assignment-expr.js | 2 +-
...th-statment-arrow-function-functionbody.js | 2 +-
.../block-with-statment-block-with-labels.js | 2 +-
.../block-with-statment-block.js | 2 +-
...ent-expr-arrow-function-boolean-literal.js | 2 +-
.../block-with-statment-let-declaration.js | 2 +-
...lock-with-statment-regexp-literal-flags.js | 2 +-
.../block-with-statment-regexp-literal.js | 2 +-
.../class-array-literal-with-item.js | 2 +-
.../statementList/class-array-literal.js | 2 +-
.../class-arrow-function-assignment-expr.js | 2 +-
.../class-arrow-function-functionbody.js | 2 +-
.../statementList/class-block-with-labels.js | 2 +-
.../language/statementList/class-block.js | 2 +-
...ass-expr-arrow-function-boolean-literal.js | 2 +-
.../statementList/class-let-declaration.js | 2 +-
.../class-regexp-literal-flags.js | 2 +-
.../statementList/class-regexp-literal.js | 2 +-
...k-with-statment-array-literal-with-item.js | 2 +-
.../eval-block-with-statment-array-literal.js | 2 +-
...statment-arrow-function-assignment-expr.js | 2 +-
...th-statment-arrow-function-functionbody.js | 2 +-
...l-block-with-statment-block-with-labels.js | 2 +-
.../eval-block-with-statment-block.js | 2 +-
...ent-expr-arrow-function-boolean-literal.js | 2 +-
...val-block-with-statment-let-declaration.js | 2 +-
...lock-with-statment-regexp-literal-flags.js | 2 +-
...eval-block-with-statment-regexp-literal.js | 2 +-
.../eval-class-array-literal-with-item.js | 2 +-
.../statementList/eval-class-array-literal.js | 2 +-
...al-class-arrow-function-assignment-expr.js | 2 +-
.../eval-class-arrow-function-functionbody.js | 2 +-
.../eval-class-block-with-labels.js | 2 +-
.../statementList/eval-class-block.js | 2 +-
...ass-expr-arrow-function-boolean-literal.js | 2 +-
.../eval-class-let-declaration.js | 2 +-
.../eval-class-regexp-literal-flags.js | 2 +-
.../eval-class-regexp-literal.js | 2 +-
.../eval-fn-array-literal-with-item.js | 2 +-
.../statementList/eval-fn-array-literal.js | 2 +-
.../eval-fn-arrow-function-assignment-expr.js | 2 +-
.../eval-fn-arrow-function-functionbody.js | 2 +-
.../eval-fn-block-with-labels.js | 2 +-
.../language/statementList/eval-fn-block.js | 2 +-
...-fn-expr-arrow-function-boolean-literal.js | 2 +-
.../statementList/eval-fn-let-declaration.js | 2 +-
.../eval-fn-regexp-literal-flags.js | 2 +-
.../statementList/eval-fn-regexp-literal.js | 2 +-
.../fn-array-literal-with-item.js | 2 +-
.../statementList/fn-array-literal.js | 2 +-
.../fn-arrow-function-assignment-expr.js | 2 +-
.../fn-arrow-function-functionbody.js | 2 +-
.../statementList/fn-block-with-labels.js | 2 +-
.../language/statementList/fn-block.js | 2 +-
.../fn-expr-arrow-function-boolean-literal.js | 2 +-
.../statementList/fn-let-declaration.js | 2 +-
.../statementList/fn-regexp-literal-flags.js | 2 +-
.../statementList/fn-regexp-literal.js | 2 +-
.../yield-spread-arr-multiple.js | 2 +-
.../statements/block/labeled-continue.js | 25 +
.../yield-spread-arr-multiple.js | 2 +-
.../yield-spread-arr-multiple.js | 2 +-
...ted-property-name-from-yield-expression.js | 2 +
...ted-property-name-from-yield-expression.js | 2 +
...ted-property-name-from-yield-expression.js | 2 +
...ted-property-name-from-yield-expression.js | 2 +
.../fn-length-static-precedence-order.js | 10 +-
.../fn-name-static-precedence-order.js | 10 +-
.../yield-spread-arr-multiple.js | 2 +-
.../yield-spread-arr-multiple.js | 2 +-
.../yield-spread-arr-multiple.js | 2 +-
.../yield-spread-arr-multiple.js | 2 +-
.../class/elements/redeclaration-symbol.js | 2 +-
.../class/elements/redeclaration.js | 2 +-
.../yield-spread-arr-multiple.js | 2 +-
.../gen-method/yield-spread-arr-multiple.js | 2 +-
.../class/static-init-arguments-functions.js | 12 +-
.../class/static-init-arguments-methods.js | 18 +-
...ntructor-calls-super-multiple-arguments.js | 2 +-
.../Array/regular-subclassing.js | 2 +-
.../statements/for-in/S12.6.4_A7_T2.js | 26 +-
.../dstr/array-rest-iter-rtrn-close-err.js | 1 -
.../statements/for-of/dstr/obj-rest-order.js | 2 +-
.../generators/yield-spread-arr-multiple.js | 2 +-
.../language/statements/throw/S12.13_A2_T5.js | 2 +-
.../language/statements/try/S12.14_A18_T5.js | 2 +-
js/src/tests/test262/shell.js | 64 +-
7922 files changed, 323917 insertions(+), 28214 deletions(-)
create mode 100644 js/src/tests/test262/built-ins/Array/from/array-like-has-length-but-no-indexes-with-values.js
create mode 100644 js/src/tests/test262/built-ins/Array/prototype/Symbol.unscopables/array-find-from-last.js
create mode 100644 js/src/tests/test262/built-ins/Array/prototype/Symbol.unscopables/array-grouping.js
create mode 100644 js/src/tests/test262/built-ins/Array/prototype/every/callbackfn-resize-arraybuffer.js
create mode 100644 js/src/tests/test262/built-ins/Array/prototype/filter/callbackfn-resize-arraybuffer.js
create mode 100644 js/src/tests/test262/built-ins/Array/prototype/find/callbackfn-resize-arraybuffer.js
create mode 100644 js/src/tests/test262/built-ins/Array/prototype/findIndex/callbackfn-resize-arraybuffer.js
create mode 100644 js/src/tests/test262/built-ins/Array/prototype/findLast/callbackfn-resize-arraybuffer.js
create mode 100644 js/src/tests/test262/built-ins/Array/prototype/findLastIndex/callbackfn-resize-arraybuffer.js
create mode 100644 js/src/tests/test262/built-ins/Array/prototype/forEach/callbackfn-resize-arraybuffer.js
delete mode 100644 js/src/tests/test262/built-ins/Array/prototype/join/S15.4.4.5_A6.7.js
create mode 100644 js/src/tests/test262/built-ins/Array/prototype/map/callbackfn-resize-arraybuffer.js
delete mode 100644 js/src/tests/test262/built-ins/Array/prototype/pop/S15.4.4.6_A5.7.js
create mode 100644 js/src/tests/test262/built-ins/Array/prototype/pop/set-length-array-is-frozen.js
create mode 100644 js/src/tests/test262/built-ins/Array/prototype/pop/set-length-array-length-is-non-writable.js
create mode 100644 js/src/tests/test262/built-ins/Array/prototype/pop/set-length-zero-array-is-frozen.js
create mode 100644 js/src/tests/test262/built-ins/Array/prototype/pop/set-length-zero-array-length-is-non-writable.js
delete mode 100644 js/src/tests/test262/built-ins/Array/prototype/push/S15.4.4.7_A6.7.js
create mode 100644 js/src/tests/test262/built-ins/Array/prototype/push/set-length-array-is-frozen.js
create mode 100644 js/src/tests/test262/built-ins/Array/prototype/push/set-length-array-length-is-non-writable.js
create mode 100644 js/src/tests/test262/built-ins/Array/prototype/push/set-length-zero-array-is-frozen.js
create mode 100644 js/src/tests/test262/built-ins/Array/prototype/push/set-length-zero-array-length-is-non-writable.js
create mode 100644 js/src/tests/test262/built-ins/Array/prototype/reduce/callbackfn-resize-arraybuffer.js
create mode 100644 js/src/tests/test262/built-ins/Array/prototype/reduceRight/callbackfn-resize-arraybuffer.js
delete mode 100644 js/src/tests/test262/built-ins/Array/prototype/reverse/S15.4.4.8_A5.7.js
delete mode 100644 js/src/tests/test262/built-ins/Array/prototype/shift/S15.4.4.9_A5.7.js
create mode 100644 js/src/tests/test262/built-ins/Array/prototype/shift/set-length-array-is-frozen.js
create mode 100644 js/src/tests/test262/built-ins/Array/prototype/shift/set-length-array-length-is-non-writable.js
create mode 100644 js/src/tests/test262/built-ins/Array/prototype/shift/set-length-zero-array-is-frozen.js
create mode 100644 js/src/tests/test262/built-ins/Array/prototype/shift/set-length-zero-array-length-is-non-writable.js
delete mode 100644 js/src/tests/test262/built-ins/Array/prototype/slice/S15.4.4.10_A5.7.js
create mode 100644 js/src/tests/test262/built-ins/Array/prototype/some/callbackfn-resize-arraybuffer.js
delete mode 100644 js/src/tests/test262/built-ins/Array/prototype/sort/S15.4.4.11_A7.7.js
delete mode 100644 js/src/tests/test262/built-ins/Array/prototype/splice/S15.4.4.12_A5.7.js
delete mode 100644 js/src/tests/test262/built-ins/Array/prototype/toLocaleString/S15.4.4.3_A4.7.js
delete mode 100644 js/src/tests/test262/built-ins/Array/prototype/toString/S15.4.4.2_A4.7.js
delete mode 100644 js/src/tests/test262/built-ins/Array/prototype/unshift/S15.4.4.13_A5.7.js
create mode 100644 js/src/tests/test262/built-ins/Array/prototype/unshift/set-length-array-is-frozen.js
create mode 100644 js/src/tests/test262/built-ins/Array/prototype/unshift/set-length-array-length-is-non-writable.js
create mode 100644 js/src/tests/test262/built-ins/Array/prototype/unshift/set-length-zero-array-is-frozen.js
create mode 100644 js/src/tests/test262/built-ins/Array/prototype/unshift/set-length-zero-array-length-is-non-writable.js
rename js/src/tests/test262/built-ins/Boolean/prototype/{S15.6.3.1_A3.js => S15.6.3.1_A3-strict.js} (64%)
delete mode 100644 js/src/tests/test262/built-ins/Boolean/prototype/S15.6.4_A1.js
create mode 100644 js/src/tests/test262/built-ins/DataView/custom-proto-access-resizes-buffer-invalid-by-length.js
create mode 100644 js/src/tests/test262/built-ins/DataView/custom-proto-access-resizes-buffer-invalid-by-offset.js
create mode 100644 js/src/tests/test262/built-ins/DataView/custom-proto-access-resizes-buffer-valid-by-length.js
create mode 100644 js/src/tests/test262/built-ins/DataView/custom-proto-access-resizes-buffer-valid-by-offset.js
create mode 100644 js/src/tests/test262/built-ins/Date/S15.9.3.1_A4_T0.js
create mode 100644 js/src/tests/test262/built-ins/Date/prototype/setDate/arg-coercion-order.js
create mode 100644 js/src/tests/test262/built-ins/Date/prototype/setHours/arg-coercion-order.js
create mode 100644 js/src/tests/test262/built-ins/Date/prototype/setMilliseconds/arg-coercion-order.js
create mode 100644 js/src/tests/test262/built-ins/Date/prototype/setMinutes/arg-coercion-order.js
create mode 100644 js/src/tests/test262/built-ins/Date/prototype/setMonth/arg-coercion-order.js
create mode 100644 js/src/tests/test262/built-ins/Date/prototype/setSeconds/arg-coercion-order.js
create mode 100644 js/src/tests/test262/built-ins/Date/prototype/setUTCDate/arg-coercion-order.js
create mode 100644 js/src/tests/test262/built-ins/Date/prototype/setUTCHours/arg-coercion-order.js
create mode 100644 js/src/tests/test262/built-ins/Date/prototype/setUTCMilliseconds/arg-coercion-order.js
create mode 100644 js/src/tests/test262/built-ins/Date/prototype/setUTCMinutes/arg-coercion-order.js
create mode 100644 js/src/tests/test262/built-ins/Date/prototype/setUTCMonth/arg-coercion-order.js
create mode 100644 js/src/tests/test262/built-ins/Date/prototype/setUTCSeconds/arg-coercion-order.js
delete mode 100644 js/src/tests/test262/built-ins/Function/prototype/apply/S15.3.4.3_A8_T1.js
delete mode 100644 js/src/tests/test262/built-ins/Function/prototype/apply/S15.3.4.3_A8_T2.js
delete mode 100644 js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A7_T1.js
delete mode 100644 js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A7_T2.js
delete mode 100644 js/src/tests/test262/built-ins/Function/prototype/toString/S15.3.4.2_A7.js
create mode 100644 js/src/tests/test262/built-ins/Map/bigint-number-same-value.js
delete mode 100644 js/src/tests/test262/built-ins/Map/symbol-as-entry-key.js
create mode 100644 js/src/tests/test262/built-ins/Map/valid-keys.js
create mode 100644 js/src/tests/test262/built-ins/Math/hypot/Math.hypot_ToNumberErr.js
delete mode 100644 js/src/tests/test262/built-ins/Object/prototype/hasOwnProperty/S15.2.4.5_A7.js
delete mode 100644 js/src/tests/test262/built-ins/Object/prototype/propertyIsEnumerable/S15.2.4.7_A7.js
delete mode 100644 js/src/tests/test262/built-ins/Object/prototype/toLocaleString/S15.2.4.3_A7.js
delete mode 100644 js/src/tests/test262/built-ins/Object/prototype/toString/not-ctor.js
delete mode 100644 js/src/tests/test262/built-ins/Object/prototype/valueOf/S15.2.4.4_A7.js
create mode 100644 js/src/tests/test262/built-ins/Proxy/revocable/tco-fn-realm-strict.js
delete mode 100644 js/src/tests/test262/built-ins/Realm/constructor.js
delete mode 100644 js/src/tests/test262/built-ins/Realm/instance.js
delete mode 100644 js/src/tests/test262/built-ins/Realm/prototype/evaluate/errors-from-the-other-realm-is-wrapped-into-a-typeerror.js
delete mode 100644 js/src/tests/test262/built-ins/Realm/prototype/evaluate/not-constructor.js
delete mode 100644 js/src/tests/test262/built-ins/Realm/prototype/evaluate/returns-symbol-values.js
delete mode 100644 js/src/tests/test262/built-ins/Realm/prototype/evaluate/validates-realm-object.js
delete mode 100644 js/src/tests/test262/built-ins/Realm/prototype/importValue/import-value.js
delete mode 100644 js/src/tests/test262/built-ins/Realm/prototype/importValue/not-constructor.js
delete mode 100644 js/src/tests/test262/built-ins/Realm/prototype/importValue/specifier-tostring.js
delete mode 100644 js/src/tests/test262/built-ins/Realm/prototype/importValue/validates-realm-object.js
create mode 100644 js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Cypro_Minoan.js
create mode 100644 js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Old_Uyghur.js
create mode 100644 js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Tangsa.js
create mode 100644 js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Toto.js
create mode 100644 js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_-_Vithkuqi.js
create mode 100644 js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Cypro_Minoan.js
create mode 100644 js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Old_Uyghur.js
create mode 100644 js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Tangsa.js
create mode 100644 js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Toto.js
create mode 100644 js/src/tests/test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Vithkuqi.js
create mode 100644 js/src/tests/test262/built-ins/RegExp/property-escapes/generated/strings/Basic_Emoji-negative-CharacterClass.js
create mode 100644 js/src/tests/test262/built-ins/RegExp/property-escapes/generated/strings/Basic_Emoji-negative-P.js
create mode 100644 js/src/tests/test262/built-ins/RegExp/property-escapes/generated/strings/Basic_Emoji-negative-u.js
create mode 100644 js/src/tests/test262/built-ins/RegExp/property-escapes/generated/strings/Basic_Emoji.js
create mode 100644 js/src/tests/test262/built-ins/RegExp/property-escapes/generated/strings/Emoji_Keycap_Sequence-negative-CharacterClass.js
create mode 100644 js/src/tests/test262/built-ins/RegExp/property-escapes/generated/strings/Emoji_Keycap_Sequence-negative-P.js
create mode 100644 js/src/tests/test262/built-ins/RegExp/property-escapes/generated/strings/Emoji_Keycap_Sequence-negative-u.js
create mode 100644 js/src/tests/test262/built-ins/RegExp/property-escapes/generated/strings/Emoji_Keycap_Sequence.js
create mode 100644 js/src/tests/test262/built-ins/RegExp/property-escapes/generated/strings/Emoji_Test-negative-CharacterClass.js
create mode 100644 js/src/tests/test262/built-ins/RegExp/property-escapes/generated/strings/Emoji_Test-negative-P.js
create mode 100644 js/src/tests/test262/built-ins/RegExp/property-escapes/generated/strings/Emoji_Test-negative-u.js
create mode 100644 js/src/tests/test262/built-ins/RegExp/property-escapes/generated/strings/Emoji_Test.js
create mode 100644 js/src/tests/test262/built-ins/RegExp/property-escapes/generated/strings/RGI_Emoji-negative-CharacterClass.js
create mode 100644 js/src/tests/test262/built-ins/RegExp/property-escapes/generated/strings/RGI_Emoji-negative-P.js
create mode 100644 js/src/tests/test262/built-ins/RegExp/property-escapes/generated/strings/RGI_Emoji-negative-u.js
create mode 100644 js/src/tests/test262/built-ins/RegExp/property-escapes/generated/strings/RGI_Emoji.js
create mode 100644 js/src/tests/test262/built-ins/RegExp/property-escapes/generated/strings/RGI_Emoji_Flag_Sequence-negative-CharacterClass.js
create mode 100644 js/src/tests/test262/built-ins/RegExp/property-escapes/generated/strings/RGI_Emoji_Flag_Sequence-negative-P.js
create mode 100644 js/src/tests/test262/built-ins/RegExp/property-escapes/generated/strings/RGI_Emoji_Flag_Sequence-negative-u.js
create mode 100644 js/src/tests/test262/built-ins/RegExp/property-escapes/generated/strings/RGI_Emoji_Flag_Sequence.js
create mode 100644 js/src/tests/test262/built-ins/RegExp/property-escapes/generated/strings/RGI_Emoji_Modifier_Sequence-negative-CharacterClass.js
create mode 100644 js/src/tests/test262/built-ins/RegExp/property-escapes/generated/strings/RGI_Emoji_Modifier_Sequence-negative-P.js
create mode 100644 js/src/tests/test262/built-ins/RegExp/property-escapes/generated/strings/RGI_Emoji_Modifier_Sequence-negative-u.js
create mode 100644 js/src/tests/test262/built-ins/RegExp/property-escapes/generated/strings/RGI_Emoji_Modifier_Sequence.js
create mode 100644 js/src/tests/test262/built-ins/RegExp/property-escapes/generated/strings/RGI_Emoji_Tag_Sequence-negative-CharacterClass.js
create mode 100644 js/src/tests/test262/built-ins/RegExp/property-escapes/generated/strings/RGI_Emoji_Tag_Sequence-negative-P.js
create mode 100644 js/src/tests/test262/built-ins/RegExp/property-escapes/generated/strings/RGI_Emoji_Tag_Sequence-negative-u.js
create mode 100644 js/src/tests/test262/built-ins/RegExp/property-escapes/generated/strings/RGI_Emoji_Tag_Sequence.js
create mode 100644 js/src/tests/test262/built-ins/RegExp/property-escapes/generated/strings/RGI_Emoji_ZWJ_Sequence-negative-CharacterClass.js
create mode 100644 js/src/tests/test262/built-ins/RegExp/property-escapes/generated/strings/RGI_Emoji_ZWJ_Sequence-negative-P.js
create mode 100644 js/src/tests/test262/built-ins/RegExp/property-escapes/generated/strings/RGI_Emoji_ZWJ_Sequence-negative-u.js
create mode 100644 js/src/tests/test262/built-ins/RegExp/property-escapes/generated/strings/RGI_Emoji_ZWJ_Sequence.js
rename js/src/tests/test262/built-ins/{Realm => RegExp/property-escapes/generated/strings}/browser.js (100%)
rename js/src/tests/test262/built-ins/{Realm/prototype/evaluate => RegExp/property-escapes/generated/strings}/shell.js (100%)
create mode 100644 js/src/tests/test262/built-ins/RegExp/prototype/exec/failure-lastindex-set.js
create mode 100644 js/src/tests/test262/built-ins/Set/bigint-number-same-value.js
delete mode 100644 js/src/tests/test262/built-ins/Set/prototype/set-prototype.js
delete mode 100644 js/src/tests/test262/built-ins/Set/symbol-as-entry.js
create mode 100644 js/src/tests/test262/built-ins/Set/valid-values.js
rename js/src/tests/test262/built-ins/{Realm/prototype => ShadowRealm/WrappedFunction}/browser.js (100%)
create mode 100644 js/src/tests/test262/built-ins/ShadowRealm/WrappedFunction/length-throws-typeerror.js
create mode 100644 js/src/tests/test262/built-ins/ShadowRealm/WrappedFunction/length.js
create mode 100644 js/src/tests/test262/built-ins/ShadowRealm/WrappedFunction/name-throws-typeerror.js
create mode 100644 js/src/tests/test262/built-ins/ShadowRealm/WrappedFunction/name.js
rename js/src/tests/test262/built-ins/{Realm/prototype/importValue => ShadowRealm/WrappedFunction}/shell.js (100%)
create mode 100644 js/src/tests/test262/built-ins/ShadowRealm/WrappedFunction/throws-typeerror-on-revoked-proxy.js
rename js/src/tests/test262/built-ins/{Realm/prototype/evaluate => ShadowRealm}/browser.js (100%)
create mode 100644 js/src/tests/test262/built-ins/ShadowRealm/constructor.js
rename js/src/tests/test262/built-ins/{Realm => ShadowRealm}/descriptor.js (52%)
rename js/src/tests/test262/built-ins/{Realm => ShadowRealm}/extensibility.js (61%)
rename js/src/tests/test262/built-ins/{Realm => ShadowRealm}/instance-extensibility.js (70%)
create mode 100644 js/src/tests/test262/built-ins/ShadowRealm/instance.js
rename js/src/tests/test262/built-ins/{Realm => ShadowRealm}/length.js (80%)
rename js/src/tests/test262/built-ins/{Realm => ShadowRealm}/name.js (65%)
rename js/src/tests/test262/built-ins/{Realm => ShadowRealm}/proto.js (61%)
rename js/src/tests/test262/built-ins/{Realm => ShadowRealm}/prototype/Symbol.toStringTag.js (67%)
rename js/src/tests/test262/built-ins/{Realm/prototype/importValue => ShadowRealm/prototype}/browser.js (100%)
rename js/src/tests/test262/built-ins/{Temporal/Calendar/prototype/era => ShadowRealm/prototype/evaluate}/browser.js (100%)
rename js/src/tests/test262/built-ins/{Realm => ShadowRealm}/prototype/evaluate/descriptor.js (51%)
create mode 100644 js/src/tests/test262/built-ins/ShadowRealm/prototype/evaluate/errors-from-the-other-realm-is-wrapped-into-a-typeerror.js
create mode 100644 js/src/tests/test262/built-ins/ShadowRealm/prototype/evaluate/globalthis-available-properties.js
create mode 100644 js/src/tests/test262/built-ins/ShadowRealm/prototype/evaluate/globalthis-config-only-properties.js
create mode 100644 js/src/tests/test262/built-ins/ShadowRealm/prototype/evaluate/globalthis-orginary-object.js
rename js/src/tests/test262/built-ins/{Realm => ShadowRealm}/prototype/evaluate/length.js (74%)
rename js/src/tests/test262/built-ins/{Realm => ShadowRealm}/prototype/evaluate/name.js (60%)
create mode 100644 js/src/tests/test262/built-ins/ShadowRealm/prototype/evaluate/nested-realms.js
create mode 100644 js/src/tests/test262/built-ins/ShadowRealm/prototype/evaluate/no-conditional-strict-mode.js
create mode 100644 js/src/tests/test262/built-ins/ShadowRealm/prototype/evaluate/not-constructor.js
rename js/src/tests/test262/built-ins/{Realm => ShadowRealm}/prototype/evaluate/proto.js (58%)
rename js/src/tests/test262/built-ins/{Realm => ShadowRealm}/prototype/evaluate/returns-primitive-values.js (72%)
create mode 100644 js/src/tests/test262/built-ins/ShadowRealm/prototype/evaluate/returns-proxy-callable-object.js
create mode 100644 js/src/tests/test262/built-ins/ShadowRealm/prototype/evaluate/returns-symbol-values.js
rename js/src/tests/test262/built-ins/{Realm/prototype => ShadowRealm/prototype/evaluate}/shell.js (100%)
create mode 100644 js/src/tests/test262/built-ins/ShadowRealm/prototype/evaluate/throws-error-from-ctor-realm.js
create mode 100644 js/src/tests/test262/built-ins/ShadowRealm/prototype/evaluate/throws-syntaxerror-on-bad-syntax.js
rename js/src/tests/test262/built-ins/{Realm => ShadowRealm}/prototype/evaluate/throws-typeerror-if-evaluation-resolves-to-non-primitive.js (66%)
create mode 100644 js/src/tests/test262/built-ins/ShadowRealm/prototype/evaluate/throws-typeerror-wrap-throwing.js
rename js/src/tests/test262/built-ins/{Realm => ShadowRealm}/prototype/evaluate/throws-when-argument-is-not-a-string.js (66%)
create mode 100644 js/src/tests/test262/built-ins/ShadowRealm/prototype/evaluate/validates-realm-object.js
rename js/src/tests/test262/built-ins/{Realm => ShadowRealm}/prototype/evaluate/wrapped-function-arguments-are-wrapped-into-the-inner-realm-extended.js (70%)
rename js/src/tests/test262/built-ins/{Realm => ShadowRealm}/prototype/evaluate/wrapped-function-arguments-are-wrapped-into-the-inner-realm.js (53%)
rename js/src/tests/test262/built-ins/{Realm => ShadowRealm}/prototype/evaluate/wrapped-function-from-return-values-share-no-identity.js (88%)
create mode 100644 js/src/tests/test262/built-ins/ShadowRealm/prototype/evaluate/wrapped-function-multiple-different-realms-nested.js
create mode 100644 js/src/tests/test262/built-ins/ShadowRealm/prototype/evaluate/wrapped-function-multiple-different-realms.js
rename js/src/tests/test262/built-ins/{Realm => ShadowRealm}/prototype/evaluate/wrapped-function-observing-their-scopes.js (54%)
create mode 100644 js/src/tests/test262/built-ins/ShadowRealm/prototype/evaluate/wrapped-function-proto-from-caller-realm.js
create mode 100644 js/src/tests/test262/built-ins/ShadowRealm/prototype/evaluate/wrapped-function-proxied-observes-boundary.js
create mode 100644 js/src/tests/test262/built-ins/ShadowRealm/prototype/evaluate/wrapped-function-throws-typeerror-from-caller-realm.js
create mode 100644 js/src/tests/test262/built-ins/ShadowRealm/prototype/evaluate/wrapped-function-throws-typeerror-on-exceptional-exit.js
create mode 100644 js/src/tests/test262/built-ins/ShadowRealm/prototype/evaluate/wrapped-function-throws-typeerror-on-non-primitive-arguments.js
create mode 100644 js/src/tests/test262/built-ins/ShadowRealm/prototype/evaluate/wrapped-function-throws-typeerror-on-non-primitive-returns.js
rename js/src/tests/test262/built-ins/{Realm => ShadowRealm}/prototype/evaluate/wrapped-functions-accepts-callable-objects.js (64%)
rename js/src/tests/test262/built-ins/{Realm => ShadowRealm}/prototype/evaluate/wrapped-functions-can-resolve-callable-returns.js (59%)
rename js/src/tests/test262/built-ins/{Realm => ShadowRealm}/prototype/evaluate/wrapped-functions-new-wrapping-on-each-evaluation.js (55%)
rename js/src/tests/test262/built-ins/{Realm => ShadowRealm}/prototype/evaluate/wrapped-functions-share-no-properties-extended.js (86%)
rename js/src/tests/test262/built-ins/{Realm => ShadowRealm}/prototype/evaluate/wrapped-functions-share-no-properties.js (55%)
rename js/src/tests/test262/built-ins/{Temporal/Calendar/prototype/eraYear => ShadowRealm/prototype/importValue}/browser.js (100%)
rename js/src/tests/test262/built-ins/{Realm => ShadowRealm}/prototype/importValue/descriptor.js (50%)
rename js/src/tests/test262/built-ins/{Realm => ShadowRealm}/prototype/importValue/exportName-tostring.js (55%)
create mode 100644 js/src/tests/test262/built-ins/ShadowRealm/prototype/importValue/import-value.js
rename js/src/tests/test262/built-ins/{Realm => ShadowRealm}/prototype/importValue/import-value_FIXTURE.js (100%)
create mode 100644 js/src/tests/test262/built-ins/ShadowRealm/prototype/importValue/import-value_syntax_error_FIXTURE.js
create mode 100644 js/src/tests/test262/built-ins/ShadowRealm/prototype/importValue/import-value_throws_FIXTURE.js
rename js/src/tests/test262/built-ins/{Realm => ShadowRealm}/prototype/importValue/length.js (77%)
rename js/src/tests/test262/built-ins/{Realm => ShadowRealm}/prototype/importValue/name.js (58%)
create mode 100644 js/src/tests/test262/built-ins/ShadowRealm/prototype/importValue/not-constructor.js
rename js/src/tests/test262/built-ins/{Realm => ShadowRealm}/prototype/importValue/proto.js (58%)
rename js/src/tests/test262/built-ins/{Temporal/Calendar/prototype/era => ShadowRealm/prototype/importValue}/shell.js (100%)
create mode 100644 js/src/tests/test262/built-ins/ShadowRealm/prototype/importValue/specifier-tostring.js
rename js/src/tests/test262/built-ins/{Realm => ShadowRealm}/prototype/importValue/throws-if-import-value-does-not-exist.js (71%)
create mode 100644 js/src/tests/test262/built-ins/ShadowRealm/prototype/importValue/throws-typeerror-import-syntax-error.js
create mode 100644 js/src/tests/test262/built-ins/ShadowRealm/prototype/importValue/throws-typeerror-import-throws.js
create mode 100644 js/src/tests/test262/built-ins/ShadowRealm/prototype/importValue/validates-realm-object.js
rename js/src/tests/test262/built-ins/{Realm => ShadowRealm}/prototype/proto.js (67%)
rename js/src/tests/test262/built-ins/{Temporal/Calendar/prototype/eraYear => ShadowRealm/prototype}/shell.js (100%)
rename js/src/tests/test262/built-ins/{Realm => ShadowRealm}/shell.js (100%)
create mode 100644 js/src/tests/test262/built-ins/SharedArrayBuffer/prototype/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/constructor.js
rename js/src/tests/test262/built-ins/Temporal/{PlainDate/prototype/era => Calendar/from}/browser.js (100%)
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/from/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/from/calendar-object-invalid.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/from/calendar-object-operations.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/from/calendar-object.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/from/calendar-string-builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/from/calendar-string-not-builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/from/calendar-temporal-object.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/from/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/from/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/from/not-a-constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/from/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/from/shell.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/from/subclassing-ignored.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/missing-arguments.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/dateAdd/argument-plaindatetime.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/dateAdd/argument-string-invalid.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/dateAdd/argument-string-with-utc-designator.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/dateAdd/argument-zoneddatetime-timezone-getoffsetnanosecondsfor-non-integer.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/dateAdd/argument-zoneddatetime-timezone-getoffsetnanosecondsfor-not-callable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/dateAdd/argument-zoneddatetime-timezone-getoffsetnanosecondsfor-out-of-range.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/dateAdd/argument-zoneddatetime-timezone-getoffsetnanosecondsfor-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/dateAdd/balance-smaller-units.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/dateAdd/basic.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/dateAdd/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/dateAdd/calendar-datefromfields-called-with-options-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/dateAdd/calendar-fields-iterable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/dateAdd/calendar-temporal-object.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/dateAdd/date-infinity-throws-rangeerror.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/dateAdd/duration-argument-string-negative-fractional-units.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/dateAdd/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/dateAdd/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/dateAdd/not-a-constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/dateAdd/overflow-invalid-string.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/dateAdd/overflow-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/dateAdd/overflow-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/dateAdd/prop-desc.js
delete mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/dateAdd/throw-range-error-from-ToTemporalOverflow.js
delete mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/dateAdd/throw-type-error-from-RequireInternalSlot.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/dateAdd/year-zero.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/dateFromFields/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/dateFromFields/fields-not-object.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/dateFromFields/infinity-throws-rangeerror.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/dateFromFields/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/dateFromFields/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/dateFromFields/not-a-constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/dateFromFields/overflow-invalid-string.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/dateFromFields/overflow-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/dateFromFields/overflow-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/dateFromFields/prop-desc.js
delete mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/dateFromFields/throw-range-error-from-ISODateFromFields.js
delete mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/dateFromFields/throw-type-error-fields-is-not-object.js
delete mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/dateFromFields/throw-type-error-from-RequireInternalSlot.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/dateUntil/argument-infinity-throws-rangeerror.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/dateUntil/argument-plaindatetime.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/dateUntil/argument-string-invalid.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/dateUntil/argument-string-with-utc-designator.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/dateUntil/argument-zoneddatetime-timezone-getoffsetnanosecondsfor-non-integer.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/dateUntil/argument-zoneddatetime-timezone-getoffsetnanosecondsfor-not-callable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/dateUntil/argument-zoneddatetime-timezone-getoffsetnanosecondsfor-out-of-range.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/dateUntil/argument-zoneddatetime-timezone-getoffsetnanosecondsfor-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/dateUntil/basic.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/dateUntil/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/dateUntil/calendar-datefromfields-called-with-options-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/dateUntil/calendar-fields-iterable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/dateUntil/calendar-temporal-object.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/dateUntil/largestunit-plurals-accepted.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/dateUntil/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/dateUntil/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/dateUntil/not-a-constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/dateUntil/prop-desc.js
delete mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/dateUntil/throws-type-error-RequireInternalSlot.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/dateUntil/year-zero.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/day/argument-string-invalid.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/day/argument-string-with-utc-designator.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/day/argument-zoneddatetime-timezone-getoffsetnanosecondsfor-non-integer.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/day/argument-zoneddatetime-timezone-getoffsetnanosecondsfor-not-callable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/day/argument-zoneddatetime-timezone-getoffsetnanosecondsfor-out-of-range.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/day/argument-zoneddatetime-timezone-getoffsetnanosecondsfor-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/day/basic.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/day/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/day/calendar-datefromfields-called-with-options-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/day/calendar-fields-iterable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/day/calendar-temporal-object.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/day/infinity-throws-rangeerror.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/day/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/day/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/day/not-a-constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/day/prop-desc.js
delete mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/day/throw-type-error-RequireInternalSlot.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/day/year-zero.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/dayOfWeek/argument-string-invalid.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/dayOfWeek/argument-string-with-utc-designator.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/dayOfWeek/argument-zoneddatetime-timezone-getoffsetnanosecondsfor-non-integer.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/dayOfWeek/argument-zoneddatetime-timezone-getoffsetnanosecondsfor-not-callable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/dayOfWeek/argument-zoneddatetime-timezone-getoffsetnanosecondsfor-out-of-range.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/dayOfWeek/argument-zoneddatetime-timezone-getoffsetnanosecondsfor-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/dayOfWeek/basic.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/dayOfWeek/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/dayOfWeek/calendar-datefromfields-called-with-options-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/dayOfWeek/calendar-fields-iterable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/dayOfWeek/calendar-temporal-object.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/dayOfWeek/infinity-throws-rangeerror.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/dayOfWeek/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/dayOfWeek/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/dayOfWeek/not-a-constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/dayOfWeek/prop-desc.js
delete mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/dayOfWeek/throw-type-error-RequireInternalSlot.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/dayOfWeek/year-zero.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/dayOfYear/argument-string-invalid.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/dayOfYear/argument-string-with-utc-designator.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/dayOfYear/argument-zoneddatetime-timezone-getoffsetnanosecondsfor-non-integer.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/dayOfYear/argument-zoneddatetime-timezone-getoffsetnanosecondsfor-not-callable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/dayOfYear/argument-zoneddatetime-timezone-getoffsetnanosecondsfor-out-of-range.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/dayOfYear/argument-zoneddatetime-timezone-getoffsetnanosecondsfor-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/dayOfYear/basic.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/dayOfYear/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/dayOfYear/calendar-datefromfields-called-with-options-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/dayOfYear/calendar-fields-iterable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/dayOfYear/calendar-temporal-object.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/dayOfYear/infinity-throws-rangeerror.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/dayOfYear/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/dayOfYear/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/dayOfYear/not-a-constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/dayOfYear/prop-desc.js
delete mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/dayOfYear/throw-type-error-RequireInternalSlot.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/dayOfYear/year-zero.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/daysInMonth/argument-string-invalid.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/daysInMonth/argument-string-with-utc-designator.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/daysInMonth/argument-zoneddatetime-timezone-getoffsetnanosecondsfor-non-integer.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/daysInMonth/argument-zoneddatetime-timezone-getoffsetnanosecondsfor-not-callable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/daysInMonth/argument-zoneddatetime-timezone-getoffsetnanosecondsfor-out-of-range.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/daysInMonth/argument-zoneddatetime-timezone-getoffsetnanosecondsfor-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/daysInMonth/basic.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/daysInMonth/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/daysInMonth/calendar-datefromfields-called-with-options-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/daysInMonth/calendar-fields-iterable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/daysInMonth/calendar-temporal-object.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/daysInMonth/infinity-throws-rangeerror.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/daysInMonth/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/daysInMonth/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/daysInMonth/not-a-constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/daysInMonth/prop-desc.js
delete mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/daysInMonth/throw-type-error-RequireInternalSlot.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/daysInMonth/year-zero.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/daysInWeek/argument-string-invalid.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/daysInWeek/argument-string-with-utc-designator.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/daysInWeek/argument-zoneddatetime-timezone-getoffsetnanosecondsfor-non-integer.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/daysInWeek/argument-zoneddatetime-timezone-getoffsetnanosecondsfor-not-callable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/daysInWeek/argument-zoneddatetime-timezone-getoffsetnanosecondsfor-out-of-range.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/daysInWeek/argument-zoneddatetime-timezone-getoffsetnanosecondsfor-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/daysInWeek/basic.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/daysInWeek/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/daysInWeek/calendar-datefromfields-called-with-options-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/daysInWeek/calendar-fields-iterable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/daysInWeek/calendar-temporal-object.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/daysInWeek/infinity-throws-rangeerror.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/daysInWeek/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/daysInWeek/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/daysInWeek/not-a-constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/daysInWeek/prop-desc.js
delete mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/daysInWeek/throw-type-error-RequireInternalSlot.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/daysInWeek/year-zero.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/daysInYear/argument-string-invalid.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/daysInYear/argument-string-with-utc-designator.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/daysInYear/argument-zoneddatetime-timezone-getoffsetnanosecondsfor-non-integer.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/daysInYear/argument-zoneddatetime-timezone-getoffsetnanosecondsfor-not-callable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/daysInYear/argument-zoneddatetime-timezone-getoffsetnanosecondsfor-out-of-range.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/daysInYear/argument-zoneddatetime-timezone-getoffsetnanosecondsfor-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/daysInYear/basic.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/daysInYear/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/daysInYear/calendar-datefromfields-called-with-options-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/daysInYear/calendar-fields-iterable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/daysInYear/calendar-temporal-object.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/daysInYear/infinity-throws-rangeerror.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/daysInYear/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/daysInYear/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/daysInYear/not-a-constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/daysInYear/prop-desc.js
delete mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/daysInYear/throw-type-error-RequireInternalSlot.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/daysInYear/year-zero.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/fields/argument-iterable-not-array.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/fields/argument-throws-duplicate-keys.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/fields/argument-throws-invalid-keys.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/fields/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/fields/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/fields/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/fields/non-string-element-throws.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/fields/not-a-constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/fields/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/fields/repeated-throw.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/fields/reverse.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/inLeapYear/argument-string-invalid.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/inLeapYear/argument-string-with-utc-designator.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/inLeapYear/argument-string.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/inLeapYear/argument-zoneddatetime-timezone-getoffsetnanosecondsfor-non-integer.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/inLeapYear/argument-zoneddatetime-timezone-getoffsetnanosecondsfor-not-callable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/inLeapYear/argument-zoneddatetime-timezone-getoffsetnanosecondsfor-out-of-range.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/inLeapYear/argument-zoneddatetime-timezone-getoffsetnanosecondsfor-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/inLeapYear/basic.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/inLeapYear/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/inLeapYear/calendar-datefromfields-called-with-options-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/inLeapYear/calendar-fields-iterable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/inLeapYear/calendar-temporal-object.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/inLeapYear/infinity-throws-rangeerror.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/inLeapYear/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/inLeapYear/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/inLeapYear/not-a-constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/inLeapYear/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/inLeapYear/year-zero.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/mergeFields/arguments-empty-object.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/mergeFields/arguments-not-object.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/mergeFields/basic.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/mergeFields/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/mergeFields/iso8601-calendar-month-monthCode.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/mergeFields/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/mergeFields/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/mergeFields/non-string-properties.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/mergeFields/not-a-constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/mergeFields/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/month/argument-string-invalid.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/month/argument-string-with-utc-designator.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/month/argument-zoneddatetime-timezone-getoffsetnanosecondsfor-non-integer.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/month/argument-zoneddatetime-timezone-getoffsetnanosecondsfor-not-callable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/month/argument-zoneddatetime-timezone-getoffsetnanosecondsfor-out-of-range.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/month/argument-zoneddatetime-timezone-getoffsetnanosecondsfor-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/month/basic.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/month/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/month/calendar-datefromfields-called-with-options-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/month/calendar-fields-iterable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/month/calendar-temporal-object.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/month/infinity-throws-rangeerror.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/month/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/month/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/month/not-a-constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/month/prop-desc.js
delete mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/month/throw-type-error-RequireInternalSlot.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/month/year-zero.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/monthCode/argument-string-invalid.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/monthCode/argument-string-with-utc-designator.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/monthCode/argument-zoneddatetime-timezone-getoffsetnanosecondsfor-non-integer.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/monthCode/argument-zoneddatetime-timezone-getoffsetnanosecondsfor-not-callable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/monthCode/argument-zoneddatetime-timezone-getoffsetnanosecondsfor-out-of-range.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/monthCode/argument-zoneddatetime-timezone-getoffsetnanosecondsfor-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/monthCode/basic.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/monthCode/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/monthCode/calendar-datefromfields-called-with-options-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/monthCode/calendar-fields-iterable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/monthCode/calendar-temporal-object.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/monthCode/infinity-throws-rangeerror.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/monthCode/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/monthCode/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/monthCode/not-a-constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/monthCode/prop-desc.js
delete mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/monthCode/throw-type-error-RequireInternalSlot.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/monthCode/year-zero.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/monthDayFromFields/basic.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/monthDayFromFields/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/monthDayFromFields/fields-missing-properties.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/monthDayFromFields/fields-not-object.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/monthDayFromFields/infinity-throws-rangeerror.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/monthDayFromFields/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/monthDayFromFields/monthcode-invalid.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/monthDayFromFields/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/monthDayFromFields/not-a-constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/monthDayFromFields/overflow-constrain.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/monthDayFromFields/overflow-invalid-string.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/monthDayFromFields/overflow-reject.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/monthDayFromFields/overflow-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/monthDayFromFields/overflow-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/monthDayFromFields/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/monthDayFromFields/reference-year-1972.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/monthsInYear/argument-string-invalid.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/monthsInYear/argument-string-with-utc-designator.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/monthsInYear/argument-string.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/monthsInYear/argument-zoneddatetime-timezone-getoffsetnanosecondsfor-non-integer.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/monthsInYear/argument-zoneddatetime-timezone-getoffsetnanosecondsfor-not-callable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/monthsInYear/argument-zoneddatetime-timezone-getoffsetnanosecondsfor-out-of-range.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/monthsInYear/argument-zoneddatetime-timezone-getoffsetnanosecondsfor-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/monthsInYear/basic.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/monthsInYear/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/monthsInYear/calendar-datefromfields-called-with-options-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/monthsInYear/calendar-fields-iterable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/monthsInYear/calendar-temporal-object.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/monthsInYear/infinity-throws-rangeerror.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/monthsInYear/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/monthsInYear/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/monthsInYear/not-a-constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/monthsInYear/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/monthsInYear/year-zero.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/toJSON/branding.js
rename js/src/tests/test262/built-ins/Temporal/{PlainDate/prototype/eraYear => Calendar/prototype/toJSON}/browser.js (100%)
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/toJSON/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/toJSON/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/toJSON/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/toJSON/not-a-constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/toJSON/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/toJSON/shell.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/toString/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/toString/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/toString/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/toString/not-a-constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/toString/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/weekOfYear/argument-plaindate.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/weekOfYear/argument-plaindatetime.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/weekOfYear/argument-string-invalid.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/weekOfYear/argument-string-with-utc-designator.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/weekOfYear/argument-string.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/weekOfYear/argument-zoneddatetime-timezone-getoffsetnanosecondsfor-non-integer.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/weekOfYear/argument-zoneddatetime-timezone-getoffsetnanosecondsfor-not-callable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/weekOfYear/argument-zoneddatetime-timezone-getoffsetnanosecondsfor-out-of-range.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/weekOfYear/argument-zoneddatetime-timezone-getoffsetnanosecondsfor-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/weekOfYear/basic.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/weekOfYear/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/weekOfYear/calendar-datefromfields-called-with-options-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/weekOfYear/calendar-fields-iterable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/weekOfYear/calendar-temporal-object.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/weekOfYear/cross-year.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/weekOfYear/infinity-throws-rangeerror.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/weekOfYear/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/weekOfYear/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/weekOfYear/not-a-constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/weekOfYear/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/weekOfYear/year-zero.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/year/argument-string-invalid.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/year/argument-string-with-utc-designator.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/year/argument-zoneddatetime-timezone-getoffsetnanosecondsfor-non-integer.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/year/argument-zoneddatetime-timezone-getoffsetnanosecondsfor-not-callable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/year/argument-zoneddatetime-timezone-getoffsetnanosecondsfor-out-of-range.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/year/argument-zoneddatetime-timezone-getoffsetnanosecondsfor-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/year/basic.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/year/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/year/calendar-datefromfields-called-with-options-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/year/calendar-fields-iterable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/year/calendar-temporal-object.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/year/infinity-throws-rangeerror.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/year/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/year/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/year/not-a-constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/year/prop-desc.js
delete mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/year/throw-type-error-RequireInternalSlot.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/year/year-zero.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/yearMonthFromFields/basic.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/yearMonthFromFields/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/yearMonthFromFields/fields-missing-properties.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/yearMonthFromFields/fields-not-object.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/yearMonthFromFields/infinity-throws-rangeerror.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/yearMonthFromFields/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/yearMonthFromFields/monthcode-invalid.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/yearMonthFromFields/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/yearMonthFromFields/not-a-constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/yearMonthFromFields/options-not-object.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/yearMonthFromFields/overflow-constrain.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/yearMonthFromFields/overflow-invalid-string.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/yearMonthFromFields/overflow-reject.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/yearMonthFromFields/overflow-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/yearMonthFromFields/overflow-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Calendar/prototype/yearMonthFromFields/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/basic.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/call-builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/compare/argument-string-fractional-units-rounding-mode.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/compare/argument-string-negative-fractional-units.js
rename js/src/tests/test262/built-ins/Temporal/{PlainDateTime/prototype/era => Duration/compare}/browser.js (100%)
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/compare/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/compare/calendar-dateadd-called-with-options-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/compare/calendar-dateadd-called-with-plaindate-instance.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/compare/calendar-fields-iterable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/compare/calendar-possibly-required.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/compare/calendar-temporal-object.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/compare/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/compare/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/compare/not-a-constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/compare/options-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/compare/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/compare/read-time-fields-before-datefromfields.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/compare/relativeto-propertybag-infinity-throws-rangeerror.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/compare/relativeto-propertybag-timezone-getoffsetnanosecondsfor-non-integer.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/compare/relativeto-propertybag-timezone-getoffsetnanosecondsfor-not-callable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/compare/relativeto-propertybag-timezone-getoffsetnanosecondsfor-out-of-range.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/compare/relativeto-propertybag-timezone-getoffsetnanosecondsfor-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/compare/relativeto-string-invalid.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/compare/relativeto-string-plaindatetime.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/compare/relativeto-string-zoneddatetime-wrong-offset.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/compare/relativeto-string-zoneddatetime.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/compare/relativeto-sub-minute-offset.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/compare/relativeto-undefined-throw-on-calendar-units.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/compare/relativeto-zoneddatetime-negative-epochnanoseconds.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/compare/relativeto-zoneddatetime-timezone-getoffsetnanosecondsfor-non-integer.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/compare/relativeto-zoneddatetime-timezone-getoffsetnanosecondsfor-not-callable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/compare/relativeto-zoneddatetime-timezone-getoffsetnanosecondsfor-out-of-range.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/compare/relativeto-zoneddatetime-timezone-getoffsetnanosecondsfor-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/compare/shell.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/compare/timezone-getpossibleinstantsfor-iterable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/compare/timezone-string-datetime.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/compare/twenty-five-hour-day.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/compare/year-zero.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/days-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/fractional-throws-rangeerror.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/from/argument-existing-object.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/from/argument-non-string.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/from/argument-object-invalid.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/from/argument-string-fractional-units-rounding-mode.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/from/argument-string-invalid.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/from/argument-string-negative-fractional-units.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/from/argument-string.js
rename js/src/tests/test262/built-ins/Temporal/{PlainDateTime/prototype/eraYear => Duration/from}/browser.js (100%)
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/from/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/from/infinity-throws-rangeerror.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/from/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/from/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/from/negative-inifinity-throws-rangeerror.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/from/non-integer-throws-rangeerror.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/from/not-a-constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/from/order-of-operations.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/from/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/from/shell.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/from/string-with-skipped-units.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/from/subclassing-ignored.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/hours-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/infinity-throws-rangeerror.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/microseconds-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/milliseconds-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/minutes-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/mixed.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/months-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/nanoseconds-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/negative-infinity-throws-rangeerror.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/abs/basic.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/abs/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/abs/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/abs/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/abs/not-a-constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/abs/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/abs/subclassing-ignored.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/add/argument-string-fractional-units-rounding-mode.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/add/argument-string-negative-fractional-units.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/add/balance-negative-result.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/add/balance-negative-time-units.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/add/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/add/calendar-dateadd-called-with-options-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/add/calendar-dateadd-called-with-plaindate-instance.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/add/calendar-dateuntil-called-with-singular-largestunit.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/add/calendar-fields-iterable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/add/calendar-temporal-object.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/add/infinity-throws-rangeerror.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/add/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/add/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/add/negative-infinity-throws-rangeerror.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/add/non-integer-throws-rangeerror.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/add/not-a-constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/add/options-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/add/order-of-operations.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/add/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/add/read-time-fields-before-datefromfields.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/add/relativeto-infinity-throws-rangeerror.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/add/relativeto-propertybag-no-time-units.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/add/relativeto-propertybag-timezone-getoffsetnanosecondsfor-non-integer.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/add/relativeto-propertybag-timezone-getoffsetnanosecondsfor-not-callable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/add/relativeto-propertybag-timezone-getoffsetnanosecondsfor-out-of-range.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/add/relativeto-propertybag-timezone-getoffsetnanosecondsfor-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/add/relativeto-string-datetime.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/add/relativeto-string-invalid.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/add/relativeto-string-plaindatetime.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/add/relativeto-string-zoneddatetime-wrong-offset.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/add/relativeto-string-zoneddatetime.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/add/relativeto-sub-minute-offset.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/add/relativeto-zoneddatetime-negative-epochnanoseconds.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/add/relativeto-zoneddatetime-timezone-getoffsetnanosecondsfor-non-integer.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/add/relativeto-zoneddatetime-timezone-getoffsetnanosecondsfor-not-callable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/add/relativeto-zoneddatetime-timezone-getoffsetnanosecondsfor-out-of-range.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/add/relativeto-zoneddatetime-timezone-getoffsetnanosecondsfor-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/add/subclassing-ignored.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/add/timezone-getpossibleinstantsfor-iterable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/add/timezone-string-datetime.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/add/year-zero.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/blank/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/days/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/hours/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/microseconds/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/milliseconds/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/minutes/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/months/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/nanoseconds/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/negated/basic.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/negated/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/negated/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/negated/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/negated/not-a-constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/negated/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/negated/subclassing-ignored.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/round/balance-negative-result.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/round/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/round/calendar-dateadd-called-with-options-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/round/calendar-dateadd-called-with-plaindate-instance.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/round/calendar-dateuntil-called-with-singular-largestunit.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/round/calendar-fields-iterable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/round/calendar-possibly-required.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/round/calendar-temporal-object.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/round/dateuntil-field.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/round/largestunit-invalid-string.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/round/largestunit-plurals-accepted.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/round/largestunit-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/round/largestunit-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/round/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/round/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/round/not-a-constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/round/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/round/read-time-fields-before-datefromfields.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/round/relativeto-infinity-throws-rangeerror.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/round/relativeto-propertybag-no-time-units.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/round/relativeto-propertybag-timezone-getoffsetnanosecondsfor-non-integer.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/round/relativeto-propertybag-timezone-getoffsetnanosecondsfor-not-callable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/round/relativeto-propertybag-timezone-getoffsetnanosecondsfor-out-of-range.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/round/relativeto-propertybag-timezone-getoffsetnanosecondsfor-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/round/relativeto-string-datetime.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/round/relativeto-string-invalid.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/round/relativeto-string-plaindatetime.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/round/relativeto-string-zoneddatetime-wrong-offset.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/round/relativeto-string-zoneddatetime.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/round/relativeto-sub-minute-offset.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/round/relativeto-undefined-throw-on-calendar-units.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/round/relativeto-zoneddatetime-negative-epochnanoseconds.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/round/relativeto-zoneddatetime-timezone-getoffsetnanosecondsfor-non-integer.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/round/relativeto-zoneddatetime-timezone-getoffsetnanosecondsfor-not-callable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/round/relativeto-zoneddatetime-timezone-getoffsetnanosecondsfor-out-of-range.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/round/relativeto-zoneddatetime-timezone-getoffsetnanosecondsfor-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/round/round-negative-result.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/round/roundingincrement-nan.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/round/roundingincrement-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/round/roundingincrement-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/round/roundingmode-invalid-string.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/round/roundingmode-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/round/roundingmode-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/round/smallestunit-disallowed-units-string.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/round/smallestunit-invalid-string.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/round/smallestunit-plurals-accepted-string.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/round/smallestunit-plurals-accepted.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/round/smallestunit-string-shorthand-string.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/round/smallestunit-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/round/smallestunit-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/round/subclassing-ignored.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/round/timezone-getpossibleinstantsfor-iterable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/round/timezone-string-datetime.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/round/year-zero.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/seconds/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/sign/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/subtract/argument-string-fractional-units-rounding-mode.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/subtract/argument-string-negative-fractional-units.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/subtract/balance-negative-result.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/subtract/balance-negative-time-units.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/subtract/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/subtract/calendar-dateadd-called-with-options-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/subtract/calendar-dateadd-called-with-plaindate-instance.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/subtract/calendar-dateuntil-called-with-singular-largestunit.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/subtract/calendar-fields-iterable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/subtract/calendar-temporal-object.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/subtract/infinity-throws-rangeerror.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/subtract/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/subtract/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/subtract/negative-infinity-throws-rangeerror.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/subtract/non-integer-throws-rangeerror.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/subtract/not-a-constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/subtract/options-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/subtract/order-of-operations.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/subtract/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/subtract/read-time-fields-before-datefromfields.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/subtract/relativeto-infinity-throws-rangeerror.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/subtract/relativeto-propertybag-no-time-units.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/subtract/relativeto-propertybag-timezone-getoffsetnanosecondsfor-non-integer.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/subtract/relativeto-propertybag-timezone-getoffsetnanosecondsfor-not-callable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/subtract/relativeto-propertybag-timezone-getoffsetnanosecondsfor-out-of-range.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/subtract/relativeto-propertybag-timezone-getoffsetnanosecondsfor-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/subtract/relativeto-string-datetime.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/subtract/relativeto-string-invalid.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/subtract/relativeto-string-plaindatetime.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/subtract/relativeto-string-zoneddatetime-wrong-offset.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/subtract/relativeto-string-zoneddatetime.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/subtract/relativeto-sub-minute-offset.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/subtract/relativeto-zoneddatetime-negative-epochnanoseconds.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/subtract/relativeto-zoneddatetime-timezone-getoffsetnanosecondsfor-non-integer.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/subtract/relativeto-zoneddatetime-timezone-getoffsetnanosecondsfor-not-callable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/subtract/relativeto-zoneddatetime-timezone-getoffsetnanosecondsfor-out-of-range.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/subtract/relativeto-zoneddatetime-timezone-getoffsetnanosecondsfor-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/subtract/subclassing-ignored.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/subtract/timezone-getpossibleinstantsfor-iterable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/subtract/timezone-string-datetime.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/subtract/year-zero.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/toJSON/basic.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/toJSON/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/toJSON/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/toJSON/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/toJSON/negative-components.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/toJSON/not-a-constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/toJSON/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/toLocaleString/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/toLocaleString/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/toLocaleString/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/toLocaleString/not-a-constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/toLocaleString/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/toString/balance.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/toString/blank-duration-precision.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/toString/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/toString/fractionalseconddigits-exact-number-of-digits.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/toString/fractionalseconddigits-invalid-string.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/toString/fractionalseconddigits-nan.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/toString/fractionalseconddigits-non-integer.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/toString/fractionalseconddigits-out-of-range.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/toString/fractionalseconddigits-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/toString/fractionalseconddigits-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/toString/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/toString/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/toString/negative-components.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/toString/not-a-constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/toString/options-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/toString/precision.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/toString/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/toString/roundingmode-invalid-string.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/toString/roundingmode-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/toString/roundingmode-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/toString/smallestunit-invalid-string.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/toString/smallestunit-plurals-accepted.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/toString/smallestunit-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/toString/smallestunit-valid-units.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/toString/smallestunit-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/total/balance-negative-result.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/total/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/total/calendar-dateadd-called-with-options-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/total/calendar-dateadd-called-with-plaindate-instance.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/total/calendar-dateuntil-called-with-singular-largestunit.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/total/calendar-fields-iterable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/total/calendar-possibly-required.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/total/calendar-temporal-object.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/total/dateuntil-field.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/total/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/total/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/total/not-a-constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/total/options-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/total/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/total/read-time-fields-before-datefromfields.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/total/relativeto-infinity-throws-rangeerror.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/total/relativeto-propertybag-no-time-units.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/total/relativeto-propertybag-timezone-getoffsetnanosecondsfor-non-integer.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/total/relativeto-propertybag-timezone-getoffsetnanosecondsfor-not-callable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/total/relativeto-propertybag-timezone-getoffsetnanosecondsfor-out-of-range.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/total/relativeto-propertybag-timezone-getoffsetnanosecondsfor-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/total/relativeto-string-datetime.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/total/relativeto-string-invalid.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/total/relativeto-string-plaindatetime.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/total/relativeto-string-zoneddatetime-wrong-offset.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/total/relativeto-string-zoneddatetime.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/total/relativeto-sub-minute-offset.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/total/relativeto-undefined-throw-on-calendar-units.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/total/relativeto-zoneddatetime-negative-epochnanoseconds.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/total/relativeto-zoneddatetime-timezone-getoffsetnanosecondsfor-non-integer.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/total/relativeto-zoneddatetime-timezone-getoffsetnanosecondsfor-not-callable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/total/relativeto-zoneddatetime-timezone-getoffsetnanosecondsfor-out-of-range.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/total/relativeto-zoneddatetime-timezone-getoffsetnanosecondsfor-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/total/timezone-getpossibleinstantsfor-iterable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/total/timezone-string-datetime.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/total/unit-disallowed-units-string.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/total/unit-invalid-string.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/total/unit-plurals-accepted-string.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/total/unit-plurals-accepted.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/total/unit-string-shorthand-string.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/total/unit-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/total/year-zero.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/valueOf/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/valueOf/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/valueOf/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/valueOf/not-a-constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/valueOf/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/weeks/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/with/all-negative.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/with/all-positive.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/with/argument-object-wrong-shape.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/with/argument-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/with/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/with/copy-properties-not-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/with/infinity-throws-rangeerror.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/with/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/with/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/with/negative-infinity-throws-rangeerror.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/with/non-integer-throws-rangeerror.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/with/not-a-constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/with/order-of-operations.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/with/partial-positive.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/with/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/with/sign-conflict-throws-rangeerror.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/with/subclassing-ignored.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/prototype/years/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/seconds-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/weeks-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Duration/years-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/argument.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/basic.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/compare/argument-zoneddatetime.js
rename js/src/tests/test262/built-ins/Temporal/{PlainYearMonth/prototype/era => Instant/compare}/browser.js (100%)
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/compare/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/compare/instant-string-multiple-offsets.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/compare/instant-string.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/compare/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/compare/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/compare/not-a-constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/compare/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/compare/shell.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/compare/year-zero.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/from/argument-zoneddatetime.js
rename js/src/tests/test262/built-ins/Temporal/{PlainYearMonth/prototype/eraYear => Instant/from}/browser.js (100%)
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/from/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/from/instant-string-multiple-offsets.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/from/instant-string.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/from/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/from/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/from/not-a-constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/from/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/from/shell.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/from/subclassing-ignored.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/from/timezone-custom.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/from/year-zero.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/fromEpochMicroseconds/basic.js
rename js/src/tests/test262/built-ins/Temporal/{ZonedDateTime/prototype/era => Instant/fromEpochMicroseconds}/browser.js (100%)
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/fromEpochMicroseconds/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/fromEpochMicroseconds/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/fromEpochMicroseconds/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/fromEpochMicroseconds/not-a-constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/fromEpochMicroseconds/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/fromEpochMicroseconds/shell.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/fromEpochMicroseconds/subclassing-ignored.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/fromEpochMilliseconds/basic.js
rename js/src/tests/test262/built-ins/Temporal/{ZonedDateTime/prototype/eraYear => Instant/fromEpochMilliseconds}/browser.js (100%)
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/fromEpochMilliseconds/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/fromEpochMilliseconds/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/fromEpochMilliseconds/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/fromEpochMilliseconds/not-a-constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/fromEpochMilliseconds/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/fromEpochMilliseconds/shell.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/fromEpochMilliseconds/subclassing-ignored.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/fromEpochNanoseconds/basic.js
rename js/src/tests/test262/built-ins/Temporal/{PlainDate/prototype/era/shell.js => Instant/fromEpochNanoseconds/browser.js} (100%)
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/fromEpochNanoseconds/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/fromEpochNanoseconds/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/fromEpochNanoseconds/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/fromEpochNanoseconds/not-a-constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/fromEpochNanoseconds/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/fromEpochNanoseconds/shell.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/fromEpochNanoseconds/subclassing-ignored.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/fromEpochSeconds/basic.js
rename js/src/tests/test262/built-ins/Temporal/{PlainDate/prototype/eraYear/shell.js => Instant/fromEpochSeconds/browser.js} (100%)
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/fromEpochSeconds/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/fromEpochSeconds/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/fromEpochSeconds/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/fromEpochSeconds/not-a-constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/fromEpochSeconds/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/fromEpochSeconds/shell.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/fromEpochSeconds/subclassing-ignored.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/add/argument-string-fractional-units-rounding-mode.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/add/argument-string-negative-fractional-units.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/add/argument-string.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/add/basic.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/add/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/add/disallowed-duration-units.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/add/infinity-throws-rangeerror.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/add/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/add/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/add/negative-infinity-throws-rangeerror.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/add/non-integer-throws-rangeerror.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/add/not-a-constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/add/order-of-operations.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/add/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/add/result-out-of-range.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/add/subclassing-ignored.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/epochMicroseconds/basic.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/epochMicroseconds/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/epochMilliseconds/basic.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/epochMilliseconds/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/epochNanoseconds/basic.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/epochNanoseconds/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/epochSeconds/basic.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/epochSeconds/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/equals/argument-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/equals/argument-zoneddatetime.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/equals/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/equals/instant-string-multiple-offsets.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/equals/instant-string.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/equals/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/equals/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/equals/not-a-constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/equals/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/equals/year-zero.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/round/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/round/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/round/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/round/not-a-constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/round/options-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/round/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/round/roundingincrement-nan.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/round/roundingincrement-non-integer.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/round/roundingincrement-out-of-range.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/round/roundingincrement-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/round/roundingincrement-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/round/roundingmode-invalid-string.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/round/roundingmode-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/round/roundingmode-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/round/smallestunit-disallowed-units.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/round/smallestunit-invalid-string.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/round/smallestunit-plurals-accepted.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/round/smallestunit-string-shorthand.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/round/smallestunit-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/round/subclassing-ignored.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/since/argument-zoneddatetime.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/since/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/since/instant-string-multiple-offsets.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/since/instant-string.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/since/largestunit-invalid-string.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/since/largestunit-plurals-accepted.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/since/largestunit-smallestunit-mismatch.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/since/largestunit-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/since/largestunit-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/since/largestunit.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/since/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/since/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/since/not-a-constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/since/options-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/since/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/since/roundingincrement-nan.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/since/roundingincrement-non-integer.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/since/roundingincrement-out-of-range.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/since/roundingincrement-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/since/roundingincrement-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/since/roundingmode-invalid-string.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/since/roundingmode-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/since/roundingmode-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/since/smallestunit-invalid-string.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/since/smallestunit-plurals-accepted.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/since/smallestunit-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/since/smallestunit-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/since/year-zero.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/subtract/argument-string-fractional-units-rounding-mode.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/subtract/argument-string-negative-fractional-units.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/subtract/argument-string.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/subtract/basic.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/subtract/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/subtract/disallowed-duration-units.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/subtract/infinity-throws-rangeerror.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/subtract/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/subtract/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/subtract/negative-infinity-throws-rangeerror.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/subtract/non-integer-throws-rangeerror.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/subtract/not-a-constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/subtract/order-of-operations.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/subtract/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/subtract/result-out-of-range.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/subtract/subclassing-ignored.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/toJSON/basic.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/toJSON/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/toJSON/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/toJSON/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/toJSON/negative-epochnanoseconds.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/toJSON/not-a-constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/toJSON/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/toJSON/timezone-getoffsetnanosecondsfor-not-callable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/toJSON/year-format.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/toLocaleString/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/toLocaleString/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/toLocaleString/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/toLocaleString/not-a-constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/toLocaleString/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/toLocaleString/return-string.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/toString/basic.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/toString/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/toString/fractionalseconddigits-invalid-string.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/toString/fractionalseconddigits-nan.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/toString/fractionalseconddigits-non-integer.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/toString/fractionalseconddigits-out-of-range.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/toString/fractionalseconddigits-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/toString/fractionalseconddigits-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/toString/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/toString/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/toString/negative-epochnanoseconds.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/toString/not-a-constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/toString/options-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/toString/precision.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/toString/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/toString/roundingmode-invalid-string.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/toString/roundingmode-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/toString/roundingmode-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/toString/smallestunit-invalid-string.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/toString/smallestunit-plurals-accepted.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/toString/smallestunit-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/toString/smallestunit-valid-units.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/toString/smallestunit-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/toString/timezone-getoffsetnanosecondsfor-non-integer.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/toString/timezone-getoffsetnanosecondsfor-not-callable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/toString/timezone-getoffsetnanosecondsfor-out-of-range.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/toString/timezone-getoffsetnanosecondsfor-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/toString/timezone-offset.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/toString/timezone-string-datetime.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/toString/timezone-string-multiple-offsets.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/toString/timezone.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/toString/year-format.js
rename js/src/tests/test262/built-ins/Temporal/{PlainDateTime/prototype/era/shell.js => Instant/prototype/toStringTag/browser.js} (100%)
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/toStringTag/prop-desc.js
rename js/src/tests/test262/built-ins/Temporal/{PlainDateTime/prototype/eraYear => Instant/prototype/toStringTag}/shell.js (100%)
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/toZonedDateTime/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/toZonedDateTime/calendar-temporal-object.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/toZonedDateTime/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/toZonedDateTime/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/toZonedDateTime/not-a-constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/toZonedDateTime/plain-custom-timezone.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/toZonedDateTime/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/toZonedDateTime/timezone-string-datetime.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/toZonedDateTime/timezone-string-multiple-offsets.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/toZonedDateTimeISO/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/toZonedDateTimeISO/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/toZonedDateTimeISO/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/toZonedDateTimeISO/not-a-constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/toZonedDateTimeISO/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/toZonedDateTimeISO/timezone-string-datetime.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/toZonedDateTimeISO/timezone-string-multiple-offsets.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/until/argument-zoneddatetime.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/until/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/until/instant-string-multiple-offsets.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/until/instant-string.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/until/largestunit-invalid-string.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/until/largestunit-plurals-accepted.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/until/largestunit-smallestunit-mismatch.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/until/largestunit-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/until/largestunit-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/until/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/until/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/until/not-a-constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/until/options-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/until/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/until/roundingincrement-nan.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/until/roundingincrement-non-integer.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/until/roundingincrement-out-of-range.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/until/roundingincrement-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/until/roundingincrement-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/until/roundingmode-invalid-string.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/until/roundingmode-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/until/roundingmode-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/until/smallestunit-invalid-string.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/until/smallestunit-plurals-accepted.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/until/smallestunit-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/until/smallestunit-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/until/year-zero.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/valueOf/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/valueOf/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/valueOf/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/valueOf/not-a-constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Instant/prototype/valueOf/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Now/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Now/instant/return-value-instance.js
rename js/src/tests/test262/built-ins/Temporal/{PlainYearMonth/prototype/era/shell.js => Now/plainDate/browser.js} (100%)
create mode 100644 js/src/tests/test262/built-ins/Temporal/Now/plainDate/calendar-temporal-object.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Now/plainDate/calendar-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Now/plainDate/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Now/plainDate/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Now/plainDate/shell.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Now/plainDate/timezone-getoffsetnanosecondsfor-non-integer.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Now/plainDate/timezone-getoffsetnanosecondsfor-not-callable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Now/plainDate/timezone-getoffsetnanosecondsfor-out-of-range.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Now/plainDate/timezone-getoffsetnanosecondsfor-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Now/plainDate/timezone-string-datetime.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Now/plainDate/toPlainDate-override.js
rename js/src/tests/test262/built-ins/Temporal/{PlainYearMonth/prototype/eraYear/shell.js => Now/plainDateISO/browser.js} (100%)
create mode 100644 js/src/tests/test262/built-ins/Temporal/Now/plainDateISO/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Now/plainDateISO/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Now/plainDateISO/return-value.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Now/plainDateISO/shell.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Now/plainDateISO/timezone-getoffsetnanosecondsfor-non-integer.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Now/plainDateISO/timezone-getoffsetnanosecondsfor-not-callable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Now/plainDateISO/timezone-getoffsetnanosecondsfor-out-of-range.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Now/plainDateISO/timezone-getoffsetnanosecondsfor-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Now/plainDateISO/timezone-string-datetime.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Now/plainDateTime/calendar-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Now/plainDateTime/timezone-getoffsetnanosecondsfor-not-callable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Now/plainDateTime/timezone-string-datetime.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Now/plainDateTime/timezone.js
rename js/src/tests/test262/built-ins/Temporal/{ZonedDateTime/prototype/era/shell.js => Now/plainDateTimeISO/browser.js} (100%)
create mode 100644 js/src/tests/test262/built-ins/Temporal/Now/plainDateTimeISO/extensible.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Now/plainDateTimeISO/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Now/plainDateTimeISO/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Now/plainDateTimeISO/not-a-constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Now/plainDateTimeISO/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Now/plainDateTimeISO/return-value-calendar.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Now/plainDateTimeISO/return-value.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Now/plainDateTimeISO/shell.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Now/plainDateTimeISO/time-zone-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Now/plainDateTimeISO/timezone-getoffsetnanosecondsfor-invocation.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Now/plainDateTimeISO/timezone-getoffsetnanosecondsfor-non-integer.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Now/plainDateTimeISO/timezone-getoffsetnanosecondsfor-non-method.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Now/plainDateTimeISO/timezone-getoffsetnanosecondsfor-not-a-number.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Now/plainDateTimeISO/timezone-getoffsetnanosecondsfor-not-callable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Now/plainDateTimeISO/timezone-getoffsetnanosecondsfor-out-of-range.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Now/plainDateTimeISO/timezone-getoffsetnanosecondsfor-poisoned.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Now/plainDateTimeISO/timezone-getoffsetnanosecondsfor-throws.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Now/plainDateTimeISO/timezone-getoffsetnanosecondsfor-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Now/plainDateTimeISO/timezone-object-fail-call-tostring.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Now/plainDateTimeISO/timezone-object-fail-get-timezone.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Now/plainDateTimeISO/timezone-object-fail-has-nested-timezone.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Now/plainDateTimeISO/timezone-object-fail-has-timezone.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Now/plainDateTimeISO/timezone-object.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Now/plainDateTimeISO/timezone-string-datetime.js
rename js/src/tests/test262/built-ins/Temporal/{ZonedDateTime/prototype/eraYear/shell.js => Now/plainTimeISO/browser.js} (100%)
create mode 100644 js/src/tests/test262/built-ins/Temporal/Now/plainTimeISO/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Now/plainTimeISO/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Now/plainTimeISO/return-value.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Now/plainTimeISO/shell.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Now/plainTimeISO/timezone-getoffsetnanosecondsfor-non-integer.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Now/plainTimeISO/timezone-getoffsetnanosecondsfor-not-callable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Now/plainTimeISO/timezone-getoffsetnanosecondsfor-out-of-range.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Now/plainTimeISO/timezone-getoffsetnanosecondsfor-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Now/plainTimeISO/timezone-string-datetime.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Now/plainTimeISO/timezone.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Now/plainTimeISO/toPlainTime-override.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Now/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Now/toStringTag/browser.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Now/toStringTag/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Now/toStringTag/shell.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Now/toStringTag/string.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Now/zonedDateTime/browser.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Now/zonedDateTime/calendar-function.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Now/zonedDateTime/calendar-object-fail-call-tostring.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Now/zonedDateTime/calendar-object-fail-get-calendar.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Now/zonedDateTime/calendar-object-fail-has-calendar.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Now/zonedDateTime/calendar-object-fail-has-nested-calendar.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Now/zonedDateTime/calendar-object.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Now/zonedDateTime/calendar-temporal-object.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Now/zonedDateTime/calendar-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Now/zonedDateTime/extensible.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Now/zonedDateTime/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Now/zonedDateTime/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Now/zonedDateTime/not-a-constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Now/zonedDateTime/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Now/zonedDateTime/shell.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Now/zonedDateTime/time-zone-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Now/zonedDateTime/timezone-object-fail-call-tostring.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Now/zonedDateTime/timezone-object-fail-get-timezone.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Now/zonedDateTime/timezone-object-fail-has-nested-timezone.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Now/zonedDateTime/timezone-object-fail-has-timezone.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Now/zonedDateTime/timezone-object.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Now/zonedDateTime/timezone-string-datetime.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Now/zonedDateTime/timezone-string-multiple-offsets.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Now/zonedDateTimeISO/browser.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Now/zonedDateTimeISO/extensible.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Now/zonedDateTimeISO/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Now/zonedDateTimeISO/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Now/zonedDateTimeISO/not-a-constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Now/zonedDateTimeISO/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Now/zonedDateTimeISO/return-value.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Now/zonedDateTimeISO/shell.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Now/zonedDateTimeISO/time-zone-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Now/zonedDateTimeISO/timezone-object-fail-call-tostring.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Now/zonedDateTimeISO/timezone-object-fail-get-timezone.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Now/zonedDateTimeISO/timezone-object-fail-has-nested-timezone.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Now/zonedDateTimeISO/timezone-object-fail-has-timezone.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Now/zonedDateTimeISO/timezone-object.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Now/zonedDateTimeISO/timezone-string-datetime.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/Now/zonedDateTimeISO/timezone-string-multiple-offsets.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/basic.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/calendar-temporal-object.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/calendar-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/compare/argument-object.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/compare/argument-plaindatetime.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/compare/argument-string-invalid.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/compare/argument-string-with-utc-designator.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/compare/argument-string.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/compare/argument-zoneddatetime-timezone-getoffsetnanosecondsfor-non-integer.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/compare/argument-zoneddatetime-timezone-getoffsetnanosecondsfor-not-callable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/compare/argument-zoneddatetime-timezone-getoffsetnanosecondsfor-out-of-range.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/compare/argument-zoneddatetime-timezone-getoffsetnanosecondsfor-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/compare/basic.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/compare/browser.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/compare/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/compare/calendar-datefromfields-called-with-options-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/compare/calendar-fields-iterable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/compare/calendar-temporal-object.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/compare/calendar.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/compare/infinity-throws-rangeerror.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/compare/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/compare/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/compare/not-a-constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/compare/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/compare/shell.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/compare/use-internal-slots.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/compare/year-zero.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/from/argument-number.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/from/argument-object-invalid.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/from/argument-object-valid.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/from/argument-plaindate.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/from/argument-plaindatetime.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/from/argument-string-invalid.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/from/argument-string-trailing-junk.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/from/argument-string-with-utc-designator.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/from/argument-string.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/from/argument-zoneddatetime-timezone-getoffsetnanosecondsfor-non-integer.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/from/argument-zoneddatetime-timezone-getoffsetnanosecondsfor-not-callable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/from/argument-zoneddatetime-timezone-getoffsetnanosecondsfor-out-of-range.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/from/argument-zoneddatetime-timezone-getoffsetnanosecondsfor-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/from/browser.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/from/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/from/calendar-fields-iterable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/from/calendar-temporal-object.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/from/infinity-throws-rangeerror.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/from/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/from/limits.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/from/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/from/not-a-constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/from/observable-get-overflow-argument-string-invalid.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/from/observable-get-overflow-argument-string.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/from/options-invalid.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/from/options-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/from/order-of-operations.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/from/overflow-invalid-string.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/from/overflow-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/from/overflow-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/from/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/from/shell.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/from/subclassing-ignored.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/from/year-zero.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/infinity-throws-rangeerror.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/limits.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/missing-arguments.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/negative-infinity-throws-rangeerror.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/add/argument-invalid-duration.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/add/argument-missing-properties.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/add/argument-not-object.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/add/argument-singular-units.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/add/argument-string-negative-fractional-units.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/add/argument-string.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/add/balance-smaller-units-basic.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/add/balance-smaller-units.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/add/basic.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/add/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/add/infinity-throws-rangeerror.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/add/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/add/limits.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/add/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/add/negative-infinity-throws-rangeerror.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/add/non-integer-throws-rangeerror.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/add/not-a-constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/add/options-invalid.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/add/options-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/add/order-of-operations.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/add/overflow-constrain.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/add/overflow-invalid-string.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/add/overflow-reject.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/add/overflow-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/add/overflow-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/add/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/add/subclassing-ignored.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/calendar/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/day/calendar-returns-infinity.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/day/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/dayOfWeek/basic.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/dayOfWeek/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/dayOfYear/basic.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/dayOfYear/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/daysInMonth/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/daysInWeek/basic.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/daysInWeek/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/daysInYear/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/equals/argument-object-invalid.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/equals/argument-object-valid.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/equals/argument-plaindatetime.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/equals/argument-string-invalid.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/equals/argument-string-with-utc-designator.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/equals/argument-string.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/equals/argument-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/equals/argument-zoneddatetime-timezone-getoffsetnanosecondsfor-non-integer.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/equals/argument-zoneddatetime-timezone-getoffsetnanosecondsfor-not-callable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/equals/argument-zoneddatetime-timezone-getoffsetnanosecondsfor-out-of-range.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/equals/argument-zoneddatetime-timezone-getoffsetnanosecondsfor-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/equals/basic.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/equals/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/equals/calendar-call-different.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/equals/calendar-call-same.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/equals/calendar-datefromfields-called-with-options-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/equals/calendar-fields-iterable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/equals/calendar-no-call.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/equals/calendar-temporal-object.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/equals/infinity-throws-rangeerror.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/equals/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/equals/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/equals/not-a-constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/equals/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/equals/year-zero.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/getISOFields/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/getISOFields/field-names.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/getISOFields/field-prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/getISOFields/field-traversal-order.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/getISOFields/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/getISOFields/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/getISOFields/not-a-constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/getISOFields/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/inLeapYear/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/month/calendar-returns-infinity.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/month/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/monthCode/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/monthsInYear/basic.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/monthsInYear/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/since/argument-plaindatetime.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/since/argument-string-invalid.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/since/argument-string-with-utc-designator.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/since/argument-zoneddatetime-timezone-getoffsetnanosecondsfor-non-integer.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/since/argument-zoneddatetime-timezone-getoffsetnanosecondsfor-not-callable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/since/argument-zoneddatetime-timezone-getoffsetnanosecondsfor-out-of-range.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/since/argument-zoneddatetime-timezone-getoffsetnanosecondsfor-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/since/basic.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/since/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/since/calendar-dateadd-called-with-plaindate-instance.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/since/calendar-datefromfields-called-with-options-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/since/calendar-dateuntil-called-with-singular-largestunit.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/since/calendar-fields-iterable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/since/calendar-id-match.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/since/calendar-mismatch.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/since/calendar-temporal-object.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/since/days-in-month.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/since/days-in-year.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/since/infinity-throws-rangeerror.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/since/largestunit-default.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/since/largestunit-higher-units.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/since/largestunit-invalid-string.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/since/largestunit-plurals-accepted.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/since/largestunit-smallestunit-mismatch.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/since/largestunit-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/since/largestunit-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/since/largestunit.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/since/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/since/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/since/not-a-constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/since/options-invalid.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/since/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/since/rounding-relative.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/since/roundingincrement-nan.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/since/roundingincrement-non-integer.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/since/roundingincrement-out-of-range.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/since/roundingincrement-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/since/roundingincrement-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/since/roundingincrement.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/since/roundingmode-ceil.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/since/roundingmode-floor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/since/roundingmode-halfExpand.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/since/roundingmode-invalid-string.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/since/roundingmode-trunc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/since/roundingmode-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/since/roundingmode-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/since/smallestunit-higher-units.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/since/smallestunit-invalid-string.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/since/smallestunit-plurals-accepted.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/since/smallestunit-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/since/smallestunit-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/since/weeks-months.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/since/year-zero.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/subtract/argument-invalid-duration.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/subtract/argument-missing-properties.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/subtract/argument-not-object.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/subtract/argument-singular-units.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/subtract/argument-string-negative-fractional-units.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/subtract/argument-string.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/subtract/balance-smaller-units-basic.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/subtract/balance-smaller-units.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/subtract/basic.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/subtract/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/subtract/infinity-throws-rangeerror.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/subtract/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/subtract/limits.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/subtract/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/subtract/negative-infinity-throws-rangeerror.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/subtract/non-integer-throws-rangeerror.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/subtract/not-a-constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/subtract/options-invalid.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/subtract/options-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/subtract/order-of-operations.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/subtract/overflow-constrain.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/subtract/overflow-invalid-string.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/subtract/overflow-reject.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/subtract/overflow-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/subtract/overflow-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/subtract/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/subtract/subclassing-ignored.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/toJSON/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/toJSON/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/toJSON/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/toJSON/not-a-constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/toJSON/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/toJSON/year-format.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/toLocaleString/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/toLocaleString/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/toLocaleString/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/toLocaleString/not-a-constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/toLocaleString/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/toLocaleString/return-string.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/toPlainDateTime/argument-string-no-implicit-midnight.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/toPlainDateTime/argument-string-time-designator-required-for-disambiguation.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/toPlainDateTime/argument-string-with-time-designator.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/toPlainDateTime/argument-string-with-utc-designator.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/toPlainDateTime/argument-zoneddatetime-balance-negative-time-units.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/toPlainDateTime/argument-zoneddatetime-negative-epochnanoseconds.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/toPlainDateTime/argument-zoneddatetime-timezone-getoffsetnanosecondsfor-non-integer.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/toPlainDateTime/argument-zoneddatetime-timezone-getoffsetnanosecondsfor-not-callable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/toPlainDateTime/argument-zoneddatetime-timezone-getoffsetnanosecondsfor-out-of-range.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/toPlainDateTime/argument-zoneddatetime-timezone-getoffsetnanosecondsfor-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/toPlainDateTime/basic.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/toPlainDateTime/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/toPlainDateTime/calendar-temporal-object.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/toPlainDateTime/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/toPlainDateTime/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/toPlainDateTime/not-a-constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/toPlainDateTime/plaintime-propertybag-no-time-units.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/toPlainDateTime/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/toPlainDateTime/time-invalid.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/toPlainDateTime/time-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/toPlainDateTime/year-zero.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/toPlainMonthDay/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/toPlainMonthDay/calendar-arguments.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/toPlainMonthDay/calendar-fields-iterable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/toPlainMonthDay/calendar-monthdayfromfields-called-with-options-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/toPlainMonthDay/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/toPlainMonthDay/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/toPlainMonthDay/not-a-constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/toPlainMonthDay/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/toPlainYearMonth/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/toPlainYearMonth/calendar-arguments.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/toPlainYearMonth/calendar-fields-iterable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/toPlainYearMonth/calendar-yearmonthfromfields-called-with-options-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/toPlainYearMonth/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/toPlainYearMonth/limits.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/toPlainYearMonth/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/toPlainYearMonth/not-a-constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/toPlainYearMonth/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/toString/basic.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/toString/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/toString/calendarname-always.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/toString/calendarname-auto.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/toString/calendarname-invalid-string.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/toString/calendarname-never.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/toString/calendarname-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/toString/calendarname-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/toString/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/toString/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/toString/not-a-constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/toString/options-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/toString/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/toString/year-format.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/toZonedDateTime/argument-string-no-implicit-midnight.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/toZonedDateTime/argument-string-time-designator-required-for-disambiguation.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/toZonedDateTime/argument-string-with-time-designator.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/toZonedDateTime/argument-string-with-utc-designator.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/toZonedDateTime/argument-zoneddatetime-negative-epochnanoseconds.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/toZonedDateTime/basic.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/toZonedDateTime/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/toZonedDateTime/calendar-dateadd-called-with-options-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/toZonedDateTime/calendar-temporal-object.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/toZonedDateTime/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/toZonedDateTime/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/toZonedDateTime/not-a-constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/toZonedDateTime/plaintime-argument-zoneddatetime-balance-negative-time-units.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/toZonedDateTime/plaintime-argument-zoneddatetime-timezone-getoffsetnanosecondsfor-non-integer.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/toZonedDateTime/plaintime-argument-zoneddatetime-timezone-getoffsetnanosecondsfor-not-callable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/toZonedDateTime/plaintime-argument-zoneddatetime-timezone-getoffsetnanosecondsfor-out-of-range.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/toZonedDateTime/plaintime-argument-zoneddatetime-timezone-getoffsetnanosecondsfor-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/toZonedDateTime/plaintime-propertybag-no-time-units.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/toZonedDateTime/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/toZonedDateTime/timezone-getoffsetnanosecondsfor-non-integer.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/toZonedDateTime/timezone-getoffsetnanosecondsfor-not-callable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/toZonedDateTime/timezone-getoffsetnanosecondsfor-out-of-range.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/toZonedDateTime/timezone-getoffsetnanosecondsfor-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/toZonedDateTime/timezone-getpossibleinstantsfor-iterable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/toZonedDateTime/timezone-string-datetime.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/toZonedDateTime/timezone-string-multiple-offsets.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/toZonedDateTime/year-zero.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/until/argument-plaindatetime.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/until/argument-string-invalid.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/until/argument-string-with-utc-designator.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/until/argument-zoneddatetime-timezone-getoffsetnanosecondsfor-non-integer.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/until/argument-zoneddatetime-timezone-getoffsetnanosecondsfor-not-callable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/until/argument-zoneddatetime-timezone-getoffsetnanosecondsfor-out-of-range.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/until/argument-zoneddatetime-timezone-getoffsetnanosecondsfor-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/until/basic.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/until/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/until/calendar-dateadd-called-with-plaindate-instance.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/until/calendar-datefromfields-called-with-options-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/until/calendar-dateuntil-called-with-singular-largestunit.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/until/calendar-fields-iterable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/until/calendar-id-match.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/until/calendar-mismatch.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/until/calendar-temporal-object.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/until/days-in-month.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/until/days-in-year.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/until/infinity-throws-rangeerror.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/until/largestunit-default.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/until/largestunit-higher-units.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/until/largestunit-invalid-string.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/until/largestunit-plurals-accepted.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/until/largestunit-smallestunit-mismatch.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/until/largestunit-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/until/largestunit-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/until/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/until/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/until/not-a-constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/until/options-invalid.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/until/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/until/rounding-relative.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/until/roundingincrement-nan.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/until/roundingincrement-non-integer.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/until/roundingincrement-out-of-range.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/until/roundingincrement-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/until/roundingincrement-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/until/roundingincrement.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/until/roundingmode-ceil.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/until/roundingmode-floor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/until/roundingmode-halfExpand.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/until/roundingmode-invalid-string.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/until/roundingmode-trunc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/until/roundingmode-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/until/roundingmode-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/until/smallestunit-higher-units.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/until/smallestunit-invalid-string.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/until/smallestunit-plurals-accepted.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/until/smallestunit-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/until/smallestunit-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/until/weeks-months.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/until/year-zero.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/valueOf/basic.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/valueOf/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/valueOf/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/valueOf/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/valueOf/not-a-constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/valueOf/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/weekOfYear/basic.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/weekOfYear/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/with/basic.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/with/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/with/calendar-fields-iterable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/with/calendar-merge-fields-returns-primitive.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/with/copies-merge-fields-object.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/with/copy-properties-not-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/with/infinity-throws-rangeerror.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/with/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/with/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/with/not-a-constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/with/options-invalid.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/with/options-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/with/order-of-operations.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/with/overflow-invalid-string.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/with/overflow-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/with/overflow-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/with/plaindatelike-invalid.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/with/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/with/subclassing-ignored.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/withCalendar/basic.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/withCalendar/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/withCalendar/calendar-temporal-object.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/withCalendar/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/withCalendar/missing-argument.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/withCalendar/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/withCalendar/not-a-constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/withCalendar/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/withCalendar/subclassing-ignored.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/year/calendar-returns-infinity.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/year/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/calendar-temporal-object.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/calendar-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/compare/argument-object-insufficient-data.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/compare/argument-plaindate.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/compare/argument-string-with-utc-designator.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/compare/argument-zoneddatetime-negative-epochnanoseconds.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/compare/argument-zoneddatetime-timezone-getoffsetnanosecondsfor-non-integer.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/compare/argument-zoneddatetime-timezone-getoffsetnanosecondsfor-not-callable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/compare/argument-zoneddatetime-timezone-getoffsetnanosecondsfor-out-of-range.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/compare/argument-zoneddatetime-timezone-getoffsetnanosecondsfor-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/compare/basic.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/compare/browser.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/compare/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/compare/calendar-fields-iterable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/compare/calendar-temporal-object.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/compare/cast.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/compare/infinity-throws-rangeerror.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/compare/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/compare/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/compare/not-a-constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/compare/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/compare/read-time-fields-before-datefromfields.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/compare/shell.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/compare/use-internal-slots.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/compare/year-zero.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/constructor-full.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/datetime-math.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/from/argument-plaindate.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/from/argument-string-with-utc-designator.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/from/argument-zoneddatetime-balance-negative-time-units.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/from/argument-zoneddatetime-negative-epochnanoseconds.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/from/argument-zoneddatetime-timezone-getoffsetnanosecondsfor-non-integer.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/from/argument-zoneddatetime-timezone-getoffsetnanosecondsfor-not-callable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/from/argument-zoneddatetime-timezone-getoffsetnanosecondsfor-out-of-range.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/from/argument-zoneddatetime-timezone-getoffsetnanosecondsfor-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/from/browser.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/from/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/from/calendar-fields-iterable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/from/calendar-temporal-object.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/from/infinity-throws-rangeerror.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/from/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/from/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/from/not-a-constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/from/options-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/from/order-of-operations.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/from/overflow-invalid-string.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/from/overflow-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/from/overflow-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/from/parser.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/from/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/from/read-time-fields-before-datefromfields.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/from/shell.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/from/subclassing-ignored.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/from/year-zero.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/hour-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/infinity-throws-rangeerror.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/microsecond-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/millisecond-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/minute-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/missing-arguments.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/nanosecond-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/negative-infinity-throws-rangeerror.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/order-of-operations.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/add/ambiguous-date.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/add/argument-duration.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/add/argument-not-object.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/add/argument-object-insufficient-data.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/add/argument-plain-object-mixed-signs.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/add/argument-string-fractional-units-rounding-mode.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/add/argument-string-negative-fractional-units.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/add/argument-string.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/add/balance-negative-time-units.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/add/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/add/hour-overflow.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/add/infinity-throws-rangeerror.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/add/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/add/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/add/negative-duration.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/add/negative-infinity-throws-rangeerror.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/add/non-integer-throws-rangeerror.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/add/not-a-constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/add/options-empty.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/add/options-invalid.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/add/options-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/add/order-of-operations.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/add/overflow-invalid-string.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/add/overflow-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/add/overflow-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/add/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/add/subclassing-ignored.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/calendar/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/day/calendar-returns-infinity.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/day/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/dayOfWeek/basic.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/dayOfWeek/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/dayOfYear/basic.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/dayOfYear/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/daysInMonth/basic.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/daysInMonth/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/daysInWeek/basic.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/daysInWeek/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/daysInYear/basic.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/daysInYear/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/equals/argument-object-insufficient-data.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/equals/argument-plaindate.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/equals/argument-string-with-utc-designator.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/equals/argument-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/equals/argument-zoneddatetime-balance-negative-time-units.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/equals/argument-zoneddatetime-negative-epochnanoseconds.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/equals/argument-zoneddatetime-timezone-getoffsetnanosecondsfor-non-integer.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/equals/argument-zoneddatetime-timezone-getoffsetnanosecondsfor-not-callable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/equals/argument-zoneddatetime-timezone-getoffsetnanosecondsfor-out-of-range.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/equals/argument-zoneddatetime-timezone-getoffsetnanosecondsfor-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/equals/basic.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/equals/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/equals/calendar-fields-iterable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/equals/calendar-temporal-object.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/equals/cast.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/equals/infinity-throws-rangeerror.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/equals/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/equals/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/equals/not-a-constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/equals/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/equals/read-time-fields-before-datefromfields.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/equals/year-zero.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/getISOFields/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/getISOFields/field-names.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/getISOFields/field-prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/getISOFields/field-traversal-order.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/getISOFields/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/getISOFields/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/getISOFields/not-a-constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/getISOFields/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/hour/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/inLeapYear/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/microsecond/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/millisecond/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/minute/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/month/calendar-returns-infinity.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/month/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/monthCode/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/monthsInYear/basic.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/monthsInYear/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/nanosecond/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/round/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/round/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/round/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/round/not-a-constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/round/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/round/roundingincrement-nan.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/round/roundingincrement-non-integer.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/round/roundingincrement-out-of-range.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/round/roundingincrement-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/round/roundingincrement-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/round/roundingmode-invalid-string.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/round/roundingmode-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/round/roundingmode-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/round/smallestunit-disallowed-units.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/round/smallestunit-invalid-string.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/round/smallestunit-plurals-accepted.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/round/smallestunit-string-shorthand.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/round/smallestunit-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/round/subclassing-ignored.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/second/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/since/argument-plaindate.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/since/argument-string-with-utc-designator.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/since/argument-zoneddatetime-balance-negative-time-units.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/since/argument-zoneddatetime-negative-epochnanoseconds.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/since/argument-zoneddatetime-timezone-getoffsetnanosecondsfor-non-integer.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/since/argument-zoneddatetime-timezone-getoffsetnanosecondsfor-not-callable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/since/argument-zoneddatetime-timezone-getoffsetnanosecondsfor-out-of-range.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/since/argument-zoneddatetime-timezone-getoffsetnanosecondsfor-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/since/balance-negative-duration.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/since/balance-negative-time-units.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/since/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/since/calendar-dateadd-called-with-plaindate-instance.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/since/calendar-dateuntil-called-with-copy-of-options.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/since/calendar-dateuntil-called-with-plaindate-calendar.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/since/calendar-dateuntil-called-with-singular-largestunit.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/since/calendar-fields-iterable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/since/calendar-temporal-object.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/since/infinity-throws-rangeerror.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/since/largestunit-invalid-string.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/since/largestunit-plurals-accepted.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/since/largestunit-smallestunit-mismatch.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/since/largestunit-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/since/largestunit-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/since/largestunit.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/since/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/since/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/since/not-a-constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/since/options-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/since/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/since/read-time-fields-before-datefromfields.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/since/round-negative-duration.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/since/roundingincrement-nan.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/since/roundingincrement-non-integer.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/since/roundingincrement-out-of-range.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/since/roundingincrement-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/since/roundingincrement-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/since/roundingmode-invalid-string.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/since/roundingmode-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/since/roundingmode-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/since/smallestunit-invalid-string.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/since/smallestunit-plurals-accepted.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/since/smallestunit-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/since/smallestunit-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/since/year-zero.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/subtract/ambiguous-date.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/subtract/argument-duration.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/subtract/argument-not-object.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/subtract/argument-object-insufficient-data.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/subtract/argument-plain-object-mixed-signs.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/subtract/argument-string-fractional-units-rounding-mode.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/subtract/argument-string-negative-fractional-units.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/subtract/argument-string.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/subtract/balance-negative-time-units.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/subtract/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/subtract/hour-overflow.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/subtract/infinity-throws-rangeerror.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/subtract/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/subtract/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/subtract/negative-duration.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/subtract/negative-infinity-throws-rangeerror.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/subtract/non-integer-throws-rangeerror.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/subtract/not-a-constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/subtract/options-empty.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/subtract/options-invalid.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/subtract/options-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/subtract/order-of-operations.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/subtract/overflow-invalid-string.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/subtract/overflow-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/subtract/overflow-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/subtract/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/subtract/subclassing-ignored.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/toJSON/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/toJSON/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/toJSON/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/toJSON/not-a-constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/toJSON/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/toJSON/year-format.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/toLocaleString/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/toLocaleString/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/toLocaleString/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/toLocaleString/not-a-constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/toLocaleString/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/toLocaleString/return-string.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/toPlainDate/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/toPlainDate/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/toPlainDate/limits.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/toPlainDate/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/toPlainDate/not-a-constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/toPlainDate/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/toPlainMonthDay/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/toPlainMonthDay/calendar-arguments.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/toPlainMonthDay/calendar-fields-iterable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/toPlainMonthDay/calendar-monthdayfromfields-called-with-options-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/toPlainMonthDay/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/toPlainMonthDay/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/toPlainMonthDay/not-a-constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/toPlainMonthDay/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/toPlainTime/basic.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/toPlainTime/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/toPlainTime/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/toPlainTime/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/toPlainTime/not-a-constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/toPlainTime/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/toPlainYearMonth/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/toPlainYearMonth/calendar-arguments.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/toPlainYearMonth/calendar-fields-iterable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/toPlainYearMonth/calendar-yearmonthfromfields-called-with-options-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/toPlainYearMonth/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/toPlainYearMonth/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/toPlainYearMonth/not-a-constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/toPlainYearMonth/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/toString/basic.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/toString/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/toString/calendarname-invalid-string.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/toString/calendarname-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/toString/calendarname-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/toString/fractionalseconddigits-invalid-string.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/toString/fractionalseconddigits-nan.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/toString/fractionalseconddigits-non-integer.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/toString/fractionalseconddigits-out-of-range.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/toString/fractionalseconddigits-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/toString/fractionalseconddigits-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/toString/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/toString/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/toString/not-a-constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/toString/options-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/toString/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/toString/roundingmode-invalid-string.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/toString/roundingmode-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/toString/roundingmode-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/toString/smallestunit-invalid-string.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/toString/smallestunit-plurals-accepted.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/toString/smallestunit-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/toString/smallestunit-valid-units.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/toString/smallestunit-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/toString/year-format.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/toZonedDateTime/balance-negative-time-units.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/toZonedDateTime/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/toZonedDateTime/calendar-dateadd-called-with-options-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/toZonedDateTime/disambiguation-invalid-string.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/toZonedDateTime/disambiguation-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/toZonedDateTime/disambiguation-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/toZonedDateTime/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/toZonedDateTime/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/toZonedDateTime/not-a-constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/toZonedDateTime/options-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/toZonedDateTime/plain-custom-timezone.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/toZonedDateTime/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/toZonedDateTime/timezone-getoffsetnanosecondsfor-non-integer.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/toZonedDateTime/timezone-getoffsetnanosecondsfor-not-callable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/toZonedDateTime/timezone-getoffsetnanosecondsfor-out-of-range.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/toZonedDateTime/timezone-getoffsetnanosecondsfor-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/toZonedDateTime/timezone-getpossibleinstantsfor-iterable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/toZonedDateTime/timezone-string-datetime.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/toZonedDateTime/timezone-string-multiple-offsets.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/until/argument-plaindate.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/until/argument-string-with-utc-designator.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/until/argument-zoneddatetime-balance-negative-time-units.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/until/argument-zoneddatetime-negative-epochnanoseconds.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/until/argument-zoneddatetime-timezone-getoffsetnanosecondsfor-non-integer.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/until/argument-zoneddatetime-timezone-getoffsetnanosecondsfor-not-callable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/until/argument-zoneddatetime-timezone-getoffsetnanosecondsfor-out-of-range.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/until/argument-zoneddatetime-timezone-getoffsetnanosecondsfor-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/until/balance-negative-duration.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/until/balance-negative-time-units.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/until/balance.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/until/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/until/calendar-dateadd-called-with-plaindate-instance.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/until/calendar-dateuntil-called-with-copy-of-options.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/until/calendar-dateuntil-called-with-plaindate-calendar.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/until/calendar-dateuntil-called-with-singular-largestunit.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/until/calendar-fields-iterable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/until/calendar-temporal-object.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/until/casts-argument.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/until/different-calendars-throws.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/until/infinity-throws-rangeerror.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/until/inverse.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/until/largestunit-invalid-string.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/until/largestunit-plurals-accepted.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/until/largestunit-smallestunit-mismatch.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/until/largestunit-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/until/largestunit-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/until/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/until/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/until/no-unnecessary-units.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/until/not-a-constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/until/options-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/until/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/until/read-time-fields-before-datefromfields.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/until/returns-days.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/until/round-negative-duration.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/until/roundingincrement-nan.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/until/roundingincrement-non-integer.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/until/roundingincrement-out-of-range.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/until/roundingincrement-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/until/roundingincrement-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/until/roundingmode-invalid-string.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/until/roundingmode-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/until/roundingmode-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/until/smallestunit-invalid-string.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/until/smallestunit-plurals-accepted.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/until/smallestunit-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/until/smallestunit-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/until/subseconds.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/until/units-changed.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/until/weeks-months-mutually-exclusive.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/until/year-zero.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/valueOf/basic.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/valueOf/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/valueOf/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/valueOf/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/valueOf/not-a-constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/valueOf/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/weekOfYear/basic.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/weekOfYear/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/with/argument-object-insufficient-data.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/with/basic.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/with/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/with/calendar-fields-iterable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/with/calendar-merge-fields-returns-primitive.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/with/calendar-throws.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/with/copies-merge-fields-object.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/with/copy-properties-not-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/with/infinity-throws-rangeerror.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/with/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/with/month-and-monthcode-must-agree.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/with/multiple-unrecognized-properties-ignored.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/with/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/with/not-a-constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/with/options-empty.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/with/options-invalid.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/with/options-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/with/order-of-operations.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/with/overflow-invalid-string.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/with/overflow-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/with/overflow-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/with/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/with/read-time-fields-before-datefromfields.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/with/string-throws.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/with/subclassing-ignored.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/with/timezone-throws.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/withCalendar/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/withCalendar/calendar-temporal-object.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/withCalendar/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/withCalendar/missing-argument.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/withCalendar/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/withCalendar/not-a-constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/withCalendar/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/withCalendar/subclassing-ignored.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/withPlainDate/argument-object-insuffcient-data.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/withPlainDate/argument-object.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/withPlainDate/argument-plaindate.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/withPlainDate/argument-plaindatetime.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/withPlainDate/argument-string-invalid.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/withPlainDate/argument-string-iso-calendar.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/withPlainDate/argument-string-with-utc-designator.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/withPlainDate/argument-string.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/withPlainDate/argument-zoneddatetime-timezone-getoffsetnanosecondsfor-non-integer.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/withPlainDate/argument-zoneddatetime-timezone-getoffsetnanosecondsfor-not-callable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/withPlainDate/argument-zoneddatetime-timezone-getoffsetnanosecondsfor-out-of-range.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/withPlainDate/argument-zoneddatetime-timezone-getoffsetnanosecondsfor-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/withPlainDate/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/withPlainDate/calendar-datefromfields-called-with-options-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/withPlainDate/calendar-fields-iterable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/withPlainDate/calendar-temporal-object.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/withPlainDate/infinity-throws-rangeerror.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/withPlainDate/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/withPlainDate/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/withPlainDate/non-compatible-calendars-throw.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/withPlainDate/not-a-constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/withPlainDate/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/withPlainDate/subclassing-ignored.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/withPlainDate/year-zero.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/withPlainTime/argument-object-insufficient-data.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/withPlainTime/argument-string-no-implicit-midnight.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/withPlainTime/argument-string-time-designator-required-for-disambiguation.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/withPlainTime/argument-string-with-time-designator.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/withPlainTime/argument-string-with-utc-designator.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/withPlainTime/argument-string-without-time-designator.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/withPlainTime/argument-time.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/withPlainTime/argument-zoneddatetime-balance-negative-time-units.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/withPlainTime/argument-zoneddatetime-negative-epochnanoseconds.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/withPlainTime/argument-zoneddatetime-timezone-getoffsetnanosecondsfor-non-integer.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/withPlainTime/argument-zoneddatetime-timezone-getoffsetnanosecondsfor-not-callable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/withPlainTime/argument-zoneddatetime-timezone-getoffsetnanosecondsfor-out-of-range.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/withPlainTime/argument-zoneddatetime-timezone-getoffsetnanosecondsfor-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/withPlainTime/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/withPlainTime/calendar-temporal-object.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/withPlainTime/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/withPlainTime/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/withPlainTime/no-argument-default-to-midnight.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/withPlainTime/not-a-constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/withPlainTime/plaintime-propertybag-no-time-units.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/withPlainTime/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/withPlainTime/subclassing-ignored.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/withPlainTime/time-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/withPlainTime/year-zero.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/year/calendar-returns-infinity.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/year/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainDateTime/second-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainMonthDay/basic.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainMonthDay/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainMonthDay/calendar-always.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainMonthDay/calendar-invalid.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainMonthDay/calendar-temporal-object.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainMonthDay/calendar-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainMonthDay/constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainMonthDay/from/argument-string-with-utc-designator.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainMonthDay/from/browser.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainMonthDay/from/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainMonthDay/from/calendar-fields-iterable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainMonthDay/from/calendar-monthdayfromfields-called-with-options-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainMonthDay/from/calendar-temporal-object.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainMonthDay/from/fields-leap-day.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainMonthDay/from/fields-missing-properties.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainMonthDay/from/fields-object.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainMonthDay/from/fields-plainmonthday.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainMonthDay/from/fields-string.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainMonthDay/from/infinity-throws-rangeerror.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainMonthDay/from/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainMonthDay/from/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainMonthDay/from/not-a-constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainMonthDay/from/options-invalid.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainMonthDay/from/options-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainMonthDay/from/order-of-operations.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainMonthDay/from/overflow-invalid-string.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainMonthDay/from/overflow-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainMonthDay/from/overflow-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainMonthDay/from/overflow.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainMonthDay/from/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainMonthDay/from/shell.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainMonthDay/from/subclassing-ignored.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainMonthDay/from/year-zero.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainMonthDay/infinity-throws-rangeerror.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainMonthDay/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainMonthDay/missing-arguments.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainMonthDay/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainMonthDay/negative-infinity-throws-rangeerror.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainMonthDay/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainMonthDay/prototype/calendar/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainMonthDay/prototype/day/basic.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainMonthDay/prototype/day/calendar-returns-infinity.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainMonthDay/prototype/day/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainMonthDay/prototype/equals/argument-string-with-utc-designator.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainMonthDay/prototype/equals/argument-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainMonthDay/prototype/equals/basic.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainMonthDay/prototype/equals/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainMonthDay/prototype/equals/calendar-fields-iterable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainMonthDay/prototype/equals/calendar-monthdayfromfields-called-with-options-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainMonthDay/prototype/equals/calendar-temporal-object.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainMonthDay/prototype/equals/calendars.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainMonthDay/prototype/equals/infinity-throws-rangeerror.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainMonthDay/prototype/equals/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainMonthDay/prototype/equals/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainMonthDay/prototype/equals/not-a-constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainMonthDay/prototype/equals/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainMonthDay/prototype/equals/year-zero.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainMonthDay/prototype/getISOFields/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainMonthDay/prototype/getISOFields/field-names.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainMonthDay/prototype/getISOFields/field-prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainMonthDay/prototype/getISOFields/field-traversal-order.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainMonthDay/prototype/getISOFields/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainMonthDay/prototype/getISOFields/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainMonthDay/prototype/getISOFields/not-a-constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainMonthDay/prototype/getISOFields/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainMonthDay/prototype/month/browser.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainMonthDay/prototype/month/shell.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainMonthDay/prototype/month/unsupported.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainMonthDay/prototype/monthCode/basic.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainMonthDay/prototype/monthCode/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainMonthDay/prototype/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainMonthDay/prototype/toJSON/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainMonthDay/prototype/toJSON/calendarname.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainMonthDay/prototype/toJSON/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainMonthDay/prototype/toJSON/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainMonthDay/prototype/toJSON/not-a-constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainMonthDay/prototype/toJSON/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainMonthDay/prototype/toJSON/year-format.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainMonthDay/prototype/toLocaleString/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainMonthDay/prototype/toLocaleString/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainMonthDay/prototype/toLocaleString/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainMonthDay/prototype/toLocaleString/not-a-constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainMonthDay/prototype/toLocaleString/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainMonthDay/prototype/toPlainDate/argument-not-object.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainMonthDay/prototype/toPlainDate/basic.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainMonthDay/prototype/toPlainDate/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainMonthDay/prototype/toPlainDate/calendar-fields-iterable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainMonthDay/prototype/toPlainDate/calendar-merge-fields-returns-primitive.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainMonthDay/prototype/toPlainDate/copies-merge-fields-object.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainMonthDay/prototype/toPlainDate/infinity-throws-rangeerror.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainMonthDay/prototype/toPlainDate/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainMonthDay/prototype/toPlainDate/limits.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainMonthDay/prototype/toPlainDate/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainMonthDay/prototype/toPlainDate/not-a-constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainMonthDay/prototype/toPlainDate/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainMonthDay/prototype/toString/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainMonthDay/prototype/toString/calendarname-always.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainMonthDay/prototype/toString/calendarname-auto.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainMonthDay/prototype/toString/calendarname-invalid-string.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainMonthDay/prototype/toString/calendarname-never.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainMonthDay/prototype/toString/calendarname-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainMonthDay/prototype/toString/calendarname-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainMonthDay/prototype/toString/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainMonthDay/prototype/toString/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainMonthDay/prototype/toString/not-a-constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainMonthDay/prototype/toString/options-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainMonthDay/prototype/toString/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainMonthDay/prototype/toString/year-format.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainMonthDay/prototype/valueOf/basic.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainMonthDay/prototype/valueOf/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainMonthDay/prototype/valueOf/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainMonthDay/prototype/valueOf/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainMonthDay/prototype/valueOf/not-a-constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainMonthDay/prototype/valueOf/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainMonthDay/prototype/with/basic.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainMonthDay/prototype/with/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainMonthDay/prototype/with/calendar-arguments.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainMonthDay/prototype/with/calendar-fields-iterable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainMonthDay/prototype/with/calendar-merge-fields-returns-primitive.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainMonthDay/prototype/with/copies-merge-fields-object.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainMonthDay/prototype/with/copy-properties-not-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainMonthDay/prototype/with/infinity-throws-rangeerror.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainMonthDay/prototype/with/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainMonthDay/prototype/with/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainMonthDay/prototype/with/not-a-constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainMonthDay/prototype/with/options-invalid.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainMonthDay/prototype/with/options-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainMonthDay/prototype/with/order-of-operations.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainMonthDay/prototype/with/overflow-invalid-string.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainMonthDay/prototype/with/overflow-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainMonthDay/prototype/with/overflow-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainMonthDay/prototype/with/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainMonthDay/prototype/with/subclassing-ignored.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainMonthDay/refisoyear-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/basic.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/compare/argument-cast.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/compare/argument-string-no-implicit-midnight.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/compare/argument-string-time-designator-required-for-disambiguation.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/compare/argument-string-with-time-designator.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/compare/argument-string-with-utc-designator.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/compare/argument-zoneddatetime-negative-epochnanoseconds.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/compare/argument-zoneddatetime-timezone-getoffsetnanosecondsfor-non-integer.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/compare/argument-zoneddatetime-timezone-getoffsetnanosecondsfor-not-callable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/compare/argument-zoneddatetime-timezone-getoffsetnanosecondsfor-out-of-range.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/compare/argument-zoneddatetime-timezone-getoffsetnanosecondsfor-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/compare/basic.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/compare/browser.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/compare/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/compare/calendar-temporal-object.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/compare/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/compare/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/compare/not-a-constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/compare/plaintime-propertybag-no-time-units.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/compare/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/compare/shell.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/compare/use-internal-slots.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/compare/year-zero.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/from/argument-number.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/from/argument-object-leap-second.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/from/argument-object.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/from/argument-plaindatetime.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/from/argument-plaintime.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/from/argument-string-leap-second.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/from/argument-string-no-implicit-midnight.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/from/argument-string-time-designator-required-for-disambiguation.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/from/argument-string-trailing-junk.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/from/argument-string-with-calendar.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/from/argument-string-with-time-designator.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/from/argument-string-with-utc-designator.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/from/argument-string.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/from/argument-zoneddatetime-balance-negative-time-units.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/from/argument-zoneddatetime-negative-epochnanoseconds.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/from/argument-zoneddatetime-timezone-getoffsetnanosecondsfor-non-integer.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/from/argument-zoneddatetime-timezone-getoffsetnanosecondsfor-not-callable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/from/argument-zoneddatetime-timezone-getoffsetnanosecondsfor-out-of-range.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/from/argument-zoneddatetime-timezone-getoffsetnanosecondsfor-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/from/browser.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/from/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/from/calendar-temporal-object.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/from/infinity-throws-rangeerror.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/from/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/from/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/from/not-a-constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/from/observable-get-overflow-argument-string-invalid.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/from/options-invalid.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/from/options-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/from/order-of-operations.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/from/overflow-constrain.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/from/overflow-invalid-string.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/from/overflow-reject.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/from/overflow-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/from/overflow-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/from/plaintime-propertybag-no-time-units.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/from/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/from/shell.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/from/subclassing-ignored.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/from/year-zero.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/hour-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/infinity-throws-rangeerror.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/microsecond-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/millisecond-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/minute-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/nanosecond-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/negative-infinity-throws-rangeerror.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/negative-zero.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/add/argument-duration.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/add/argument-higher-units.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/add/argument-not-object.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/add/argument-object-invalid.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/add/argument-object.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/add/argument-string-fractional-units-rounding-mode.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/add/argument-string-negative-fractional-units.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/add/argument-string.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/add/balance-negative-time-units.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/add/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/add/infinity-throws-rangeerror.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/add/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/add/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/add/negative-infinity-throws-rangeerror.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/add/non-integer-throws-rangeerror.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/add/not-a-constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/add/options-ignored.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/add/order-of-operations.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/add/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/add/subclassing-ignored.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/calendar/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/equals/argument-cast.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/equals/argument-string-no-implicit-midnight.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/equals/argument-string-time-designator-required-for-disambiguation.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/equals/argument-string-with-time-designator.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/equals/argument-string-with-utc-designator.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/equals/argument-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/equals/argument-zoneddatetime-balance-negative-time-units.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/equals/argument-zoneddatetime-negative-epochnanoseconds.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/equals/argument-zoneddatetime-timezone-getoffsetnanosecondsfor-non-integer.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/equals/argument-zoneddatetime-timezone-getoffsetnanosecondsfor-not-callable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/equals/argument-zoneddatetime-timezone-getoffsetnanosecondsfor-out-of-range.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/equals/argument-zoneddatetime-timezone-getoffsetnanosecondsfor-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/equals/basic.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/equals/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/equals/calendar-temporal-object.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/equals/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/equals/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/equals/not-a-constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/equals/plaintime-propertybag-no-time-units.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/equals/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/equals/year-zero.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/getISOFields/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/getISOFields/field-names.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/getISOFields/field-prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/getISOFields/field-traversal-order.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/getISOFields/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/getISOFields/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/getISOFields/not-a-constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/getISOFields/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/hour/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/microsecond/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/millisecond/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/minute/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/nanosecond/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/round/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/round/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/round/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/round/not-a-constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/round/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/round/rounding-cross-midnight.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/round/roundingincrement-hours.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/round/roundingincrement-invalid.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/round/roundingincrement-microseconds.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/round/roundingincrement-milliseconds.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/round/roundingincrement-minutes.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/round/roundingincrement-nan.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/round/roundingincrement-nanoseconds.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/round/roundingincrement-non-integer.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/round/roundingincrement-out-of-range.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/round/roundingincrement-seconds.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/round/roundingincrement-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/round/roundingincrement-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/round/roundingmode-ceil.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/round/roundingmode-floor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/round/roundingmode-halfExpand.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/round/roundingmode-invalid-string.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/round/roundingmode-trunc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/round/roundingmode-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/round/roundingmode-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/round/smallestunit-disallowed-units.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/round/smallestunit-invalid-string.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/round/smallestunit-missing.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/round/smallestunit-plurals-accepted.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/round/smallestunit-string-shorthand.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/round/smallestunit-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/round/subclassing-ignored.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/second/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/since/argument-cast.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/since/argument-string-no-implicit-midnight.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/since/argument-string-time-designator-required-for-disambiguation.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/since/argument-string-with-time-designator.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/since/argument-string-with-utc-designator.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/since/argument-zoneddatetime-balance-negative-time-units.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/since/argument-zoneddatetime-negative-epochnanoseconds.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/since/argument-zoneddatetime-timezone-getoffsetnanosecondsfor-non-integer.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/since/argument-zoneddatetime-timezone-getoffsetnanosecondsfor-not-callable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/since/argument-zoneddatetime-timezone-getoffsetnanosecondsfor-out-of-range.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/since/argument-zoneddatetime-timezone-getoffsetnanosecondsfor-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/since/balance-negative-time-units.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/since/basic.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/since/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/since/calendar-temporal-object.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/since/largestunit-invalid-string.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/since/largestunit-plurals-accepted.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/since/largestunit-smallestunit-mismatch.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/since/largestunit-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/since/largestunit-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/since/largestunit.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/since/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/since/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/since/not-a-constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/since/options-invalid.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/since/options-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/since/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/since/result-sub-second.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/since/roundingincrement-hours.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/since/roundingincrement-invalid.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/since/roundingincrement-microseconds.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/since/roundingincrement-milliseconds.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/since/roundingincrement-minutes.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/since/roundingincrement-nan.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/since/roundingincrement-nanoseconds.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/since/roundingincrement-non-integer.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/since/roundingincrement-out-of-range.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/since/roundingincrement-seconds.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/since/roundingincrement-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/since/roundingincrement-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/since/roundingmode-ceil.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/since/roundingmode-floor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/since/roundingmode-halfExpand.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/since/roundingmode-invalid-string.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/since/roundingmode-trunc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/since/roundingmode-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/since/roundingmode-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/since/smallestunit-invalid-string.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/since/smallestunit-plurals-accepted.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/since/smallestunit-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/since/smallestunit-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/since/year-zero.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/subtract/argument-duration.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/subtract/argument-higher-units.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/subtract/argument-not-object.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/subtract/argument-object-invalid.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/subtract/argument-object.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/subtract/argument-string-fractional-units-rounding-mode.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/subtract/argument-string-negative-fractional-units.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/subtract/argument-string.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/subtract/balance-negative-time-units.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/subtract/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/subtract/infinity-throws-rangeerror.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/subtract/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/subtract/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/subtract/negative-infinity-throws-rangeerror.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/subtract/non-integer-throws-rangeerror.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/subtract/not-a-constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/subtract/options-ignored.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/subtract/order-of-operations.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/subtract/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/subtract/subclassing-ignored.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/toJSON/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/toJSON/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/toJSON/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/toJSON/not-a-constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/toJSON/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/toLocaleString/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/toLocaleString/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/toLocaleString/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/toLocaleString/not-a-constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/toLocaleString/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/toLocaleString/return-string.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/toPlainDateTime/argument-plaindatetime.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/toPlainDateTime/argument-string-invalid.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/toPlainDateTime/argument-string-with-utc-designator.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/toPlainDateTime/argument-zoneddatetime-timezone-getoffsetnanosecondsfor-non-integer.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/toPlainDateTime/argument-zoneddatetime-timezone-getoffsetnanosecondsfor-not-callable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/toPlainDateTime/argument-zoneddatetime-timezone-getoffsetnanosecondsfor-out-of-range.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/toPlainDateTime/argument-zoneddatetime-timezone-getoffsetnanosecondsfor-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/toPlainDateTime/basic.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/toPlainDateTime/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/toPlainDateTime/calendar-datefromfields-called-with-options-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/toPlainDateTime/calendar-fields-iterable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/toPlainDateTime/calendar-temporal-object.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/toPlainDateTime/infinity-throws-rangeerror.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/toPlainDateTime/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/toPlainDateTime/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/toPlainDateTime/not-a-constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/toPlainDateTime/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/toPlainDateTime/year-zero.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/toString/basic.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/toString/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/toString/fractionalseconddigits-auto.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/toString/fractionalseconddigits-invalid-string.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/toString/fractionalseconddigits-nan.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/toString/fractionalseconddigits-non-integer.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/toString/fractionalseconddigits-number.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/toString/fractionalseconddigits-out-of-range.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/toString/fractionalseconddigits-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/toString/fractionalseconddigits-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/toString/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/toString/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/toString/not-a-constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/toString/options-invalid.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/toString/options-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/toString/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/toString/rounding-cross-midnight.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/toString/roundingmode-ceil.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/toString/roundingmode-floor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/toString/roundingmode-halfExpand.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/toString/roundingmode-invalid-string.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/toString/roundingmode-trunc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/toString/roundingmode-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/toString/roundingmode-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/toString/smallestunit-fractionalseconddigits.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/toString/smallestunit-invalid-string.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/toString/smallestunit-plurals-accepted.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/toString/smallestunit-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/toString/smallestunit-valid-units.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/toString/smallestunit-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/toZonedDateTime/argument-plaindatetime.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/toZonedDateTime/argument-primitive.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/toZonedDateTime/argument-string-invalid.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/toZonedDateTime/argument-string-with-utc-designator.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/toZonedDateTime/argument-zoneddatetime-timezone-getoffsetnanosecondsfor-non-integer.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/toZonedDateTime/argument-zoneddatetime-timezone-getoffsetnanosecondsfor-not-callable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/toZonedDateTime/argument-zoneddatetime-timezone-getoffsetnanosecondsfor-out-of-range.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/toZonedDateTime/argument-zoneddatetime-timezone-getoffsetnanosecondsfor-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/toZonedDateTime/basic.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/toZonedDateTime/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/toZonedDateTime/calendar-dateadd-called-with-options-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/toZonedDateTime/calendar-datefromfields-called-with-options-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/toZonedDateTime/calendar-fields-iterable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/toZonedDateTime/calendar-temporal-object.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/toZonedDateTime/infinity-throws-rangeerror.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/toZonedDateTime/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/toZonedDateTime/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/toZonedDateTime/not-a-constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/toZonedDateTime/plaindate-infinity-throws-rangeerror.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/toZonedDateTime/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/toZonedDateTime/timezone-getoffsetnanosecondsfor-non-integer.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/toZonedDateTime/timezone-getoffsetnanosecondsfor-not-callable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/toZonedDateTime/timezone-getoffsetnanosecondsfor-out-of-range.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/toZonedDateTime/timezone-getoffsetnanosecondsfor-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/toZonedDateTime/timezone-getpossibleinstantsfor-iterable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/toZonedDateTime/timezone-string-datetime.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/toZonedDateTime/timezone-string-multiple-offsets.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/toZonedDateTime/year-zero.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/until/argument-cast.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/until/argument-string-no-implicit-midnight.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/until/argument-string-time-designator-required-for-disambiguation.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/until/argument-string-with-time-designator.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/until/argument-string-with-utc-designator.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/until/argument-zoneddatetime-balance-negative-time-units.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/until/argument-zoneddatetime-negative-epochnanoseconds.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/until/argument-zoneddatetime-timezone-getoffsetnanosecondsfor-non-integer.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/until/argument-zoneddatetime-timezone-getoffsetnanosecondsfor-not-callable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/until/argument-zoneddatetime-timezone-getoffsetnanosecondsfor-out-of-range.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/until/argument-zoneddatetime-timezone-getoffsetnanosecondsfor-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/until/balance-negative-time-units.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/until/basic.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/until/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/until/calendar-temporal-object.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/until/largestunit-invalid-string.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/until/largestunit-plurals-accepted.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/until/largestunit-smallestunit-mismatch.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/until/largestunit-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/until/largestunit-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/until/largestunit.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/until/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/until/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/until/not-a-constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/until/options-invalid.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/until/options-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/until/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/until/result-sub-second.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/until/roundingincrement-hours.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/until/roundingincrement-invalid.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/until/roundingincrement-microseconds.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/until/roundingincrement-milliseconds.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/until/roundingincrement-minutes.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/until/roundingincrement-nan.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/until/roundingincrement-nanoseconds.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/until/roundingincrement-non-integer.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/until/roundingincrement-out-of-range.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/until/roundingincrement-seconds.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/until/roundingincrement-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/until/roundingincrement-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/until/roundingmode-ceil.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/until/roundingmode-floor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/until/roundingmode-halfExpand.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/until/roundingmode-invalid-string.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/until/roundingmode-trunc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/until/roundingmode-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/until/roundingmode-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/until/smallestunit-invalid-string.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/until/smallestunit-plurals-accepted.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/until/smallestunit-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/until/smallestunit-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/until/year-zero.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/valueOf/basic.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/valueOf/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/valueOf/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/valueOf/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/valueOf/not-a-constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/valueOf/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/with/argument-not-object.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/with/basic.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/with/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/with/copy-properties-not-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/with/infinity-throws-rangeerror.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/with/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/with/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/with/not-a-constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/with/options-invalid.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/with/options-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/with/order-of-operations.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/with/overflow-invalid-string.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/with/overflow-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/with/overflow-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/with/plaintimelike-invalid.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/with/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/prototype/with/subclassing-ignored.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainTime/second-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/basic.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/calendar-always.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/calendar-invalid.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/calendar-temporal-object.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/calendar-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/compare/argument-cast.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/compare/argument-string-with-utc-designator.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/compare/basic.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/compare/browser.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/compare/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/compare/calendar-fields-iterable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/compare/calendar-temporal-object.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/compare/calendar-yearmonthfromfields-called-with-options-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/compare/compare-calendar.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/compare/compare-reference-day.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/compare/infinity-throws-rangeerror.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/compare/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/compare/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/compare/not-a-constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/compare/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/compare/shell.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/compare/use-internal-slots.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/compare/year-zero.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/from/argument-number.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/from/argument-object.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/from/argument-plaindate.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/from/argument-plainyearmonth.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/from/argument-string-invalid.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/from/argument-string-trailing-junk.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/from/argument-string-with-utc-designator.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/from/argument-string.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/from/browser.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/from/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/from/calendar-fields-iterable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/from/calendar-temporal-object.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/from/calendar-yearmonthfromfields-called-with-options-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/from/infinity-throws-rangeerror.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/from/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/from/limits.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/from/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/from/not-a-constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/from/options-invalid.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/from/options-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/from/order-of-operations.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/from/overflow-constrain.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/from/overflow-invalid-string.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/from/overflow-reject.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/from/overflow-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/from/overflow-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/from/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/from/shell.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/from/subclassing-ignored.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/from/year-zero.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/infinity-throws-rangeerror.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/limits.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/missing-arguments.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/negative-infinity-throws-rangeerror.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/add/argument-duration-object.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/add/argument-lower-units.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/add/argument-not-object.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/add/argument-object-invalid.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/add/argument-object-plural.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/add/argument-object.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/add/argument-string-negative-fractional-units.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/add/argument-string.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/add/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/add/calendar-arguments-extra-options.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/add/calendar-arguments.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/add/calendar-datefromfields-called.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/add/calendar-daysinmonth-wrong-value.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/add/calendar-fields-iterable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/add/infinity-throws-rangeerror.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/add/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/add/limits.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/add/month-length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/add/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/add/negative-infinity-throws-rangeerror.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/add/non-integer-throws-rangeerror.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/add/not-a-constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/add/options-invalid.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/add/options-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/add/order-of-operations.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/add/overflow-invalid-string.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/add/overflow-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/add/overflow-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/add/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/add/subclassing-ignored.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/calendar/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/daysInMonth/basic.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/daysInMonth/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/daysInYear/basic.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/daysInYear/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/equals/argument-cast.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/equals/argument-string-with-utc-designator.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/equals/argument-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/equals/basic.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/equals/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/equals/calendar-fields-iterable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/equals/calendar-temporal-object.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/equals/calendar-yearmonthfromfields-called-with-options-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/equals/compare-calendar.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/equals/compare-reference-day.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/equals/infinity-throws-rangeerror.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/equals/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/equals/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/equals/not-a-constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/equals/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/equals/use-internal-slots.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/equals/year-zero.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/getISOFields/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/getISOFields/field-names.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/getISOFields/field-prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/getISOFields/field-traversal-order.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/getISOFields/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/getISOFields/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/getISOFields/not-a-constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/getISOFields/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/inLeapYear/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/month/calendar-returns-infinity.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/month/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/monthCode/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/monthsInYear/basic.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/monthsInYear/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/since/argument-casting.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/since/argument-string-with-utc-designator.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/since/arguments-missing-throws.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/since/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/since/calendar-dateadd-called-with-plaindate-instance.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/since/calendar-datefromfields-called-with-options-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/since/calendar-dateuntil-called-with-singular-largestunit.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/since/calendar-fields-iterable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/since/calendar-temporal-object.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/since/calendar-yearmonthfromfields-called-with-options-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/since/infinity-throws-rangeerror.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/since/largestunit-auto.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/since/largestunit-disallowed-units.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/since/largestunit-invalid-string.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/since/largestunit-months.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/since/largestunit-plurals-accepted.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/since/largestunit-smallestunit-mismatch.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/since/largestunit-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/since/largestunit-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/since/largestunit-years.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/since/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/since/mixed-calendar-invalid.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/since/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/since/not-a-constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/since/options-invalid.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/since/options-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/since/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/since/roundingincrement-as-expected.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/since/roundingincrement-nan.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/since/roundingincrement-non-integer.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/since/roundingincrement-out-of-range.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/since/roundingincrement-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/since/roundingincrement-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/since/roundingmode-ceil.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/since/roundingmode-floor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/since/roundingmode-halfExpand.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/since/roundingmode-invalid-string.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/since/roundingmode-trunc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/since/roundingmode-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/since/roundingmode-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/since/smallestunit-invalid-string.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/since/smallestunit-plurals-accepted.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/since/smallestunit-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/since/smallestunit-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/since/symmetry.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/since/year-zero.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/subtract/argument-duration-object.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/subtract/argument-lower-units.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/subtract/argument-not-object.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/subtract/argument-object-invalid.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/subtract/argument-object-plural.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/subtract/argument-object.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/subtract/argument-string-negative-fractional-units.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/subtract/argument-string.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/subtract/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/subtract/calendar-arguments-extra-options.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/subtract/calendar-arguments.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/subtract/calendar-datefromfields-called.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/subtract/calendar-daysinmonth-wrong-value.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/subtract/calendar-fields-iterable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/subtract/infinity-throws-rangeerror.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/subtract/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/subtract/limits.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/subtract/month-length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/subtract/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/subtract/negative-infinity-throws-rangeerror.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/subtract/non-integer-throws-rangeerror.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/subtract/not-a-constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/subtract/options-invalid.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/subtract/options-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/subtract/order-of-operations.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/subtract/overflow-invalid-string.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/subtract/overflow-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/subtract/overflow-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/subtract/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/subtract/subclassing-ignored.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/toJSON/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/toJSON/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/toJSON/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/toJSON/not-a-constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/toJSON/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/toJSON/year-format.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/toLocaleString/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/toLocaleString/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/toLocaleString/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/toLocaleString/not-a-constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/toLocaleString/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/toPlainDate/argument-not-object.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/toPlainDate/basic.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/toPlainDate/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/toPlainDate/calendar-fields-iterable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/toPlainDate/calendar-merge-fields-returns-primitive.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/toPlainDate/copies-merge-fields-object.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/toPlainDate/infinity-throws-rangeerror.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/toPlainDate/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/toPlainDate/limits.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/toPlainDate/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/toPlainDate/not-a-constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/toPlainDate/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/toString/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/toString/calendarname-always.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/toString/calendarname-auto.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/toString/calendarname-invalid-string.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/toString/calendarname-never.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/toString/calendarname-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/toString/calendarname-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/toString/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/toString/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/toString/not-a-constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/toString/options-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/toString/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/toString/year-format.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/until/argument-casting.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/until/argument-string-with-utc-designator.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/until/arguments-missing-throws.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/until/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/until/calendar-dateadd-called-with-plaindate-instance.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/until/calendar-datefromfields-called-with-options-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/until/calendar-dateuntil-called-with-singular-largestunit.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/until/calendar-fields-iterable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/until/calendar-temporal-object.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/until/calendar-yearmonthfromfields-called-with-options-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/until/infinity-throws-rangeerror.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/until/largestunit-auto.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/until/largestunit-disallowed-units.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/until/largestunit-invalid-string.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/until/largestunit-months.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/until/largestunit-plurals-accepted.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/until/largestunit-smallestunit-mismatch.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/until/largestunit-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/until/largestunit-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/until/largestunit-years.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/until/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/until/mixed-calendar-invalid.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/until/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/until/not-a-constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/until/options-invalid.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/until/options-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/until/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/until/roundingincrement-as-expected.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/until/roundingincrement-nan.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/until/roundingincrement-non-integer.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/until/roundingincrement-out-of-range.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/until/roundingincrement-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/until/roundingincrement-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/until/roundingmode-ceil.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/until/roundingmode-floor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/until/roundingmode-halfExpand.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/until/roundingmode-invalid-string.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/until/roundingmode-trunc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/until/roundingmode-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/until/roundingmode-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/until/smallestunit-invalid-string.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/until/smallestunit-plurals-accepted.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/until/smallestunit-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/until/smallestunit-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/until/year-zero.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/valueOf/basic.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/valueOf/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/valueOf/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/valueOf/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/valueOf/not-a-constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/valueOf/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/with/argument-calendar-field.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/with/argument-missing-fields.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/with/argument-timezone-field.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/with/basic.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/with/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/with/calendar-arguments.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/with/calendar-fields-iterable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/with/calendar-merge-fields-returns-primitive.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/with/copies-merge-fields-object.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/with/copy-properties-not-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/with/infinity-throws-rangeerror.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/with/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/with/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/with/not-a-constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/with/options-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/with/options-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/with/order-of-operations.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/with/overflow-invalid-string.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/with/overflow-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/with/overflow-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/with/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/with/subclassing-ignored.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/year/calendar-returns-infinity.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/year/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/PlainYearMonth/refisoday-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/TimeZone/basic.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/TimeZone/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/TimeZone/constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/TimeZone/from/argument-object-invalid.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/TimeZone/from/argument-object.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/TimeZone/from/argument-primitive.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/TimeZone/from/argument-valid.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/TimeZone/from/browser.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/TimeZone/from/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/TimeZone/from/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/TimeZone/from/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/TimeZone/from/not-a-constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/TimeZone/from/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/TimeZone/from/shell.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/TimeZone/from/subclassing-ignored.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/TimeZone/from/timezone-string-datetime.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/TimeZone/from/timezone-string-multiple-offsets.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/TimeZone/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/TimeZone/missing-arguments.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/TimeZone/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/TimeZone/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/TimeZone/prototype/getInstantFor/argument-not-datetime.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/TimeZone/prototype/getInstantFor/argument-plaindate.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/TimeZone/prototype/getInstantFor/argument-string-with-utc-designator.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/TimeZone/prototype/getInstantFor/argument-zoneddatetime-balance-negative-time-units.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/TimeZone/prototype/getInstantFor/argument-zoneddatetime-negative-epochnanoseconds.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/TimeZone/prototype/getInstantFor/argument-zoneddatetime-timezone-getoffsetnanosecondsfor-non-integer.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/TimeZone/prototype/getInstantFor/argument-zoneddatetime-timezone-getoffsetnanosecondsfor-not-callable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/TimeZone/prototype/getInstantFor/argument-zoneddatetime-timezone-getoffsetnanosecondsfor-out-of-range.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/TimeZone/prototype/getInstantFor/argument-zoneddatetime-timezone-getoffsetnanosecondsfor-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/TimeZone/prototype/getInstantFor/balance-negative-time-units.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/TimeZone/prototype/getInstantFor/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/TimeZone/prototype/getInstantFor/calendar-dateadd-called-with-options-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/TimeZone/prototype/getInstantFor/calendar-fields-iterable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/TimeZone/prototype/getInstantFor/calendar-temporal-object.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/TimeZone/prototype/getInstantFor/disambiguation-invalid-string.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/TimeZone/prototype/getInstantFor/disambiguation-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/TimeZone/prototype/getInstantFor/disambiguation-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/TimeZone/prototype/getInstantFor/infinity-throws-rangeerror.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/TimeZone/prototype/getInstantFor/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/TimeZone/prototype/getInstantFor/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/TimeZone/prototype/getInstantFor/not-a-constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/TimeZone/prototype/getInstantFor/options-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/TimeZone/prototype/getInstantFor/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/TimeZone/prototype/getInstantFor/read-time-fields-before-datefromfields.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/TimeZone/prototype/getInstantFor/year-zero.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/TimeZone/prototype/getNextTransition/argument-zoneddatetime.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/TimeZone/prototype/getNextTransition/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/TimeZone/prototype/getNextTransition/instant-string.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/TimeZone/prototype/getNextTransition/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/TimeZone/prototype/getNextTransition/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/TimeZone/prototype/getNextTransition/not-a-constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/TimeZone/prototype/getNextTransition/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/TimeZone/prototype/getNextTransition/year-zero.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/TimeZone/prototype/getOffsetNanosecondsFor/argument-not-absolute.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/TimeZone/prototype/getOffsetNanosecondsFor/argument-zoneddatetime.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/TimeZone/prototype/getOffsetNanosecondsFor/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/TimeZone/prototype/getOffsetNanosecondsFor/instant-string.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/TimeZone/prototype/getOffsetNanosecondsFor/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/TimeZone/prototype/getOffsetNanosecondsFor/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/TimeZone/prototype/getOffsetNanosecondsFor/not-a-constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/TimeZone/prototype/getOffsetNanosecondsFor/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/TimeZone/prototype/getOffsetNanosecondsFor/year-zero.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/TimeZone/prototype/getOffsetStringFor/argument-not-absolute-getOffsetNanosecondsFor-override.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/TimeZone/prototype/getOffsetStringFor/argument-not-absolute.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/TimeZone/prototype/getOffsetStringFor/argument-zoneddatetime.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/TimeZone/prototype/getOffsetStringFor/basic.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/TimeZone/prototype/getOffsetStringFor/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/TimeZone/prototype/getOffsetStringFor/instant-string.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/TimeZone/prototype/getOffsetStringFor/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/TimeZone/prototype/getOffsetStringFor/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/TimeZone/prototype/getOffsetStringFor/not-a-constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/TimeZone/prototype/getOffsetStringFor/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/TimeZone/prototype/getOffsetStringFor/timezone-getoffsetnanosecondsfor-non-integer.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/TimeZone/prototype/getOffsetStringFor/timezone-getoffsetnanosecondsfor-not-callable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/TimeZone/prototype/getOffsetStringFor/timezone-getoffsetnanosecondsfor-out-of-range.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/TimeZone/prototype/getOffsetStringFor/timezone-getoffsetnanosecondsfor-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/TimeZone/prototype/getOffsetStringFor/year-zero.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/TimeZone/prototype/getPlainDateTimeFor/argument-negative-epochnanoseconds.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/TimeZone/prototype/getPlainDateTimeFor/argument-not-absolute-getOffsetNanosecondsFor-override.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/TimeZone/prototype/getPlainDateTimeFor/argument-not-absolute.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/TimeZone/prototype/getPlainDateTimeFor/argument-zoneddatetime.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/TimeZone/prototype/getPlainDateTimeFor/balance-negative-time-units.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/TimeZone/prototype/getPlainDateTimeFor/branding.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/TimeZone/prototype/getPlainDateTimeFor/browser.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/TimeZone/prototype/getPlainDateTimeFor/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/TimeZone/prototype/getPlainDateTimeFor/calendar-temporal-object.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/TimeZone/prototype/getPlainDateTimeFor/calendar-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/TimeZone/prototype/getPlainDateTimeFor/custom-timezone.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/TimeZone/prototype/getPlainDateTimeFor/instant-string-multiple-offsets.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/TimeZone/prototype/getPlainDateTimeFor/instant-string.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/TimeZone/prototype/getPlainDateTimeFor/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/TimeZone/prototype/getPlainDateTimeFor/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/TimeZone/prototype/getPlainDateTimeFor/not-a-constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/TimeZone/prototype/getPlainDateTimeFor/pre-epoch.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/TimeZone/prototype/getPlainDateTimeFor/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/TimeZone/prototype/getPlainDateTimeFor/shell.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/TimeZone/prototype/getPlainDateTimeFor/timezone-getoffsetnanosecondsfor-non-integer.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/TimeZone/prototype/getPlainDateTimeFor/timezone-getoffsetnanosecondsfor-not-callable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/TimeZone/prototype/getPlainDateTimeFor/timezone-getoffsetnanosecondsfor-out-of-range.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/TimeZone/prototype/getPlainDateTimeFor/timezone-getoffsetnanosecondsfor-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/TimeZone/prototype/getPlainDateTimeFor/year-zero.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/TimeZone/prototype/getPossibleInstantsFor/argument-not-datetime.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/TimeZone/prototype/getPossibleInstantsFor/argument-plaindate.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/TimeZone/prototype/getPossibleInstantsFor/argument-string-with-utc-designator.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/TimeZone/prototype/getPossibleInstantsFor/argument-zoneddatetime-balance-negative-time-units.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/TimeZone/prototype/getPossibleInstantsFor/argument-zoneddatetime-negative-epochnanoseconds.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/TimeZone/prototype/getPossibleInstantsFor/argument-zoneddatetime-timezone-getoffsetnanosecondsfor-non-integer.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/TimeZone/prototype/getPossibleInstantsFor/argument-zoneddatetime-timezone-getoffsetnanosecondsfor-not-callable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/TimeZone/prototype/getPossibleInstantsFor/argument-zoneddatetime-timezone-getoffsetnanosecondsfor-out-of-range.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/TimeZone/prototype/getPossibleInstantsFor/argument-zoneddatetime-timezone-getoffsetnanosecondsfor-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/TimeZone/prototype/getPossibleInstantsFor/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/TimeZone/prototype/getPossibleInstantsFor/calendar-fields-iterable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/TimeZone/prototype/getPossibleInstantsFor/calendar-temporal-object.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/TimeZone/prototype/getPossibleInstantsFor/infinity-throws-rangeerror.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/TimeZone/prototype/getPossibleInstantsFor/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/TimeZone/prototype/getPossibleInstantsFor/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/TimeZone/prototype/getPossibleInstantsFor/not-a-constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/TimeZone/prototype/getPossibleInstantsFor/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/TimeZone/prototype/getPossibleInstantsFor/read-time-fields-before-datefromfields.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/TimeZone/prototype/getPossibleInstantsFor/year-zero.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/TimeZone/prototype/getPreviousTransition/argument-zoneddatetime.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/TimeZone/prototype/getPreviousTransition/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/TimeZone/prototype/getPreviousTransition/instant-string.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/TimeZone/prototype/getPreviousTransition/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/TimeZone/prototype/getPreviousTransition/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/TimeZone/prototype/getPreviousTransition/not-a-constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/TimeZone/prototype/getPreviousTransition/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/TimeZone/prototype/getPreviousTransition/year-zero.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/TimeZone/prototype/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/TimeZone/prototype/toJSON/branding.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/TimeZone/prototype/toJSON/browser.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/TimeZone/prototype/toJSON/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/TimeZone/prototype/toJSON/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/TimeZone/prototype/toJSON/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/TimeZone/prototype/toJSON/not-a-constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/TimeZone/prototype/toJSON/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/TimeZone/prototype/toJSON/shell.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/TimeZone/prototype/toJSON/tostring-call.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/TimeZone/prototype/toJSON/tostring-undefined-custom.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/TimeZone/prototype/toJSON/tostring-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/TimeZone/prototype/toString/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/TimeZone/prototype/toString/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/TimeZone/prototype/toString/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/TimeZone/prototype/toString/not-a-constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/TimeZone/prototype/toString/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/calendar-temporal-object.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/calendar-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/compare/argument-propertybag-offset-not-agreeing-with-timezone.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/compare/argument-propertybag-timezone-getoffsetnanosecondsfor-non-integer.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/compare/argument-propertybag-timezone-getoffsetnanosecondsfor-not-callable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/compare/argument-propertybag-timezone-getoffsetnanosecondsfor-out-of-range.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/compare/argument-propertybag-timezone-getoffsetnanosecondsfor-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/compare/browser.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/compare/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/compare/calendar-fields-iterable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/compare/calendar-temporal-object.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/compare/infinity-throws-rangeerror.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/compare/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/compare/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/compare/not-a-constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/compare/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/compare/read-time-fields-before-datefromfields.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/compare/shell.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/compare/timezone-getpossibleinstantsfor-iterable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/compare/timezone-string-datetime.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/compare/year-zero.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/compare/zoneddatetime-string-multiple-offsets.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/compare/zoneddatetime-string.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/from/argument-propertybag-offset-not-agreeing-with-timezone.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/from/argument-propertybag-timezone-getoffsetnanosecondsfor-non-integer.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/from/argument-propertybag-timezone-getoffsetnanosecondsfor-not-callable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/from/argument-propertybag-timezone-getoffsetnanosecondsfor-out-of-range.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/from/argument-propertybag-timezone-getoffsetnanosecondsfor-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/from/balance-negative-time-units.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/from/browser.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/from/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/from/calendar-fields-iterable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/from/calendar-temporal-object.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/from/disambiguation-invalid-string.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/from/disambiguation-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/from/disambiguation-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/from/infinity-throws-rangeerror.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/from/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/from/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/from/not-a-constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/from/offset-invalid-string.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/from/offset-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/from/offset-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/from/options-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/from/overflow-invalid-string.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/from/overflow-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/from/overflow-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/from/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/from/read-time-fields-before-datefromfields.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/from/shell.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/from/subclassing-ignored.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/from/timezone-getpossibleinstantsfor-iterable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/from/timezone-string-datetime.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/from/timezone-string-multiple-offsets.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/from/year-zero.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/from/zoneddatetime-string-multiple-offsets.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/from/zoneddatetime-string.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/from/zoneddatetime-sub-minute-offset.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/missing-arguments.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/add/argument-string-fractional-units-rounding-mode.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/add/argument-string-negative-fractional-units.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/add/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/add/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/add/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/add/negative-epochnanoseconds.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/add/non-integer-throws-rangeerror.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/add/not-a-constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/add/options-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/add/overflow-invalid-string.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/add/overflow-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/add/overflow-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/add/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/add/subclassing-ignored.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/add/timezone-getoffsetnanosecondsfor-non-integer.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/add/timezone-getoffsetnanosecondsfor-not-callable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/add/timezone-getoffsetnanosecondsfor-out-of-range.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/add/timezone-getoffsetnanosecondsfor-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/calendar/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/day/balance-negative-time-units.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/day/calendar-returns-infinity.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/day/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/day/timezone-getoffsetnanosecondsfor-non-integer.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/day/timezone-getoffsetnanosecondsfor-not-callable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/day/timezone-getoffsetnanosecondsfor-out-of-range.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/day/timezone-getoffsetnanosecondsfor-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/dayOfWeek/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/dayOfWeek/timezone-getoffsetnanosecondsfor-non-integer.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/dayOfWeek/timezone-getoffsetnanosecondsfor-not-callable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/dayOfWeek/timezone-getoffsetnanosecondsfor-out-of-range.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/dayOfWeek/timezone-getoffsetnanosecondsfor-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/dayOfYear/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/dayOfYear/timezone-getoffsetnanosecondsfor-non-integer.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/dayOfYear/timezone-getoffsetnanosecondsfor-not-callable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/dayOfYear/timezone-getoffsetnanosecondsfor-out-of-range.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/dayOfYear/timezone-getoffsetnanosecondsfor-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/daysInMonth/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/daysInMonth/timezone-getoffsetnanosecondsfor-non-integer.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/daysInMonth/timezone-getoffsetnanosecondsfor-not-callable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/daysInMonth/timezone-getoffsetnanosecondsfor-out-of-range.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/daysInMonth/timezone-getoffsetnanosecondsfor-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/daysInWeek/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/daysInWeek/timezone-getoffsetnanosecondsfor-non-integer.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/daysInWeek/timezone-getoffsetnanosecondsfor-not-callable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/daysInWeek/timezone-getoffsetnanosecondsfor-out-of-range.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/daysInWeek/timezone-getoffsetnanosecondsfor-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/daysInYear/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/daysInYear/timezone-getoffsetnanosecondsfor-non-integer.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/daysInYear/timezone-getoffsetnanosecondsfor-not-callable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/daysInYear/timezone-getoffsetnanosecondsfor-out-of-range.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/daysInYear/timezone-getoffsetnanosecondsfor-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/epochMicroseconds/basic.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/epochMicroseconds/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/epochMilliseconds/basic.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/epochMilliseconds/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/epochNanoseconds/basic.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/epochNanoseconds/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/epochSeconds/basic.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/epochSeconds/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/equals/argument-propertybag-offset-not-agreeing-with-timezone.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/equals/argument-propertybag-timezone-getoffsetnanosecondsfor-non-integer.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/equals/argument-propertybag-timezone-getoffsetnanosecondsfor-not-callable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/equals/argument-propertybag-timezone-getoffsetnanosecondsfor-out-of-range.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/equals/argument-propertybag-timezone-getoffsetnanosecondsfor-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/equals/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/equals/calendar-fields-iterable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/equals/calendar-temporal-object.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/equals/infinity-throws-rangeerror.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/equals/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/equals/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/equals/not-a-constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/equals/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/equals/read-time-fields-before-datefromfields.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/equals/sub-minute-offset.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/equals/timezone-getpossibleinstantsfor-iterable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/equals/timezone-string-datetime.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/equals/timezone-string-multiple-offsets.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/equals/year-zero.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/equals/zoneddatetime-string-multiple-offsets.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/equals/zoneddatetime-string.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/getISOFields/balance-negative-time-units.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/getISOFields/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/getISOFields/field-names.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/getISOFields/field-prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/getISOFields/field-traversal-order.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/getISOFields/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/getISOFields/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/getISOFields/negative-epochnanoseconds.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/getISOFields/not-a-constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/getISOFields/offset.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/getISOFields/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/getISOFields/timezone-getoffsetnanosecondsfor-non-integer.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/getISOFields/timezone-getoffsetnanosecondsfor-not-callable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/getISOFields/timezone-getoffsetnanosecondsfor-out-of-range.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/getISOFields/timezone-getoffsetnanosecondsfor-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/hour/balance-negative-time-units.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/hour/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/hour/timezone-getoffsetnanosecondsfor-non-integer.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/hour/timezone-getoffsetnanosecondsfor-not-callable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/hour/timezone-getoffsetnanosecondsfor-out-of-range.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/hour/timezone-getoffsetnanosecondsfor-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/hoursInDay/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/hoursInDay/timezone-getoffsetnanosecondsfor-non-integer.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/hoursInDay/timezone-getoffsetnanosecondsfor-not-callable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/hoursInDay/timezone-getoffsetnanosecondsfor-out-of-range.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/hoursInDay/timezone-getoffsetnanosecondsfor-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/hoursInDay/timezone-getpossibleinstantsfor-iterable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/inLeapYear/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/inLeapYear/timezone-getoffsetnanosecondsfor-non-integer.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/inLeapYear/timezone-getoffsetnanosecondsfor-not-callable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/inLeapYear/timezone-getoffsetnanosecondsfor-out-of-range.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/inLeapYear/timezone-getoffsetnanosecondsfor-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/microsecond/balance-negative-time-units.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/microsecond/negative-epochnanoseconds.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/microsecond/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/microsecond/timezone-getoffsetnanosecondsfor-non-integer.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/microsecond/timezone-getoffsetnanosecondsfor-not-callable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/microsecond/timezone-getoffsetnanosecondsfor-out-of-range.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/microsecond/timezone-getoffsetnanosecondsfor-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/millisecond/balance-negative-time-units.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/millisecond/negative-epochnanoseconds.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/millisecond/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/millisecond/timezone-getoffsetnanosecondsfor-non-integer.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/millisecond/timezone-getoffsetnanosecondsfor-not-callable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/millisecond/timezone-getoffsetnanosecondsfor-out-of-range.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/millisecond/timezone-getoffsetnanosecondsfor-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/minute/balance-negative-time-units.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/minute/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/minute/timezone-getoffsetnanosecondsfor-non-integer.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/minute/timezone-getoffsetnanosecondsfor-not-callable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/minute/timezone-getoffsetnanosecondsfor-out-of-range.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/minute/timezone-getoffsetnanosecondsfor-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/month/calendar-returns-infinity.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/month/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/month/timezone-getoffsetnanosecondsfor-non-integer.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/month/timezone-getoffsetnanosecondsfor-not-callable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/month/timezone-getoffsetnanosecondsfor-out-of-range.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/month/timezone-getoffsetnanosecondsfor-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/monthCode/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/monthCode/timezone-getoffsetnanosecondsfor-non-integer.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/monthCode/timezone-getoffsetnanosecondsfor-not-callable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/monthCode/timezone-getoffsetnanosecondsfor-out-of-range.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/monthCode/timezone-getoffsetnanosecondsfor-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/monthsInYear/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/monthsInYear/timezone-getoffsetnanosecondsfor-non-integer.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/monthsInYear/timezone-getoffsetnanosecondsfor-not-callable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/monthsInYear/timezone-getoffsetnanosecondsfor-out-of-range.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/monthsInYear/timezone-getoffsetnanosecondsfor-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/nanosecond/negative-epochnanoseconds.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/nanosecond/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/nanosecond/timezone-getoffsetnanosecondsfor-non-integer.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/nanosecond/timezone-getoffsetnanosecondsfor-not-callable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/nanosecond/timezone-getoffsetnanosecondsfor-out-of-range.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/nanosecond/timezone-getoffsetnanosecondsfor-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/offset/basic.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/offset/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/offset/timezone-getoffsetnanosecondsfor-non-integer.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/offset/timezone-getoffsetnanosecondsfor-not-callable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/offset/timezone-getoffsetnanosecondsfor-out-of-range.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/offset/timezone-getoffsetnanosecondsfor-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/offsetNanoseconds/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/offsetNanoseconds/timezone-getoffsetnanosecondsfor-non-integer.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/offsetNanoseconds/timezone-getoffsetnanosecondsfor-not-callable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/offsetNanoseconds/timezone-getoffsetnanosecondsfor-out-of-range.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/offsetNanoseconds/timezone-getoffsetnanosecondsfor-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/round/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/round/calendar-dateadd-called-with-options-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/round/dateadd-options.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/round/div-zero.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/round/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/round/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/round/negative-epochnanoseconds.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/round/not-a-constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/round/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/round/roundingincrement-nan.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/round/roundingincrement-non-integer.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/round/roundingincrement-out-of-range.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/round/roundingincrement-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/round/roundingincrement-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/round/roundingmode-invalid-string.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/round/roundingmode-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/round/roundingmode-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/round/smallestunit-disallowed-units.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/round/smallestunit-invalid-string.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/round/smallestunit-plurals-accepted.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/round/smallestunit-string-shorthand.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/round/smallestunit-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/round/subclassing-ignored.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/round/timezone-getoffsetnanosecondsfor-non-integer.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/round/timezone-getoffsetnanosecondsfor-not-callable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/round/timezone-getoffsetnanosecondsfor-out-of-range.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/round/timezone-getoffsetnanosecondsfor-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/round/timezone-getpossibleinstantsfor-iterable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/second/balance-negative-time-units.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/second/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/second/timezone-getoffsetnanosecondsfor-non-integer.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/second/timezone-getoffsetnanosecondsfor-not-callable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/second/timezone-getoffsetnanosecondsfor-out-of-range.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/second/timezone-getoffsetnanosecondsfor-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/since/argument-propertybag-offset-not-agreeing-with-timezone.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/since/argument-propertybag-timezone-getoffsetnanosecondsfor-not-callable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/since/balance-negative-time-units.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/since/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/since/calendar-dateadd-called-with-options-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/since/calendar-dateuntil-called-with-copy-of-options.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/since/calendar-dateuntil-called-with-singular-largestunit.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/since/calendar-fields-iterable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/since/calendar-temporal-object.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/since/infinity-throws-rangeerror.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/since/largestunit-invalid-string.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/since/largestunit-plurals-accepted.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/since/largestunit-smallestunit-mismatch.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/since/largestunit-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/since/largestunit-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/since/largestunit.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/since/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/since/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/since/negative-epochnanoseconds.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/since/not-a-constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/since/options-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/since/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/since/read-time-fields-before-datefromfields.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/since/roundingincrement-nan.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/since/roundingincrement-non-integer.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/since/roundingincrement-out-of-range.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/since/roundingincrement-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/since/roundingincrement-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/since/roundingmode-invalid-string.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/since/roundingmode-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/since/roundingmode-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/since/smallestunit-invalid-string.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/since/smallestunit-plurals-accepted.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/since/smallestunit-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/since/smallestunit-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/since/sub-minute-offset.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/since/timezone-getoffsetnanosecondsfor-non-integer.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/since/timezone-getoffsetnanosecondsfor-not-callable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/since/timezone-getoffsetnanosecondsfor-out-of-range.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/since/timezone-getoffsetnanosecondsfor-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/since/timezone-getpossibleinstantsfor-iterable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/since/timezone-string-datetime.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/since/timezone-string-multiple-offsets.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/since/year-zero.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/since/zoneddatetime-string-multiple-offsets.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/since/zoneddatetime-string.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/startOfDay/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/startOfDay/calendar-dateadd-called-with-options-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/startOfDay/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/startOfDay/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/startOfDay/not-a-constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/startOfDay/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/startOfDay/subclassing-ignored.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/startOfDay/timezone-getoffsetnanosecondsfor-non-integer.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/startOfDay/timezone-getoffsetnanosecondsfor-not-callable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/startOfDay/timezone-getoffsetnanosecondsfor-out-of-range.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/startOfDay/timezone-getoffsetnanosecondsfor-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/subtract/argument-string-fractional-units-rounding-mode.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/subtract/argument-string-negative-fractional-units.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/subtract/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/subtract/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/subtract/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/subtract/negative-epochnanoseconds.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/subtract/non-integer-throws-rangeerror.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/subtract/not-a-constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/subtract/options-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/subtract/overflow-invalid-string.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/subtract/overflow-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/subtract/overflow-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/subtract/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/subtract/subclassing-ignored.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/subtract/timezone-getoffsetnanosecondsfor-non-integer.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/subtract/timezone-getoffsetnanosecondsfor-not-callable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/subtract/timezone-getoffsetnanosecondsfor-out-of-range.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/subtract/timezone-getoffsetnanosecondsfor-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/timeZone/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/toInstant/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/toInstant/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/toInstant/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/toInstant/not-a-constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/toInstant/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/toJSON/balance-negative-time-units.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/toJSON/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/toJSON/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/toJSON/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/toJSON/negative-epochnanoseconds.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/toJSON/not-a-constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/toJSON/offset.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/toJSON/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/toJSON/timezone-getoffsetnanosecondsfor-non-integer.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/toJSON/timezone-getoffsetnanosecondsfor-not-callable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/toJSON/timezone-getoffsetnanosecondsfor-out-of-range.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/toJSON/timezone-getoffsetnanosecondsfor-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/toJSON/year-format.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/toLocaleString/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/toLocaleString/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/toLocaleString/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/toLocaleString/not-a-constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/toLocaleString/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/toLocaleString/return-string.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/toPlainDate/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/toPlainDate/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/toPlainDate/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/toPlainDate/not-a-constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/toPlainDate/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/toPlainDate/timezone-getoffsetnanosecondsfor-non-integer.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/toPlainDate/timezone-getoffsetnanosecondsfor-not-callable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/toPlainDate/timezone-getoffsetnanosecondsfor-out-of-range.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/toPlainDate/timezone-getoffsetnanosecondsfor-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/toPlainDateTime/balance-negative-time-units.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/toPlainDateTime/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/toPlainDateTime/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/toPlainDateTime/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/toPlainDateTime/negative-epochnanoseconds.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/toPlainDateTime/not-a-constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/toPlainDateTime/plain-custom-timezone.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/toPlainDateTime/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/toPlainDateTime/timezone-getoffsetnanosecondsfor-non-integer.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/toPlainDateTime/timezone-getoffsetnanosecondsfor-not-callable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/toPlainDateTime/timezone-getoffsetnanosecondsfor-out-of-range.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/toPlainDateTime/timezone-getoffsetnanosecondsfor-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/toPlainMonthDay/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/toPlainMonthDay/calendar-arguments.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/toPlainMonthDay/calendar-fields-iterable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/toPlainMonthDay/calendar-monthdayfromfields-called-with-options-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/toPlainMonthDay/calendar-result.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/toPlainMonthDay/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/toPlainMonthDay/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/toPlainMonthDay/not-a-constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/toPlainMonthDay/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/toPlainMonthDay/timezone-getoffsetnanosecondsfor-non-integer.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/toPlainMonthDay/timezone-getoffsetnanosecondsfor-not-callable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/toPlainMonthDay/timezone-getoffsetnanosecondsfor-out-of-range.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/toPlainMonthDay/timezone-getoffsetnanosecondsfor-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/toPlainTime/balance-negative-time-units.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/toPlainTime/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/toPlainTime/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/toPlainTime/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/toPlainTime/negative-epochnanoseconds.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/toPlainTime/not-a-constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/toPlainTime/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/toPlainTime/timezone-getoffsetnanosecondsfor-non-integer.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/toPlainTime/timezone-getoffsetnanosecondsfor-not-callable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/toPlainTime/timezone-getoffsetnanosecondsfor-out-of-range.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/toPlainTime/timezone-getoffsetnanosecondsfor-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/toPlainYearMonth/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/toPlainYearMonth/calendar-arguments.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/toPlainYearMonth/calendar-fields-iterable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/toPlainYearMonth/calendar-result.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/toPlainYearMonth/calendar-yearmonthfromfields-called-with-options-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/toPlainYearMonth/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/toPlainYearMonth/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/toPlainYearMonth/not-a-constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/toPlainYearMonth/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/toPlainYearMonth/timezone-getoffsetnanosecondsfor-non-integer.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/toPlainYearMonth/timezone-getoffsetnanosecondsfor-not-callable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/toPlainYearMonth/timezone-getoffsetnanosecondsfor-out-of-range.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/toPlainYearMonth/timezone-getoffsetnanosecondsfor-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/toString/balance-negative-time-units.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/toString/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/toString/calendarname-invalid-string.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/toString/calendarname-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/toString/calendarname-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/toString/fractionalseconddigits-invalid-string.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/toString/fractionalseconddigits-nan.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/toString/fractionalseconddigits-non-integer.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/toString/fractionalseconddigits-out-of-range.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/toString/fractionalseconddigits-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/toString/fractionalseconddigits-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/toString/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/toString/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/toString/negative-epochnanoseconds.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/toString/not-a-constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/toString/offset-invalid-string.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/toString/offset-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/toString/offset-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/toString/offset.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/toString/options-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/toString/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/toString/roundingmode-invalid-string.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/toString/roundingmode-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/toString/roundingmode-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/toString/smallestunit-invalid-string.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/toString/smallestunit-plurals-accepted.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/toString/smallestunit-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/toString/smallestunit-valid-units.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/toString/smallestunit-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/toString/timezone-getoffsetnanosecondsfor-non-integer.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/toString/timezone-getoffsetnanosecondsfor-not-callable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/toString/timezone-getoffsetnanosecondsfor-out-of-range.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/toString/timezone-getoffsetnanosecondsfor-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/toString/timezonename-invalid-string.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/toString/timezonename-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/toString/timezonename-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/toString/year-format.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/until/argument-propertybag-offset-not-agreeing-with-timezone.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/until/argument-propertybag-timezone-getoffsetnanosecondsfor-not-callable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/until/balance-negative-time-units.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/until/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/until/calendar-dateadd-called-with-options-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/until/calendar-dateuntil-called-with-copy-of-options.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/until/calendar-dateuntil-called-with-singular-largestunit.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/until/calendar-fields-iterable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/until/calendar-temporal-object.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/until/infinity-throws-rangeerror.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/until/largestunit-invalid-string.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/until/largestunit-plurals-accepted.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/until/largestunit-smallestunit-mismatch.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/until/largestunit-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/until/largestunit-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/until/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/until/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/until/negative-epochnanoseconds.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/until/not-a-constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/until/options-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/until/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/until/read-time-fields-before-datefromfields.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/until/roundingincrement-nan.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/until/roundingincrement-non-integer.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/until/roundingincrement-out-of-range.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/until/roundingincrement-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/until/roundingincrement-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/until/roundingmode-invalid-string.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/until/roundingmode-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/until/roundingmode-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/until/smallestunit-invalid-string.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/until/smallestunit-plurals-accepted.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/until/smallestunit-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/until/smallestunit-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/until/sub-minute-offset.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/until/timezone-getoffsetnanosecondsfor-non-integer.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/until/timezone-getoffsetnanosecondsfor-not-callable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/until/timezone-getoffsetnanosecondsfor-out-of-range.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/until/timezone-getoffsetnanosecondsfor-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/until/timezone-getpossibleinstantsfor-iterable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/until/timezone-string-datetime.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/until/timezone-string-multiple-offsets.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/until/year-zero.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/until/zoneddatetime-string-multiple-offsets.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/until/zoneddatetime-string.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/valueOf/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/valueOf/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/valueOf/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/valueOf/not-a-constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/valueOf/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/weekOfYear/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/weekOfYear/timezone-getoffsetnanosecondsfor-non-integer.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/weekOfYear/timezone-getoffsetnanosecondsfor-not-callable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/weekOfYear/timezone-getoffsetnanosecondsfor-out-of-range.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/weekOfYear/timezone-getoffsetnanosecondsfor-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/with/balance-negative-time-units.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/with/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/with/calendar-fields-iterable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/with/calendar-merge-fields-returns-primitive.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/with/copies-merge-fields-object.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/with/copy-properties-not-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/with/disambiguation-invalid-string.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/with/disambiguation-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/with/disambiguation-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/with/infinity-throws-rangeerror.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/with/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/with/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/with/not-a-constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/with/offset-invalid-string.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/with/offset-property-sub-minute.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/with/offset-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/with/offset-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/with/options-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/with/overflow-invalid-string.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/with/overflow-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/with/overflow-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/with/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/with/read-time-fields-before-datefromfields.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/with/receiver-offset-broken.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/with/subclassing-ignored.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/with/timezone-getoffsetnanosecondsfor-non-integer.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/with/timezone-getoffsetnanosecondsfor-not-callable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/with/timezone-getoffsetnanosecondsfor-out-of-range.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/with/timezone-getoffsetnanosecondsfor-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/with/timezone-getpossibleinstantsfor-iterable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/withCalendar/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/withCalendar/calendar-temporal-object.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/withCalendar/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/withCalendar/missing-argument.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/withCalendar/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/withCalendar/not-a-constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/withCalendar/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/withCalendar/subclassing-ignored.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/withPlainDate/argument-plaindatetime.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/withPlainDate/argument-string-invalid.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/withPlainDate/argument-string-with-utc-designator.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/withPlainDate/argument-zoneddatetime-timezone-getoffsetnanosecondsfor-non-integer.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/withPlainDate/argument-zoneddatetime-timezone-getoffsetnanosecondsfor-not-callable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/withPlainDate/argument-zoneddatetime-timezone-getoffsetnanosecondsfor-out-of-range.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/withPlainDate/argument-zoneddatetime-timezone-getoffsetnanosecondsfor-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/withPlainDate/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/withPlainDate/calendar-dateadd-called-with-options-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/withPlainDate/calendar-datefromfields-called-with-options-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/withPlainDate/calendar-fields-iterable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/withPlainDate/calendar-temporal-object.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/withPlainDate/infinity-throws-rangeerror.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/withPlainDate/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/withPlainDate/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/withPlainDate/negative-epochnanoseconds.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/withPlainDate/not-a-constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/withPlainDate/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/withPlainDate/subclassing-ignored.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/withPlainDate/timezone-getoffsetnanosecondsfor-non-integer.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/withPlainDate/timezone-getoffsetnanosecondsfor-not-callable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/withPlainDate/timezone-getoffsetnanosecondsfor-out-of-range.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/withPlainDate/timezone-getoffsetnanosecondsfor-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/withPlainDate/year-zero.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/withPlainTime/argument-string-no-implicit-midnight.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/withPlainTime/argument-string-time-designator-required-for-disambiguation.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/withPlainTime/argument-string-with-time-designator.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/withPlainTime/argument-string-with-utc-designator.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/withPlainTime/argument-zoneddatetime-balance-negative-time-units.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/withPlainTime/argument-zoneddatetime-negative-epochnanoseconds.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/withPlainTime/argument-zoneddatetime-timezone-getoffsetnanosecondsfor-non-integer.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/withPlainTime/argument-zoneddatetime-timezone-getoffsetnanosecondsfor-not-callable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/withPlainTime/argument-zoneddatetime-timezone-getoffsetnanosecondsfor-out-of-range.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/withPlainTime/argument-zoneddatetime-timezone-getoffsetnanosecondsfor-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/withPlainTime/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/withPlainTime/calendar-dateadd-called-with-options-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/withPlainTime/calendar-temporal-object.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/withPlainTime/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/withPlainTime/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/withPlainTime/not-a-constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/withPlainTime/plaintime-propertybag-no-time-units.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/withPlainTime/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/withPlainTime/subclassing-ignored.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/withPlainTime/time-undefined.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/withPlainTime/timezone-getoffsetnanosecondsfor-non-integer.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/withPlainTime/timezone-getoffsetnanosecondsfor-not-callable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/withPlainTime/timezone-getoffsetnanosecondsfor-out-of-range.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/withPlainTime/timezone-getoffsetnanosecondsfor-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/withPlainTime/year-zero.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/withTimeZone/builtin.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/withTimeZone/length.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/withTimeZone/name.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/withTimeZone/not-a-constructor.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/withTimeZone/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/withTimeZone/subclassing-ignored.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/withTimeZone/timezone-string-datetime.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/withTimeZone/timezone-string-multiple-offsets.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/year/calendar-returns-infinity.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/year/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/year/timezone-getoffsetnanosecondsfor-non-integer.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/year/timezone-getoffsetnanosecondsfor-not-callable.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/year/timezone-getoffsetnanosecondsfor-out-of-range.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/year/timezone-getoffsetnanosecondsfor-wrong-type.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/ZonedDateTime/timezone-string-datetime.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/getOwnPropertyNames.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/keys.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/toStringTag/browser.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/toStringTag/prop-desc.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/toStringTag/shell.js
create mode 100644 js/src/tests/test262/built-ins/Temporal/toStringTag/string.js
create mode 100644 js/src/tests/test262/built-ins/TypedArray/prototype/at/BigInt/browser.js
create mode 100644 js/src/tests/test262/built-ins/TypedArray/prototype/at/BigInt/return-abrupt-from-this-out-of-bounds.js
create mode 100644 js/src/tests/test262/built-ins/TypedArray/prototype/at/BigInt/shell.js
create mode 100644 js/src/tests/test262/built-ins/TypedArray/prototype/byteLength/BigInt/resizable-array-buffer-auto.js
create mode 100644 js/src/tests/test262/built-ins/TypedArray/prototype/byteLength/BigInt/resizable-array-buffer-fixed.js
create mode 100644 js/src/tests/test262/built-ins/TypedArray/prototype/byteOffset/BigInt/resizable-array-buffer-auto.js
create mode 100644 js/src/tests/test262/built-ins/TypedArray/prototype/byteOffset/BigInt/resizable-array-buffer-fixed.js
create mode 100644 js/src/tests/test262/built-ins/TypedArray/prototype/copyWithin/BigInt/return-abrupt-from-this-out-of-bounds.js
create mode 100644 js/src/tests/test262/built-ins/TypedArray/prototype/copyWithin/byteoffset.js
create mode 100644 js/src/tests/test262/built-ins/TypedArray/prototype/entries/BigInt/return-abrupt-from-this-out-of-bounds.js
create mode 100644 js/src/tests/test262/built-ins/TypedArray/prototype/every/BigInt/return-abrupt-from-this-out-of-bounds.js
create mode 100644 js/src/tests/test262/built-ins/TypedArray/prototype/every/callbackfn-resize.js
create mode 100644 js/src/tests/test262/built-ins/TypedArray/prototype/fill/BigInt/return-abrupt-from-this-out-of-bounds.js
create mode 100644 js/src/tests/test262/built-ins/TypedArray/prototype/filter/BigInt/return-abrupt-from-this-out-of-bounds.js
create mode 100644 js/src/tests/test262/built-ins/TypedArray/prototype/filter/callbackfn-resize.js
create mode 100644 js/src/tests/test262/built-ins/TypedArray/prototype/find/BigInt/return-abrupt-from-this-out-of-bounds.js
create mode 100644 js/src/tests/test262/built-ins/TypedArray/prototype/find/callbackfn-resize.js
create mode 100644 js/src/tests/test262/built-ins/TypedArray/prototype/findIndex/BigInt/return-abrupt-from-this-out-of-bounds.js
create mode 100644 js/src/tests/test262/built-ins/TypedArray/prototype/findIndex/callbackfn-resize.js
create mode 100644 js/src/tests/test262/built-ins/TypedArray/prototype/findLast/BigInt/return-abrupt-from-this-out-of-bounds.js
create mode 100644 js/src/tests/test262/built-ins/TypedArray/prototype/findLast/callbackfn-resize.js
create mode 100644 js/src/tests/test262/built-ins/TypedArray/prototype/findLastIndex/BigInt/return-abrupt-from-this-out-of-bounds.js
create mode 100644 js/src/tests/test262/built-ins/TypedArray/prototype/findLastIndex/callbackfn-resize.js
create mode 100644 js/src/tests/test262/built-ins/TypedArray/prototype/forEach/BigInt/return-abrupt-from-this-out-of-bounds.js
create mode 100644 js/src/tests/test262/built-ins/TypedArray/prototype/forEach/callbackfn-resize.js
create mode 100644 js/src/tests/test262/built-ins/TypedArray/prototype/includes/BigInt/return-abrupt-from-this-out-of-bounds.js
create mode 100644 js/src/tests/test262/built-ins/TypedArray/prototype/indexOf/BigInt/return-abrupt-from-this-out-of-bounds.js
create mode 100644 js/src/tests/test262/built-ins/TypedArray/prototype/join/BigInt/return-abrupt-from-this-out-of-bounds.js
create mode 100644 js/src/tests/test262/built-ins/TypedArray/prototype/keys/BigInt/return-abrupt-from-this-out-of-bounds.js
create mode 100644 js/src/tests/test262/built-ins/TypedArray/prototype/lastIndexOf/BigInt/return-abrupt-from-this-out-of-bounds.js
create mode 100644 js/src/tests/test262/built-ins/TypedArray/prototype/length/BigInt/resizable-array-buffer-auto.js
create mode 100644 js/src/tests/test262/built-ins/TypedArray/prototype/length/BigInt/resizable-array-buffer-fixed.js
create mode 100644 js/src/tests/test262/built-ins/TypedArray/prototype/map/BigInt/return-abrupt-from-this-out-of-bounds.js
create mode 100644 js/src/tests/test262/built-ins/TypedArray/prototype/map/callbackfn-resize.js
create mode 100644 js/src/tests/test262/built-ins/TypedArray/prototype/reduce/BigInt/return-abrupt-from-this-out-of-bounds.js
create mode 100644 js/src/tests/test262/built-ins/TypedArray/prototype/reduce/callbackfn-resize.js
create mode 100644 js/src/tests/test262/built-ins/TypedArray/prototype/reduceRight/BigInt/return-abrupt-from-this-out-of-bounds.js
create mode 100644 js/src/tests/test262/built-ins/TypedArray/prototype/reduceRight/callbackfn-resize.js
create mode 100644 js/src/tests/test262/built-ins/TypedArray/prototype/reverse/BigInt/return-abrupt-from-this-out-of-bounds.js
create mode 100644 js/src/tests/test262/built-ins/TypedArray/prototype/set/BigInt/typedarray-arg-set-values-same-buffer-same-type-resized.js
create mode 100644 js/src/tests/test262/built-ins/TypedArray/prototype/set/BigInt/typedarray-arg-target-out-of-bounds.js
create mode 100644 js/src/tests/test262/built-ins/TypedArray/prototype/set/array-arg-targetbuffer-detached-on-get-src-value-no-throw.js
delete mode 100644 js/src/tests/test262/built-ins/TypedArray/prototype/set/array-arg-targetbuffer-detached-on-get-src-value-throws.js
create mode 100644 js/src/tests/test262/built-ins/TypedArray/prototype/slice/BigInt/return-abrupt-from-this-out-of-bounds.js
create mode 100644 js/src/tests/test262/built-ins/TypedArray/prototype/some/BigInt/return-abrupt-from-this-out-of-bounds.js
create mode 100644 js/src/tests/test262/built-ins/TypedArray/prototype/some/callbackfn-resize.js
delete mode 100644 js/src/tests/test262/built-ins/TypedArray/prototype/sort/BigInt/detached-buffer-comparefn.js
create mode 100644 js/src/tests/test262/built-ins/TypedArray/prototype/sort/BigInt/return-abrupt-from-this-out-of-bounds.js
delete mode 100644 js/src/tests/test262/built-ins/TypedArray/prototype/sort/detached-buffer-comparefn-coerce.js
delete mode 100644 js/src/tests/test262/built-ins/TypedArray/prototype/sort/detached-buffer-comparefn.js
create mode 100644 js/src/tests/test262/built-ins/TypedArray/prototype/toLocaleString/BigInt/return-abrupt-from-this-out-of-bounds.js
create mode 100644 js/src/tests/test262/built-ins/TypedArray/prototype/values/BigInt/return-abrupt-from-this-out-of-bounds.js
delete mode 100644 js/src/tests/test262/built-ins/TypedArrayConstructors/ctors-bigint/typedarray-arg/detached-when-species-retrieved-different-type.js
delete mode 100644 js/src/tests/test262/built-ins/TypedArrayConstructors/ctors-bigint/typedarray-arg/detached-when-species-retrieved-same-type.js
delete mode 100644 js/src/tests/test262/built-ins/TypedArrayConstructors/ctors-bigint/typedarray-arg/other-ctor-buffer-ctor-access-throws.js
delete mode 100644 js/src/tests/test262/built-ins/TypedArrayConstructors/ctors-bigint/typedarray-arg/other-ctor-buffer-ctor-custom-species-proto-from-ctor-realm.js
delete mode 100644 js/src/tests/test262/built-ins/TypedArrayConstructors/ctors-bigint/typedarray-arg/other-ctor-buffer-ctor-custom-species.js
delete mode 100644 js/src/tests/test262/built-ins/TypedArrayConstructors/ctors-bigint/typedarray-arg/other-ctor-buffer-ctor-not-object-throws.js
delete mode 100644 js/src/tests/test262/built-ins/TypedArrayConstructors/ctors-bigint/typedarray-arg/other-ctor-buffer-ctor-species-access-throws.js
delete mode 100644 js/src/tests/test262/built-ins/TypedArrayConstructors/ctors-bigint/typedarray-arg/other-ctor-buffer-ctor-species-not-ctor-throws.js
delete mode 100644 js/src/tests/test262/built-ins/TypedArrayConstructors/ctors-bigint/typedarray-arg/other-ctor-buffer-ctor-species-prototype-throws.js
delete mode 100644 js/src/tests/test262/built-ins/TypedArrayConstructors/ctors-bigint/typedarray-arg/same-ctor-buffer-ctor-access-throws.js
delete mode 100644 js/src/tests/test262/built-ins/TypedArrayConstructors/ctors-bigint/typedarray-arg/same-ctor-buffer-ctor-species-custom-proto-from-ctor-realm.js
delete mode 100644 js/src/tests/test262/built-ins/TypedArrayConstructors/ctors-bigint/typedarray-arg/same-ctor-buffer-ctor-species-custom.js
delete mode 100644 js/src/tests/test262/built-ins/TypedArrayConstructors/ctors-bigint/typedarray-arg/same-ctor-buffer-ctor-species-not-ctor.js
delete mode 100644 js/src/tests/test262/built-ins/TypedArrayConstructors/ctors-bigint/typedarray-arg/same-ctor-buffer-ctor-species-prototype-throws.js
delete mode 100644 js/src/tests/test262/built-ins/TypedArrayConstructors/ctors-bigint/typedarray-arg/same-ctor-buffer-ctor-species-throws.js
delete mode 100644 js/src/tests/test262/built-ins/TypedArrayConstructors/ctors-bigint/typedarray-arg/same-ctor-buffer-ctor-value-not-obj-throws.js
create mode 100644 js/src/tests/test262/built-ins/TypedArrayConstructors/ctors/no-species.js
delete mode 100644 js/src/tests/test262/built-ins/TypedArrayConstructors/ctors/typedarray-arg/detached-when-species-retrieved-different-type.js
delete mode 100644 js/src/tests/test262/built-ins/TypedArrayConstructors/ctors/typedarray-arg/detached-when-species-retrieved-same-type.js
delete mode 100644 js/src/tests/test262/built-ins/TypedArrayConstructors/ctors/typedarray-arg/other-ctor-buffer-ctor-access-throws.js
delete mode 100644 js/src/tests/test262/built-ins/TypedArrayConstructors/ctors/typedarray-arg/other-ctor-buffer-ctor-custom-species-proto-from-ctor-realm.js
delete mode 100644 js/src/tests/test262/built-ins/TypedArrayConstructors/ctors/typedarray-arg/other-ctor-buffer-ctor-custom-species.js
delete mode 100644 js/src/tests/test262/built-ins/TypedArrayConstructors/ctors/typedarray-arg/other-ctor-buffer-ctor-not-object-throws.js
delete mode 100644 js/src/tests/test262/built-ins/TypedArrayConstructors/ctors/typedarray-arg/other-ctor-buffer-ctor-species-access-throws.js
delete mode 100644 js/src/tests/test262/built-ins/TypedArrayConstructors/ctors/typedarray-arg/other-ctor-buffer-ctor-species-not-ctor-throws.js
delete mode 100644 js/src/tests/test262/built-ins/TypedArrayConstructors/ctors/typedarray-arg/other-ctor-buffer-ctor-species-null.js
delete mode 100644 js/src/tests/test262/built-ins/TypedArrayConstructors/ctors/typedarray-arg/other-ctor-buffer-ctor-species-prototype-throws.js
delete mode 100644 js/src/tests/test262/built-ins/TypedArrayConstructors/ctors/typedarray-arg/other-ctor-buffer-ctor-species-undefined.js
delete mode 100644 js/src/tests/test262/built-ins/TypedArrayConstructors/ctors/typedarray-arg/out-of-bounds-when-species-retrieved-different-type.js
delete mode 100644 js/src/tests/test262/built-ins/TypedArrayConstructors/ctors/typedarray-arg/out-of-bounds-when-species-retrieved-same-type.js
delete mode 100644 js/src/tests/test262/built-ins/TypedArrayConstructors/ctors/typedarray-arg/same-ctor-buffer-ctor-access-throws.js
delete mode 100644 js/src/tests/test262/built-ins/TypedArrayConstructors/ctors/typedarray-arg/same-ctor-buffer-ctor-species-custom-proto-from-ctor-realm.js
delete mode 100644 js/src/tests/test262/built-ins/TypedArrayConstructors/ctors/typedarray-arg/same-ctor-buffer-ctor-species-custom.js
delete mode 100644 js/src/tests/test262/built-ins/TypedArrayConstructors/ctors/typedarray-arg/same-ctor-buffer-ctor-species-not-ctor.js
delete mode 100644 js/src/tests/test262/built-ins/TypedArrayConstructors/ctors/typedarray-arg/same-ctor-buffer-ctor-species-prototype-throws.js
delete mode 100644 js/src/tests/test262/built-ins/TypedArrayConstructors/ctors/typedarray-arg/same-ctor-buffer-ctor-species-throws.js
delete mode 100644 js/src/tests/test262/built-ins/TypedArrayConstructors/ctors/typedarray-arg/same-ctor-buffer-ctor-value-not-obj-throws.js
delete mode 100644 js/src/tests/test262/harness/arrayContains.js
create mode 100644 js/src/tests/test262/harness/assert-throws-custom-typeerror.js
create mode 100644 js/src/tests/test262/harness/assert-throws-same-realm.js
create mode 100644 js/src/tests/test262/harness/compare-array-arguments.js
create mode 100644 js/src/tests/test262/harness/compare-array-arraylike.js
create mode 100644 js/src/tests/test262/harness/compare-array-message.js
create mode 100644 js/src/tests/test262/harness/temporalHelpers-one-shift-time-zone.js
create mode 100644 js/src/tests/test262/intl402/DateTimeFormat/prototype/format/temporal-objects-resolved-time-zone.js
create mode 100644 js/src/tests/test262/intl402/DateTimeFormat/prototype/format/temporal-objects-timezone-getoffsetnanosecondsfor-not-callable.js
create mode 100644 js/src/tests/test262/intl402/DateTimeFormat/prototype/formatRange/temporal-objects-resolved-time-zone.js
create mode 100644 js/src/tests/test262/intl402/DateTimeFormat/prototype/formatRange/temporal-objects-timezone-getoffsetnanosecondsfor-not-callable.js
create mode 100644 js/src/tests/test262/intl402/DateTimeFormat/prototype/formatRangeToParts/temporal-objects-resolved-time-zone.js
create mode 100644 js/src/tests/test262/intl402/DateTimeFormat/prototype/formatRangeToParts/temporal-objects-timezone-getoffsetnanosecondsfor-not-callable.js
create mode 100644 js/src/tests/test262/intl402/DateTimeFormat/prototype/formatToParts/temporal-objects-resolved-time-zone.js
create mode 100644 js/src/tests/test262/intl402/DateTimeFormat/prototype/formatToParts/temporal-objects-timezone-getoffsetnanosecondsfor-not-callable.js
create mode 100644 js/src/tests/test262/intl402/DurationFormat/browser.js
create mode 100644 js/src/tests/test262/intl402/DurationFormat/instance/browser.js
create mode 100644 js/src/tests/test262/intl402/DurationFormat/instance/extensibility.js
create mode 100644 js/src/tests/test262/intl402/DurationFormat/instance/length.js
create mode 100644 js/src/tests/test262/intl402/DurationFormat/instance/name.js
create mode 100644 js/src/tests/test262/intl402/DurationFormat/instance/prop-desc.js
create mode 100644 js/src/tests/test262/intl402/DurationFormat/instance/prototype.js
create mode 100644 js/src/tests/test262/intl402/DurationFormat/instance/shell.js
create mode 100644 js/src/tests/test262/intl402/DurationFormat/prototype/browser.js
create mode 100644 js/src/tests/test262/intl402/DurationFormat/prototype/constructor/browser.js
create mode 100644 js/src/tests/test262/intl402/DurationFormat/prototype/constructor/prop-desc.js
create mode 100644 js/src/tests/test262/intl402/DurationFormat/prototype/constructor/shell.js
create mode 100644 js/src/tests/test262/intl402/DurationFormat/prototype/constructor/value.js
create mode 100644 js/src/tests/test262/intl402/DurationFormat/prototype/format/browser.js
create mode 100644 js/src/tests/test262/intl402/DurationFormat/prototype/format/length.js
create mode 100644 js/src/tests/test262/intl402/DurationFormat/prototype/format/name.js
create mode 100644 js/src/tests/test262/intl402/DurationFormat/prototype/format/prop-desc.js
create mode 100644 js/src/tests/test262/intl402/DurationFormat/prototype/format/shell.js
create mode 100644 js/src/tests/test262/intl402/DurationFormat/prototype/format/throw-invoked-as-func.js
create mode 100644 js/src/tests/test262/intl402/DurationFormat/prototype/formatToParts/browser.js
create mode 100644 js/src/tests/test262/intl402/DurationFormat/prototype/formatToParts/length.js
create mode 100644 js/src/tests/test262/intl402/DurationFormat/prototype/formatToParts/name.js
create mode 100644 js/src/tests/test262/intl402/DurationFormat/prototype/formatToParts/prop-desc.js
create mode 100644 js/src/tests/test262/intl402/DurationFormat/prototype/formatToParts/shell.js
create mode 100644 js/src/tests/test262/intl402/DurationFormat/prototype/formatToParts/throw-invoked-as-func.js
create mode 100644 js/src/tests/test262/intl402/DurationFormat/prototype/prototype_attributes.js
create mode 100644 js/src/tests/test262/intl402/DurationFormat/prototype/resolvedOptions/browser.js
create mode 100644 js/src/tests/test262/intl402/DurationFormat/prototype/resolvedOptions/length.js
create mode 100644 js/src/tests/test262/intl402/DurationFormat/prototype/resolvedOptions/name.js
create mode 100644 js/src/tests/test262/intl402/DurationFormat/prototype/resolvedOptions/prop-desc.js
create mode 100644 js/src/tests/test262/intl402/DurationFormat/prototype/resolvedOptions/shell.js
create mode 100644 js/src/tests/test262/intl402/DurationFormat/prototype/resolvedOptions/throw-invoked-as-func.js
create mode 100644 js/src/tests/test262/intl402/DurationFormat/prototype/shell.js
create mode 100644 js/src/tests/test262/intl402/DurationFormat/prototype/toStringTag/browser.js
create mode 100644 js/src/tests/test262/intl402/DurationFormat/prototype/toStringTag/shell.js
create mode 100644 js/src/tests/test262/intl402/DurationFormat/prototype/toStringTag/toString.js
create mode 100644 js/src/tests/test262/intl402/DurationFormat/prototype/toStringTag/toStringTag.js
create mode 100644 js/src/tests/test262/intl402/DurationFormat/shell.js
create mode 100644 js/src/tests/test262/intl402/Intl/DateTimeFormat/browser.js
create mode 100644 js/src/tests/test262/intl402/Intl/DateTimeFormat/prototype/browser.js
create mode 100644 js/src/tests/test262/intl402/Intl/DateTimeFormat/prototype/formatRange/browser.js
create mode 100644 js/src/tests/test262/intl402/Intl/DateTimeFormat/prototype/formatRange/fails-on-distinct-temporal-types.js
create mode 100644 js/src/tests/test262/intl402/Intl/DateTimeFormat/prototype/formatRange/shell.js
create mode 100644 js/src/tests/test262/intl402/Intl/DateTimeFormat/prototype/formatRangeToParts/browser.js
create mode 100644 js/src/tests/test262/intl402/Intl/DateTimeFormat/prototype/formatRangeToParts/fails-on-distinct-temporal-types.js
create mode 100644 js/src/tests/test262/intl402/Intl/DateTimeFormat/prototype/formatRangeToParts/shell.js
create mode 100644 js/src/tests/test262/intl402/Intl/DateTimeFormat/prototype/shell.js
create mode 100644 js/src/tests/test262/intl402/Intl/DateTimeFormat/shell.js
create mode 100644 js/src/tests/test262/intl402/Intl/supportedValuesOf/browser.js
create mode 100644 js/src/tests/test262/intl402/Intl/supportedValuesOf/builtin.js
create mode 100644 js/src/tests/test262/intl402/Intl/supportedValuesOf/calendars-accepted-by-DateTimeFormat.js
create mode 100644 js/src/tests/test262/intl402/Intl/supportedValuesOf/calendars-accepted-by-DisplayNames.js
create mode 100644 js/src/tests/test262/intl402/Intl/supportedValuesOf/calendars.js
create mode 100644 js/src/tests/test262/intl402/Intl/supportedValuesOf/coerced-to-string.js
create mode 100644 js/src/tests/test262/intl402/Intl/supportedValuesOf/collations-accepted-by-Collator.js
create mode 100644 js/src/tests/test262/intl402/Intl/supportedValuesOf/collations.js
create mode 100644 js/src/tests/test262/intl402/Intl/supportedValuesOf/currencies-accepted-by-DisplayNames.js
create mode 100644 js/src/tests/test262/intl402/Intl/supportedValuesOf/currencies-accepted-by-NumberFormat.js
create mode 100644 js/src/tests/test262/intl402/Intl/supportedValuesOf/currencies.js
create mode 100644 js/src/tests/test262/intl402/Intl/supportedValuesOf/invalid-key.js
create mode 100644 js/src/tests/test262/intl402/Intl/supportedValuesOf/length.js
create mode 100644 js/src/tests/test262/intl402/Intl/supportedValuesOf/name.js
create mode 100644 js/src/tests/test262/intl402/Intl/supportedValuesOf/numberingSystems-accepted-by-DateTimeFormat.js
create mode 100644 js/src/tests/test262/intl402/Intl/supportedValuesOf/numberingSystems-accepted-by-NumberFormat.js
create mode 100644 js/src/tests/test262/intl402/Intl/supportedValuesOf/numberingSystems-accepted-by-RelativeTimeFormat.js
create mode 100644 js/src/tests/test262/intl402/Intl/supportedValuesOf/numberingSystems-with-simple-digit-mappings.js
create mode 100644 js/src/tests/test262/intl402/Intl/supportedValuesOf/numberingSystems.js
create mode 100644 js/src/tests/test262/intl402/Intl/supportedValuesOf/prop-desc.js
create mode 100644 js/src/tests/test262/intl402/Intl/supportedValuesOf/shell.js
create mode 100644 js/src/tests/test262/intl402/Intl/supportedValuesOf/timeZones-accepted-by-DateTimeFormat.js
create mode 100644 js/src/tests/test262/intl402/Intl/supportedValuesOf/timeZones.js
create mode 100644 js/src/tests/test262/intl402/Intl/supportedValuesOf/units-accepted-by-NumberFormat.js
create mode 100644 js/src/tests/test262/intl402/Intl/supportedValuesOf/units.js
create mode 100644 js/src/tests/test262/intl402/NumberFormat/constructor-options-roundingMode-invalid.js
create mode 100644 js/src/tests/test262/intl402/NumberFormat/constructor-options-throwing-getters-rounding-increment.js
create mode 100644 js/src/tests/test262/intl402/NumberFormat/constructor-options-throwing-getters-rounding-mode.js
create mode 100644 js/src/tests/test262/intl402/NumberFormat/constructor-options-throwing-getters-rounding-priority.js
create mode 100644 js/src/tests/test262/intl402/NumberFormat/constructor-options-throwing-getters-trailing-zero-display.js
create mode 100644 js/src/tests/test262/intl402/NumberFormat/constructor-roundingIncrement-invalid.js
create mode 100644 js/src/tests/test262/intl402/NumberFormat/constructor-roundingIncrement.js
create mode 100644 js/src/tests/test262/intl402/NumberFormat/constructor-signDisplay-negative.js
create mode 100644 js/src/tests/test262/intl402/NumberFormat/constructor-trailingZeroDisplay-invalid.js
create mode 100644 js/src/tests/test262/intl402/NumberFormat/constructor-trailingZeroDisplay.js
create mode 100644 js/src/tests/test262/intl402/NumberFormat/prototype/format/format-max-min-fraction-significant-digits.js
create mode 100644 js/src/tests/test262/intl402/NumberFormat/prototype/format/format-rounding-increment-1.js
create mode 100644 js/src/tests/test262/intl402/NumberFormat/prototype/format/format-rounding-increment-10.js
create mode 100644 js/src/tests/test262/intl402/NumberFormat/prototype/format/format-rounding-increment-100.js
create mode 100644 js/src/tests/test262/intl402/NumberFormat/prototype/format/format-rounding-increment-1000.js
create mode 100644 js/src/tests/test262/intl402/NumberFormat/prototype/format/format-rounding-increment-2.js
create mode 100644 js/src/tests/test262/intl402/NumberFormat/prototype/format/format-rounding-increment-20.js
create mode 100644 js/src/tests/test262/intl402/NumberFormat/prototype/format/format-rounding-increment-200.js
create mode 100644 js/src/tests/test262/intl402/NumberFormat/prototype/format/format-rounding-increment-2000.js
create mode 100644 js/src/tests/test262/intl402/NumberFormat/prototype/format/format-rounding-increment-25.js
create mode 100644 js/src/tests/test262/intl402/NumberFormat/prototype/format/format-rounding-increment-250.js
create mode 100644 js/src/tests/test262/intl402/NumberFormat/prototype/format/format-rounding-increment-2500.js
create mode 100644 js/src/tests/test262/intl402/NumberFormat/prototype/format/format-rounding-increment-5.js
create mode 100644 js/src/tests/test262/intl402/NumberFormat/prototype/format/format-rounding-increment-50.js
create mode 100644 js/src/tests/test262/intl402/NumberFormat/prototype/format/format-rounding-increment-500.js
create mode 100644 js/src/tests/test262/intl402/NumberFormat/prototype/format/format-rounding-increment-5000.js
create mode 100644 js/src/tests/test262/intl402/NumberFormat/prototype/format/format-rounding-mode-ceil.js
create mode 100644 js/src/tests/test262/intl402/NumberFormat/prototype/format/format-rounding-mode-expand.js
create mode 100644 js/src/tests/test262/intl402/NumberFormat/prototype/format/format-rounding-mode-floor.js
create mode 100644 js/src/tests/test262/intl402/NumberFormat/prototype/format/format-rounding-mode-half-ceil.js
create mode 100644 js/src/tests/test262/intl402/NumberFormat/prototype/format/format-rounding-mode-half-even.js
create mode 100644 js/src/tests/test262/intl402/NumberFormat/prototype/format/format-rounding-mode-half-expand.js
create mode 100644 js/src/tests/test262/intl402/NumberFormat/prototype/format/format-rounding-mode-half-floor.js
create mode 100644 js/src/tests/test262/intl402/NumberFormat/prototype/format/format-rounding-mode-half-trunc.js
create mode 100644 js/src/tests/test262/intl402/NumberFormat/prototype/format/format-rounding-mode-trunc.js
create mode 100644 js/src/tests/test262/intl402/NumberFormat/prototype/format/format-rounding-priority-auto.js
create mode 100644 js/src/tests/test262/intl402/NumberFormat/prototype/format/format-rounding-priority-less-precision.js
create mode 100644 js/src/tests/test262/intl402/NumberFormat/prototype/format/format-rounding-priority-more-precision.js
create mode 100644 js/src/tests/test262/intl402/NumberFormat/prototype/format/signDisplay-negative-currency-de-DE.js
create mode 100644 js/src/tests/test262/intl402/NumberFormat/prototype/format/signDisplay-negative-currency-en-US.js
create mode 100644 js/src/tests/test262/intl402/NumberFormat/prototype/format/signDisplay-negative-currency-ja-JP.js
create mode 100644 js/src/tests/test262/intl402/NumberFormat/prototype/format/signDisplay-negative-currency-ko-KR.js
create mode 100644 js/src/tests/test262/intl402/NumberFormat/prototype/format/signDisplay-negative-currency-zh-TW.js
create mode 100644 js/src/tests/test262/intl402/NumberFormat/prototype/format/signDisplay-negative-de-DE.js
create mode 100644 js/src/tests/test262/intl402/NumberFormat/prototype/format/signDisplay-negative-en-US.js
create mode 100644 js/src/tests/test262/intl402/NumberFormat/prototype/format/signDisplay-negative-ja-JP.js
create mode 100644 js/src/tests/test262/intl402/NumberFormat/prototype/format/signDisplay-negative-ko-KR.js
create mode 100644 js/src/tests/test262/intl402/NumberFormat/prototype/format/signDisplay-negative-zh-TW.js
create mode 100644 js/src/tests/test262/intl402/NumberFormat/prototype/format/useGrouping-de-DE.js
create mode 100644 js/src/tests/test262/intl402/NumberFormat/prototype/format/useGrouping-en-IN.js
create mode 100644 js/src/tests/test262/intl402/NumberFormat/prototype/format/useGrouping-en-US.js
create mode 100644 js/src/tests/test262/intl402/NumberFormat/prototype/format/useGrouping-extended-de-DE.js
create mode 100644 js/src/tests/test262/intl402/NumberFormat/prototype/format/useGrouping-extended-en-IN.js
create mode 100644 js/src/tests/test262/intl402/NumberFormat/prototype/format/useGrouping-extended-en-US.js
create mode 100644 js/src/tests/test262/intl402/NumberFormat/prototype/format/value-decimal-string.js
create mode 100644 js/src/tests/test262/intl402/NumberFormat/prototype/formatRange/argument-to-Intlmathematicalvalue-throws.js
create mode 100644 js/src/tests/test262/intl402/NumberFormat/prototype/formatRange/browser.js
create mode 100644 js/src/tests/test262/intl402/NumberFormat/prototype/formatRange/builtin.js
create mode 100644 js/src/tests/test262/intl402/NumberFormat/prototype/formatRange/en-US.js
create mode 100644 js/src/tests/test262/intl402/NumberFormat/prototype/formatRange/invoked-as-func.js
create mode 100644 js/src/tests/test262/intl402/NumberFormat/prototype/formatRange/length.js
create mode 100644 js/src/tests/test262/intl402/NumberFormat/prototype/formatRange/name.js
create mode 100644 js/src/tests/test262/intl402/NumberFormat/prototype/formatRange/nan-arguments-throws.js
create mode 100644 js/src/tests/test262/intl402/NumberFormat/prototype/formatRange/prop-desc.js
create mode 100644 js/src/tests/test262/intl402/NumberFormat/prototype/formatRange/pt-PT.js
create mode 100644 js/src/tests/test262/intl402/NumberFormat/prototype/formatRange/shell.js
create mode 100644 js/src/tests/test262/intl402/NumberFormat/prototype/formatRange/undefined-arguments-throws.js
create mode 100644 js/src/tests/test262/intl402/NumberFormat/prototype/formatRange/x-greater-than-y-throws.js
create mode 100644 js/src/tests/test262/intl402/NumberFormat/prototype/formatRangeToParts/argument-to-Intlmathematicalvalue-throws.js
create mode 100644 js/src/tests/test262/intl402/NumberFormat/prototype/formatRangeToParts/browser.js
create mode 100644 js/src/tests/test262/intl402/NumberFormat/prototype/formatRangeToParts/builtin.js
create mode 100644 js/src/tests/test262/intl402/NumberFormat/prototype/formatRangeToParts/en-US.js
create mode 100644 js/src/tests/test262/intl402/NumberFormat/prototype/formatRangeToParts/invoked-as-func.js
create mode 100644 js/src/tests/test262/intl402/NumberFormat/prototype/formatRangeToParts/length.js
create mode 100644 js/src/tests/test262/intl402/NumberFormat/prototype/formatRangeToParts/name.js
create mode 100644 js/src/tests/test262/intl402/NumberFormat/prototype/formatRangeToParts/nan-arguments-throws.js
create mode 100644 js/src/tests/test262/intl402/NumberFormat/prototype/formatRangeToParts/prop-desc.js
create mode 100644 js/src/tests/test262/intl402/NumberFormat/prototype/formatRangeToParts/shell.js
create mode 100644 js/src/tests/test262/intl402/NumberFormat/prototype/formatRangeToParts/undefined-arguments-throws.js
create mode 100644 js/src/tests/test262/intl402/NumberFormat/prototype/formatRangeToParts/x-greater-than-y-throws.js
create mode 100644 js/src/tests/test262/intl402/NumberFormat/prototype/formatToParts/signDisplay-negative-currency-de-DE.js
create mode 100644 js/src/tests/test262/intl402/NumberFormat/prototype/formatToParts/signDisplay-negative-currency-en-US.js
create mode 100644 js/src/tests/test262/intl402/NumberFormat/prototype/formatToParts/signDisplay-negative-currency-ja-JP.js
create mode 100644 js/src/tests/test262/intl402/NumberFormat/prototype/formatToParts/signDisplay-negative-currency-ko-KR.js
create mode 100644 js/src/tests/test262/intl402/NumberFormat/prototype/formatToParts/signDisplay-negative-currency-zh-TW.js
create mode 100644 js/src/tests/test262/intl402/NumberFormat/prototype/formatToParts/signDisplay-negative-de-DE.js
create mode 100644 js/src/tests/test262/intl402/NumberFormat/prototype/formatToParts/signDisplay-negative-en-US.js
create mode 100644 js/src/tests/test262/intl402/NumberFormat/prototype/formatToParts/signDisplay-negative-ja-JP.js
create mode 100644 js/src/tests/test262/intl402/NumberFormat/prototype/formatToParts/signDisplay-negative-ko-KR.js
create mode 100644 js/src/tests/test262/intl402/NumberFormat/prototype/formatToParts/signDisplay-negative-zh-TW.js
create mode 100644 js/src/tests/test262/intl402/NumberFormat/prototype/resolvedOptions/roundingMode.js
create mode 100644 js/src/tests/test262/intl402/NumberFormat/test-option-roundingPriority.js
create mode 100644 js/src/tests/test262/intl402/NumberFormat/test-option-useGrouping-extended.js
create mode 100644 js/src/tests/test262/intl402/PluralRules/prototype/selectRange/argument-tonumber-throws.js
create mode 100644 js/src/tests/test262/intl402/PluralRules/prototype/selectRange/browser.js
create mode 100644 js/src/tests/test262/intl402/PluralRules/prototype/selectRange/default-en-us.js
create mode 100644 js/src/tests/test262/intl402/PluralRules/prototype/selectRange/invoked-as-func.js
create mode 100644 js/src/tests/test262/intl402/PluralRules/prototype/selectRange/length.js
create mode 100644 js/src/tests/test262/intl402/PluralRules/prototype/selectRange/name.js
create mode 100644 js/src/tests/test262/intl402/PluralRules/prototype/selectRange/nan-arguments-throws.js
create mode 100644 js/src/tests/test262/intl402/PluralRules/prototype/selectRange/prop-desc.js
create mode 100644 js/src/tests/test262/intl402/PluralRules/prototype/selectRange/shell.js
create mode 100644 js/src/tests/test262/intl402/PluralRules/prototype/selectRange/undefined-arguments-throws.js
create mode 100644 js/src/tests/test262/intl402/PluralRules/prototype/selectRange/x-greater-than-y-throws.js
create mode 100644 js/src/tests/test262/intl402/Temporal/Calendar/browser.js
create mode 100644 js/src/tests/test262/intl402/Temporal/Calendar/from/basic.js
create mode 100644 js/src/tests/test262/intl402/Temporal/Calendar/from/browser.js
create mode 100644 js/src/tests/test262/intl402/Temporal/Calendar/from/shell.js
create mode 100644 js/src/tests/test262/intl402/Temporal/Calendar/prototype/browser.js
create mode 100644 js/src/tests/test262/intl402/Temporal/Calendar/prototype/dateAdd/browser.js
create mode 100644 js/src/tests/test262/intl402/Temporal/Calendar/prototype/dateAdd/date-infinity-throws-rangeerror.js
create mode 100644 js/src/tests/test262/intl402/Temporal/Calendar/prototype/dateAdd/shell.js
create mode 100644 js/src/tests/test262/intl402/Temporal/Calendar/prototype/dateFromFields/browser.js
create mode 100644 js/src/tests/test262/intl402/Temporal/Calendar/prototype/dateFromFields/infinity-throws-rangeerror.js
create mode 100644 js/src/tests/test262/intl402/Temporal/Calendar/prototype/dateFromFields/shell.js
create mode 100644 js/src/tests/test262/intl402/Temporal/Calendar/prototype/dateUntil/argument-infinity-throws-rangeerror.js
create mode 100644 js/src/tests/test262/intl402/Temporal/Calendar/prototype/dateUntil/browser.js
create mode 100644 js/src/tests/test262/intl402/Temporal/Calendar/prototype/dateUntil/shell.js
create mode 100644 js/src/tests/test262/intl402/Temporal/Calendar/prototype/day/browser.js
create mode 100644 js/src/tests/test262/intl402/Temporal/Calendar/prototype/day/infinity-throws-rangeerror.js
create mode 100644 js/src/tests/test262/intl402/Temporal/Calendar/prototype/day/shell.js
create mode 100644 js/src/tests/test262/intl402/Temporal/Calendar/prototype/dayOfWeek/browser.js
create mode 100644 js/src/tests/test262/intl402/Temporal/Calendar/prototype/dayOfWeek/infinity-throws-rangeerror.js
create mode 100644 js/src/tests/test262/intl402/Temporal/Calendar/prototype/dayOfWeek/shell.js
create mode 100644 js/src/tests/test262/intl402/Temporal/Calendar/prototype/dayOfYear/browser.js
create mode 100644 js/src/tests/test262/intl402/Temporal/Calendar/prototype/dayOfYear/infinity-throws-rangeerror.js
create mode 100644 js/src/tests/test262/intl402/Temporal/Calendar/prototype/dayOfYear/shell.js
create mode 100644 js/src/tests/test262/intl402/Temporal/Calendar/prototype/daysInMonth/browser.js
create mode 100644 js/src/tests/test262/intl402/Temporal/Calendar/prototype/daysInMonth/infinity-throws-rangeerror.js
create mode 100644 js/src/tests/test262/intl402/Temporal/Calendar/prototype/daysInMonth/shell.js
create mode 100644 js/src/tests/test262/intl402/Temporal/Calendar/prototype/daysInWeek/browser.js
create mode 100644 js/src/tests/test262/intl402/Temporal/Calendar/prototype/daysInWeek/infinity-throws-rangeerror.js
create mode 100644 js/src/tests/test262/intl402/Temporal/Calendar/prototype/daysInWeek/shell.js
create mode 100644 js/src/tests/test262/intl402/Temporal/Calendar/prototype/daysInYear/browser.js
create mode 100644 js/src/tests/test262/intl402/Temporal/Calendar/prototype/daysInYear/infinity-throws-rangeerror.js
create mode 100644 js/src/tests/test262/intl402/Temporal/Calendar/prototype/daysInYear/shell.js
create mode 100644 js/src/tests/test262/intl402/Temporal/Calendar/prototype/era/argument-string-invalid.js
create mode 100644 js/src/tests/test262/intl402/Temporal/Calendar/prototype/era/argument-string-with-utc-designator.js
create mode 100644 js/src/tests/test262/intl402/Temporal/Calendar/prototype/era/argument-zoneddatetime-timezone-getoffsetnanosecondsfor-not-callable.js
rename js/src/tests/test262/{built-ins => intl402}/Temporal/Calendar/prototype/era/branding.js (100%)
create mode 100644 js/src/tests/test262/intl402/Temporal/Calendar/prototype/era/browser.js
create mode 100644 js/src/tests/test262/intl402/Temporal/Calendar/prototype/era/builtin.js
create mode 100644 js/src/tests/test262/intl402/Temporal/Calendar/prototype/era/calendar-datefromfields-called-with-options-undefined.js
create mode 100644 js/src/tests/test262/intl402/Temporal/Calendar/prototype/era/infinity-throws-rangeerror.js
create mode 100644 js/src/tests/test262/intl402/Temporal/Calendar/prototype/era/length.js
create mode 100644 js/src/tests/test262/intl402/Temporal/Calendar/prototype/era/name.js
create mode 100644 js/src/tests/test262/intl402/Temporal/Calendar/prototype/era/not-a-constructor.js
create mode 100644 js/src/tests/test262/intl402/Temporal/Calendar/prototype/era/prop-desc.js
create mode 100644 js/src/tests/test262/intl402/Temporal/Calendar/prototype/era/shell.js
create mode 100644 js/src/tests/test262/intl402/Temporal/Calendar/prototype/era/year-zero.js
create mode 100644 js/src/tests/test262/intl402/Temporal/Calendar/prototype/eraYear/argument-string-invalid.js
create mode 100644 js/src/tests/test262/intl402/Temporal/Calendar/prototype/eraYear/argument-string-with-utc-designator.js
create mode 100644 js/src/tests/test262/intl402/Temporal/Calendar/prototype/eraYear/argument-zoneddatetime-timezone-getoffsetnanosecondsfor-not-callable.js
rename js/src/tests/test262/{built-ins => intl402}/Temporal/Calendar/prototype/eraYear/branding.js (100%)
create mode 100644 js/src/tests/test262/intl402/Temporal/Calendar/prototype/eraYear/browser.js
create mode 100644 js/src/tests/test262/intl402/Temporal/Calendar/prototype/eraYear/builtin.js
create mode 100644 js/src/tests/test262/intl402/Temporal/Calendar/prototype/eraYear/calendar-datefromfields-called-with-options-undefined.js
create mode 100644 js/src/tests/test262/intl402/Temporal/Calendar/prototype/eraYear/infinity-throws-rangeerror.js
create mode 100644 js/src/tests/test262/intl402/Temporal/Calendar/prototype/eraYear/length.js
create mode 100644 js/src/tests/test262/intl402/Temporal/Calendar/prototype/eraYear/name.js
create mode 100644 js/src/tests/test262/intl402/Temporal/Calendar/prototype/eraYear/not-a-constructor.js
create mode 100644 js/src/tests/test262/intl402/Temporal/Calendar/prototype/eraYear/prop-desc.js
create mode 100644 js/src/tests/test262/intl402/Temporal/Calendar/prototype/eraYear/shell.js
create mode 100644 js/src/tests/test262/intl402/Temporal/Calendar/prototype/eraYear/year-zero.js
create mode 100644 js/src/tests/test262/intl402/Temporal/Calendar/prototype/inLeapYear/browser.js
create mode 100644 js/src/tests/test262/intl402/Temporal/Calendar/prototype/inLeapYear/infinity-throws-rangeerror.js
create mode 100644 js/src/tests/test262/intl402/Temporal/Calendar/prototype/inLeapYear/shell.js
create mode 100644 js/src/tests/test262/intl402/Temporal/Calendar/prototype/month/browser.js
create mode 100644 js/src/tests/test262/intl402/Temporal/Calendar/prototype/month/infinity-throws-rangeerror.js
create mode 100644 js/src/tests/test262/intl402/Temporal/Calendar/prototype/month/shell.js
create mode 100644 js/src/tests/test262/intl402/Temporal/Calendar/prototype/monthCode/browser.js
create mode 100644 js/src/tests/test262/intl402/Temporal/Calendar/prototype/monthCode/infinity-throws-rangeerror.js
create mode 100644 js/src/tests/test262/intl402/Temporal/Calendar/prototype/monthCode/shell.js
create mode 100644 js/src/tests/test262/intl402/Temporal/Calendar/prototype/monthDayFromFields/browser.js
create mode 100644 js/src/tests/test262/intl402/Temporal/Calendar/prototype/monthDayFromFields/infinity-throws-rangeerror.js
create mode 100644 js/src/tests/test262/intl402/Temporal/Calendar/prototype/monthDayFromFields/shell.js
create mode 100644 js/src/tests/test262/intl402/Temporal/Calendar/prototype/monthsInYear/browser.js
create mode 100644 js/src/tests/test262/intl402/Temporal/Calendar/prototype/monthsInYear/infinity-throws-rangeerror.js
create mode 100644 js/src/tests/test262/intl402/Temporal/Calendar/prototype/monthsInYear/shell.js
create mode 100644 js/src/tests/test262/intl402/Temporal/Calendar/prototype/shell.js
create mode 100644 js/src/tests/test262/intl402/Temporal/Calendar/prototype/weekOfYear/browser.js
create mode 100644 js/src/tests/test262/intl402/Temporal/Calendar/prototype/weekOfYear/infinity-throws-rangeerror.js
create mode 100644 js/src/tests/test262/intl402/Temporal/Calendar/prototype/weekOfYear/shell.js
create mode 100644 js/src/tests/test262/intl402/Temporal/Calendar/prototype/year/browser.js
create mode 100644 js/src/tests/test262/intl402/Temporal/Calendar/prototype/year/infinity-throws-rangeerror.js
create mode 100644 js/src/tests/test262/intl402/Temporal/Calendar/prototype/year/shell.js
create mode 100644 js/src/tests/test262/intl402/Temporal/Calendar/prototype/yearMonthFromFields/browser.js
create mode 100644 js/src/tests/test262/intl402/Temporal/Calendar/prototype/yearMonthFromFields/infinity-throws-rangeerror.js
create mode 100644 js/src/tests/test262/intl402/Temporal/Calendar/prototype/yearMonthFromFields/shell.js
create mode 100644 js/src/tests/test262/intl402/Temporal/Calendar/shell.js
create mode 100644 js/src/tests/test262/intl402/Temporal/Duration/browser.js
create mode 100644 js/src/tests/test262/intl402/Temporal/Duration/prototype/add/browser.js
create mode 100644 js/src/tests/test262/intl402/Temporal/Duration/prototype/add/relativeto-infinity-throws-rangeerror.js
create mode 100644 js/src/tests/test262/intl402/Temporal/Duration/prototype/add/relativeto-string-datetime.js
create mode 100644 js/src/tests/test262/intl402/Temporal/Duration/prototype/add/shell.js
create mode 100644 js/src/tests/test262/intl402/Temporal/Duration/prototype/browser.js
create mode 100644 js/src/tests/test262/intl402/Temporal/Duration/prototype/round/browser.js
create mode 100644 js/src/tests/test262/intl402/Temporal/Duration/prototype/round/relativeto-infinity-throws-rangeerror.js
create mode 100644 js/src/tests/test262/intl402/Temporal/Duration/prototype/round/relativeto-string-datetime.js
create mode 100644 js/src/tests/test262/intl402/Temporal/Duration/prototype/round/shell.js
create mode 100644 js/src/tests/test262/intl402/Temporal/Duration/prototype/shell.js
create mode 100644 js/src/tests/test262/intl402/Temporal/Duration/prototype/subtract/browser.js
create mode 100644 js/src/tests/test262/intl402/Temporal/Duration/prototype/subtract/relativeto-infinity-throws-rangeerror.js
create mode 100644 js/src/tests/test262/intl402/Temporal/Duration/prototype/subtract/relativeto-string-datetime.js
create mode 100644 js/src/tests/test262/intl402/Temporal/Duration/prototype/subtract/shell.js
create mode 100644 js/src/tests/test262/intl402/Temporal/Duration/prototype/total/browser.js
create mode 100644 js/src/tests/test262/intl402/Temporal/Duration/prototype/total/relativeto-infinity-throws-rangeerror.js
create mode 100644 js/src/tests/test262/intl402/Temporal/Duration/prototype/total/relativeto-string-datetime.js
create mode 100644 js/src/tests/test262/intl402/Temporal/Duration/prototype/total/shell.js
create mode 100644 js/src/tests/test262/intl402/Temporal/Duration/shell.js
create mode 100644 js/src/tests/test262/intl402/Temporal/Instant/browser.js
create mode 100644 js/src/tests/test262/intl402/Temporal/Instant/prototype/browser.js
create mode 100644 js/src/tests/test262/intl402/Temporal/Instant/prototype/shell.js
create mode 100644 js/src/tests/test262/intl402/Temporal/Instant/prototype/toLocaleString/browser.js
create mode 100644 js/src/tests/test262/intl402/Temporal/Instant/prototype/toLocaleString/locales-undefined.js
create mode 100644 js/src/tests/test262/intl402/Temporal/Instant/prototype/toLocaleString/options-conflict.js
create mode 100644 js/src/tests/test262/intl402/Temporal/Instant/prototype/toLocaleString/options-undefined.js
create mode 100644 js/src/tests/test262/intl402/Temporal/Instant/prototype/toLocaleString/shell.js
create mode 100644 js/src/tests/test262/intl402/Temporal/Instant/prototype/toString/browser.js
create mode 100644 js/src/tests/test262/intl402/Temporal/Instant/prototype/toString/shell.js
create mode 100644 js/src/tests/test262/intl402/Temporal/Instant/prototype/toString/timezone-string-datetime.js
create mode 100644 js/src/tests/test262/intl402/Temporal/Instant/prototype/toZonedDateTime/browser.js
create mode 100644 js/src/tests/test262/intl402/Temporal/Instant/prototype/toZonedDateTime/shell.js
create mode 100644 js/src/tests/test262/intl402/Temporal/Instant/prototype/toZonedDateTime/timezone-string-datetime.js
create mode 100644 js/src/tests/test262/intl402/Temporal/Instant/prototype/toZonedDateTimeISO/browser.js
create mode 100644 js/src/tests/test262/intl402/Temporal/Instant/prototype/toZonedDateTimeISO/shell.js
create mode 100644 js/src/tests/test262/intl402/Temporal/Instant/prototype/toZonedDateTimeISO/timezone-string-datetime.js
create mode 100644 js/src/tests/test262/intl402/Temporal/Instant/shell.js
create mode 100644 js/src/tests/test262/intl402/Temporal/Now/browser.js
create mode 100644 js/src/tests/test262/intl402/Temporal/Now/plainDate/browser.js
create mode 100644 js/src/tests/test262/intl402/Temporal/Now/plainDate/calendar-string.js
create mode 100644 js/src/tests/test262/intl402/Temporal/Now/plainDate/shell.js
create mode 100644 js/src/tests/test262/intl402/Temporal/Now/plainDateTime/browser.js
create mode 100644 js/src/tests/test262/intl402/Temporal/Now/plainDateTime/calendar-string.js
create mode 100644 js/src/tests/test262/intl402/Temporal/Now/plainDateTime/shell.js
create mode 100644 js/src/tests/test262/intl402/Temporal/Now/plainDateTimeISO/browser.js
create mode 100644 js/src/tests/test262/intl402/Temporal/Now/plainDateTimeISO/shell.js
create mode 100644 js/src/tests/test262/intl402/Temporal/Now/plainDateTimeISO/timezone-string-datetime.js
create mode 100644 js/src/tests/test262/intl402/Temporal/Now/shell.js
create mode 100644 js/src/tests/test262/intl402/Temporal/Now/zonedDateTime/browser.js
create mode 100644 js/src/tests/test262/intl402/Temporal/Now/zonedDateTime/calendar-string.js
create mode 100644 js/src/tests/test262/intl402/Temporal/Now/zonedDateTime/calendar-timezone-string.js
create mode 100644 js/src/tests/test262/intl402/Temporal/Now/zonedDateTime/shell.js
create mode 100644 js/src/tests/test262/intl402/Temporal/Now/zonedDateTime/timezone-string-datetime.js
create mode 100644 js/src/tests/test262/intl402/Temporal/Now/zonedDateTimeISO/browser.js
create mode 100644 js/src/tests/test262/intl402/Temporal/Now/zonedDateTimeISO/shell.js
create mode 100644 js/src/tests/test262/intl402/Temporal/Now/zonedDateTimeISO/timezone-string-datetime.js
create mode 100644 js/src/tests/test262/intl402/Temporal/Now/zonedDateTimeISO/timezone-string.js
create mode 100644 js/src/tests/test262/intl402/Temporal/PlainDate/browser.js
create mode 100644 js/src/tests/test262/intl402/Temporal/PlainDate/compare/browser.js
create mode 100644 js/src/tests/test262/intl402/Temporal/PlainDate/compare/infinity-throws-rangeerror.js
create mode 100644 js/src/tests/test262/intl402/Temporal/PlainDate/compare/shell.js
create mode 100644 js/src/tests/test262/intl402/Temporal/PlainDate/from/browser.js
create mode 100644 js/src/tests/test262/intl402/Temporal/PlainDate/from/infinity-throws-rangeerror.js
create mode 100644 js/src/tests/test262/intl402/Temporal/PlainDate/from/shell.js
create mode 100644 js/src/tests/test262/intl402/Temporal/PlainDate/prototype/browser.js
create mode 100644 js/src/tests/test262/intl402/Temporal/PlainDate/prototype/equals/browser.js
create mode 100644 js/src/tests/test262/intl402/Temporal/PlainDate/prototype/equals/infinity-throws-rangeerror.js
create mode 100644 js/src/tests/test262/intl402/Temporal/PlainDate/prototype/equals/shell.js
rename js/src/tests/test262/{built-ins => intl402}/Temporal/PlainDate/prototype/era/branding.js (100%)
create mode 100644 js/src/tests/test262/intl402/Temporal/PlainDate/prototype/era/browser.js
create mode 100644 js/src/tests/test262/intl402/Temporal/PlainDate/prototype/era/prop-desc.js
create mode 100644 js/src/tests/test262/intl402/Temporal/PlainDate/prototype/era/shell.js
rename js/src/tests/test262/{built-ins => intl402}/Temporal/PlainDate/prototype/eraYear/branding.js (100%)
create mode 100644 js/src/tests/test262/intl402/Temporal/PlainDate/prototype/eraYear/browser.js
create mode 100644 js/src/tests/test262/intl402/Temporal/PlainDate/prototype/eraYear/calendar-returns-infinity.js
create mode 100644 js/src/tests/test262/intl402/Temporal/PlainDate/prototype/eraYear/prop-desc.js
create mode 100644 js/src/tests/test262/intl402/Temporal/PlainDate/prototype/eraYear/shell.js
create mode 100644 js/src/tests/test262/intl402/Temporal/PlainDate/prototype/shell.js
create mode 100644 js/src/tests/test262/intl402/Temporal/PlainDate/prototype/since/browser.js
create mode 100644 js/src/tests/test262/intl402/Temporal/PlainDate/prototype/since/infinity-throws-rangeerror.js
create mode 100644 js/src/tests/test262/intl402/Temporal/PlainDate/prototype/since/shell.js
create mode 100644 js/src/tests/test262/intl402/Temporal/PlainDate/prototype/toLocaleString/browser.js
create mode 100644 js/src/tests/test262/intl402/Temporal/PlainDate/prototype/toLocaleString/locales-undefined.js
create mode 100644 js/src/tests/test262/intl402/Temporal/PlainDate/prototype/toLocaleString/options-conflict.js
create mode 100644 js/src/tests/test262/intl402/Temporal/PlainDate/prototype/toLocaleString/options-undefined.js
create mode 100644 js/src/tests/test262/intl402/Temporal/PlainDate/prototype/toLocaleString/resolved-time-zone.js
create mode 100644 js/src/tests/test262/intl402/Temporal/PlainDate/prototype/toLocaleString/shell.js
create mode 100644 js/src/tests/test262/intl402/Temporal/PlainDate/prototype/toLocaleString/timezone-getoffsetnanosecondsfor-not-callable.js
create mode 100644 js/src/tests/test262/intl402/Temporal/PlainDate/prototype/toZonedDateTime/browser.js
create mode 100644 js/src/tests/test262/intl402/Temporal/PlainDate/prototype/toZonedDateTime/shell.js
create mode 100644 js/src/tests/test262/intl402/Temporal/PlainDate/prototype/toZonedDateTime/timezone-string-datetime.js
create mode 100644 js/src/tests/test262/intl402/Temporal/PlainDate/prototype/until/browser.js
create mode 100644 js/src/tests/test262/intl402/Temporal/PlainDate/prototype/until/infinity-throws-rangeerror.js
create mode 100644 js/src/tests/test262/intl402/Temporal/PlainDate/prototype/until/shell.js
create mode 100644 js/src/tests/test262/intl402/Temporal/PlainDate/shell.js
create mode 100644 js/src/tests/test262/intl402/Temporal/PlainDateTime/browser.js
create mode 100644 js/src/tests/test262/intl402/Temporal/PlainDateTime/compare/browser.js
create mode 100644 js/src/tests/test262/intl402/Temporal/PlainDateTime/compare/infinity-throws-rangeerror.js
create mode 100644 js/src/tests/test262/intl402/Temporal/PlainDateTime/compare/shell.js
create mode 100644 js/src/tests/test262/intl402/Temporal/PlainDateTime/from/browser.js
create mode 100644 js/src/tests/test262/intl402/Temporal/PlainDateTime/from/infinity-throws-rangeerror.js
create mode 100644 js/src/tests/test262/intl402/Temporal/PlainDateTime/from/shell.js
create mode 100644 js/src/tests/test262/intl402/Temporal/PlainDateTime/prototype/browser.js
create mode 100644 js/src/tests/test262/intl402/Temporal/PlainDateTime/prototype/equals/browser.js
create mode 100644 js/src/tests/test262/intl402/Temporal/PlainDateTime/prototype/equals/infinity-throws-rangeerror.js
create mode 100644 js/src/tests/test262/intl402/Temporal/PlainDateTime/prototype/equals/shell.js
rename js/src/tests/test262/{built-ins => intl402}/Temporal/PlainDateTime/prototype/era/branding.js (100%)
create mode 100644 js/src/tests/test262/intl402/Temporal/PlainDateTime/prototype/era/browser.js
create mode 100644 js/src/tests/test262/intl402/Temporal/PlainDateTime/prototype/era/prop-desc.js
create mode 100644 js/src/tests/test262/intl402/Temporal/PlainDateTime/prototype/era/shell.js
rename js/src/tests/test262/{built-ins => intl402}/Temporal/PlainDateTime/prototype/eraYear/branding.js (100%)
create mode 100644 js/src/tests/test262/intl402/Temporal/PlainDateTime/prototype/eraYear/browser.js
create mode 100644 js/src/tests/test262/intl402/Temporal/PlainDateTime/prototype/eraYear/calendar-returns-infinity.js
create mode 100644 js/src/tests/test262/intl402/Temporal/PlainDateTime/prototype/eraYear/prop-desc.js
create mode 100644 js/src/tests/test262/intl402/Temporal/PlainDateTime/prototype/eraYear/shell.js
create mode 100644 js/src/tests/test262/intl402/Temporal/PlainDateTime/prototype/shell.js
create mode 100644 js/src/tests/test262/intl402/Temporal/PlainDateTime/prototype/since/browser.js
create mode 100644 js/src/tests/test262/intl402/Temporal/PlainDateTime/prototype/since/infinity-throws-rangeerror.js
create mode 100644 js/src/tests/test262/intl402/Temporal/PlainDateTime/prototype/since/shell.js
create mode 100644 js/src/tests/test262/intl402/Temporal/PlainDateTime/prototype/toLocaleString/browser.js
create mode 100644 js/src/tests/test262/intl402/Temporal/PlainDateTime/prototype/toLocaleString/locales-undefined.js
create mode 100644 js/src/tests/test262/intl402/Temporal/PlainDateTime/prototype/toLocaleString/options-conflict.js
create mode 100644 js/src/tests/test262/intl402/Temporal/PlainDateTime/prototype/toLocaleString/options-undefined.js
create mode 100644 js/src/tests/test262/intl402/Temporal/PlainDateTime/prototype/toLocaleString/resolved-time-zone.js
create mode 100644 js/src/tests/test262/intl402/Temporal/PlainDateTime/prototype/toLocaleString/shell.js
create mode 100644 js/src/tests/test262/intl402/Temporal/PlainDateTime/prototype/toLocaleString/timezone-getoffsetnanosecondsfor-not-callable.js
create mode 100644 js/src/tests/test262/intl402/Temporal/PlainDateTime/prototype/toZonedDateTime/browser.js
create mode 100644 js/src/tests/test262/intl402/Temporal/PlainDateTime/prototype/toZonedDateTime/shell.js
create mode 100644 js/src/tests/test262/intl402/Temporal/PlainDateTime/prototype/toZonedDateTime/timezone-string-datetime.js
create mode 100644 js/src/tests/test262/intl402/Temporal/PlainDateTime/prototype/until/browser.js
create mode 100644 js/src/tests/test262/intl402/Temporal/PlainDateTime/prototype/until/infinity-throws-rangeerror.js
create mode 100644 js/src/tests/test262/intl402/Temporal/PlainDateTime/prototype/until/shell.js
create mode 100644 js/src/tests/test262/intl402/Temporal/PlainDateTime/prototype/withPlainDate/browser.js
create mode 100644 js/src/tests/test262/intl402/Temporal/PlainDateTime/prototype/withPlainDate/infinity-throws-rangeerror.js
create mode 100644 js/src/tests/test262/intl402/Temporal/PlainDateTime/prototype/withPlainDate/shell.js
create mode 100644 js/src/tests/test262/intl402/Temporal/PlainDateTime/shell.js
create mode 100644 js/src/tests/test262/intl402/Temporal/PlainMonthDay/browser.js
create mode 100644 js/src/tests/test262/intl402/Temporal/PlainMonthDay/prototype/browser.js
create mode 100644 js/src/tests/test262/intl402/Temporal/PlainMonthDay/prototype/equals/browser.js
create mode 100644 js/src/tests/test262/intl402/Temporal/PlainMonthDay/prototype/equals/infinity-throws-rangeerror.js
create mode 100644 js/src/tests/test262/intl402/Temporal/PlainMonthDay/prototype/equals/shell.js
create mode 100644 js/src/tests/test262/intl402/Temporal/PlainMonthDay/prototype/shell.js
create mode 100644 js/src/tests/test262/intl402/Temporal/PlainMonthDay/prototype/toLocaleString/browser.js
create mode 100644 js/src/tests/test262/intl402/Temporal/PlainMonthDay/prototype/toLocaleString/locales-undefined.js
create mode 100644 js/src/tests/test262/intl402/Temporal/PlainMonthDay/prototype/toLocaleString/options-undefined.js
create mode 100644 js/src/tests/test262/intl402/Temporal/PlainMonthDay/prototype/toLocaleString/resolved-time-zone.js
create mode 100644 js/src/tests/test262/intl402/Temporal/PlainMonthDay/prototype/toLocaleString/shell.js
create mode 100644 js/src/tests/test262/intl402/Temporal/PlainMonthDay/prototype/toLocaleString/timezone-getoffsetnanosecondsfor-not-callable.js
create mode 100644 js/src/tests/test262/intl402/Temporal/PlainMonthDay/prototype/toPlainDate/browser.js
create mode 100644 js/src/tests/test262/intl402/Temporal/PlainMonthDay/prototype/toPlainDate/infinity-throws-rangeerror.js
create mode 100644 js/src/tests/test262/intl402/Temporal/PlainMonthDay/prototype/toPlainDate/shell.js
create mode 100644 js/src/tests/test262/intl402/Temporal/PlainMonthDay/shell.js
create mode 100644 js/src/tests/test262/intl402/Temporal/PlainTime/browser.js
create mode 100644 js/src/tests/test262/intl402/Temporal/PlainTime/prototype/browser.js
create mode 100644 js/src/tests/test262/intl402/Temporal/PlainTime/prototype/shell.js
create mode 100644 js/src/tests/test262/intl402/Temporal/PlainTime/prototype/toLocaleString/browser.js
create mode 100644 js/src/tests/test262/intl402/Temporal/PlainTime/prototype/toLocaleString/locales-undefined.js
create mode 100644 js/src/tests/test262/intl402/Temporal/PlainTime/prototype/toLocaleString/options-conflict.js
create mode 100644 js/src/tests/test262/intl402/Temporal/PlainTime/prototype/toLocaleString/options-undefined.js
create mode 100644 js/src/tests/test262/intl402/Temporal/PlainTime/prototype/toLocaleString/resolved-time-zone.js
create mode 100644 js/src/tests/test262/intl402/Temporal/PlainTime/prototype/toLocaleString/shell.js
create mode 100644 js/src/tests/test262/intl402/Temporal/PlainTime/prototype/toLocaleString/timezone-getoffsetnanosecondsfor-not-callable.js
create mode 100644 js/src/tests/test262/intl402/Temporal/PlainTime/prototype/toPlainDateTime/browser.js
create mode 100644 js/src/tests/test262/intl402/Temporal/PlainTime/prototype/toPlainDateTime/infinity-throws-rangeerror.js
create mode 100644 js/src/tests/test262/intl402/Temporal/PlainTime/prototype/toPlainDateTime/shell.js
create mode 100644 js/src/tests/test262/intl402/Temporal/PlainTime/prototype/toZonedDateTime/browser.js
create mode 100644 js/src/tests/test262/intl402/Temporal/PlainTime/prototype/toZonedDateTime/plaindate-infinity-throws-rangeerror.js
create mode 100644 js/src/tests/test262/intl402/Temporal/PlainTime/prototype/toZonedDateTime/shell.js
create mode 100644 js/src/tests/test262/intl402/Temporal/PlainTime/prototype/toZonedDateTime/timezone-string-datetime.js
create mode 100644 js/src/tests/test262/intl402/Temporal/PlainTime/shell.js
create mode 100644 js/src/tests/test262/intl402/Temporal/PlainYearMonth/browser.js
create mode 100644 js/src/tests/test262/intl402/Temporal/PlainYearMonth/compare/browser.js
create mode 100644 js/src/tests/test262/intl402/Temporal/PlainYearMonth/compare/infinity-throws-rangeerror.js
create mode 100644 js/src/tests/test262/intl402/Temporal/PlainYearMonth/compare/shell.js
create mode 100644 js/src/tests/test262/intl402/Temporal/PlainYearMonth/from/argument-object.js
create mode 100644 js/src/tests/test262/intl402/Temporal/PlainYearMonth/from/browser.js
create mode 100644 js/src/tests/test262/intl402/Temporal/PlainYearMonth/from/infinity-throws-rangeerror.js
create mode 100644 js/src/tests/test262/intl402/Temporal/PlainYearMonth/from/shell.js
create mode 100644 js/src/tests/test262/intl402/Temporal/PlainYearMonth/prototype/browser.js
create mode 100644 js/src/tests/test262/intl402/Temporal/PlainYearMonth/prototype/equals/browser.js
create mode 100644 js/src/tests/test262/intl402/Temporal/PlainYearMonth/prototype/equals/infinity-throws-rangeerror.js
create mode 100644 js/src/tests/test262/intl402/Temporal/PlainYearMonth/prototype/equals/shell.js
rename js/src/tests/test262/{built-ins => intl402}/Temporal/PlainYearMonth/prototype/era/branding.js (100%)
create mode 100644 js/src/tests/test262/intl402/Temporal/PlainYearMonth/prototype/era/browser.js
create mode 100644 js/src/tests/test262/intl402/Temporal/PlainYearMonth/prototype/era/prop-desc.js
create mode 100644 js/src/tests/test262/intl402/Temporal/PlainYearMonth/prototype/era/shell.js
rename js/src/tests/test262/{built-ins => intl402}/Temporal/PlainYearMonth/prototype/eraYear/branding.js (100%)
create mode 100644 js/src/tests/test262/intl402/Temporal/PlainYearMonth/prototype/eraYear/browser.js
create mode 100644 js/src/tests/test262/intl402/Temporal/PlainYearMonth/prototype/eraYear/calendar-returns-infinity.js
create mode 100644 js/src/tests/test262/intl402/Temporal/PlainYearMonth/prototype/eraYear/prop-desc.js
create mode 100644 js/src/tests/test262/intl402/Temporal/PlainYearMonth/prototype/eraYear/shell.js
create mode 100644 js/src/tests/test262/intl402/Temporal/PlainYearMonth/prototype/shell.js
create mode 100644 js/src/tests/test262/intl402/Temporal/PlainYearMonth/prototype/since/browser.js
create mode 100644 js/src/tests/test262/intl402/Temporal/PlainYearMonth/prototype/since/infinity-throws-rangeerror.js
create mode 100644 js/src/tests/test262/intl402/Temporal/PlainYearMonth/prototype/since/shell.js
create mode 100644 js/src/tests/test262/intl402/Temporal/PlainYearMonth/prototype/toLocaleString/browser.js
create mode 100644 js/src/tests/test262/intl402/Temporal/PlainYearMonth/prototype/toLocaleString/locales-undefined.js
create mode 100644 js/src/tests/test262/intl402/Temporal/PlainYearMonth/prototype/toLocaleString/options-undefined.js
create mode 100644 js/src/tests/test262/intl402/Temporal/PlainYearMonth/prototype/toLocaleString/resolved-time-zone.js
create mode 100644 js/src/tests/test262/intl402/Temporal/PlainYearMonth/prototype/toLocaleString/shell.js
create mode 100644 js/src/tests/test262/intl402/Temporal/PlainYearMonth/prototype/toLocaleString/timezone-getoffsetnanosecondsfor-not-callable.js
create mode 100644 js/src/tests/test262/intl402/Temporal/PlainYearMonth/prototype/until/browser.js
create mode 100644 js/src/tests/test262/intl402/Temporal/PlainYearMonth/prototype/until/infinity-throws-rangeerror.js
create mode 100644 js/src/tests/test262/intl402/Temporal/PlainYearMonth/prototype/until/shell.js
create mode 100644 js/src/tests/test262/intl402/Temporal/PlainYearMonth/shell.js
create mode 100644 js/src/tests/test262/intl402/Temporal/TimeZone/basic.js
create mode 100644 js/src/tests/test262/intl402/Temporal/TimeZone/browser.js
create mode 100644 js/src/tests/test262/intl402/Temporal/TimeZone/etc-timezone.js
create mode 100644 js/src/tests/test262/intl402/Temporal/TimeZone/from/argument-object.js
create mode 100644 js/src/tests/test262/intl402/Temporal/TimeZone/from/argument-valid.js
create mode 100644 js/src/tests/test262/intl402/Temporal/TimeZone/from/browser.js
create mode 100644 js/src/tests/test262/intl402/Temporal/TimeZone/from/shell.js
create mode 100644 js/src/tests/test262/intl402/Temporal/TimeZone/from/timezone-string-datetime.js
create mode 100644 js/src/tests/test262/intl402/Temporal/TimeZone/prototype/browser.js
create mode 100644 js/src/tests/test262/intl402/Temporal/TimeZone/prototype/getInstantFor/browser.js
create mode 100644 js/src/tests/test262/intl402/Temporal/TimeZone/prototype/getInstantFor/infinity-throws-rangeerror.js
create mode 100644 js/src/tests/test262/intl402/Temporal/TimeZone/prototype/getInstantFor/shell.js
create mode 100644 js/src/tests/test262/intl402/Temporal/TimeZone/prototype/getOffsetNanosecondsFor/browser.js
create mode 100644 js/src/tests/test262/intl402/Temporal/TimeZone/prototype/getOffsetNanosecondsFor/instant-string.js
create mode 100644 js/src/tests/test262/intl402/Temporal/TimeZone/prototype/getOffsetNanosecondsFor/shell.js
create mode 100644 js/src/tests/test262/intl402/Temporal/TimeZone/prototype/getOffsetStringFor/browser.js
create mode 100644 js/src/tests/test262/intl402/Temporal/TimeZone/prototype/getOffsetStringFor/instant-string.js
create mode 100644 js/src/tests/test262/intl402/Temporal/TimeZone/prototype/getOffsetStringFor/shell.js
create mode 100644 js/src/tests/test262/intl402/Temporal/TimeZone/prototype/getPlainDateTimeFor/browser.js
create mode 100644 js/src/tests/test262/intl402/Temporal/TimeZone/prototype/getPlainDateTimeFor/instant-string.js
create mode 100644 js/src/tests/test262/intl402/Temporal/TimeZone/prototype/getPlainDateTimeFor/shell.js
create mode 100644 js/src/tests/test262/intl402/Temporal/TimeZone/prototype/getPossibleInstantsFor/browser.js
create mode 100644 js/src/tests/test262/intl402/Temporal/TimeZone/prototype/getPossibleInstantsFor/infinity-throws-rangeerror.js
create mode 100644 js/src/tests/test262/intl402/Temporal/TimeZone/prototype/getPossibleInstantsFor/shell.js
create mode 100644 js/src/tests/test262/intl402/Temporal/TimeZone/prototype/shell.js
create mode 100644 js/src/tests/test262/intl402/Temporal/TimeZone/shell.js
create mode 100644 js/src/tests/test262/intl402/Temporal/ZonedDateTime/browser.js
create mode 100644 js/src/tests/test262/intl402/Temporal/ZonedDateTime/compare/browser.js
create mode 100644 js/src/tests/test262/intl402/Temporal/ZonedDateTime/compare/infinity-throws-rangeerror.js
create mode 100644 js/src/tests/test262/intl402/Temporal/ZonedDateTime/compare/shell.js
create mode 100644 js/src/tests/test262/intl402/Temporal/ZonedDateTime/from/browser.js
create mode 100644 js/src/tests/test262/intl402/Temporal/ZonedDateTime/from/infinity-throws-rangeerror.js
create mode 100644 js/src/tests/test262/intl402/Temporal/ZonedDateTime/from/shell.js
create mode 100644 js/src/tests/test262/intl402/Temporal/ZonedDateTime/from/timezone-string-datetime.js
create mode 100644 js/src/tests/test262/intl402/Temporal/ZonedDateTime/prototype/browser.js
create mode 100644 js/src/tests/test262/intl402/Temporal/ZonedDateTime/prototype/equals/browser.js
create mode 100644 js/src/tests/test262/intl402/Temporal/ZonedDateTime/prototype/equals/infinity-throws-rangeerror.js
create mode 100644 js/src/tests/test262/intl402/Temporal/ZonedDateTime/prototype/equals/shell.js
create mode 100644 js/src/tests/test262/intl402/Temporal/ZonedDateTime/prototype/equals/timezone-string-datetime.js
rename js/src/tests/test262/{built-ins => intl402}/Temporal/ZonedDateTime/prototype/era/branding.js (100%)
create mode 100644 js/src/tests/test262/intl402/Temporal/ZonedDateTime/prototype/era/browser.js
create mode 100644 js/src/tests/test262/intl402/Temporal/ZonedDateTime/prototype/era/prop-desc.js
create mode 100644 js/src/tests/test262/intl402/Temporal/ZonedDateTime/prototype/era/shell.js
create mode 100644 js/src/tests/test262/intl402/Temporal/ZonedDateTime/prototype/era/timezone-getoffsetnanosecondsfor-non-integer.js
create mode 100644 js/src/tests/test262/intl402/Temporal/ZonedDateTime/prototype/era/timezone-getoffsetnanosecondsfor-not-callable.js
create mode 100644 js/src/tests/test262/intl402/Temporal/ZonedDateTime/prototype/era/timezone-getoffsetnanosecondsfor-out-of-range.js
create mode 100644 js/src/tests/test262/intl402/Temporal/ZonedDateTime/prototype/era/timezone-getoffsetnanosecondsfor-wrong-type.js
rename js/src/tests/test262/{built-ins => intl402}/Temporal/ZonedDateTime/prototype/eraYear/branding.js (100%)
create mode 100644 js/src/tests/test262/intl402/Temporal/ZonedDateTime/prototype/eraYear/browser.js
create mode 100644 js/src/tests/test262/intl402/Temporal/ZonedDateTime/prototype/eraYear/calendar-returns-infinity.js
create mode 100644 js/src/tests/test262/intl402/Temporal/ZonedDateTime/prototype/eraYear/prop-desc.js
create mode 100644 js/src/tests/test262/intl402/Temporal/ZonedDateTime/prototype/eraYear/shell.js
create mode 100644 js/src/tests/test262/intl402/Temporal/ZonedDateTime/prototype/eraYear/timezone-getoffsetnanosecondsfor-non-integer.js
create mode 100644 js/src/tests/test262/intl402/Temporal/ZonedDateTime/prototype/eraYear/timezone-getoffsetnanosecondsfor-not-callable.js
create mode 100644 js/src/tests/test262/intl402/Temporal/ZonedDateTime/prototype/eraYear/timezone-getoffsetnanosecondsfor-out-of-range.js
create mode 100644 js/src/tests/test262/intl402/Temporal/ZonedDateTime/prototype/eraYear/timezone-getoffsetnanosecondsfor-wrong-type.js
create mode 100644 js/src/tests/test262/intl402/Temporal/ZonedDateTime/prototype/shell.js
create mode 100644 js/src/tests/test262/intl402/Temporal/ZonedDateTime/prototype/since/browser.js
create mode 100644 js/src/tests/test262/intl402/Temporal/ZonedDateTime/prototype/since/infinity-throws-rangeerror.js
create mode 100644 js/src/tests/test262/intl402/Temporal/ZonedDateTime/prototype/since/shell.js
create mode 100644 js/src/tests/test262/intl402/Temporal/ZonedDateTime/prototype/since/timezone-string-datetime.js
create mode 100644 js/src/tests/test262/intl402/Temporal/ZonedDateTime/prototype/toLocaleString/browser.js
create mode 100644 js/src/tests/test262/intl402/Temporal/ZonedDateTime/prototype/toLocaleString/locales-undefined.js
create mode 100644 js/src/tests/test262/intl402/Temporal/ZonedDateTime/prototype/toLocaleString/options-conflict.js
create mode 100644 js/src/tests/test262/intl402/Temporal/ZonedDateTime/prototype/toLocaleString/options-undefined.js
create mode 100644 js/src/tests/test262/intl402/Temporal/ZonedDateTime/prototype/toLocaleString/shell.js
create mode 100644 js/src/tests/test262/intl402/Temporal/ZonedDateTime/prototype/until/browser.js
create mode 100644 js/src/tests/test262/intl402/Temporal/ZonedDateTime/prototype/until/infinity-throws-rangeerror.js
create mode 100644 js/src/tests/test262/intl402/Temporal/ZonedDateTime/prototype/until/shell.js
create mode 100644 js/src/tests/test262/intl402/Temporal/ZonedDateTime/prototype/until/timezone-string-datetime.js
create mode 100644 js/src/tests/test262/intl402/Temporal/ZonedDateTime/prototype/withPlainDate/browser.js
create mode 100644 js/src/tests/test262/intl402/Temporal/ZonedDateTime/prototype/withPlainDate/infinity-throws-rangeerror.js
create mode 100644 js/src/tests/test262/intl402/Temporal/ZonedDateTime/prototype/withPlainDate/shell.js
create mode 100644 js/src/tests/test262/intl402/Temporal/ZonedDateTime/shell.js
create mode 100644 js/src/tests/test262/intl402/Temporal/browser.js
create mode 100644 js/src/tests/test262/intl402/Temporal/shell.js
delete mode 100644 js/src/tests/test262/language/expressions/call/tco-cross-realm-class-construct.js
delete mode 100644 js/src/tests/test262/language/expressions/call/tco-cross-realm-class-derived-construct.js
delete mode 100644 js/src/tests/test262/language/expressions/call/tco-cross-realm-fun-call.js
delete mode 100644 js/src/tests/test262/language/expressions/call/tco-cross-realm-fun-construct.js
create mode 100644 js/src/tests/test262/language/expressions/compound-assignment/left-hand-side-private-reference-accessor-property-add.js
create mode 100644 js/src/tests/test262/language/expressions/compound-assignment/left-hand-side-private-reference-accessor-property-bitand.js
create mode 100644 js/src/tests/test262/language/expressions/compound-assignment/left-hand-side-private-reference-accessor-property-bitor.js
create mode 100644 js/src/tests/test262/language/expressions/compound-assignment/left-hand-side-private-reference-accessor-property-bitxor.js
create mode 100644 js/src/tests/test262/language/expressions/compound-assignment/left-hand-side-private-reference-accessor-property-div.js
create mode 100644 js/src/tests/test262/language/expressions/compound-assignment/left-hand-side-private-reference-accessor-property-exp.js
create mode 100644 js/src/tests/test262/language/expressions/compound-assignment/left-hand-side-private-reference-accessor-property-lshift.js
create mode 100644 js/src/tests/test262/language/expressions/compound-assignment/left-hand-side-private-reference-accessor-property-mod.js
create mode 100644 js/src/tests/test262/language/expressions/compound-assignment/left-hand-side-private-reference-accessor-property-mult.js
create mode 100644 js/src/tests/test262/language/expressions/compound-assignment/left-hand-side-private-reference-accessor-property-rshift.js
create mode 100644 js/src/tests/test262/language/expressions/compound-assignment/left-hand-side-private-reference-accessor-property-srshift.js
create mode 100644 js/src/tests/test262/language/expressions/compound-assignment/left-hand-side-private-reference-accessor-property-sub.js
create mode 100644 js/src/tests/test262/language/expressions/compound-assignment/left-hand-side-private-reference-data-property-add.js
create mode 100644 js/src/tests/test262/language/expressions/compound-assignment/left-hand-side-private-reference-data-property-bitand.js
create mode 100644 js/src/tests/test262/language/expressions/compound-assignment/left-hand-side-private-reference-data-property-bitor.js
create mode 100644 js/src/tests/test262/language/expressions/compound-assignment/left-hand-side-private-reference-data-property-bitxor.js
create mode 100644 js/src/tests/test262/language/expressions/compound-assignment/left-hand-side-private-reference-data-property-div.js
create mode 100644 js/src/tests/test262/language/expressions/compound-assignment/left-hand-side-private-reference-data-property-exp.js
create mode 100644 js/src/tests/test262/language/expressions/compound-assignment/left-hand-side-private-reference-data-property-lshift.js
create mode 100644 js/src/tests/test262/language/expressions/compound-assignment/left-hand-side-private-reference-data-property-mod.js
create mode 100644 js/src/tests/test262/language/expressions/compound-assignment/left-hand-side-private-reference-data-property-mult.js
create mode 100644 js/src/tests/test262/language/expressions/compound-assignment/left-hand-side-private-reference-data-property-rshift.js
create mode 100644 js/src/tests/test262/language/expressions/compound-assignment/left-hand-side-private-reference-data-property-srshift.js
create mode 100644 js/src/tests/test262/language/expressions/compound-assignment/left-hand-side-private-reference-data-property-sub.js
create mode 100644 js/src/tests/test262/language/expressions/compound-assignment/left-hand-side-private-reference-method-add.js
create mode 100644 js/src/tests/test262/language/expressions/compound-assignment/left-hand-side-private-reference-method-bitand.js
create mode 100644 js/src/tests/test262/language/expressions/compound-assignment/left-hand-side-private-reference-method-bitor.js
create mode 100644 js/src/tests/test262/language/expressions/compound-assignment/left-hand-side-private-reference-method-bitxor.js
create mode 100644 js/src/tests/test262/language/expressions/compound-assignment/left-hand-side-private-reference-method-div.js
create mode 100644 js/src/tests/test262/language/expressions/compound-assignment/left-hand-side-private-reference-method-exp.js
create mode 100644 js/src/tests/test262/language/expressions/compound-assignment/left-hand-side-private-reference-method-lshift.js
create mode 100644 js/src/tests/test262/language/expressions/compound-assignment/left-hand-side-private-reference-method-mod.js
create mode 100644 js/src/tests/test262/language/expressions/compound-assignment/left-hand-side-private-reference-method-mult.js
create mode 100644 js/src/tests/test262/language/expressions/compound-assignment/left-hand-side-private-reference-method-rshift.js
create mode 100644 js/src/tests/test262/language/expressions/compound-assignment/left-hand-side-private-reference-method-srshift.js
create mode 100644 js/src/tests/test262/language/expressions/compound-assignment/left-hand-side-private-reference-method-sub.js
create mode 100644 js/src/tests/test262/language/expressions/compound-assignment/left-hand-side-private-reference-readonly-accessor-property-add.js
create mode 100644 js/src/tests/test262/language/expressions/compound-assignment/left-hand-side-private-reference-readonly-accessor-property-bitand.js
create mode 100644 js/src/tests/test262/language/expressions/compound-assignment/left-hand-side-private-reference-readonly-accessor-property-bitor.js
create mode 100644 js/src/tests/test262/language/expressions/compound-assignment/left-hand-side-private-reference-readonly-accessor-property-bitxor.js
create mode 100644 js/src/tests/test262/language/expressions/compound-assignment/left-hand-side-private-reference-readonly-accessor-property-div.js
create mode 100644 js/src/tests/test262/language/expressions/compound-assignment/left-hand-side-private-reference-readonly-accessor-property-exp.js
create mode 100644 js/src/tests/test262/language/expressions/compound-assignment/left-hand-side-private-reference-readonly-accessor-property-lshift.js
create mode 100644 js/src/tests/test262/language/expressions/compound-assignment/left-hand-side-private-reference-readonly-accessor-property-mod.js
create mode 100644 js/src/tests/test262/language/expressions/compound-assignment/left-hand-side-private-reference-readonly-accessor-property-mult.js
create mode 100644 js/src/tests/test262/language/expressions/compound-assignment/left-hand-side-private-reference-readonly-accessor-property-rshift.js
create mode 100644 js/src/tests/test262/language/expressions/compound-assignment/left-hand-side-private-reference-readonly-accessor-property-srshift.js
create mode 100644 js/src/tests/test262/language/expressions/compound-assignment/left-hand-side-private-reference-readonly-accessor-property-sub.js
create mode 100644 js/src/tests/test262/language/expressions/logical-assignment/left-hand-side-private-reference-accessor-property-and.js
create mode 100644 js/src/tests/test262/language/expressions/logical-assignment/left-hand-side-private-reference-accessor-property-nullish.js
create mode 100644 js/src/tests/test262/language/expressions/logical-assignment/left-hand-side-private-reference-accessor-property-or.js
create mode 100644 js/src/tests/test262/language/expressions/logical-assignment/left-hand-side-private-reference-accessor-property-short-circuit-and.js
create mode 100644 js/src/tests/test262/language/expressions/logical-assignment/left-hand-side-private-reference-accessor-property-short-circuit-nullish.js
create mode 100644 js/src/tests/test262/language/expressions/logical-assignment/left-hand-side-private-reference-accessor-property-short-circuit-or.js
create mode 100644 js/src/tests/test262/language/expressions/logical-assignment/left-hand-side-private-reference-data-property-and.js
create mode 100644 js/src/tests/test262/language/expressions/logical-assignment/left-hand-side-private-reference-data-property-nullish.js
create mode 100644 js/src/tests/test262/language/expressions/logical-assignment/left-hand-side-private-reference-data-property-or.js
create mode 100644 js/src/tests/test262/language/expressions/logical-assignment/left-hand-side-private-reference-data-property-short-circuit-and.js
create mode 100644 js/src/tests/test262/language/expressions/logical-assignment/left-hand-side-private-reference-data-property-short-circuit-nullish.js
create mode 100644 js/src/tests/test262/language/expressions/logical-assignment/left-hand-side-private-reference-data-property-short-circuit-or.js
create mode 100644 js/src/tests/test262/language/expressions/logical-assignment/left-hand-side-private-reference-method-and.js
create mode 100644 js/src/tests/test262/language/expressions/logical-assignment/left-hand-side-private-reference-method-short-circuit-nullish.js
create mode 100644 js/src/tests/test262/language/expressions/logical-assignment/left-hand-side-private-reference-method-short-circuit-or.js
create mode 100644 js/src/tests/test262/language/expressions/logical-assignment/left-hand-side-private-reference-readonly-accessor-property-and.js
create mode 100644 js/src/tests/test262/language/expressions/logical-assignment/left-hand-side-private-reference-readonly-accessor-property-nullish.js
create mode 100644 js/src/tests/test262/language/expressions/logical-assignment/left-hand-side-private-reference-readonly-accessor-property-or.js
create mode 100644 js/src/tests/test262/language/expressions/logical-assignment/left-hand-side-private-reference-readonly-accessor-property-short-circuit-and.js
create mode 100644 js/src/tests/test262/language/expressions/logical-assignment/left-hand-side-private-reference-readonly-accessor-property-short-circuit-nullish.js
create mode 100644 js/src/tests/test262/language/expressions/logical-assignment/left-hand-side-private-reference-readonly-accessor-property-short-circuit-or.js
create mode 100644 js/src/tests/test262/language/identifiers/part-unicode-10.0.0-class-escaped.js
create mode 100644 js/src/tests/test262/language/identifiers/part-unicode-10.0.0-class.js
create mode 100644 js/src/tests/test262/language/identifiers/part-unicode-11.0.0-class-escaped.js
create mode 100644 js/src/tests/test262/language/identifiers/part-unicode-11.0.0-class.js
create mode 100644 js/src/tests/test262/language/identifiers/part-unicode-12.0.0-class-escaped.js
create mode 100644 js/src/tests/test262/language/identifiers/part-unicode-12.0.0-class.js
create mode 100644 js/src/tests/test262/language/identifiers/part-unicode-13.0.0-class-escaped.js
create mode 100644 js/src/tests/test262/language/identifiers/part-unicode-13.0.0-class.js
create mode 100644 js/src/tests/test262/language/identifiers/part-unicode-14.0.0-class-escaped.js
create mode 100644 js/src/tests/test262/language/identifiers/part-unicode-14.0.0-class.js
create mode 100644 js/src/tests/test262/language/identifiers/part-unicode-14.0.0-escaped.js
create mode 100644 js/src/tests/test262/language/identifiers/part-unicode-14.0.0.js
create mode 100644 js/src/tests/test262/language/identifiers/part-unicode-5.2.0-class-escaped.js
create mode 100644 js/src/tests/test262/language/identifiers/part-unicode-5.2.0-class.js
create mode 100644 js/src/tests/test262/language/identifiers/part-unicode-6.0.0-class-escaped.js
create mode 100644 js/src/tests/test262/language/identifiers/part-unicode-6.0.0-class.js
create mode 100644 js/src/tests/test262/language/identifiers/part-unicode-6.1.0-class-escaped.js
create mode 100644 js/src/tests/test262/language/identifiers/part-unicode-6.1.0-class.js
create mode 100644 js/src/tests/test262/language/identifiers/part-unicode-7.0.0-class-escaped.js
create mode 100644 js/src/tests/test262/language/identifiers/part-unicode-7.0.0-class.js
create mode 100644 js/src/tests/test262/language/identifiers/part-unicode-8.0.0-class-escaped.js
create mode 100644 js/src/tests/test262/language/identifiers/part-unicode-8.0.0-class.js
create mode 100644 js/src/tests/test262/language/identifiers/part-unicode-9.0.0-class-escaped.js
create mode 100644 js/src/tests/test262/language/identifiers/part-unicode-9.0.0-class.js
create mode 100644 js/src/tests/test262/language/identifiers/start-unicode-10.0.0-class-escaped.js
create mode 100644 js/src/tests/test262/language/identifiers/start-unicode-10.0.0-class.js
create mode 100644 js/src/tests/test262/language/identifiers/start-unicode-11.0.0-class-escaped.js
create mode 100644 js/src/tests/test262/language/identifiers/start-unicode-11.0.0-class.js
create mode 100644 js/src/tests/test262/language/identifiers/start-unicode-12.0.0-class-escaped.js
create mode 100644 js/src/tests/test262/language/identifiers/start-unicode-12.0.0-class.js
create mode 100644 js/src/tests/test262/language/identifiers/start-unicode-13.0.0-class-escaped.js
create mode 100644 js/src/tests/test262/language/identifiers/start-unicode-13.0.0-class.js
create mode 100644 js/src/tests/test262/language/identifiers/start-unicode-14.0.0-class-escaped.js
create mode 100644 js/src/tests/test262/language/identifiers/start-unicode-14.0.0-class.js
create mode 100644 js/src/tests/test262/language/identifiers/start-unicode-14.0.0-escaped.js
create mode 100644 js/src/tests/test262/language/identifiers/start-unicode-14.0.0.js
create mode 100644 js/src/tests/test262/language/identifiers/start-unicode-5.2.0-class-escaped.js
create mode 100644 js/src/tests/test262/language/identifiers/start-unicode-5.2.0-class.js
create mode 100644 js/src/tests/test262/language/identifiers/start-unicode-6.0.0-class-escaped.js
create mode 100644 js/src/tests/test262/language/identifiers/start-unicode-6.0.0-class.js
create mode 100644 js/src/tests/test262/language/identifiers/start-unicode-6.1.0-class-escaped.js
create mode 100644 js/src/tests/test262/language/identifiers/start-unicode-6.1.0-class.js
create mode 100644 js/src/tests/test262/language/identifiers/start-unicode-7.0.0-class-escaped.js
create mode 100644 js/src/tests/test262/language/identifiers/start-unicode-7.0.0-class.js
create mode 100644 js/src/tests/test262/language/identifiers/start-unicode-8.0.0-class-escaped.js
create mode 100644 js/src/tests/test262/language/identifiers/start-unicode-8.0.0-class.js
create mode 100644 js/src/tests/test262/language/identifiers/start-unicode-9.0.0-class-escaped.js
create mode 100644 js/src/tests/test262/language/identifiers/start-unicode-9.0.0-class.js
create mode 100644 js/src/tests/test262/language/module-code/early-dup-top-function-async-generator.js
create mode 100644 js/src/tests/test262/language/module-code/early-dup-top-function-async.js
create mode 100644 js/src/tests/test262/language/module-code/early-dup-top-function-generator.js
create mode 100644 js/src/tests/test262/language/module-code/early-dup-top-function.js
create mode 100644 js/src/tests/test262/language/statements/block/labeled-continue.js
diff --git a/js/src/tests/test262/GIT-INFO b/js/src/tests/test262/GIT-INFO
index e559f90ff99f..7529353c55c4 100644
--- a/js/src/tests/test262/GIT-INFO
+++ b/js/src/tests/test262/GIT-INFO
@@ -1,9 +1,8 @@
-commit 45a913c057892bdd26f7bc06a59a0c7420f2d3ec
-Author: Philip Chimento
-Date: Wed Aug 11 12:31:23 2021 -0700
+commit d7c0a2076c2b0c1531aef7069d4abe70eec44ee3
+Author: Shu-yu Guo
+Date: Mon Apr 4 16:36:56 2022 -0700
- Add branding tests from Temporal (#3138)
+ Remove check for per-comparator call detach check in TypedArray.prototype.sort
- Closes: #3137
-
- Co-authored-by: Ms2ger
+ This updates tests in line with the normative change in
+ https://github.com/tc39/ecma262/pull/2723
diff --git a/js/src/tests/test262/annexB/built-ins/RegExp/prototype/compile/this-cross-realm-instance.js b/js/src/tests/test262/annexB/built-ins/RegExp/prototype/compile/this-cross-realm-instance.js
index 413884a44e2f..5c4f9a82340e 100644
--- a/js/src/tests/test262/annexB/built-ins/RegExp/prototype/compile/this-cross-realm-instance.js
+++ b/js/src/tests/test262/annexB/built-ins/RegExp/prototype/compile/this-cross-realm-instance.js
@@ -21,7 +21,7 @@ assert.throws(
);
assert.throws(
- TypeError,
+ other.TypeError,
function () {
other.RegExp.prototype.compile.call(regexp);
},
diff --git a/js/src/tests/test262/built-ins/Array/S15.4.1_A1.1_T1.js b/js/src/tests/test262/built-ins/Array/S15.4.1_A1.1_T1.js
index 7ea22f6e89dd..94bd07777f7b 100644
--- a/js/src/tests/test262/built-ins/Array/S15.4.1_A1.1_T1.js
+++ b/js/src/tests/test262/built-ins/Array/S15.4.1_A1.1_T1.js
@@ -12,7 +12,6 @@ description: >
this property
---*/
-//CHECK#1
Array.prototype.myproperty = 42;
var x = Array();
assert.sameValue(x.myproperty, 42, 'The value of x.myproperty is expected to be 42');
diff --git a/js/src/tests/test262/built-ins/Array/S15.4.1_A1.1_T2.js b/js/src/tests/test262/built-ins/Array/S15.4.1_A1.1_T2.js
index c0a3abf776c2..864c449d4b1f 100644
--- a/js/src/tests/test262/built-ins/Array/S15.4.1_A1.1_T2.js
+++ b/js/src/tests/test262/built-ins/Array/S15.4.1_A1.1_T2.js
@@ -10,12 +10,10 @@ es5id: 15.4.1_A1.1_T2
description: Array.prototype.toString = Object.prototype.toString
---*/
-//CHECK#1
Array.prototype.toString = Object.prototype.toString;
var x = Array();
assert.sameValue(x.toString(), "[object Array]", 'x.toString() must return "[object Array]"');
-//CHECK#2
Array.prototype.toString = Object.prototype.toString;
var x = Array(0, 1, 2);
assert.sameValue(x.toString(), "[object Array]", 'x.toString() must return "[object Array]"');
diff --git a/js/src/tests/test262/built-ins/Array/S15.4.1_A1.2_T1.js b/js/src/tests/test262/built-ins/Array/S15.4.1_A1.2_T1.js
index 92ad2324124f..c398a6535c04 100644
--- a/js/src/tests/test262/built-ins/Array/S15.4.1_A1.2_T1.js
+++ b/js/src/tests/test262/built-ins/Array/S15.4.1_A1.2_T1.js
@@ -7,12 +7,10 @@ es5id: 15.4.1_A1.2_T1
description: Checking use Object.prototype.toString
---*/
-//CHECK#1
var x = Array();
x.getClass = Object.prototype.toString;
assert.sameValue(x.getClass(), "[object Array]", 'x.getClass() must return "[object Array]"');
-//CHECK#2
var x = Array(0, 1, 2);
x.getClass = Object.prototype.toString;
assert.sameValue(x.getClass(), "[object Array]", 'x.getClass() must return "[object Array]"');
diff --git a/js/src/tests/test262/built-ins/Array/S15.4.1_A2.2_T1.js b/js/src/tests/test262/built-ins/Array/S15.4.1_A2.2_T1.js
index 0bc8bb617534..b2cbaa38fed9 100644
--- a/js/src/tests/test262/built-ins/Array/S15.4.1_A2.2_T1.js
+++ b/js/src/tests/test262/built-ins/Array/S15.4.1_A2.2_T1.js
@@ -12,7 +12,6 @@ es5id: 15.4.1_A2.2_T1
description: Checking correct work this algorithm
---*/
-//CHECK#
var x = Array(
0, 1, 2, 3, 4, 5, 6, 7, 8, 9,
10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
diff --git a/js/src/tests/test262/built-ins/Array/S15.4.2.1_A1.1_T1.js b/js/src/tests/test262/built-ins/Array/S15.4.2.1_A1.1_T1.js
index 65306c3a56b9..e682359d1b6f 100644
--- a/js/src/tests/test262/built-ins/Array/S15.4.2.1_A1.1_T1.js
+++ b/js/src/tests/test262/built-ins/Array/S15.4.2.1_A1.1_T1.js
@@ -12,7 +12,6 @@ description: >
this property
---*/
-//CHECK#1
Array.prototype.myproperty = 1;
var x = new Array();
assert.sameValue(x.myproperty, 1, 'The value of x.myproperty is expected to be 1');
diff --git a/js/src/tests/test262/built-ins/Array/S15.4.2.1_A1.1_T2.js b/js/src/tests/test262/built-ins/Array/S15.4.2.1_A1.1_T2.js
index c8456300579a..17a7a33d2e4c 100644
--- a/js/src/tests/test262/built-ins/Array/S15.4.2.1_A1.1_T2.js
+++ b/js/src/tests/test262/built-ins/Array/S15.4.2.1_A1.1_T2.js
@@ -10,12 +10,10 @@ es5id: 15.4.2.1_A1.1_T2
description: Array.prototype.toString = Object.prototype.toString
---*/
-//CHECK#1
Array.prototype.toString = Object.prototype.toString;
var x = new Array();
assert.sameValue(x.toString(), "[object Array]", 'x.toString() must return "[object Array]"');
-//CHECK#2
Array.prototype.toString = Object.prototype.toString;
var x = new Array(0, 1, 2);
assert.sameValue(x.toString(), "[object Array]", 'x.toString() must return "[object Array]"');
diff --git a/js/src/tests/test262/built-ins/Array/S15.4.2.1_A1.2_T1.js b/js/src/tests/test262/built-ins/Array/S15.4.2.1_A1.2_T1.js
index b6d00968ac61..080ed966349d 100644
--- a/js/src/tests/test262/built-ins/Array/S15.4.2.1_A1.2_T1.js
+++ b/js/src/tests/test262/built-ins/Array/S15.4.2.1_A1.2_T1.js
@@ -7,12 +7,10 @@ es5id: 15.4.2.1_A1.2_T1
description: Checking use Object.prototype.toString
---*/
-//CHECK#1
var x = new Array();
x.getClass = Object.prototype.toString;
assert.sameValue(x.getClass(), "[object Array]", 'x.getClass() must return "[object Array]"');
-//CHECK#2
var x = new Array(0, 1, 2);
x.getClass = Object.prototype.toString;
assert.sameValue(x.getClass(), "[object Array]", 'x.getClass() must return "[object Array]"');
diff --git a/js/src/tests/test262/built-ins/Array/S15.4.2.1_A2.2_T1.js b/js/src/tests/test262/built-ins/Array/S15.4.2.1_A2.2_T1.js
index 556cf7c77580..8b56efd0ac8f 100644
--- a/js/src/tests/test262/built-ins/Array/S15.4.2.1_A2.2_T1.js
+++ b/js/src/tests/test262/built-ins/Array/S15.4.2.1_A2.2_T1.js
@@ -12,7 +12,6 @@ es5id: 15.4.2.1_A2.2_T1
description: Checking correct work this algorithm
---*/
-//CHECK#
var x = new Array(
0, 1, 2, 3, 4, 5, 6, 7, 8, 9,
10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
diff --git a/js/src/tests/test262/built-ins/Array/S15.4.3_A1.1_T2.js b/js/src/tests/test262/built-ins/Array/S15.4.3_A1.1_T2.js
index 7c306aa6303d..53fbd5f16985 100644
--- a/js/src/tests/test262/built-ins/Array/S15.4.3_A1.1_T2.js
+++ b/js/src/tests/test262/built-ins/Array/S15.4.3_A1.1_T2.js
@@ -9,7 +9,6 @@ es5id: 15.4.3_A1.1_T2
description: Function.prototype.toString = Object.prototype.toString
---*/
-//CHECK#1
Function.prototype.toString = Object.prototype.toString;
assert.sameValue(
diff --git a/js/src/tests/test262/built-ins/Array/S15.4.5.1_A1.2_T2.js b/js/src/tests/test262/built-ins/Array/S15.4.5.1_A1.2_T2.js
index aa2d694637cc..aa7add825645 100644
--- a/js/src/tests/test262/built-ins/Array/S15.4.5.1_A1.2_T2.js
+++ b/js/src/tests/test262/built-ins/Array/S15.4.5.1_A1.2_T2.js
@@ -11,12 +11,10 @@ es5id: 15.4.5.1_A1.2_T2
description: Checking an inherited property
---*/
-//CHECK#1
Array.prototype[2] = -1;
var x = [0, 1, 2];
assert.sameValue(x[2], 2, 'The value of x[2] is expected to be 2');
-//CHECK#2
x.length = 2;
assert.sameValue(x[2], -1, 'The value of x[2] is expected to be -1');
diff --git a/js/src/tests/test262/built-ins/Array/S15.4.5.1_A2.1_T1.js b/js/src/tests/test262/built-ins/Array/S15.4.5.1_A2.1_T1.js
index 6c70aac1bcd8..7edca01d0f6d 100644
--- a/js/src/tests/test262/built-ins/Array/S15.4.5.1_A2.1_T1.js
+++ b/js/src/tests/test262/built-ins/Array/S15.4.5.1_A2.1_T1.js
@@ -9,19 +9,16 @@ es5id: 15.4.5.1_A2.1_T1
description: P in [4294967295, -1, true]
---*/
-//CHECK#1
var x = [];
x[4294967295] = 1;
assert.sameValue(x.length, 0, 'The value of x.length is expected to be 0');
assert.sameValue(x[4294967295], 1, 'The value of x[4294967295] is expected to be 1');
-//CHECK#2
x = [];
x[-1] = 1;
assert.sameValue(x.length, 0, 'The value of x.length is expected to be 0');
assert.sameValue(x[-1], 1, 'The value of x[-1] is expected to be 1');
-//CHECK#3
x = [];
x[true] = 1;
assert.sameValue(x.length, 0, 'The value of x.length is expected to be 0');
diff --git a/js/src/tests/test262/built-ins/Array/S15.4.5.1_A2.2_T1.js b/js/src/tests/test262/built-ins/Array/S15.4.5.1_A2.2_T1.js
index 0e7bee8bbec6..0cf2eab493e5 100644
--- a/js/src/tests/test262/built-ins/Array/S15.4.5.1_A2.2_T1.js
+++ b/js/src/tests/test262/built-ins/Array/S15.4.5.1_A2.2_T1.js
@@ -9,16 +9,13 @@ es5id: 15.4.5.1_A2.2_T1
description: length === 100, P in [0, 98, 99]
---*/
-//CHECK#1
var x = Array(100);
x[0] = 1;
assert.sameValue(x.length, 100, 'The value of x.length is expected to be 100');
-//CHECK#2
x[98] = 1;
assert.sameValue(x.length, 100, 'The value of x.length is expected to be 100');
-//CHECK#3
x[99] = 1;
assert.sameValue(x.length, 100, 'The value of x.length is expected to be 100');
diff --git a/js/src/tests/test262/built-ins/Array/S15.4.5.1_A2.3_T1.js b/js/src/tests/test262/built-ins/Array/S15.4.5.1_A2.3_T1.js
index fcdd2dcfc1dd..9a0a14eaba11 100644
--- a/js/src/tests/test262/built-ins/Array/S15.4.5.1_A2.3_T1.js
+++ b/js/src/tests/test262/built-ins/Array/S15.4.5.1_A2.3_T1.js
@@ -9,12 +9,10 @@ es5id: 15.4.5.1_A2.3_T1
description: length = 100, P in [100, 199]
---*/
-//CHECK#1
var x = Array(100);
x[100] = 1;
assert.sameValue(x.length, 101, 'The value of x.length is expected to be 101');
-//CHECK#2
x[199] = 1;
assert.sameValue(x.length, 200, 'The value of x.length is expected to be 200');
diff --git a/js/src/tests/test262/built-ins/Array/S15.4.5.2_A1_T1.js b/js/src/tests/test262/built-ins/Array/S15.4.5.2_A1_T1.js
index f04edf0c1239..6da4cde919fa 100644
--- a/js/src/tests/test262/built-ins/Array/S15.4.5.2_A1_T1.js
+++ b/js/src/tests/test262/built-ins/Array/S15.4.5.2_A1_T1.js
@@ -10,23 +10,18 @@ es5id: 15.4.5.2_A1_T1
description: Checking boundary points
---*/
-//CHECK#1
var x = [];
assert.sameValue(x.length, 0, 'The value of x.length is expected to be 0');
-//CHECK#2
x[0] = 1;
assert.sameValue(x.length, 1, 'The value of x.length is expected to be 1');
-//CHECK#3
x[1] = 1;
assert.sameValue(x.length, 2, 'The value of x.length is expected to be 2');
-//CHECK#4
x[2147483648] = 1;
assert.sameValue(x.length, 2147483649, 'The value of x.length is expected to be 2147483649');
-//CHECK#5
x[4294967294] = 1;
assert.sameValue(x.length, 4294967295, 'The value of x.length is expected to be 4294967295');
diff --git a/js/src/tests/test262/built-ins/Array/S15.4.5.2_A1_T2.js b/js/src/tests/test262/built-ins/Array/S15.4.5.2_A1_T2.js
index 3d6c17443d6a..7cca401c0497 100644
--- a/js/src/tests/test262/built-ins/Array/S15.4.5.2_A1_T2.js
+++ b/js/src/tests/test262/built-ins/Array/S15.4.5.2_A1_T2.js
@@ -10,12 +10,10 @@ es5id: 15.4.5.2_A1_T2
description: P = "2^32 - 1" is not index array
---*/
-//CHECK#1
var x = [];
x[4294967295] = 1;
assert.sameValue(x.length, 0, 'The value of x.length is expected to be 0');
-//CHECK#2
var y = [];
y[1] = 1;
y[4294967295] = 1;
diff --git a/js/src/tests/test262/built-ins/Array/S15.4.5.2_A2_T1.js b/js/src/tests/test262/built-ins/Array/S15.4.5.2_A2_T1.js
index 0a7b44d0029c..f4f37defe321 100644
--- a/js/src/tests/test262/built-ins/Array/S15.4.5.2_A2_T1.js
+++ b/js/src/tests/test262/built-ins/Array/S15.4.5.2_A2_T1.js
@@ -9,19 +9,15 @@ es5id: 15.4.5.2_A2_T1
description: Checking length property
---*/
-//CHECK#1
var x = [];
assert.sameValue(x.length, 0, 'The value of x.length is expected to be 0');
-//CHECK#2
x[0] = 1;
assert.sameValue(x.length, 1, 'The value of x.length is expected to be 1');
-//CHECK#3
x[1] = 1;
assert.sameValue(x.length, 2, 'The value of x.length is expected to be 2');
-//CHECK#4
x[9] = 1;
assert.sameValue(x.length, 10, 'The value of x.length is expected to be 10');
diff --git a/js/src/tests/test262/built-ins/Array/S15.4.5.2_A3_T1.js b/js/src/tests/test262/built-ins/Array/S15.4.5.2_A3_T1.js
index a85944b63c48..bf423b476c3e 100644
--- a/js/src/tests/test262/built-ins/Array/S15.4.5.2_A3_T1.js
+++ b/js/src/tests/test262/built-ins/Array/S15.4.5.2_A3_T1.js
@@ -11,12 +11,10 @@ description: >
is an array index
---*/
-//CHECK#1
var x = [];
x.length = 1;
assert.sameValue(x.length, 1, 'The value of x.length is expected to be 1');
-//CHECK#2
x[5] = 1;
x.length = 10;
assert.sameValue(x.length, 10, 'The value of x.length is expected to be 10');
diff --git a/js/src/tests/test262/built-ins/Array/S15.4.5.2_A3_T2.js b/js/src/tests/test262/built-ins/Array/S15.4.5.2_A3_T2.js
index cdb9f27f67b7..1a7de49f0204 100644
--- a/js/src/tests/test262/built-ins/Array/S15.4.5.2_A3_T2.js
+++ b/js/src/tests/test262/built-ins/Array/S15.4.5.2_A3_T2.js
@@ -11,7 +11,6 @@ description: >
is an array index
---*/
-//CHECK#1
var x = [];
x[1] = 1;
x[3] = 3;
@@ -21,15 +20,12 @@ assert.sameValue(x.length, 4, 'The value of x.length is expected to be 4');
assert.sameValue(x[5], undefined, 'The value of x[5] is expected to equal undefined');
assert.sameValue(x[3], 3, 'The value of x[3] is expected to be 3');
-//CHECK#4
x.length = new Number(6);
assert.sameValue(x[5], undefined, 'The value of x[5] is expected to equal undefined');
-//CHECK#5
x.length = 0;
assert.sameValue(x[0], undefined, 'The value of x[0] is expected to equal undefined');
-//CHECK#6
x.length = 1;
assert.sameValue(x[1], undefined, 'The value of x[1] is expected to equal undefined');
diff --git a/js/src/tests/test262/built-ins/Array/S15.4.5.2_A3_T3.js b/js/src/tests/test262/built-ins/Array/S15.4.5.2_A3_T3.js
index ed1ddffc3257..63bee674937c 100644
--- a/js/src/tests/test262/built-ins/Array/S15.4.5.2_A3_T3.js
+++ b/js/src/tests/test262/built-ins/Array/S15.4.5.2_A3_T3.js
@@ -9,12 +9,10 @@ es5id: 15.4.5.2_A3_T3
description: "[[Put]] (length, 4294967296)"
---*/
-//CHECK#1
var x = [];
x.length = 4294967295;
assert.sameValue(x.length, 4294967295, 'The value of x.length is expected to be 4294967295');
-//CHECK#2
try {
x = [];
x.length = 4294967296;
diff --git a/js/src/tests/test262/built-ins/Array/S15.4_A1.1_T10.js b/js/src/tests/test262/built-ins/Array/S15.4_A1.1_T10.js
index 7aecee307ca2..6ba208ed862c 100644
--- a/js/src/tests/test262/built-ins/Array/S15.4_A1.1_T10.js
+++ b/js/src/tests/test262/built-ins/Array/S15.4_A1.1_T10.js
@@ -9,7 +9,6 @@ es5id: 15.4_A1.1_T10
description: Array index is power of two
---*/
-//CHECK#
var x = [];
var k = 1;
for (var i = 0; i < 32; i++) {
diff --git a/js/src/tests/test262/built-ins/Array/S15.4_A1.1_T4.js b/js/src/tests/test262/built-ins/Array/S15.4_A1.1_T4.js
index becd2fecb42e..8918ed2b0841 100644
--- a/js/src/tests/test262/built-ins/Array/S15.4_A1.1_T4.js
+++ b/js/src/tests/test262/built-ins/Array/S15.4_A1.1_T4.js
@@ -9,12 +9,10 @@ es5id: 15.4_A1.1_T4
description: Checking for string primitive
---*/
-//CHECK#1
var x = [];
x["0"] = 0;
assert.sameValue(x[0], 0, 'The value of x[0] is expected to be 0');
-//CHECK#2
var y = [];
y["1"] = 1;
assert.sameValue(y[1], 1, 'The value of y[1] is expected to be 1');
diff --git a/js/src/tests/test262/built-ins/Array/S15.4_A1.1_T5.js b/js/src/tests/test262/built-ins/Array/S15.4_A1.1_T5.js
index 98006fed2aad..eced3ea7c4a0 100644
--- a/js/src/tests/test262/built-ins/Array/S15.4_A1.1_T5.js
+++ b/js/src/tests/test262/built-ins/Array/S15.4_A1.1_T5.js
@@ -9,13 +9,11 @@ es5id: 15.4_A1.1_T5
description: Checking for null and undefined
---*/
-//CHECK#1
var x = [];
x[null] = 0;
assert.sameValue(x[0], undefined, 'The value of x[0] is expected to equal undefined');
assert.sameValue(x["null"], 0, 'The value of x["null"] is expected to be 0');
-//CHECK#3
var y = [];
y[undefined] = 0;
assert.sameValue(y[0], undefined, 'The value of y[0] is expected to equal undefined');
diff --git a/js/src/tests/test262/built-ins/Array/S15.4_A1.1_T6.js b/js/src/tests/test262/built-ins/Array/S15.4_A1.1_T6.js
index ce5f4e7256f1..ba9403e4792d 100644
--- a/js/src/tests/test262/built-ins/Array/S15.4_A1.1_T6.js
+++ b/js/src/tests/test262/built-ins/Array/S15.4_A1.1_T6.js
@@ -9,13 +9,11 @@ es5id: 15.4_A1.1_T6
description: Checking for Boolean object
---*/
-//CHECK#1
var x = [];
x[new Boolean(true)] = 1;
assert.sameValue(x[1], undefined, 'The value of x[1] is expected to equal undefined');
assert.sameValue(x["true"], 1, 'The value of x["true"] is expected to be 1');
-//CHECK#3
x[new Boolean(false)] = 0;
assert.sameValue(x[0], undefined, 'The value of x[0] is expected to equal undefined');
assert.sameValue(x["false"], 0, 'The value of x["false"] is expected to be 0');
diff --git a/js/src/tests/test262/built-ins/Array/S15.4_A1.1_T7.js b/js/src/tests/test262/built-ins/Array/S15.4_A1.1_T7.js
index 9f6a1ec5549f..119c825b160f 100644
--- a/js/src/tests/test262/built-ins/Array/S15.4_A1.1_T7.js
+++ b/js/src/tests/test262/built-ins/Array/S15.4_A1.1_T7.js
@@ -9,17 +9,14 @@ es5id: 15.4_A1.1_T7
description: Checking for Number object
---*/
-//CHECK#1
var x = [];
x[new Number(0)] = 0;
assert.sameValue(x[0], 0, 'The value of x[0] is expected to be 0');
-//CHECK#2
var y = [];
y[new Number(1)] = 1;
assert.sameValue(y[1], 1, 'The value of y[1] is expected to be 1');
-//CHECK#3
var z = [];
z[new Number(1.1)] = 1;
assert.sameValue(z["1.1"], 1, 'The value of z["1.1"] is expected to be 1');
diff --git a/js/src/tests/test262/built-ins/Array/S15.4_A1.1_T8.js b/js/src/tests/test262/built-ins/Array/S15.4_A1.1_T8.js
index f02ab69a1cfa..feb6e094a03d 100644
--- a/js/src/tests/test262/built-ins/Array/S15.4_A1.1_T8.js
+++ b/js/src/tests/test262/built-ins/Array/S15.4_A1.1_T8.js
@@ -9,17 +9,14 @@ es5id: 15.4_A1.1_T8
description: Checking for Number object
---*/
-//CHECK#1
var x = [];
x[new String("0")] = 0;
assert.sameValue(x[0], 0, 'The value of x[0] is expected to be 0');
-//CHECK#2
var y = [];
y[new String("1")] = 1;
assert.sameValue(y[1], 1, 'The value of y[1] is expected to be 1');
-//CHECK#3
var z = [];
z[new String("1.1")] = 1;
assert.sameValue(z["1.1"], 1, 'The value of z["1.1"] is expected to be 1');
diff --git a/js/src/tests/test262/built-ins/Array/S15.4_A1.1_T9.js b/js/src/tests/test262/built-ins/Array/S15.4_A1.1_T9.js
index e2ec5019ec04..2b56d5a27bc6 100644
--- a/js/src/tests/test262/built-ins/Array/S15.4_A1.1_T9.js
+++ b/js/src/tests/test262/built-ins/Array/S15.4_A1.1_T9.js
@@ -9,7 +9,6 @@ es5id: 15.4_A1.1_T9
description: If Type(value) is Object, evaluate ToPrimitive(value, String)
---*/
-//CHECK#1
var x = [];
var object = {
valueOf: function() {
@@ -19,7 +18,6 @@ var object = {
x[object] = 0;
assert.sameValue(x["[object Object]"], 0, 'The value of x["[object Object]"] is expected to be 0');
-//CHECK#2
x = [];
var object = {
valueOf: function() {
@@ -32,7 +30,6 @@ var object = {
x[object] = 0;
assert.sameValue(x[0], 0, 'The value of x[0] is expected to be 0');
-//CHECK#3
x = [];
var object = {
valueOf: function() {
@@ -45,7 +42,6 @@ var object = {
x[object] = 0;
assert.sameValue(x[1], 0, 'The value of x[1] is expected to be 0');
-//CHECK#4
try {
x = [];
var object = {
@@ -63,7 +59,6 @@ catch (e) {
assert.notSameValue(e, "error", 'The value of e is not "error"');
}
-//CHECK#5
x = [];
var object = {
toString: function() {
@@ -73,7 +68,6 @@ var object = {
x[object] = 0;
assert.sameValue(x[1], 0, 'The value of x[1] is expected to be 0');
-//CHECK#6
x = [];
var object = {
valueOf: function() {
@@ -86,7 +80,6 @@ var object = {
x[object] = 0;
assert.sameValue(x[1], 0, 'The value of x[1] is expected to be 0');
-//CHECK#7
try {
x = [];
var object = {
@@ -104,7 +97,6 @@ catch (e) {
assert.sameValue(e, "error", 'The value of e is expected to be "error"');
}
-//CHECK#8
try {
x = [];
var object = {
diff --git a/js/src/tests/test262/built-ins/Array/from/Array.from-descriptor.js b/js/src/tests/test262/built-ins/Array/from/Array.from-descriptor.js
index c468b95e3037..4d68536a30b0 100644
--- a/js/src/tests/test262/built-ins/Array/from/Array.from-descriptor.js
+++ b/js/src/tests/test262/built-ins/Array/from/Array.from-descriptor.js
@@ -3,8 +3,7 @@
/*---
description: Testing descriptor property of Array.from
-includes:
- - propertyHelper.js
+includes: [propertyHelper.js]
esid: sec-array.from
---*/
diff --git a/js/src/tests/test262/built-ins/Array/from/array-like-has-length-but-no-indexes-with-values.js b/js/src/tests/test262/built-ins/Array/from/array-like-has-length-but-no-indexes-with-values.js
new file mode 100644
index 000000000000..e83db0f6564a
--- /dev/null
+++ b/js/src/tests/test262/built-ins/Array/from/array-like-has-length-but-no-indexes-with-values.js
@@ -0,0 +1,41 @@
+// Copyright (c) 2021 Rick Waldron. All rights reserved.
+// This code is governed by the license found in the LICENSE file.
+
+/*---
+esid: sec-array.from
+description: >
+ Creates an array with length that is equal to the value of the
+ length property of the given array-like, regardless of
+ the presence of corresponding indices and values.
+info: |
+ Array.from ( items [ , mapfn [ , thisArg ] ] )
+
+ 7. Let arrayLike be ! ToObject(items).
+ 8. Let len be ? LengthOfArrayLike(arrayLike).
+ 9. If IsConstructor(C) is true, then
+ a. Let A be ? Construct(C, « 𝔽(len) »).
+ 10. Else,
+ a. Let A be ? ArrayCreate(len).
+
+includes: [compareArray.js]
+---*/
+
+const length = 5;
+
+const newlyCreatedArray = Array.from({ length });
+assert.sameValue(
+ newlyCreatedArray.length,
+ length,
+ "The newly created array's length is equal to the value of the length property for the provided array like object"
+);
+assert.compareArray(newlyCreatedArray, [undefined, undefined, undefined, undefined, undefined]);
+
+const newlyCreatedAndMappedArray = Array.from({ length }).map(x => 1);
+assert.sameValue(
+ newlyCreatedAndMappedArray.length,
+ length,
+ "The newly created and mapped array's length is equal to the value of the length property for the provided array like object"
+);
+assert.compareArray(newlyCreatedAndMappedArray, [1, 1, 1, 1, 1]);
+
+reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Array/isArray/descriptor.js b/js/src/tests/test262/built-ins/Array/isArray/descriptor.js
index 70e5c8fbb922..1c5c6ef73b47 100644
--- a/js/src/tests/test262/built-ins/Array/isArray/descriptor.js
+++ b/js/src/tests/test262/built-ins/Array/isArray/descriptor.js
@@ -3,8 +3,7 @@
/*---
description: Testing descriptor property of Array.isArray
-includes:
- - propertyHelper.js
+includes: [propertyHelper.js]
esid: sec-array.isarray
---*/
diff --git a/js/src/tests/test262/built-ins/Array/length/S15.4.2.2_A1.1_T1.js b/js/src/tests/test262/built-ins/Array/length/S15.4.2.2_A1.1_T1.js
index bba60969a36d..c8c9391b0865 100644
--- a/js/src/tests/test262/built-ins/Array/length/S15.4.2.2_A1.1_T1.js
+++ b/js/src/tests/test262/built-ins/Array/length/S15.4.2.2_A1.1_T1.js
@@ -13,7 +13,6 @@ description: >
this property
---*/
-//CHECK#1
Array.prototype.myproperty = 1;
var x = new Array(0);
assert.sameValue(x.myproperty, 1, 'The value of x.myproperty is expected to be 1');
diff --git a/js/src/tests/test262/built-ins/Array/length/S15.4.2.2_A1.1_T2.js b/js/src/tests/test262/built-ins/Array/length/S15.4.2.2_A1.1_T2.js
index 6b81a645ba48..b0f132136737 100644
--- a/js/src/tests/test262/built-ins/Array/length/S15.4.2.2_A1.1_T2.js
+++ b/js/src/tests/test262/built-ins/Array/length/S15.4.2.2_A1.1_T2.js
@@ -11,7 +11,6 @@ es5id: 15.4.2.2_A1.1_T2
description: Array.prototype.toString = Object.prototype.toString
---*/
-//CHECK#1
Array.prototype.toString = Object.prototype.toString;
var x = new Array(0);
assert.sameValue(x.toString(), "[object Array]", 'x.toString() must return "[object Array]"');
diff --git a/js/src/tests/test262/built-ins/Array/length/S15.4.2.2_A1.2_T1.js b/js/src/tests/test262/built-ins/Array/length/S15.4.2.2_A1.2_T1.js
index 8f8201947280..1e6c52e8cdff 100644
--- a/js/src/tests/test262/built-ins/Array/length/S15.4.2.2_A1.2_T1.js
+++ b/js/src/tests/test262/built-ins/Array/length/S15.4.2.2_A1.2_T1.js
@@ -8,7 +8,6 @@ es5id: 15.4.2.2_A1.2_T1
description: Checking use Object.prototype.toString
---*/
-//CHECK#1
var x = new Array(0);
assert.sameValue(Object.prototype.toString.call(x), "[object Array]", 'Object.prototype.toString.call(new Array(0)) must return "[object Array]"');
diff --git a/js/src/tests/test262/built-ins/Array/length/S15.4.2.2_A2.1_T1.js b/js/src/tests/test262/built-ins/Array/length/S15.4.2.2_A2.1_T1.js
index b1cd8f613684..da22b03edcd7 100644
--- a/js/src/tests/test262/built-ins/Array/length/S15.4.2.2_A2.1_T1.js
+++ b/js/src/tests/test262/built-ins/Array/length/S15.4.2.2_A2.1_T1.js
@@ -10,15 +10,12 @@ es5id: 15.4.2.2_A2.1_T1
description: Array constructor is given one argument
---*/
-//CHECK#1
var x = new Array(0);
assert.sameValue(x.length, 0, 'The value of x.length is expected to be 0');
-//CHECK#2
var x = new Array(1);
assert.sameValue(x.length, 1, 'The value of x.length is expected to be 1');
-//CHECK#3
var x = new Array(4294967295);
assert.sameValue(x.length, 4294967295, 'The value of x.length is expected to be 4294967295');
diff --git a/js/src/tests/test262/built-ins/Array/length/S15.4.2.2_A2.2_T1.js b/js/src/tests/test262/built-ins/Array/length/S15.4.2.2_A2.2_T1.js
index ddf3425ab163..87243a739ed5 100644
--- a/js/src/tests/test262/built-ins/Array/length/S15.4.2.2_A2.2_T1.js
+++ b/js/src/tests/test262/built-ins/Array/length/S15.4.2.2_A2.2_T1.js
@@ -10,7 +10,6 @@ es5id: 15.4.2.2_A2.2_T1
description: Use try statement. len = -1, 4294967296, 4294967297
---*/
-//CHECK#1
try {
new Array(-1);
throw new Test262Error('#1.1: new Array(-1) throw RangeError. Actual: ' + (new Array(-1)));
@@ -22,7 +21,6 @@ try {
);
}
-//CHECK#2
try {
new Array(4294967296);
throw new Test262Error('#2.1: new Array(4294967296) throw RangeError. Actual: ' + (new Array(4294967296)));
@@ -34,7 +32,6 @@ try {
);
}
-//CHECK#3
try {
new Array(4294967297);
throw new Test262Error('#3.1: new Array(4294967297) throw RangeError. Actual: ' + (new Array(4294967297)));
diff --git a/js/src/tests/test262/built-ins/Array/length/S15.4.2.2_A2.2_T2.js b/js/src/tests/test262/built-ins/Array/length/S15.4.2.2_A2.2_T2.js
index 3dffff06ea72..9785dccba002 100644
--- a/js/src/tests/test262/built-ins/Array/length/S15.4.2.2_A2.2_T2.js
+++ b/js/src/tests/test262/built-ins/Array/length/S15.4.2.2_A2.2_T2.js
@@ -10,7 +10,6 @@ es5id: 15.4.2.2_A2.2_T2
description: Use try statement. len = NaN, +/-Infinity
---*/
-//CHECK#1
try {
new Array(NaN);
throw new Test262Error('#1.1: new Array(NaN) throw RangeError. Actual: ' + (new Array(NaN)));
@@ -22,7 +21,6 @@ try {
);
}
-//CHECK#2
try {
new Array(Number.POSITIVE_INFINITY);
throw new Test262Error('#2.1: new Array(Number.POSITIVE_INFINITY) throw RangeError. Actual: ' + (new Array(Number.POSITIVE_INFINITY)));
@@ -34,7 +32,6 @@ try {
);
}
-//CHECK#3
try {
new Array(Number.NEGATIVE_INFINITY);
throw new Test262Error('#3.1: new Array(Number.NEGATIVE_INFINITY) throw RangeError. Actual: ' + (new Array(Number.NEGATIVE_INFINITY)));
diff --git a/js/src/tests/test262/built-ins/Array/length/S15.4.2.2_A2.2_T3.js b/js/src/tests/test262/built-ins/Array/length/S15.4.2.2_A2.2_T3.js
index 4665c84ba22c..4acedfcaa003 100644
--- a/js/src/tests/test262/built-ins/Array/length/S15.4.2.2_A2.2_T3.js
+++ b/js/src/tests/test262/built-ins/Array/length/S15.4.2.2_A2.2_T3.js
@@ -10,7 +10,6 @@ es5id: 15.4.2.2_A2.2_T3
description: Use try statement. len = 1.5, Number.MAX_VALUE, Number.MIN_VALUE
---*/
-//CHECK#1
try {
new Array(1.5);
throw new Test262Error('#1.1: new Array(1.5) throw RangeError. Actual: ' + (new Array(1.5)));
@@ -22,7 +21,6 @@ try {
);
}
-//CHECK#2
try {
new Array(Number.MAX_VALUE);
throw new Test262Error('#2.1: new Array(Number.MAX_VALUE) throw RangeError. Actual: ' + (new Array(Number.MAX_VALUE)));
@@ -34,7 +32,6 @@ try {
);
}
-//CHECK#3
try {
new Array(Number.MIN_VALUE);
throw new Test262Error('#3.1: new Array(Number.MIN_VALUE) throw RangeError. Actual: ' + (new Array(Number.MIN_VALUE)));
diff --git a/js/src/tests/test262/built-ins/Array/length/S15.4.5.1_A1.1_T1.js b/js/src/tests/test262/built-ins/Array/length/S15.4.5.1_A1.1_T1.js
index 3f8c633c6ec6..771311678c43 100644
--- a/js/src/tests/test262/built-ins/Array/length/S15.4.5.1_A1.1_T1.js
+++ b/js/src/tests/test262/built-ins/Array/length/S15.4.5.1_A1.1_T1.js
@@ -8,7 +8,6 @@ es5id: 15.4.5.1_A1.1_T1
description: length in [4294967296, -1, 1.5]
---*/
-//CHECK#1
try {
var x = [];
x.length = 4294967296;
@@ -21,7 +20,6 @@ try {
);
}
-//CHECK#2
try {
x = [];
x.length = -1;
@@ -34,7 +32,6 @@ try {
);
}
-//CHECK#3
try {
x = [];
x.length = 1.5;
diff --git a/js/src/tests/test262/built-ins/Array/length/S15.4.5.1_A1.1_T2.js b/js/src/tests/test262/built-ins/Array/length/S15.4.5.1_A1.1_T2.js
index 8f1626d79723..283049dbe474 100644
--- a/js/src/tests/test262/built-ins/Array/length/S15.4.5.1_A1.1_T2.js
+++ b/js/src/tests/test262/built-ins/Array/length/S15.4.5.1_A1.1_T2.js
@@ -8,7 +8,6 @@ es5id: 15.4.5.1_A1.1_T2
description: length in [NaN, Infinity, -Infinity, undefined]
---*/
-//CHECK#1
try {
var x = [];
x.length = NaN;
@@ -21,7 +20,6 @@ try {
);
}
-//CHECK#2
try {
x = [];
x.length = Number.POSITIVE_INFINITY;
@@ -34,7 +32,6 @@ try {
);
}
-//CHECK#3
try {
x = [];
x.length = Number.NEGATIVE_INFINITY;
@@ -47,7 +44,6 @@ try {
);
}
-//CHECK#4
try {
x = [];
x.length = undefined;
diff --git a/js/src/tests/test262/built-ins/Array/length/S15.4.5.1_A1.2_T1.js b/js/src/tests/test262/built-ins/Array/length/S15.4.5.1_A1.2_T1.js
index c0732bc4aa7c..9084747caeae 100644
--- a/js/src/tests/test262/built-ins/Array/length/S15.4.5.1_A1.2_T1.js
+++ b/js/src/tests/test262/built-ins/Array/length/S15.4.5.1_A1.2_T1.js
@@ -12,12 +12,10 @@ es5id: 15.4.5.1_A1.2_T1
description: Change length of array
---*/
-//CHECK#1
var x = [0, , 2, , 4];
x.length = 4;
assert.sameValue(x[4], undefined, 'The value of x[4] is expected to equal undefined');
-//CHECK#2
x.length = 3;
assert.sameValue(x[3], undefined, 'The value of x[3] is expected to equal undefined');
assert.sameValue(x[2], 2, 'The value of x[2] is expected to be 2');
diff --git a/js/src/tests/test262/built-ins/Array/length/S15.4.5.1_A1.2_T3.js b/js/src/tests/test262/built-ins/Array/length/S15.4.5.1_A1.2_T3.js
index 38f17683dc55..1d3d0b9911f1 100644
--- a/js/src/tests/test262/built-ins/Array/length/S15.4.5.1_A1.2_T3.js
+++ b/js/src/tests/test262/built-ins/Array/length/S15.4.5.1_A1.2_T3.js
@@ -12,13 +12,11 @@ es5id: 15.4.5.1_A1.2_T3
description: Checking an inherited property
---*/
-//CHECK#1
Array.prototype[2] = 2;
var x = [0, 1];
x.length = 3;
assert.sameValue(x.hasOwnProperty('2'), false, 'x.hasOwnProperty("2") must return false');
-//CHECK#2
x.length = 2;
assert.sameValue(x[2], 2, 'The value of x[2] is expected to be 2');
diff --git a/js/src/tests/test262/built-ins/Array/length/S15.4.5.1_A1.3_T1.js b/js/src/tests/test262/built-ins/Array/length/S15.4.5.1_A1.3_T1.js
index d855b1d60f9d..711cd65564d3 100644
--- a/js/src/tests/test262/built-ins/Array/length/S15.4.5.1_A1.3_T1.js
+++ b/js/src/tests/test262/built-ins/Array/length/S15.4.5.1_A1.3_T1.js
@@ -8,32 +8,26 @@ es5id: 15.4.5.1_A1.3_T1
description: length is object or primitve
---*/
-//CHECK#1
var x = [];
x.length = true;
assert.sameValue(x.length, 1, 'The value of x.length is expected to be 1');
-//CHECK#2
x = [0];
x.length = null;
assert.sameValue(x.length, 0, 'The value of x.length is expected to be 0');
-//CHECK#3
x = [0];
x.length = new Boolean(false);
assert.sameValue(x.length, 0, 'The value of x.length is expected to be 0');
-//CHECK#4
x = [];
x.length = new Number(1);
assert.sameValue(x.length, 1, 'The value of x.length is expected to be 1');
-//CHECK#5
x = [];
x.length = "1";
assert.sameValue(x.length, 1, 'The value of x.length is expected to be 1');
-//CHECK#6
x = [];
x.length = new String("1");
assert.sameValue(x.length, 1, 'The value of x.length is expected to be 1');
diff --git a/js/src/tests/test262/built-ins/Array/length/S15.4.5.1_A1.3_T2.js b/js/src/tests/test262/built-ins/Array/length/S15.4.5.1_A1.3_T2.js
index 4dae8b4289e5..c1b163c5603b 100644
--- a/js/src/tests/test262/built-ins/Array/length/S15.4.5.1_A1.3_T2.js
+++ b/js/src/tests/test262/built-ins/Array/length/S15.4.5.1_A1.3_T2.js
@@ -8,7 +8,6 @@ es5id: 15.4.5.1_A1.3_T2
description: Uint32 use ToNumber and ToPrimitve
---*/
-//CHECK#1
var x = [];
x.length = {
valueOf: function() {
@@ -17,7 +16,6 @@ x.length = {
};
assert.sameValue(x.length, 2, 'The value of x.length is expected to be 2');
-//CHECK#2
x = [];
x.length = {
valueOf: function() {
@@ -29,7 +27,6 @@ x.length = {
};
assert.sameValue(x.length, 2, 'The value of x.length is expected to be 2');
-//CHECK#3
x = [];
x.length = {
valueOf: function() {
@@ -41,7 +38,6 @@ x.length = {
};
assert.sameValue(x.length, 2, 'The value of x.length is expected to be 2');
-//CHECK#4
try {
x = [];
x.length = {
@@ -58,7 +54,6 @@ catch (e) {
assert.notSameValue(e, "error", 'The value of e is not "error"');
}
-//CHECK#5
x = [];
x.length = {
toString: function() {
@@ -67,7 +62,6 @@ x.length = {
};
assert.sameValue(x.length, 1, 'The value of x.length is expected to be 1');
-//CHECK#6
x = [];
x.length = {
valueOf: function() {
@@ -79,7 +73,6 @@ x.length = {
}
assert.sameValue(x.length, 1, 'The value of x.length is expected to be 1');
-//CHECK#7
try {
x = [];
x.length = {
@@ -97,7 +90,6 @@ catch (e) {
assert.sameValue(e, "error", 'The value of e is expected to be "error"');
}
-//CHECK#8
try {
x = [];
x.length = {
diff --git a/js/src/tests/test262/built-ins/Array/length/S15.4.5.2_A3_T4.js b/js/src/tests/test262/built-ins/Array/length/S15.4.5.2_A3_T4.js
index 583cad720c6b..a073a7a0ef3a 100644
--- a/js/src/tests/test262/built-ins/Array/length/S15.4.5.2_A3_T4.js
+++ b/js/src/tests/test262/built-ins/Array/length/S15.4.5.2_A3_T4.js
@@ -12,7 +12,6 @@ description: >
is an array index
---*/
-//CHECK#1
var x = [0, 1, 2];
x[4294967294] = 4294967294;
x.length = 2;
diff --git a/js/src/tests/test262/built-ins/Array/prototype/Symbol.unscopables/array-find-from-last.js b/js/src/tests/test262/built-ins/Array/prototype/Symbol.unscopables/array-find-from-last.js
new file mode 100644
index 000000000000..6db4575ecb1c
--- /dev/null
+++ b/js/src/tests/test262/built-ins/Array/prototype/Symbol.unscopables/array-find-from-last.js
@@ -0,0 +1,34 @@
+// |reftest| skip -- array-find-from-last is not supported
+// Copyright (C) 2022 Microsoft. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-array.prototype-@@unscopables
+description: >
+ Initial value of `Symbol.unscopables` property
+info: |
+ 22.1.3.32 Array.prototype [ @@unscopables ]
+
+ ...
+ 7. Perform CreateDataProperty(unscopableList, "findLast", true).
+ 8. Perform CreateDataProperty(unscopableList, "findLastIndex", true).
+ ...
+
+includes: [propertyHelper.js]
+features: [Symbol.unscopables, array-find-from-last]
+---*/
+
+var unscopables = Array.prototype[Symbol.unscopables];
+
+assert.sameValue(Object.getPrototypeOf(unscopables), null);
+
+assert.sameValue(unscopables.findLast, true, '`findLast` property value');
+verifyEnumerable(unscopables, 'findLast');
+verifyWritable(unscopables, 'findLast');
+verifyConfigurable(unscopables, 'findLast');
+
+assert.sameValue(unscopables.findLastIndex, true, '`findLastIndex` property value');
+verifyEnumerable(unscopables, 'findLastIndex');
+verifyWritable(unscopables, 'findLastIndex');
+verifyConfigurable(unscopables, 'findLastIndex');
+
+reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Array/prototype/Symbol.unscopables/array-grouping.js b/js/src/tests/test262/built-ins/Array/prototype/Symbol.unscopables/array-grouping.js
new file mode 100644
index 000000000000..7ce2097b6819
--- /dev/null
+++ b/js/src/tests/test262/built-ins/Array/prototype/Symbol.unscopables/array-grouping.js
@@ -0,0 +1,34 @@
+// |reftest| skip -- array-grouping is not supported
+// Copyright (C) 2022 Chengzhong Wu. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-array.prototype-@@unscopables
+description: >
+ Initial value of `Symbol.unscopables` property
+info: |
+ 22.1.3.32 Array.prototype [ @@unscopables ]
+
+ ...
+ 10. Perform ! CreateDataPropertyOrThrow(unscopableList, "groupBy", true).
+ 11. Perform ! CreateDataPropertyOrThrow(unscopableList, "groupByToMap", true).
+ ...
+
+includes: [propertyHelper.js]
+features: [Symbol.unscopables, array-grouping]
+---*/
+
+var unscopables = Array.prototype[Symbol.unscopables];
+
+assert.sameValue(Object.getPrototypeOf(unscopables), null);
+
+assert.sameValue(unscopables.groupBy, true, '`groupBy` property value');
+verifyEnumerable(unscopables, 'groupBy');
+verifyWritable(unscopables, 'groupBy');
+verifyConfigurable(unscopables, 'groupBy');
+
+assert.sameValue(unscopables.groupByToMap, true, '`groupByToMap` property value');
+verifyEnumerable(unscopables, 'groupByToMap');
+verifyWritable(unscopables, 'groupByToMap');
+verifyConfigurable(unscopables, 'groupByToMap');
+
+reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Array/prototype/Symbol.unscopables/value.js b/js/src/tests/test262/built-ins/Array/prototype/Symbol.unscopables/value.js
index 6de66c916452..3bd5e4fad820 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/Symbol.unscopables/value.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/Symbol.unscopables/value.js
@@ -1,4 +1,3 @@
-// |reftest| skip -- array-find-from-last is not supported
// Copyright (C) 2015 Mike Pennisi. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
@@ -14,17 +13,16 @@ info: |
4. Perform CreateDataProperty(unscopableList, "fill", true).
5. Perform CreateDataProperty(unscopableList, "find", true).
6. Perform CreateDataProperty(unscopableList, "findIndex", true).
- 7. Perform CreateDataProperty(unscopableList, "findLast", true).
- 8. Perform CreateDataProperty(unscopableList, "findLastIndex", true).
- 9. Perform CreateDataProperty(unscopableList, "flat", true).
- 10. Perform CreateDataProperty(unscopableList, "flatMap", true).
- 11. Perform CreateDataProperty(unscopableList, "includes", true).
- 12. Perform CreateDataProperty(unscopableList, "keys", true).
- 13. Perform CreateDataProperty(unscopableList, "values", true).
- 14. Assert: Each of the above calls returns true.
- 15. Return unscopableList.
+ 7. Perform CreateDataProperty(unscopableList, "flat", true).
+ 8. Perform CreateDataProperty(unscopableList, "flatMap", true).
+ 9. Perform CreateDataProperty(unscopableList, "includes", true).
+ 10. Perform CreateDataProperty(unscopableList, "keys", true).
+ 11. Perform CreateDataProperty(unscopableList, "values", true).
+ 12. Assert: Each of the above calls returns true.
+ 13. Return unscopableList.
+
includes: [propertyHelper.js]
-features: [Symbol.unscopables, array-find-from-last]
+features: [Symbol.unscopables]
---*/
var unscopables = Array.prototype[Symbol.unscopables];
@@ -56,17 +54,6 @@ verifyEnumerable(unscopables, 'findIndex');
verifyWritable(unscopables, 'findIndex');
verifyConfigurable(unscopables, 'findIndex');
-
-assert.sameValue(unscopables.findLast, true, '`findLast` property value');
-verifyEnumerable(unscopables, 'findLast');
-verifyWritable(unscopables, 'findLast');
-verifyConfigurable(unscopables, 'findLast');
-
-assert.sameValue(unscopables.findLastIndex, true, '`findLastIndex` property value');
-verifyEnumerable(unscopables, 'findLastIndex');
-verifyWritable(unscopables, 'findLastIndex');
-verifyConfigurable(unscopables, 'findLastIndex');
-
assert.sameValue(unscopables.flat, true, '`flat` property value');
verifyEnumerable(unscopables, 'flat');
verifyWritable(unscopables, 'flat');
diff --git a/js/src/tests/test262/built-ins/Array/prototype/concat/Array.prototype.concat_large-typed-array.js b/js/src/tests/test262/built-ins/Array/prototype/concat/Array.prototype.concat_large-typed-array.js
index 3c1041af9590..7255309870d0 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/concat/Array.prototype.concat_large-typed-array.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/concat/Array.prototype.concat_large-typed-array.js
@@ -16,22 +16,13 @@ function concatTypedArray(type, elems, modulo) {
ta_by_len[i] = items[i] = modulo === false ? i : elems % modulo;
}
var ta = new type(items);
- assert(
- compareArray([].concat(ta, ta), [ta, ta]),
- 'compareArray([].concat(ta, ta), [ta, ta]) must return true'
- );
+ assert.compareArray([].concat(ta, ta), [ta, ta]);
ta[Symbol.isConcatSpreadable] = true;
- assert.compareArray([].concat(ta), items, '[].concat(new type(items)) returns items');
+ assert.compareArray([].concat(ta), items);
- assert(
- compareArray([].concat(ta_by_len, ta_by_len), [ta_by_len, ta_by_len]),
- 'compareArray([].concat(ta_by_len, ta_by_len), [ta_by_len, ta_by_len]) must return true'
- );
+ assert.compareArray([].concat(ta_by_len, ta_by_len), [ta_by_len, ta_by_len]);
ta_by_len[Symbol.isConcatSpreadable] = true;
- assert(
- compareArray([].concat(ta_by_len), items),
- 'compareArray([].concat(ta_by_len), items) must return true'
- );
+ assert.compareArray([].concat(ta_by_len), items);
// TypedArray with fake `length`.
ta = new type(1);
@@ -43,7 +34,7 @@ function concatTypedArray(type, elems, modulo) {
value: 4000
});
ta[Symbol.isConcatSpreadable] = true;
- assert.compareArray([].concat(ta), expected, '[].concat(new type(1)) returns expected');
+ assert.compareArray([].concat(ta), expected);
}
var max = [Math.pow(2, 8), Math.pow(2, 16), Math.pow(2, 32), false, false];
diff --git a/js/src/tests/test262/built-ins/Array/prototype/concat/Array.prototype.concat_small-typed-array.js b/js/src/tests/test262/built-ins/Array/prototype/concat/Array.prototype.concat_small-typed-array.js
index 8b467e3f1ab3..201e0f34b3a1 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/concat/Array.prototype.concat_small-typed-array.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/concat/Array.prototype.concat_small-typed-array.js
@@ -16,22 +16,13 @@ function concatTypedArray(type, elems, modulo) {
ta_by_len[i] = items[i] = modulo === false ? i : elems % modulo;
}
var ta = new type(items);
- assert(
- compareArray([].concat(ta, ta), [ta, ta]),
- 'compareArray([].concat(ta, ta), [ta, ta]) must return true'
- );
+ assert.compareArray([].concat(ta, ta), [ta, ta]);
ta[Symbol.isConcatSpreadable] = true;
- assert.compareArray([].concat(ta), items, '[].concat(new type(items)) returns items');
+ assert.compareArray([].concat(ta), items);
- assert(
- compareArray([].concat(ta_by_len, ta_by_len), [ta_by_len, ta_by_len]),
- 'compareArray([].concat(ta_by_len, ta_by_len), [ta_by_len, ta_by_len]) must return true'
- );
+ assert.compareArray([].concat(ta_by_len, ta_by_len), [ta_by_len, ta_by_len]);
ta_by_len[Symbol.isConcatSpreadable] = true;
- assert(
- compareArray([].concat(ta_by_len), items),
- 'compareArray([].concat(ta_by_len), items) must return true'
- );
+ assert.compareArray([].concat(ta_by_len), items);
// TypedArray with fake `length`.
ta = new type(1);
@@ -43,7 +34,7 @@ function concatTypedArray(type, elems, modulo) {
value: 4000
});
ta[Symbol.isConcatSpreadable] = true;
- assert.compareArray([].concat(ta), expected, '[].concat(new type(1)) returns expected');
+ assert.compareArray([].concat(ta), expected);
}
var max = [Math.pow(2, 8), Math.pow(2, 16), Math.pow(2, 32), false, false];
[
diff --git a/js/src/tests/test262/built-ins/Array/prototype/concat/S15.4.4.4_A1_T1.js b/js/src/tests/test262/built-ins/Array/prototype/concat/S15.4.4.4_A1_T1.js
index d3046067b60d..7d4bd82f3953 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/concat/S15.4.4.4_A1_T1.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/concat/S15.4.4.4_A1_T1.js
@@ -16,7 +16,6 @@ var y = new Array(0, 1);
var z = new Array(2, 3, 4);
var arr = x.concat(y, z);
-//CHECK#0
arr.getClass = Object.prototype.toString;
assert.sameValue(arr.getClass(), "[object Array]", 'arr.getClass() must return "[object Array]"');
assert.sameValue(arr[0], 0, 'The value of arr[0] is expected to be 0');
diff --git a/js/src/tests/test262/built-ins/Array/prototype/concat/S15.4.4.4_A1_T2.js b/js/src/tests/test262/built-ins/Array/prototype/concat/S15.4.4.4_A1_T2.js
index 5b83ae22e1b2..1ac86bfd21cb 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/concat/S15.4.4.4_A1_T2.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/concat/S15.4.4.4_A1_T2.js
@@ -16,7 +16,6 @@ var y = new Object();
var z = new Array(1, 2);
var arr = x.concat(y, z, -1, true, "NaN");
-//CHECK#0
arr.getClass = Object.prototype.toString;
assert.sameValue(arr.getClass(), "[object Array]", 'arr.getClass() must return "[object Array]"');
assert.sameValue(arr[0], 0, 'The value of arr[0] is expected to be 0');
diff --git a/js/src/tests/test262/built-ins/Array/prototype/concat/S15.4.4.4_A1_T3.js b/js/src/tests/test262/built-ins/Array/prototype/concat/S15.4.4.4_A1_T3.js
index 62cee3300b1f..efcd31f65d63 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/concat/S15.4.4.4_A1_T3.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/concat/S15.4.4.4_A1_T3.js
@@ -14,7 +14,6 @@ description: Checking this algorithm with no items
var x = [0, 1];
var arr = x.concat();
-//CHECK#0
arr.getClass = Object.prototype.toString;
assert.sameValue(arr.getClass(), "[object Array]", 'arr.getClass() must return "[object Array]"');
assert.sameValue(arr[0], 0, 'The value of arr[0] is expected to be 0');
diff --git a/js/src/tests/test262/built-ins/Array/prototype/concat/S15.4.4.4_A1_T4.js b/js/src/tests/test262/built-ins/Array/prototype/concat/S15.4.4.4_A1_T4.js
index 3b8f357ad647..be7c04c42e81 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/concat/S15.4.4.4_A1_T4.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/concat/S15.4.4.4_A1_T4.js
@@ -14,7 +14,6 @@ description: Checking this algorithm, items are [], [,]
var x = [, 1];
var arr = x.concat([], [, ]);
-//CHECK#0
arr.getClass = Object.prototype.toString;
assert.sameValue(arr.getClass(), "[object Array]", 'arr.getClass() must return "[object Array]"');
assert.sameValue(arr[0], undefined, 'The value of arr[0] is expected to equal undefined');
diff --git a/js/src/tests/test262/built-ins/Array/prototype/concat/S15.4.4.4_A2_T1.js b/js/src/tests/test262/built-ins/Array/prototype/concat/S15.4.4.4_A2_T1.js
index 90b4405d475a..8cf2de37a266 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/concat/S15.4.4.4_A2_T1.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/concat/S15.4.4.4_A2_T1.js
@@ -16,7 +16,6 @@ var y = new Object();
var z = new Array(1, 2);
var arr = x.concat(y, z, -1, true, "NaN");
-//CHECK#0
arr.getClass = Object.prototype.toString;
assert.sameValue(arr.getClass(), "[object Array]", 'arr.getClass() must return "[object Array]"');
assert.sameValue(arr[0], x, 'The value of arr[0] is expected to equal the value of x');
diff --git a/js/src/tests/test262/built-ins/Array/prototype/concat/S15.4.4.4_A2_T2.js b/js/src/tests/test262/built-ins/Array/prototype/concat/S15.4.4.4_A2_T2.js
index b9055356f904..8d0efd6b2fae 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/concat/S15.4.4.4_A2_T2.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/concat/S15.4.4.4_A2_T2.js
@@ -14,7 +14,6 @@ var x = {};
x.concat = Array.prototype.concat;
var arr = x.concat();
-//CHECK#0
arr.getClass = Object.prototype.toString;
assert.sameValue(arr.getClass(), "[object Array]", 'arr.getClass() must return "[object Array]"');
assert.sameValue(arr[0], x, 'The value of arr[0] is expected to equal the value of x');
diff --git a/js/src/tests/test262/built-ins/Array/prototype/copyWithin/coerced-values-target.js b/js/src/tests/test262/built-ins/Array/prototype/copyWithin/coerced-values-target.js
index 5c10b67cfe04..dac3cfd53b44 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/copyWithin/coerced-values-target.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/copyWithin/coerced-values-target.js
@@ -55,4 +55,9 @@ assert.compareArray(
'[0, 1, 2, 3].copyWithin(1.5, 0) must return [0, 0, 1, 2]'
);
+assert.compareArray(
+ [0, 1, 2, 3].copyWithin({}, 1), [1, 2, 3, 3],
+ '[0, 1, 2, 3].copyWithin({}, 1) must return [1, 2, 3, 3]'
+);
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Array/prototype/copyWithin/non-negative-target-and-start.js b/js/src/tests/test262/built-ins/Array/prototype/copyWithin/non-negative-target-and-start.js
index bdbc65b571ef..da1d411abc92 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/copyWithin/non-negative-target-and-start.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/copyWithin/non-negative-target-and-start.js
@@ -31,20 +31,24 @@ info: |
includes: [compareArray.js]
---*/
-assert(compareArray(
- ['a', 'b', 'c', 'd', 'e', 'f'].copyWithin(0, 0), ['a', 'b', 'c', 'd', 'e', 'f']
-), 'compareArray( ["a", "b", "c", "d", "e", "f"].copyWithin(0, 0), ["a", "b", "c", "d", "e", "f"] ) must return true');
+assert.compareArray(
+ ['a', 'b', 'c', 'd', 'e', 'f'].copyWithin(0, 0),
+ ['a', 'b', 'c', 'd', 'e', 'f']
+);
-assert(compareArray(
- ['a', 'b', 'c', 'd', 'e', 'f'].copyWithin(0, 2), ['c', 'd', 'e', 'f', 'e', 'f']
-), 'compareArray( ["a", "b", "c", "d", "e", "f"].copyWithin(0, 2), ["c", "d", "e", "f", "e", "f"] ) must return true');
+assert.compareArray(
+ ['a', 'b', 'c', 'd', 'e', 'f'].copyWithin(0, 2),
+ ['c', 'd', 'e', 'f', 'e', 'f']
+);
-assert(compareArray(
- ['a', 'b', 'c', 'd', 'e', 'f'].copyWithin(3, 0), ['a', 'b', 'c', 'a', 'b', 'c']
-), 'compareArray( ["a", "b", "c", "d", "e", "f"].copyWithin(3, 0), ["a", "b", "c", "a", "b", "c"] ) must return true');
+assert.compareArray(
+ ['a', 'b', 'c', 'd', 'e', 'f'].copyWithin(3, 0),
+ ['a', 'b', 'c', 'a', 'b', 'c']
+);
-assert(compareArray(
- [0, 1, 2, 3, 4, 5].copyWithin(1, 4), [0, 4, 5, 3, 4, 5]
-), 'compareArray( [0, 1, 2, 3, 4, 5].copyWithin(1, 4), [0, 4, 5, 3, 4, 5] ) must return true');
+assert.compareArray(
+ [0, 1, 2, 3, 4, 5].copyWithin(1, 4),
+ [0, 4, 5, 3, 4, 5]
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Array/prototype/every/callbackfn-resize-arraybuffer.js b/js/src/tests/test262/built-ins/Array/prototype/every/callbackfn-resize-arraybuffer.js
new file mode 100644
index 000000000000..fc01a8b091e9
--- /dev/null
+++ b/js/src/tests/test262/built-ins/Array/prototype/every/callbackfn-resize-arraybuffer.js
@@ -0,0 +1,74 @@
+// |reftest| skip -- resizable-arraybuffer is not supported
+// Copyright (C) 2021 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-array.prototype.every
+description: TypedArray instance buffer can be resized during iteration
+includes: [testTypedArray.js, compareArray.js]
+features: [TypedArray, resizable-arraybuffer]
+---*/
+
+// If the host chooses to throw as allowed by the specification, the observed
+// behavior will be identical to the case where `ArrayBuffer.prototype.resize`
+// has not been implemented. The following assertion prevents this test from
+// passing in runtimes which have not implemented the method.
+assert.sameValue(typeof ArrayBuffer.prototype.resize, 'function');
+
+testWithTypedArrayConstructors(function(TA) {
+ var BPE = TA.BYTES_PER_ELEMENT;
+ var buffer = new ArrayBuffer(BPE * 3, {maxByteLength: BPE * 4});
+ var sample = new TA(buffer);
+ var expectedElements, expectedIndices, expectedArrays;
+ var elements, indices, arrays, result;
+
+ elements = [];
+ indices = [];
+ arrays = [];
+ result = Array.prototype.every.call(sample, function(element, index, array) {
+ if (elements.length === 0) {
+ try {
+ buffer.resize(2 * BPE);
+ expectedElements = [0, 0];
+ expectedIndices = [0, 1];
+ expectedArrays = [sample, sample];
+ } catch (_) {
+ expectedElements = [0, 0, 0];
+ expectedIndices = [0, 1, 2];
+ expectedArrays = [sample, sample, sample];
+ }
+ }
+
+ elements.push(element);
+ indices.push(index);
+ arrays.push(array);
+ return true;
+ });
+
+ assert.compareArray(elements, expectedElements, 'elements (shrink)');
+ assert.compareArray(indices, expectedIndices, 'indices (shrink)');
+ assert.compareArray(arrays, expectedArrays, 'arrays (shrink)');
+ assert.sameValue(result, true, 'result (shrink)');
+
+ elements = [];
+ indices = [];
+ arrays = [];
+ result = Array.prototype.every.call(sample, function(element, index, array) {
+ if (elements.length === 0) {
+ try {
+ buffer.resize(4 * BPE);
+ } catch (_) {}
+ }
+
+ elements.push(element);
+ indices.push(index);
+ arrays.push(array);
+ return true;
+ });
+
+ assert.compareArray(elements, expectedElements, 'elements (grow)');
+ assert.compareArray(indices, expectedIndices, 'indices (grow)');
+ assert.compareArray(arrays, expectedArrays, 'arrays (grow)');
+ assert.sameValue(result, true, 'result (grow)');
+});
+
+reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Array/prototype/every/shell.js b/js/src/tests/test262/built-ins/Array/prototype/every/shell.js
index e69de29bb2d1..e9580b311369 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/every/shell.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/every/shell.js
@@ -0,0 +1,124 @@
+// GENERATED, DO NOT EDIT
+// file: testTypedArray.js
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+description: |
+ Collection of functions used to assert the correctness of TypedArray objects.
+defines:
+ - typedArrayConstructors
+ - floatArrayConstructors
+ - intArrayConstructors
+ - TypedArray
+ - testWithTypedArrayConstructors
+ - testWithAtomicsFriendlyTypedArrayConstructors
+ - testWithNonAtomicsFriendlyTypedArrayConstructors
+ - testTypedArrayConversions
+---*/
+
+/**
+ * Array containing every typed array constructor.
+ */
+var typedArrayConstructors = [
+ Float64Array,
+ Float32Array,
+ Int32Array,
+ Int16Array,
+ Int8Array,
+ Uint32Array,
+ Uint16Array,
+ Uint8Array,
+ Uint8ClampedArray
+];
+
+var floatArrayConstructors = typedArrayConstructors.slice(0, 2);
+var intArrayConstructors = typedArrayConstructors.slice(2, 7);
+
+/**
+ * The %TypedArray% intrinsic constructor function.
+ */
+var TypedArray = Object.getPrototypeOf(Int8Array);
+
+/**
+ * Callback for testing a typed array constructor.
+ *
+ * @callback typedArrayConstructorCallback
+ * @param {Function} Constructor the constructor object to test with.
+ */
+
+/**
+ * Calls the provided function for every typed array constructor.
+ *
+ * @param {typedArrayConstructorCallback} f - the function to call for each typed array constructor.
+ * @param {Array} selected - An optional Array with filtered typed arrays
+ */
+function testWithTypedArrayConstructors(f, selected) {
+ var constructors = selected || typedArrayConstructors;
+ for (var i = 0; i < constructors.length; ++i) {
+ var constructor = constructors[i];
+ try {
+ f(constructor);
+ } catch (e) {
+ e.message += " (Testing with " + constructor.name + ".)";
+ throw e;
+ }
+ }
+}
+
+/**
+ * Calls the provided function for every non-"Atomics Friendly" typed array constructor.
+ *
+ * @param {typedArrayConstructorCallback} f - the function to call for each typed array constructor.
+ * @param {Array} selected - An optional Array with filtered typed arrays
+ */
+function testWithNonAtomicsFriendlyTypedArrayConstructors(f) {
+ testWithTypedArrayConstructors(f, [
+ Float64Array,
+ Float32Array,
+ Uint8ClampedArray
+ ]);
+}
+
+/**
+ * Calls the provided function for every "Atomics Friendly" typed array constructor.
+ *
+ * @param {typedArrayConstructorCallback} f - the function to call for each typed array constructor.
+ * @param {Array} selected - An optional Array with filtered typed arrays
+ */
+function testWithAtomicsFriendlyTypedArrayConstructors(f) {
+ testWithTypedArrayConstructors(f, [
+ Int32Array,
+ Int16Array,
+ Int8Array,
+ Uint32Array,
+ Uint16Array,
+ Uint8Array,
+ ]);
+}
+
+/**
+ * Helper for conversion operations on TypedArrays, the expected values
+ * properties are indexed in order to match the respective value for each
+ * TypedArray constructor
+ * @param {Function} fn - the function to call for each constructor and value.
+ * will be called with the constructor, value, expected
+ * value, and a initial value that can be used to avoid
+ * a false positive with an equivalent expected value.
+ */
+function testTypedArrayConversions(byteConversionValues, fn) {
+ var values = byteConversionValues.values;
+ var expected = byteConversionValues.expected;
+
+ testWithTypedArrayConstructors(function(TA) {
+ var name = TA.name.slice(0, -5);
+
+ return values.forEach(function(value, index) {
+ var exp = expected[name][index];
+ var initial = 0;
+ if (exp === 0) {
+ initial = 1;
+ }
+ fn(TA, value, exp, initial);
+ });
+ });
+}
diff --git a/js/src/tests/test262/built-ins/Array/prototype/filter/callbackfn-resize-arraybuffer.js b/js/src/tests/test262/built-ins/Array/prototype/filter/callbackfn-resize-arraybuffer.js
new file mode 100644
index 000000000000..bfeaa226de76
--- /dev/null
+++ b/js/src/tests/test262/built-ins/Array/prototype/filter/callbackfn-resize-arraybuffer.js
@@ -0,0 +1,74 @@
+// |reftest| skip -- resizable-arraybuffer is not supported
+// Copyright (C) 2021 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-array.prototype.filter
+description: TypedArray instance buffer can be resized during iteration
+includes: [testTypedArray.js, compareArray.js]
+features: [TypedArray, resizable-arraybuffer]
+---*/
+
+// If the host chooses to throw as allowed by the specification, the observed
+// behavior will be identical to the case where `ArrayBuffer.prototype.resize`
+// has not been implemented. The following assertion prevents this test from
+// passing in runtimes which have not implemented the method.
+assert.sameValue(typeof ArrayBuffer.prototype.resize, 'function');
+
+testWithTypedArrayConstructors(function(TA) {
+ var BPE = TA.BYTES_PER_ELEMENT;
+ var buffer = new ArrayBuffer(BPE * 3, {maxByteLength: BPE * 4});
+ var sample = new TA(buffer);
+ var expectedElements, expectedIndices, expectedArrays;
+ var elements, indices, arrays, result;
+
+ elements = [];
+ indices = [];
+ arrays = [];
+ result = Array.prototype.filter.call(sample, function(element, index, array) {
+ if (elements.length === 0) {
+ try {
+ buffer.resize(2 * BPE);
+ expectedElements = [0, 0];
+ expectedIndices = [0, 1];
+ expectedArrays = [sample, sample];
+ } catch (_) {
+ expectedElements = [0, 0, 0];
+ expectedIndices = [0, 1, 2];
+ expectedArrays = [sample, sample, sample];
+ }
+ }
+
+ elements.push(element);
+ indices.push(index);
+ arrays.push(array);
+ return true;
+ });
+
+ assert.compareArray(elements, expectedElements, 'elements (shrink)');
+ assert.compareArray(indices, expectedIndices, 'indices (shrink)');
+ assert.compareArray(arrays, expectedArrays, 'arrays (shrink)');
+ assert.compareArray(result, expectedElements, 'result (shrink)');
+
+ elements = [];
+ indices = [];
+ arrays = [];
+ result = Array.prototype.filter.call(sample, function(element, index, array) {
+ if (elements.length === 0) {
+ try {
+ buffer.resize(4 * BPE);
+ } catch (_) {}
+ }
+
+ elements.push(element);
+ indices.push(index);
+ arrays.push(array);
+ return true;
+ });
+
+ assert.compareArray(elements, expectedElements, 'elements (grow)');
+ assert.compareArray(indices, expectedIndices, 'indices (grow)');
+ assert.compareArray(arrays, expectedArrays, 'arrays (grow)');
+ assert.compareArray(result, expectedElements, 'result (grow)');
+});
+
+reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Array/prototype/filter/shell.js b/js/src/tests/test262/built-ins/Array/prototype/filter/shell.js
index e69de29bb2d1..e9580b311369 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/filter/shell.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/filter/shell.js
@@ -0,0 +1,124 @@
+// GENERATED, DO NOT EDIT
+// file: testTypedArray.js
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+description: |
+ Collection of functions used to assert the correctness of TypedArray objects.
+defines:
+ - typedArrayConstructors
+ - floatArrayConstructors
+ - intArrayConstructors
+ - TypedArray
+ - testWithTypedArrayConstructors
+ - testWithAtomicsFriendlyTypedArrayConstructors
+ - testWithNonAtomicsFriendlyTypedArrayConstructors
+ - testTypedArrayConversions
+---*/
+
+/**
+ * Array containing every typed array constructor.
+ */
+var typedArrayConstructors = [
+ Float64Array,
+ Float32Array,
+ Int32Array,
+ Int16Array,
+ Int8Array,
+ Uint32Array,
+ Uint16Array,
+ Uint8Array,
+ Uint8ClampedArray
+];
+
+var floatArrayConstructors = typedArrayConstructors.slice(0, 2);
+var intArrayConstructors = typedArrayConstructors.slice(2, 7);
+
+/**
+ * The %TypedArray% intrinsic constructor function.
+ */
+var TypedArray = Object.getPrototypeOf(Int8Array);
+
+/**
+ * Callback for testing a typed array constructor.
+ *
+ * @callback typedArrayConstructorCallback
+ * @param {Function} Constructor the constructor object to test with.
+ */
+
+/**
+ * Calls the provided function for every typed array constructor.
+ *
+ * @param {typedArrayConstructorCallback} f - the function to call for each typed array constructor.
+ * @param {Array} selected - An optional Array with filtered typed arrays
+ */
+function testWithTypedArrayConstructors(f, selected) {
+ var constructors = selected || typedArrayConstructors;
+ for (var i = 0; i < constructors.length; ++i) {
+ var constructor = constructors[i];
+ try {
+ f(constructor);
+ } catch (e) {
+ e.message += " (Testing with " + constructor.name + ".)";
+ throw e;
+ }
+ }
+}
+
+/**
+ * Calls the provided function for every non-"Atomics Friendly" typed array constructor.
+ *
+ * @param {typedArrayConstructorCallback} f - the function to call for each typed array constructor.
+ * @param {Array} selected - An optional Array with filtered typed arrays
+ */
+function testWithNonAtomicsFriendlyTypedArrayConstructors(f) {
+ testWithTypedArrayConstructors(f, [
+ Float64Array,
+ Float32Array,
+ Uint8ClampedArray
+ ]);
+}
+
+/**
+ * Calls the provided function for every "Atomics Friendly" typed array constructor.
+ *
+ * @param {typedArrayConstructorCallback} f - the function to call for each typed array constructor.
+ * @param {Array} selected - An optional Array with filtered typed arrays
+ */
+function testWithAtomicsFriendlyTypedArrayConstructors(f) {
+ testWithTypedArrayConstructors(f, [
+ Int32Array,
+ Int16Array,
+ Int8Array,
+ Uint32Array,
+ Uint16Array,
+ Uint8Array,
+ ]);
+}
+
+/**
+ * Helper for conversion operations on TypedArrays, the expected values
+ * properties are indexed in order to match the respective value for each
+ * TypedArray constructor
+ * @param {Function} fn - the function to call for each constructor and value.
+ * will be called with the constructor, value, expected
+ * value, and a initial value that can be used to avoid
+ * a false positive with an equivalent expected value.
+ */
+function testTypedArrayConversions(byteConversionValues, fn) {
+ var values = byteConversionValues.values;
+ var expected = byteConversionValues.expected;
+
+ testWithTypedArrayConstructors(function(TA) {
+ var name = TA.name.slice(0, -5);
+
+ return values.forEach(function(value, index) {
+ var exp = expected[name][index];
+ var initial = 0;
+ if (exp === 0) {
+ initial = 1;
+ }
+ fn(TA, value, exp, initial);
+ });
+ });
+}
diff --git a/js/src/tests/test262/built-ins/Array/prototype/find/callbackfn-resize-arraybuffer.js b/js/src/tests/test262/built-ins/Array/prototype/find/callbackfn-resize-arraybuffer.js
new file mode 100644
index 000000000000..7ef357bb6529
--- /dev/null
+++ b/js/src/tests/test262/built-ins/Array/prototype/find/callbackfn-resize-arraybuffer.js
@@ -0,0 +1,76 @@
+// |reftest| skip -- resizable-arraybuffer is not supported
+// Copyright (C) 2021 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-array.prototype.find
+description: TypedArray instance buffer can be resized during iteration
+includes: [testTypedArray.js, compareArray.js]
+features: [TypedArray, resizable-arraybuffer]
+---*/
+
+// If the host chooses to throw as allowed by the specification, the observed
+// behavior will be identical to the case where `ArrayBuffer.prototype.resize`
+// has not been implemented. The following assertion prevents this test from
+// passing in runtimes which have not implemented the method.
+assert.sameValue(typeof ArrayBuffer.prototype.resize, 'function');
+
+testWithTypedArrayConstructors(function(TA) {
+ var BPE = TA.BYTES_PER_ELEMENT;
+ var buffer = new ArrayBuffer(BPE * 3, {maxByteLength: BPE * 4});
+ var sample = new TA(buffer);
+ var finalElement, expectedElements, expectedIndices, expectedArrays;
+ var elements, indices, arrays, result;
+
+ elements = [];
+ indices = [];
+ arrays = [];
+ result = Array.prototype.find.call(sample, function(element, index, array) {
+ if (elements.length === 0) {
+ try {
+ buffer.resize(2 * BPE);
+ finalElement = undefined;
+ expectedElements = [0, 0];
+ expectedIndices = [0, 1];
+ expectedArrays = [sample, sample];
+ } catch (_) {
+ finalElement = 0;
+ expectedElements = [0, 0, 0];
+ expectedIndices = [0, 1, 2];
+ expectedArrays = [sample, sample, sample];
+ }
+ }
+
+ elements.push(element);
+ indices.push(index);
+ arrays.push(array);
+ return false;
+ });
+
+ assert.compareArray(elements, [0, 0, finalElement], 'elements (shrink)');
+ assert.compareArray(indices, [0, 1, 2], 'indices (shrink)');
+ assert.compareArray(arrays, [sample, sample, sample], 'arrays (shrink)');
+ assert.sameValue(result, undefined, 'result (shrink)');
+
+ elements = [];
+ indices = [];
+ arrays = [];
+ result = Array.prototype.find.call(sample, function(element, index, array) {
+ if (elements.length === 0) {
+ try {
+ buffer.resize(4 * BPE);
+ } catch (_) {}
+ }
+
+ elements.push(element);
+ indices.push(index);
+ arrays.push(array);
+ return false;
+ });
+
+ assert.compareArray(elements, expectedElements, 'elements (grow)');
+ assert.compareArray(indices, expectedIndices, 'indices (grow)');
+ assert.compareArray(arrays, expectedArrays, 'arrays (grow)');
+ assert.sameValue(result, undefined, 'result (grow)');
+});
+
+reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Array/prototype/find/shell.js b/js/src/tests/test262/built-ins/Array/prototype/find/shell.js
index e69de29bb2d1..e9580b311369 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/find/shell.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/find/shell.js
@@ -0,0 +1,124 @@
+// GENERATED, DO NOT EDIT
+// file: testTypedArray.js
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+description: |
+ Collection of functions used to assert the correctness of TypedArray objects.
+defines:
+ - typedArrayConstructors
+ - floatArrayConstructors
+ - intArrayConstructors
+ - TypedArray
+ - testWithTypedArrayConstructors
+ - testWithAtomicsFriendlyTypedArrayConstructors
+ - testWithNonAtomicsFriendlyTypedArrayConstructors
+ - testTypedArrayConversions
+---*/
+
+/**
+ * Array containing every typed array constructor.
+ */
+var typedArrayConstructors = [
+ Float64Array,
+ Float32Array,
+ Int32Array,
+ Int16Array,
+ Int8Array,
+ Uint32Array,
+ Uint16Array,
+ Uint8Array,
+ Uint8ClampedArray
+];
+
+var floatArrayConstructors = typedArrayConstructors.slice(0, 2);
+var intArrayConstructors = typedArrayConstructors.slice(2, 7);
+
+/**
+ * The %TypedArray% intrinsic constructor function.
+ */
+var TypedArray = Object.getPrototypeOf(Int8Array);
+
+/**
+ * Callback for testing a typed array constructor.
+ *
+ * @callback typedArrayConstructorCallback
+ * @param {Function} Constructor the constructor object to test with.
+ */
+
+/**
+ * Calls the provided function for every typed array constructor.
+ *
+ * @param {typedArrayConstructorCallback} f - the function to call for each typed array constructor.
+ * @param {Array} selected - An optional Array with filtered typed arrays
+ */
+function testWithTypedArrayConstructors(f, selected) {
+ var constructors = selected || typedArrayConstructors;
+ for (var i = 0; i < constructors.length; ++i) {
+ var constructor = constructors[i];
+ try {
+ f(constructor);
+ } catch (e) {
+ e.message += " (Testing with " + constructor.name + ".)";
+ throw e;
+ }
+ }
+}
+
+/**
+ * Calls the provided function for every non-"Atomics Friendly" typed array constructor.
+ *
+ * @param {typedArrayConstructorCallback} f - the function to call for each typed array constructor.
+ * @param {Array} selected - An optional Array with filtered typed arrays
+ */
+function testWithNonAtomicsFriendlyTypedArrayConstructors(f) {
+ testWithTypedArrayConstructors(f, [
+ Float64Array,
+ Float32Array,
+ Uint8ClampedArray
+ ]);
+}
+
+/**
+ * Calls the provided function for every "Atomics Friendly" typed array constructor.
+ *
+ * @param {typedArrayConstructorCallback} f - the function to call for each typed array constructor.
+ * @param {Array} selected - An optional Array with filtered typed arrays
+ */
+function testWithAtomicsFriendlyTypedArrayConstructors(f) {
+ testWithTypedArrayConstructors(f, [
+ Int32Array,
+ Int16Array,
+ Int8Array,
+ Uint32Array,
+ Uint16Array,
+ Uint8Array,
+ ]);
+}
+
+/**
+ * Helper for conversion operations on TypedArrays, the expected values
+ * properties are indexed in order to match the respective value for each
+ * TypedArray constructor
+ * @param {Function} fn - the function to call for each constructor and value.
+ * will be called with the constructor, value, expected
+ * value, and a initial value that can be used to avoid
+ * a false positive with an equivalent expected value.
+ */
+function testTypedArrayConversions(byteConversionValues, fn) {
+ var values = byteConversionValues.values;
+ var expected = byteConversionValues.expected;
+
+ testWithTypedArrayConstructors(function(TA) {
+ var name = TA.name.slice(0, -5);
+
+ return values.forEach(function(value, index) {
+ var exp = expected[name][index];
+ var initial = 0;
+ if (exp === 0) {
+ initial = 1;
+ }
+ fn(TA, value, exp, initial);
+ });
+ });
+}
diff --git a/js/src/tests/test262/built-ins/Array/prototype/findIndex/callbackfn-resize-arraybuffer.js b/js/src/tests/test262/built-ins/Array/prototype/findIndex/callbackfn-resize-arraybuffer.js
new file mode 100644
index 000000000000..fd6dbdf7f780
--- /dev/null
+++ b/js/src/tests/test262/built-ins/Array/prototype/findIndex/callbackfn-resize-arraybuffer.js
@@ -0,0 +1,76 @@
+// |reftest| skip -- resizable-arraybuffer is not supported
+// Copyright (C) 2021 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-array.prototype.findindex
+description: TypedArray instance buffer can be resized during iteration
+includes: [testTypedArray.js, compareArray.js]
+features: [TypedArray, resizable-arraybuffer]
+---*/
+
+// If the host chooses to throw as allowed by the specification, the observed
+// behavior will be identical to the case where `ArrayBuffer.prototype.resize`
+// has not been implemented. The following assertion prevents this test from
+// passing in runtimes which have not implemented the method.
+assert.sameValue(typeof ArrayBuffer.prototype.resize, 'function');
+
+testWithTypedArrayConstructors(function(TA) {
+ var BPE = TA.BYTES_PER_ELEMENT;
+ var buffer = new ArrayBuffer(BPE * 3, {maxByteLength: BPE * 4});
+ var sample = new TA(buffer);
+ var finalElement, expectedElements, expectedIndices, expectedArrays;
+ var elements, indices, arrays, result;
+
+ elements = [];
+ indices = [];
+ arrays = [];
+ result = Array.prototype.findIndex.call(sample, function(element, index, array) {
+ if (elements.length === 0) {
+ try {
+ buffer.resize(2 * BPE);
+ finalElement = undefined;
+ expectedElements = [0, 0];
+ expectedIndices = [0, 1];
+ expectedArrays = [sample, sample];
+ } catch (_) {
+ finalElement = 0;
+ expectedElements = [0, 0, 0];
+ expectedIndices = [0, 1, 2];
+ expectedArrays = [sample, sample, sample];
+ }
+ }
+
+ elements.push(element);
+ indices.push(index);
+ arrays.push(array);
+ return false;
+ });
+
+ assert.compareArray(elements, [0, 0, finalElement], 'elements (shrink)');
+ assert.compareArray(indices, [0, 1, 2], 'indices (shrink)');
+ assert.compareArray(arrays, [sample, sample, sample], 'arrays (shrink)');
+ assert.sameValue(result, -1, 'result (shrink)');
+
+ elements = [];
+ indices = [];
+ arrays = [];
+ result = Array.prototype.findIndex.call(sample, function(element, index, array) {
+ if (elements.length === 0) {
+ try {
+ buffer.resize(4 * BPE);
+ } catch (_) {}
+ }
+
+ elements.push(element);
+ indices.push(index);
+ arrays.push(array);
+ return false;
+ });
+
+ assert.compareArray(elements, expectedElements, 'elements (grow)');
+ assert.compareArray(indices, expectedIndices, 'indices (grow)');
+ assert.compareArray(arrays, expectedArrays, 'arrays (grow)');
+ assert.sameValue(result, -1, 'result (grow)');
+});
+
+reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Array/prototype/findIndex/shell.js b/js/src/tests/test262/built-ins/Array/prototype/findIndex/shell.js
index e69de29bb2d1..e9580b311369 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/findIndex/shell.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/findIndex/shell.js
@@ -0,0 +1,124 @@
+// GENERATED, DO NOT EDIT
+// file: testTypedArray.js
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+description: |
+ Collection of functions used to assert the correctness of TypedArray objects.
+defines:
+ - typedArrayConstructors
+ - floatArrayConstructors
+ - intArrayConstructors
+ - TypedArray
+ - testWithTypedArrayConstructors
+ - testWithAtomicsFriendlyTypedArrayConstructors
+ - testWithNonAtomicsFriendlyTypedArrayConstructors
+ - testTypedArrayConversions
+---*/
+
+/**
+ * Array containing every typed array constructor.
+ */
+var typedArrayConstructors = [
+ Float64Array,
+ Float32Array,
+ Int32Array,
+ Int16Array,
+ Int8Array,
+ Uint32Array,
+ Uint16Array,
+ Uint8Array,
+ Uint8ClampedArray
+];
+
+var floatArrayConstructors = typedArrayConstructors.slice(0, 2);
+var intArrayConstructors = typedArrayConstructors.slice(2, 7);
+
+/**
+ * The %TypedArray% intrinsic constructor function.
+ */
+var TypedArray = Object.getPrototypeOf(Int8Array);
+
+/**
+ * Callback for testing a typed array constructor.
+ *
+ * @callback typedArrayConstructorCallback
+ * @param {Function} Constructor the constructor object to test with.
+ */
+
+/**
+ * Calls the provided function for every typed array constructor.
+ *
+ * @param {typedArrayConstructorCallback} f - the function to call for each typed array constructor.
+ * @param {Array} selected - An optional Array with filtered typed arrays
+ */
+function testWithTypedArrayConstructors(f, selected) {
+ var constructors = selected || typedArrayConstructors;
+ for (var i = 0; i < constructors.length; ++i) {
+ var constructor = constructors[i];
+ try {
+ f(constructor);
+ } catch (e) {
+ e.message += " (Testing with " + constructor.name + ".)";
+ throw e;
+ }
+ }
+}
+
+/**
+ * Calls the provided function for every non-"Atomics Friendly" typed array constructor.
+ *
+ * @param {typedArrayConstructorCallback} f - the function to call for each typed array constructor.
+ * @param {Array} selected - An optional Array with filtered typed arrays
+ */
+function testWithNonAtomicsFriendlyTypedArrayConstructors(f) {
+ testWithTypedArrayConstructors(f, [
+ Float64Array,
+ Float32Array,
+ Uint8ClampedArray
+ ]);
+}
+
+/**
+ * Calls the provided function for every "Atomics Friendly" typed array constructor.
+ *
+ * @param {typedArrayConstructorCallback} f - the function to call for each typed array constructor.
+ * @param {Array} selected - An optional Array with filtered typed arrays
+ */
+function testWithAtomicsFriendlyTypedArrayConstructors(f) {
+ testWithTypedArrayConstructors(f, [
+ Int32Array,
+ Int16Array,
+ Int8Array,
+ Uint32Array,
+ Uint16Array,
+ Uint8Array,
+ ]);
+}
+
+/**
+ * Helper for conversion operations on TypedArrays, the expected values
+ * properties are indexed in order to match the respective value for each
+ * TypedArray constructor
+ * @param {Function} fn - the function to call for each constructor and value.
+ * will be called with the constructor, value, expected
+ * value, and a initial value that can be used to avoid
+ * a false positive with an equivalent expected value.
+ */
+function testTypedArrayConversions(byteConversionValues, fn) {
+ var values = byteConversionValues.values;
+ var expected = byteConversionValues.expected;
+
+ testWithTypedArrayConstructors(function(TA) {
+ var name = TA.name.slice(0, -5);
+
+ return values.forEach(function(value, index) {
+ var exp = expected[name][index];
+ var initial = 0;
+ if (exp === 0) {
+ initial = 1;
+ }
+ fn(TA, value, exp, initial);
+ });
+ });
+}
diff --git a/js/src/tests/test262/built-ins/Array/prototype/findLast/callbackfn-resize-arraybuffer.js b/js/src/tests/test262/built-ins/Array/prototype/findLast/callbackfn-resize-arraybuffer.js
new file mode 100644
index 000000000000..0894ee74f944
--- /dev/null
+++ b/js/src/tests/test262/built-ins/Array/prototype/findLast/callbackfn-resize-arraybuffer.js
@@ -0,0 +1,76 @@
+// |reftest| skip -- resizable-arraybuffer is not supported
+// Copyright (C) 2021 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-array.prototype.findlast
+description: TypedArray instance buffer can be resized during iteration
+includes: [testTypedArray.js, compareArray.js]
+features: [TypedArray, resizable-arraybuffer]
+---*/
+
+// If the host chooses to throw as allowed by the specification, the observed
+// behavior will be identical to the case where `ArrayBuffer.prototype.resize`
+// has not been implemented. The following assertion prevents this test from
+// passing in runtimes which have not implemented the method.
+assert.sameValue(typeof ArrayBuffer.prototype.resize, 'function');
+
+testWithTypedArrayConstructors(function(TA) {
+ var BPE = TA.BYTES_PER_ELEMENT;
+ var buffer = new ArrayBuffer(BPE * 3, {maxByteLength: BPE * 4});
+ var sample = new TA(buffer);
+ var secondElement, expectedElements, expectedIndices, expectedArrays;
+ var elements, indices, arrays, result;
+
+ elements = [];
+ indices = [];
+ arrays = [];
+ result = Array.prototype.findLast.call(sample, function(element, index, array) {
+ if (elements.length === 0) {
+ try {
+ buffer.resize(BPE);
+ secondElement = undefined;
+ expectedElements = [0];
+ expectedIndices = [0];
+ expectedArrays = [sample];
+ } catch (_) {
+ secondElement = 0;
+ expectedElements = [0, 0, 0];
+ expectedIndices = [2, 1, 0];
+ expectedArrays = [sample, sample, sample];
+ }
+ }
+
+ elements.push(element);
+ indices.push(index);
+ arrays.push(array);
+ return false;
+ });
+
+ assert.compareArray(elements, [0, secondElement, 0], 'elements (shrink)');
+ assert.compareArray(indices, [2, 1, 0], 'indices (shrink)');
+ assert.compareArray(arrays, [sample, sample, sample], 'arrays (shrink)');
+ assert.sameValue(result, undefined, 'result (shrink)');
+
+ elements = [];
+ indices = [];
+ arrays = [];
+ result = Array.prototype.findLast.call(sample, function(element, index, array) {
+ if (elements.length === 0) {
+ try {
+ buffer.resize(4 * BPE);
+ } catch (_) {}
+ }
+
+ elements.push(element);
+ indices.push(index);
+ arrays.push(array);
+ return false;
+ });
+
+ assert.compareArray(elements, expectedElements, 'elements (grow)');
+ assert.compareArray(indices, expectedIndices, 'indices (grow)');
+ assert.compareArray(arrays, expectedArrays, 'arrays (grow)');
+ assert.sameValue(result, undefined, 'result (grow)');
+});
+
+reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Array/prototype/findLast/shell.js b/js/src/tests/test262/built-ins/Array/prototype/findLast/shell.js
index e69de29bb2d1..e9580b311369 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/findLast/shell.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/findLast/shell.js
@@ -0,0 +1,124 @@
+// GENERATED, DO NOT EDIT
+// file: testTypedArray.js
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+description: |
+ Collection of functions used to assert the correctness of TypedArray objects.
+defines:
+ - typedArrayConstructors
+ - floatArrayConstructors
+ - intArrayConstructors
+ - TypedArray
+ - testWithTypedArrayConstructors
+ - testWithAtomicsFriendlyTypedArrayConstructors
+ - testWithNonAtomicsFriendlyTypedArrayConstructors
+ - testTypedArrayConversions
+---*/
+
+/**
+ * Array containing every typed array constructor.
+ */
+var typedArrayConstructors = [
+ Float64Array,
+ Float32Array,
+ Int32Array,
+ Int16Array,
+ Int8Array,
+ Uint32Array,
+ Uint16Array,
+ Uint8Array,
+ Uint8ClampedArray
+];
+
+var floatArrayConstructors = typedArrayConstructors.slice(0, 2);
+var intArrayConstructors = typedArrayConstructors.slice(2, 7);
+
+/**
+ * The %TypedArray% intrinsic constructor function.
+ */
+var TypedArray = Object.getPrototypeOf(Int8Array);
+
+/**
+ * Callback for testing a typed array constructor.
+ *
+ * @callback typedArrayConstructorCallback
+ * @param {Function} Constructor the constructor object to test with.
+ */
+
+/**
+ * Calls the provided function for every typed array constructor.
+ *
+ * @param {typedArrayConstructorCallback} f - the function to call for each typed array constructor.
+ * @param {Array} selected - An optional Array with filtered typed arrays
+ */
+function testWithTypedArrayConstructors(f, selected) {
+ var constructors = selected || typedArrayConstructors;
+ for (var i = 0; i < constructors.length; ++i) {
+ var constructor = constructors[i];
+ try {
+ f(constructor);
+ } catch (e) {
+ e.message += " (Testing with " + constructor.name + ".)";
+ throw e;
+ }
+ }
+}
+
+/**
+ * Calls the provided function for every non-"Atomics Friendly" typed array constructor.
+ *
+ * @param {typedArrayConstructorCallback} f - the function to call for each typed array constructor.
+ * @param {Array} selected - An optional Array with filtered typed arrays
+ */
+function testWithNonAtomicsFriendlyTypedArrayConstructors(f) {
+ testWithTypedArrayConstructors(f, [
+ Float64Array,
+ Float32Array,
+ Uint8ClampedArray
+ ]);
+}
+
+/**
+ * Calls the provided function for every "Atomics Friendly" typed array constructor.
+ *
+ * @param {typedArrayConstructorCallback} f - the function to call for each typed array constructor.
+ * @param {Array} selected - An optional Array with filtered typed arrays
+ */
+function testWithAtomicsFriendlyTypedArrayConstructors(f) {
+ testWithTypedArrayConstructors(f, [
+ Int32Array,
+ Int16Array,
+ Int8Array,
+ Uint32Array,
+ Uint16Array,
+ Uint8Array,
+ ]);
+}
+
+/**
+ * Helper for conversion operations on TypedArrays, the expected values
+ * properties are indexed in order to match the respective value for each
+ * TypedArray constructor
+ * @param {Function} fn - the function to call for each constructor and value.
+ * will be called with the constructor, value, expected
+ * value, and a initial value that can be used to avoid
+ * a false positive with an equivalent expected value.
+ */
+function testTypedArrayConversions(byteConversionValues, fn) {
+ var values = byteConversionValues.values;
+ var expected = byteConversionValues.expected;
+
+ testWithTypedArrayConstructors(function(TA) {
+ var name = TA.name.slice(0, -5);
+
+ return values.forEach(function(value, index) {
+ var exp = expected[name][index];
+ var initial = 0;
+ if (exp === 0) {
+ initial = 1;
+ }
+ fn(TA, value, exp, initial);
+ });
+ });
+}
diff --git a/js/src/tests/test262/built-ins/Array/prototype/findLastIndex/callbackfn-resize-arraybuffer.js b/js/src/tests/test262/built-ins/Array/prototype/findLastIndex/callbackfn-resize-arraybuffer.js
new file mode 100644
index 000000000000..7434053f2105
--- /dev/null
+++ b/js/src/tests/test262/built-ins/Array/prototype/findLastIndex/callbackfn-resize-arraybuffer.js
@@ -0,0 +1,76 @@
+// |reftest| skip -- resizable-arraybuffer is not supported
+// Copyright (C) 2021 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-array.prototype.findlastindex
+description: TypedArray instance buffer can be resized during iteration
+includes: [testTypedArray.js, compareArray.js]
+features: [TypedArray, resizable-arraybuffer]
+---*/
+
+// If the host chooses to throw as allowed by the specification, the observed
+// behavior will be identical to the case where `ArrayBuffer.prototype.resize`
+// has not been implemented. The following assertion prevents this test from
+// passing in runtimes which have not implemented the method.
+assert.sameValue(typeof ArrayBuffer.prototype.resize, 'function');
+
+testWithTypedArrayConstructors(function(TA) {
+ var BPE = TA.BYTES_PER_ELEMENT;
+ var buffer = new ArrayBuffer(BPE * 3, {maxByteLength: BPE * 4});
+ var sample = new TA(buffer);
+ var secondElement, expectedElements, expectedIndices, expectedArrays;
+ var elements, indices, arrays, result;
+
+ elements = [];
+ indices = [];
+ arrays = [];
+ result = Array.prototype.findLastIndex.call(sample, function(element, index, array) {
+ if (elements.length === 0) {
+ try {
+ buffer.resize(BPE);
+ secondElement = undefined;
+ expectedElements = [0];
+ expectedIndices = [0];
+ expectedArrays = [sample];
+ } catch (_) {
+ secondElement = 0;
+ expectedElements = [0, 0, 0];
+ expectedIndices = [2, 1, 0];
+ expectedArrays = [sample, sample, sample];
+ }
+ }
+
+ elements.push(element);
+ indices.push(index);
+ arrays.push(array);
+ return false;
+ });
+
+ assert.compareArray(elements, [0, secondElement, 0], 'elements (shrink)');
+ assert.compareArray(indices, [2, 1, 0], 'indices (shrink)');
+ assert.compareArray(arrays, [sample, sample, sample], 'arrays (shrink)');
+ assert.sameValue(result, -1, 'result (shrink)');
+
+ elements = [];
+ indices = [];
+ arrays = [];
+ result = Array.prototype.findLastIndex.call(sample, function(element, index, array) {
+ if (elements.length === 0) {
+ try {
+ buffer.resize(4 * BPE);
+ } catch (_) {}
+ }
+
+ elements.push(element);
+ indices.push(index);
+ arrays.push(array);
+ return false;
+ });
+
+ assert.compareArray(elements, expectedElements, 'elements (grow)');
+ assert.compareArray(indices, expectedIndices, 'indices (grow)');
+ assert.compareArray(arrays, expectedArrays, 'arrays (grow)');
+ assert.sameValue(result, -1, 'result (grow)');
+});
+
+reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Array/prototype/findLastIndex/shell.js b/js/src/tests/test262/built-ins/Array/prototype/findLastIndex/shell.js
index e69de29bb2d1..e9580b311369 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/findLastIndex/shell.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/findLastIndex/shell.js
@@ -0,0 +1,124 @@
+// GENERATED, DO NOT EDIT
+// file: testTypedArray.js
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+description: |
+ Collection of functions used to assert the correctness of TypedArray objects.
+defines:
+ - typedArrayConstructors
+ - floatArrayConstructors
+ - intArrayConstructors
+ - TypedArray
+ - testWithTypedArrayConstructors
+ - testWithAtomicsFriendlyTypedArrayConstructors
+ - testWithNonAtomicsFriendlyTypedArrayConstructors
+ - testTypedArrayConversions
+---*/
+
+/**
+ * Array containing every typed array constructor.
+ */
+var typedArrayConstructors = [
+ Float64Array,
+ Float32Array,
+ Int32Array,
+ Int16Array,
+ Int8Array,
+ Uint32Array,
+ Uint16Array,
+ Uint8Array,
+ Uint8ClampedArray
+];
+
+var floatArrayConstructors = typedArrayConstructors.slice(0, 2);
+var intArrayConstructors = typedArrayConstructors.slice(2, 7);
+
+/**
+ * The %TypedArray% intrinsic constructor function.
+ */
+var TypedArray = Object.getPrototypeOf(Int8Array);
+
+/**
+ * Callback for testing a typed array constructor.
+ *
+ * @callback typedArrayConstructorCallback
+ * @param {Function} Constructor the constructor object to test with.
+ */
+
+/**
+ * Calls the provided function for every typed array constructor.
+ *
+ * @param {typedArrayConstructorCallback} f - the function to call for each typed array constructor.
+ * @param {Array} selected - An optional Array with filtered typed arrays
+ */
+function testWithTypedArrayConstructors(f, selected) {
+ var constructors = selected || typedArrayConstructors;
+ for (var i = 0; i < constructors.length; ++i) {
+ var constructor = constructors[i];
+ try {
+ f(constructor);
+ } catch (e) {
+ e.message += " (Testing with " + constructor.name + ".)";
+ throw e;
+ }
+ }
+}
+
+/**
+ * Calls the provided function for every non-"Atomics Friendly" typed array constructor.
+ *
+ * @param {typedArrayConstructorCallback} f - the function to call for each typed array constructor.
+ * @param {Array} selected - An optional Array with filtered typed arrays
+ */
+function testWithNonAtomicsFriendlyTypedArrayConstructors(f) {
+ testWithTypedArrayConstructors(f, [
+ Float64Array,
+ Float32Array,
+ Uint8ClampedArray
+ ]);
+}
+
+/**
+ * Calls the provided function for every "Atomics Friendly" typed array constructor.
+ *
+ * @param {typedArrayConstructorCallback} f - the function to call for each typed array constructor.
+ * @param {Array} selected - An optional Array with filtered typed arrays
+ */
+function testWithAtomicsFriendlyTypedArrayConstructors(f) {
+ testWithTypedArrayConstructors(f, [
+ Int32Array,
+ Int16Array,
+ Int8Array,
+ Uint32Array,
+ Uint16Array,
+ Uint8Array,
+ ]);
+}
+
+/**
+ * Helper for conversion operations on TypedArrays, the expected values
+ * properties are indexed in order to match the respective value for each
+ * TypedArray constructor
+ * @param {Function} fn - the function to call for each constructor and value.
+ * will be called with the constructor, value, expected
+ * value, and a initial value that can be used to avoid
+ * a false positive with an equivalent expected value.
+ */
+function testTypedArrayConversions(byteConversionValues, fn) {
+ var values = byteConversionValues.values;
+ var expected = byteConversionValues.expected;
+
+ testWithTypedArrayConstructors(function(TA) {
+ var name = TA.name.slice(0, -5);
+
+ return values.forEach(function(value, index) {
+ var exp = expected[name][index];
+ var initial = 0;
+ if (exp === 0) {
+ initial = 1;
+ }
+ fn(TA, value, exp, initial);
+ });
+ });
+}
diff --git a/js/src/tests/test262/built-ins/Array/prototype/forEach/callbackfn-resize-arraybuffer.js b/js/src/tests/test262/built-ins/Array/prototype/forEach/callbackfn-resize-arraybuffer.js
new file mode 100644
index 000000000000..2d358fa12620
--- /dev/null
+++ b/js/src/tests/test262/built-ins/Array/prototype/forEach/callbackfn-resize-arraybuffer.js
@@ -0,0 +1,72 @@
+// |reftest| skip -- resizable-arraybuffer is not supported
+// Copyright (C) 2021 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-array.prototype.forEach
+description: TypedArray instance buffer can be resized during iteration
+includes: [testTypedArray.js, compareArray.js]
+features: [TypedArray, resizable-arraybuffer]
+---*/
+
+// If the host chooses to throw as allowed by the specification, the observed
+// behavior will be identical to the case where `ArrayBuffer.prototype.resize`
+// has not been implemented. The following assertion prevents this test from
+// passing in runtimes which have not implemented the method.
+assert.sameValue(typeof ArrayBuffer.prototype.resize, 'function');
+
+testWithTypedArrayConstructors(function(TA) {
+ var BPE = TA.BYTES_PER_ELEMENT;
+ var buffer = new ArrayBuffer(BPE * 3, {maxByteLength: BPE * 4});
+ var sample = new TA(buffer);
+ var expectedElements, expectedIndices, expectedArrays;
+ var elements, indices, arrays, result;
+
+ elements = [];
+ indices = [];
+ arrays = [];
+ result = Array.prototype.forEach.call(sample, function(element, index, array) {
+ if (elements.length === 0) {
+ try {
+ buffer.resize(2 * BPE);
+ expectedElements = [0, 0];
+ expectedIndices = [0, 1];
+ expectedArrays = [sample, sample];
+ } catch (_) {
+ expectedElements = [0, 0, 0];
+ expectedIndices = [0, 1, 2];
+ expectedArrays = [sample, sample, sample];
+ }
+ }
+
+ elements.push(element);
+ indices.push(index);
+ arrays.push(array);
+ });
+
+ assert.compareArray(elements, expectedElements, 'elements (shrink)');
+ assert.compareArray(indices, expectedIndices, 'indices (shrink)');
+ assert.compareArray(arrays, expectedArrays, 'arrays (shrink)');
+ assert.sameValue(result, undefined, 'result (shrink)');
+
+ elements = [];
+ indices = [];
+ arrays = [];
+ result = Array.prototype.forEach.call(sample, function(element, index, array) {
+ if (elements.length === 0) {
+ try {
+ buffer.resize(4 * BPE);
+ } catch (_) {}
+ }
+
+ elements.push(element);
+ indices.push(index);
+ arrays.push(array);
+ });
+
+ assert.compareArray(elements, expectedElements, 'elements (grow)');
+ assert.compareArray(indices, expectedIndices, 'indices (grow)');
+ assert.compareArray(arrays, expectedArrays, 'arrays (grow)');
+ assert.sameValue(result, undefined, 'result (grow)');
+});
+
+reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Array/prototype/forEach/shell.js b/js/src/tests/test262/built-ins/Array/prototype/forEach/shell.js
index e69de29bb2d1..e9580b311369 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/forEach/shell.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/forEach/shell.js
@@ -0,0 +1,124 @@
+// GENERATED, DO NOT EDIT
+// file: testTypedArray.js
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+description: |
+ Collection of functions used to assert the correctness of TypedArray objects.
+defines:
+ - typedArrayConstructors
+ - floatArrayConstructors
+ - intArrayConstructors
+ - TypedArray
+ - testWithTypedArrayConstructors
+ - testWithAtomicsFriendlyTypedArrayConstructors
+ - testWithNonAtomicsFriendlyTypedArrayConstructors
+ - testTypedArrayConversions
+---*/
+
+/**
+ * Array containing every typed array constructor.
+ */
+var typedArrayConstructors = [
+ Float64Array,
+ Float32Array,
+ Int32Array,
+ Int16Array,
+ Int8Array,
+ Uint32Array,
+ Uint16Array,
+ Uint8Array,
+ Uint8ClampedArray
+];
+
+var floatArrayConstructors = typedArrayConstructors.slice(0, 2);
+var intArrayConstructors = typedArrayConstructors.slice(2, 7);
+
+/**
+ * The %TypedArray% intrinsic constructor function.
+ */
+var TypedArray = Object.getPrototypeOf(Int8Array);
+
+/**
+ * Callback for testing a typed array constructor.
+ *
+ * @callback typedArrayConstructorCallback
+ * @param {Function} Constructor the constructor object to test with.
+ */
+
+/**
+ * Calls the provided function for every typed array constructor.
+ *
+ * @param {typedArrayConstructorCallback} f - the function to call for each typed array constructor.
+ * @param {Array} selected - An optional Array with filtered typed arrays
+ */
+function testWithTypedArrayConstructors(f, selected) {
+ var constructors = selected || typedArrayConstructors;
+ for (var i = 0; i < constructors.length; ++i) {
+ var constructor = constructors[i];
+ try {
+ f(constructor);
+ } catch (e) {
+ e.message += " (Testing with " + constructor.name + ".)";
+ throw e;
+ }
+ }
+}
+
+/**
+ * Calls the provided function for every non-"Atomics Friendly" typed array constructor.
+ *
+ * @param {typedArrayConstructorCallback} f - the function to call for each typed array constructor.
+ * @param {Array} selected - An optional Array with filtered typed arrays
+ */
+function testWithNonAtomicsFriendlyTypedArrayConstructors(f) {
+ testWithTypedArrayConstructors(f, [
+ Float64Array,
+ Float32Array,
+ Uint8ClampedArray
+ ]);
+}
+
+/**
+ * Calls the provided function for every "Atomics Friendly" typed array constructor.
+ *
+ * @param {typedArrayConstructorCallback} f - the function to call for each typed array constructor.
+ * @param {Array} selected - An optional Array with filtered typed arrays
+ */
+function testWithAtomicsFriendlyTypedArrayConstructors(f) {
+ testWithTypedArrayConstructors(f, [
+ Int32Array,
+ Int16Array,
+ Int8Array,
+ Uint32Array,
+ Uint16Array,
+ Uint8Array,
+ ]);
+}
+
+/**
+ * Helper for conversion operations on TypedArrays, the expected values
+ * properties are indexed in order to match the respective value for each
+ * TypedArray constructor
+ * @param {Function} fn - the function to call for each constructor and value.
+ * will be called with the constructor, value, expected
+ * value, and a initial value that can be used to avoid
+ * a false positive with an equivalent expected value.
+ */
+function testTypedArrayConversions(byteConversionValues, fn) {
+ var values = byteConversionValues.values;
+ var expected = byteConversionValues.expected;
+
+ testWithTypedArrayConstructors(function(TA) {
+ var name = TA.name.slice(0, -5);
+
+ return values.forEach(function(value, index) {
+ var exp = expected[name][index];
+ var initial = 0;
+ if (exp === 0) {
+ initial = 1;
+ }
+ fn(TA, value, exp, initial);
+ });
+ });
+}
diff --git a/js/src/tests/test262/built-ins/Array/prototype/join/S15.4.4.5_A1.1_T1.js b/js/src/tests/test262/built-ins/Array/prototype/join/S15.4.4.5_A1.1_T1.js
index 2128df5a9917..3fb2f8312434 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/join/S15.4.4.5_A1.1_T1.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/join/S15.4.4.5_A1.1_T1.js
@@ -7,13 +7,11 @@ esid: sec-array.prototype.join
description: Checking this use new Array() and []
---*/
-//CHECK#1
var x = new Array();
if (x.join() !== "") {
throw new Test262Error('#1: x = new Array(); x.join() === "". Actual: ' + (x.join()));
}
-//CHECK#2
x = [];
x[0] = 1;
x.length = 0;
diff --git a/js/src/tests/test262/built-ins/Array/prototype/join/S15.4.4.5_A1.2_T1.js b/js/src/tests/test262/built-ins/Array/prototype/join/S15.4.4.5_A1.2_T1.js
index b4c69887f930..4107dafdb2da 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/join/S15.4.4.5_A1.2_T1.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/join/S15.4.4.5_A1.2_T1.js
@@ -7,13 +7,11 @@ esid: sec-array.prototype.join
description: Checking this use new Array() and []
---*/
-//CHECK#1
var x = new Array(0, 1, 2, 3);
if (x.join() !== "0,1,2,3") {
throw new Test262Error('#1: x = new Array(0,1,2,3); x.join() === "0,1,2,3". Actual: ' + (x.join()));
}
-//CHECK#2
x = [];
x[0] = 0;
x[3] = 3;
@@ -21,7 +19,6 @@ if (x.join() !== "0,,,3") {
throw new Test262Error('#2: x = []; x[0] = 0; x[3] = 3; x.join() === "0,,,3". Actual: ' + (x.join()));
}
-//CHECK#3
x = [];
x[0] = 0;
if (x.join() !== "0") {
diff --git a/js/src/tests/test262/built-ins/Array/prototype/join/S15.4.4.5_A1.2_T2.js b/js/src/tests/test262/built-ins/Array/prototype/join/S15.4.4.5_A1.2_T2.js
index 8ad0faded12a..bea80dc36e83 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/join/S15.4.4.5_A1.2_T2.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/join/S15.4.4.5_A1.2_T2.js
@@ -7,13 +7,11 @@ esid: sec-array.prototype.join
description: Checking this use new Array() and []
---*/
-//CHECK#1
var x = new Array(0, 1, 2, 3);
if (x.join(undefined) !== "0,1,2,3") {
throw new Test262Error('#1: x = new Array(0,1,2,3); x.join(undefined) === "0,1,2,3". Actual: ' + (x.join(undefined)));
}
-//CHECK#2
x = [];
x[0] = 0;
x[3] = 3;
@@ -21,7 +19,6 @@ if (x.join(undefined) !== "0,,,3") {
throw new Test262Error('#2: x = []; x[0] = 0; x[3] = 3; x.join(undefined) === "0,,,3". Actual: ' + (x.join(undefined)));
}
-//CHECK#3
x = [];
x[0] = 0;
if (x.join(undefined) !== "0") {
diff --git a/js/src/tests/test262/built-ins/Array/prototype/join/S15.4.4.5_A1.3_T1.js b/js/src/tests/test262/built-ins/Array/prototype/join/S15.4.4.5_A1.3_T1.js
index 5340097adac5..23c0bf98aa51 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/join/S15.4.4.5_A1.3_T1.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/join/S15.4.4.5_A1.3_T1.js
@@ -7,21 +7,18 @@ esid: sec-array.prototype.join
description: Checking this use new Array() and []
---*/
-//CHECK#1
var x = [];
x[0] = undefined;
if (x.join() !== "") {
throw new Test262Error('#1: x = []; x[0] = undefined; x.join() === "". Actual: ' + (x.join()));
}
-//CHECK#2
x = [];
x[0] = null;
if (x.join() !== "") {
throw new Test262Error('#2: x = []; x[0] = null; x.join() === "". Actual: ' + (x.join()));
}
-//CHECK#3
x = Array(undefined, 1, null, 3);
if (x.join() !== ",1,,3") {
throw new Test262Error('#3: x = Array(undefined,1,null,3); x.join() === ",1,,3". Actual: ' + (x.join()));
diff --git a/js/src/tests/test262/built-ins/Array/prototype/join/S15.4.4.5_A2_T1.js b/js/src/tests/test262/built-ins/Array/prototype/join/S15.4.4.5_A2_T1.js
index d62dbc069da9..376711262697 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/join/S15.4.4.5_A2_T1.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/join/S15.4.4.5_A2_T1.js
@@ -15,34 +15,28 @@ obj.join = Array.prototype.join;
if (obj.length !== undefined) {
throw new Test262Error('#0: var obj = {}; obj.length === undefined. Actual: ' + (obj.length));
} else {
- //CHECK#1
if (obj.join() !== "") {
throw new Test262Error('#1: var obj = {}; obj.join = Array.prototype.join; obj.join() === "". Actual: ' + (obj.join()));
}
- //CHECK#2
if (obj.length !== undefined) {
throw new Test262Error('#2: var obj = {}; obj.join = Array.prototype.join; obj.join(); obj.length === undefined. Actual: ' + (obj.length));
}
}
-//CHECK#3
obj.length = undefined;
if (obj.join() !== "") {
throw new Test262Error('#3: var obj = {}; obj.length = undefined; obj.join = Array.prototype.join; obj.join() === ". Actual: ' + (obj.join()));
}
-//CHECK#4
if (obj.length !== undefined) {
throw new Test262Error('#4: var obj = {}; obj.length = undefined; obj.join = Array.prototype.join; obj.join(); obj.length === undefined. Actual: ' + (obj.length));
}
-//CHECK#5
obj.length = null
if (obj.join() !== "") {
throw new Test262Error('#5: var obj = {}; obj.length = null; obj.join = Array.prototype.join; obj.join() === "". Actual: ' + (obj.join()));
}
-//CHECK#6
if (obj.length !== null) {
throw new Test262Error('#6: var obj = {}; obj.length = null; obj.join = Array.prototype.join; obj.join(); obj.length === null. Actual: ' + (obj.length));
}
diff --git a/js/src/tests/test262/built-ins/Array/prototype/join/S15.4.4.5_A2_T2.js b/js/src/tests/test262/built-ins/Array/prototype/join/S15.4.4.5_A2_T2.js
index 0e36a6a718ea..ef3b1004ece0 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/join/S15.4.4.5_A2_T2.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/join/S15.4.4.5_A2_T2.js
@@ -12,33 +12,27 @@ description: If ToUint32(length) is zero, return the empty string
var obj = {};
obj.join = Array.prototype.join;
-//CHECK#1
obj.length = NaN;
if (obj.join() !== "") {
throw new Test262Error('#1: var obj = {}; obj.length = NaN; obj.join = Array.prototype.join; obj.join() === "". Actual: ' + (obj.join()));
}
-//CHECK#2
assert.sameValue(obj.length, NaN, "obj.length is NaN");
-//CHECK#5
obj.length = Number.NEGATIVE_INFINITY;
if (obj.join() !== "") {
throw new Test262Error('#5: var obj = {}; obj.length = Number.NEGATIVE_INFINITY; obj.join = Array.prototype.join; obj.join() === "". Actual: ' + (obj.join()));
}
-//CHECK#6
if (obj.length !== Number.NEGATIVE_INFINITY) {
throw new Test262Error('#6: var obj = {}; obj.length = Number.NEGATIVE_INFINITY; obj.join = Array.prototype.join; obj.join(); obj.length === Number.NEGATIVE_INFINITY. Actual: ' + (obj.length));
}
-//CHECK#7
obj.length = -0;
if (obj.join() !== "") {
throw new Test262Error('#7: var obj = {}; obj.length = -0; obj.join = Array.prototype.join; obj.join() === "". Actual: ' + (obj.join()));
}
-//CHECK#8
if (obj.length !== -0) {
throw new Test262Error('#8: var obj = {}; obj.length = -0; obj.join = Array.prototype.join; obj.join(); obj.length === 0. Actual: ' + (obj.length));
} else {
@@ -47,25 +41,21 @@ if (obj.length !== -0) {
}
}
-//CHECK#9
obj.length = 0.5;
if (obj.join() !== "") {
throw new Test262Error('#9: var obj = {}; obj.length = 0.5; obj.join = Array.prototype.join; obj.join() === "". Actual: ' + (obj.join()));
}
-//CHECK#10
if (obj.length !== 0.5) {
throw new Test262Error('#10: var obj = {}; obj.length = 0.5; obj.join = Array.prototype.join; obj.join(); obj.length === 0.5. Actual: ' + (obj.length));
}
-//CHECK#11
var x = new Number(0);
obj.length = x;
if (obj.join() !== "") {
throw new Test262Error('#11: var x = new Number(0); var obj = {}; obj.length = x; obj.join = Array.prototype.join; obj.join() === "". Actual: ' + (obj.join()));
}
-//CHECK#12
if (obj.length !== x) {
throw new Test262Error('#12: var x = new Number(0); var obj = {}; obj.length = x; obj.join = Array.prototype.join; obj.join(); obj.length === x. Actual: ' + (obj.length));
}
diff --git a/js/src/tests/test262/built-ins/Array/prototype/join/S15.4.4.5_A2_T3.js b/js/src/tests/test262/built-ins/Array/prototype/join/S15.4.4.5_A2_T3.js
index 7217657f9bc7..edd94bbfb1f9 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/join/S15.4.4.5_A2_T3.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/join/S15.4.4.5_A2_T3.js
@@ -12,13 +12,11 @@ description: If ToUint32(length) is zero, return the empty string
var obj = {};
obj.join = Array.prototype.join;
-//CHECK#1
obj.length = 4.5;
if (obj.join() !== ",,,") {
throw new Test262Error('#1: var obj = {}; obj.length = 4.5; obj.join = Array.prototype.join; obj.join() === ",,,". Actual: ' + (obj.join()));
}
-//CHECK#2
obj[0] = undefined;
obj[1] = 1;
obj[2] = null;
@@ -26,7 +24,6 @@ if (obj.join() !== ",1,,") {
throw new Test262Error('#1: var obj = {}; obj.length = 4.5; obj[0] = undefined; obj[1] = 1; obj[2] = null; obj.join = Array.prototype.join; obj.join() === ",1,,". Actual: ' + (obj.join()));
}
-//CHECK#3
if (obj.length !== 4.5) {
throw new Test262Error('#1: var obj = {}; obj.length = 4.5; obj[0] = undefined; obj[1] = 1; obj[2] = null; obj.join = Array.prototype.join; obj.join(); obj.length === 4.5. Actual: ' + (obj.length));
}
@@ -34,14 +31,12 @@ if (obj.length !== 4.5) {
var obj = {};
obj.join = Array.prototype.join;
-//CHECK#4
var x = new Number(4.5);
obj.length = x;
if (obj.join() !== ",,,") {
throw new Test262Error('#4: var obj = {}; var x = new Number(4.5); obj.length = x; obj.join = Array.prototype.join; obj.join() === ",,,". Actual: ' + (obj.join()));
}
-//CHECK#5
obj[0] = undefined;
obj[1] = 1;
obj[2] = null;
@@ -49,7 +44,6 @@ if (obj.join() !== ",1,,") {
throw new Test262Error('#5: var obj = {}; var x = new Number(4.5); obj.length = x; obj[0] = undefined; obj[1] = 1; obj[2] = null; obj.join = Array.prototype.join; obj.join() === ",1,,". Actual: ' + (obj.join()));
}
-//CHECK#6
if (obj.length !== x) {
throw new Test262Error('#6: var obj = {}; var x = new Number(4.5); obj.length = x; obj[0] = undefined; obj[1] = 1; obj[2] = null; obj.join = Array.prototype.join; obj.join(); obj.length === x. Actual: ' + (obj.length));
}
diff --git a/js/src/tests/test262/built-ins/Array/prototype/join/S15.4.4.5_A2_T4.js b/js/src/tests/test262/built-ins/Array/prototype/join/S15.4.4.5_A2_T4.js
index 52a12181ec3c..a7b77ba9743f 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/join/S15.4.4.5_A2_T4.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/join/S15.4.4.5_A2_T4.js
@@ -14,123 +14,82 @@ description: >
var obj = {};
obj.join = Array.prototype.join;
-//CHECK#1
obj.length = {
- valueOf: function() {
+ valueOf() {
return 3
}
};
-if (obj.join() !== ",,") {
- throw new Test262Error('#1: obj.length = {valueOf: function() {return 3}} obj.join() === ",,". Actual: ' + (obj.join()));
-}
+assert.sameValue(obj.join(), ",,", 'obj.join() must return ",,"');
-//CHECK#2
obj.length = {
- valueOf: function() {
+ valueOf() {
return 3
},
- toString: function() {
+ toString() {
return 2
}
};
-if (obj.join() !== ",,") {
- throw new Test262Error('#2: obj.length = {valueOf: function() {return 3}, toString: function() {return 2}} obj.join() === ",,". Actual: ' + (obj.join()));
-}
+assert.sameValue(obj.join(), ",,", 'obj.join() must return ",,"');
-//CHECK#3
obj.length = {
- valueOf: function() {
+ valueOf() {
return 3
},
- toString: function() {
+ toString() {
return {}
}
};
-if (obj.join() !== ",,") {
- throw new Test262Error('#3: obj.length = {valueOf: function() {return 3}, toString: function() {return {}}} obj.join() === ",,". Actual: ' + (obj.join()));
-}
+assert.sameValue(obj.join(), ",,", 'obj.join() must return ",,"');
-//CHECK#4
-try {
- obj.length = {
- valueOf: function() {
- return 3
- },
- toString: function() {
- throw "error"
- }
- };
- if (obj.join() !== ",,") {
- throw new Test262Error('#4.1: obj.length = {valueOf: function() {return 3}, toString: function() {throw "error"}}; obj.join() === ",". Actual: ' + (obj.join()));
- }
-}
-catch (e) {
- if (e === "error") {
- throw new Test262Error('#4.2: obj.length = {valueOf: function() {return 3}, toString: function() {throw "error"}}; obj.join() not throw "error"');
- } else {
- throw new Test262Error('#4.3: obj.length = {valueOf: function() {return 3}, toString: function() {throw "error"}}; obj.join() not throw Error. Actual: ' + (e));
- }
-}
-
-//CHECK#5
obj.length = {
- toString: function() {
+ valueOf() {
+ return 3
+ },
+ toString() {
+ throw new Test262Error();
+ }
+};
+assert.sameValue(obj.join(), ",,", 'obj.join() must return ",,"');
+
+obj.length = {
+ toString() {
return 2
}
};
-if (obj.join() !== ",") {
- throw new Test262Error('#5: obj.length = {toString: function() {return 2}} obj.join() === ",". Actual: ' + (obj.join()));
-}
+assert.sameValue(obj.join(), ",", 'obj.join() must return ","');
-//CHECK#6
obj.length = {
- valueOf: function() {
+ valueOf() {
return {}
},
- toString: function() {
+ toString() {
return 2
}
}
-if (obj.join() !== ",") {
- throw new Test262Error('#6: obj.length = {valueOf: function() {return {}}, toString: function() {return 2}} obj.join() === ",". Actual: ' + (obj.join()));
-}
+assert.sameValue(obj.join(), ",", 'obj.join() must return ","');
-//CHECK#7
-try {
+assert.throws(Test262Error, () => {
obj.length = {
- valueOf: function() {
- throw "error"
+ valueOf() {
+ throw new Test262Error();
},
- toString: function() {
+ toString() {
return 2
}
};
obj.join();
- throw new Test262Error('#7.1: obj.length = {valueOf: function() {throw "error"}, toString: function() {return 2}}; obj.join() throw "error". Actual: ' + (obj.join()));
-}
-catch (e) {
- if (e !== "error") {
- throw new Test262Error('#7.2: obj.length = {valueOf: function() {throw "error"}, toString: function() {return 2}}; obj.join() throw "error". Actual: ' + (e));
- }
-}
+});
-//CHECK#8
-try {
+assert.throws(TypeError, () => {
obj.length = {
- valueOf: function() {
+ valueOf() {
return {}
},
- toString: function() {
+ toString() {
return {}
}
};
obj.join();
- throw new Test262Error('#8.1: obj.length = {valueOf: function() {return {}}, toString: function() {return {}}} obj.join() throw TypeError. Actual: ' + (obj.join()));
-}
-catch (e) {
- if ((e instanceof TypeError) !== true) {
- throw new Test262Error('#8,2: obj.length = {valueOf: function() {return {}}, toString: function() {return {}}} obj.join() throw TypeError. Actual: ' + (e));
- }
-}
+});
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Array/prototype/join/S15.4.4.5_A3.1_T1.js b/js/src/tests/test262/built-ins/Array/prototype/join/S15.4.4.5_A3.1_T1.js
index 43a698a363c8..1f8dcd4d7173 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/join/S15.4.4.5_A3.1_T1.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/join/S15.4.4.5_A3.1_T1.js
@@ -9,44 +9,36 @@ description: >
undefind, NaN]
---*/
-//CHECK#0
var x = new Array(0, 1, 2, 3);
if (x.join("") !== "0123") {
throw new Test262Error('#0: x = new Array(0,1,2,3); x.join("") === "0123". Actual: ' + (x.join("")));
}
-//CHECK#1
x = new Array(0, 1, 2, 3);
if (x.join("\\") !== "0\\1\\2\\3") {
throw new Test262Error('#1: x = new Array(0,1,2,3); x.join("\\") === "0\\1\\2\\3". Actual: ' + (x.join("\\")));
}
-//CHECK#2
if (x.join("&") !== "0&1&2&3") {
throw new Test262Error('#2: x = new Array(0,1,2,3); x.join("&") === "0&1&2&3". Actual: ' + (x.join("&")));
}
-//CHECK#3
if (x.join(true) !== "0true1true2true3") {
throw new Test262Error('#3: x = new Array(0,1,2,3); x.join(true) === "0true1true2true3". Actual: ' + (x.join(true)));
}
-//CHECK#4
if (x.join(Infinity) !== "0Infinity1Infinity2Infinity3") {
throw new Test262Error('#4: x = new Array(0,1,2,3); x.join(Infinity) === "0Infinity1Infinity2Infinity3". Actual: ' + (x.join(Infinity)));
}
-//CHECK#5
if (x.join(null) !== "0null1null2null3") {
throw new Test262Error('#3: 5 = new Array(0,1,2,3); x.join(null) === "0null1null2null3". Actual: ' + (x.join(null)));
}
-//CHECK#6
if (x.join(undefined) !== "0,1,2,3") {
throw new Test262Error('#6: x = new Array(0,1,2,3); x.join(undefined) === "0,1,2,3". Actual: ' + (x.join(undefined)));
}
-//CHECK#7
if (x.join(NaN) !== "0NaN1NaN2NaN3") {
throw new Test262Error('#7: x = new Array(0,1,2,3); x.join(NaN) === "0NaN1NaN2NaN3". Actual: ' + (x.join(NaN)));
}
diff --git a/js/src/tests/test262/built-ins/Array/prototype/join/S15.4.4.5_A3.1_T2.js b/js/src/tests/test262/built-ins/Array/prototype/join/S15.4.4.5_A3.1_T2.js
index 751a2cf7ac4b..7ceea3ef984b 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/join/S15.4.4.5_A3.1_T2.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/join/S15.4.4.5_A3.1_T2.js
@@ -10,139 +10,137 @@ description: >
---*/
var x = new Array(0, 1, 2, 3);
-//CHECK#1
var object = {
- valueOf: function() {
+ valueOf() {
return "+"
}
};
-if (x.join(object) !== "0[object Object]1[object Object]2[object Object]3") {
- throw new Test262Error('#1: var object = {valueOf: function() {return "+"}}; x.join(object) === "0[object Object]1[object Object]2[object Object]3". Actual: ' + (x.join(object)));
-}
-//CHECK#2
+assert.sameValue(
+ x.join(object),
+ "0[object Object]1[object Object]2[object Object]3",
+ 'x.join({valueOf() {return "+"}}) must return "0[object Object]1[object Object]2[object Object]3"'
+);
+
var object = {
- valueOf: function() {
+ valueOf() {
return "+"
},
- toString: function() {
+ toString() {
return "*"
}
};
-if (x.join(object) !== "0*1*2*3") {
- throw new Test262Error('#2: var object = {valueOf: function() {return "+"}, toString: function() {return "*"}}; x.join(object) === "0*1*2*3". Actual: ' + (x.join(object)));
-}
-//CHECK#3
+assert.sameValue(
+ x.join(object),
+ "0*1*2*3",
+ 'x.join("{valueOf() {return "+"}, toString() {return "*"}}) must return "0*1*2*3"'
+);
+
var object = {
- valueOf: function() {
+ valueOf() {
return "+"
},
- toString: function() {
+ toString() {
return {}
}
};
-if (x.join(object) !== "0+1+2+3") {
- throw new Test262Error('#3: var object = {valueOf: function() {return "+"}, toString: function() {return {}}}; x.join(object) === "0+1+2+3". Actual: ' + (x.join(object)));
-}
-//CHECK#4
+assert.sameValue(
+ x.join(object),
+ "0+1+2+3",
+ 'x.join({valueOf() {return "+"}, toString() {return {}}}) must return "0+1+2+3"'
+);
+
try {
var object = {
- valueOf: function() {
+ valueOf() {
throw "error"
},
- toString: function() {
+ toString() {
return "*"
}
};
- if (x.join(object) !== "0*1*2*3") {
- throw new Test262Error('#4.1: var object = {valueOf: function() {throw "error"}, toString: function() {return "*"}}; x.join(object) === "0*1*2*3". Actual: ' + (x.join(object)));
- }
+
+ assert.sameValue(
+ x.join(object),
+ "0*1*2*3",
+ 'x.join("{valueOf() {throw "error"}, toString() {return "*"}}) must return "0*1*2*3"'
+ );
}
catch (e) {
- if (e === "error") {
- throw new Test262Error('#4.2: var object = {valueOf: function() {throw "error"}, toString: function() {return "*"}}; x.join(object) not throw "error"');
- } else {
- throw new Test262Error('#4.3: var object = {valueOf: function() {throw "error"}, toString: function() {return "*"}}; x.join(object) not throw Error. Actual: ' + (e));
- }
+ assert.notSameValue(e, "error", 'The value of e is not "error"');
}
-//CHECK#5
var object = {
- toString: function() {
+ toString() {
return "*"
}
};
-if (x.join(object) !== "0*1*2*3") {
- throw new Test262Error('#5: var object = {toString: function() {return "*"}}; x.join(object) === "0*1*2*3". Actual: ' + (x.join(object)));
-}
+assert.sameValue(x.join(object), "0*1*2*3", 'x.join({toString() {return "*"}}) must return "0*1*2*3"');
-//CHECK#6
var object = {
- valueOf: function() {
+ valueOf() {
return {}
},
- toString: function() {
+ toString() {
return "*"
}
}
-if (x.join(object) !== "0*1*2*3") {
- throw new Test262Error('#6: var object = {valueOf: function() {return {}}, toString: function() {return "*"}}; x.join(object) === "0*1*2*3". Actual: ' + (x.join(object)));
-}
-//CHECK#7
+assert.sameValue(
+ x.join(object),
+ "0*1*2*3",
+ 'x.join({valueOf() {return {}}, toString() {return "*"}}) must return "0*1*2*3"'
+);
+
try {
var object = {
- valueOf: function() {
+ valueOf() {
return "+"
},
- toString: function() {
+ toString() {
throw "error"
}
};
x.join(object);
- throw new Test262Error('#7.1: var object = {valueOf: function() {return "+"}, toString: function() {throw "error"}}; x.join(object) throw "error". Actual: ' + (x.join(object)));
+ throw new Test262Error('#7.1: var object = {valueOf() {return "+"}, toString() {throw "error"}}; x.join(object) throw "error". Actual: ' + (x.join(object)));
}
catch (e) {
- if (e !== "error") {
- throw new Test262Error('#7.2: var object = {valueOf: function() {return "+"}, toString: function() {throw "error"}}; x.join(object) throw "error". Actual: ' + (e));
- }
+ assert.sameValue(e, "error", 'The value of e is expected to be "error"');
}
-//CHECK#8
try {
var object = {
- valueOf: function() {
+ valueOf() {
return {}
},
- toString: function() {
+ toString() {
return {}
}
};
x.join(object);
- throw new Test262Error('#8.1: var object = {valueOf: function() {return {}}, toString: function() {return {}}}; x.join(object) throw TypeError. Actual: ' + (x.join(object)));
+ throw new Test262Error('#8.1: var object = {valueOf() {return {}}, toString() {return {}}}; x.join(object) throw TypeError. Actual: ' + (x.join(object)));
}
catch (e) {
- if ((e instanceof TypeError) !== true) {
- throw new Test262Error('#8.2: var object = {valueOf: function() {return {}}, toString: function() {return {}}}; x.join(object) throw TypeError. Actual: ' + (e));
- }
+ assert.sameValue(
+ e instanceof TypeError,
+ true,
+ 'The result of evaluating (e instanceof TypeError) is expected to be true'
+ );
}
-//CHECK#9
try {
var object = {
- toString: function() {
+ toString() {
throw "error"
}
};
[].join(object);
- throw new Test262Error('#9.1: var object = {toString: function() {throw "error"}}; [].join(object) throw "error". Actual: ' + ([].join(object)));
+ throw new Test262Error('#9.1: var object = {toString() {throw "error"}}; [].join(object) throw "error". Actual: ' + ([].join(object)));
}
catch (e) {
- if (e !== "error") {
- throw new Test262Error('#9.2: var object = {toString: function() {throw "error"}}; [].join(object) throw "error". Actual: ' + (e));
- }
+ assert.sameValue(e, "error", 'The value of e is expected to be "error"');
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Array/prototype/join/S15.4.4.5_A3.2_T1.js b/js/src/tests/test262/built-ins/Array/prototype/join/S15.4.4.5_A3.2_T1.js
index 336be1de95a3..bcea5c423972 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/join/S15.4.4.5_A3.2_T1.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/join/S15.4.4.5_A3.2_T1.js
@@ -9,49 +9,41 @@ description: >
Infinity, null, undefind, NaN]
---*/
-//CHECK#0
var x = new Array("", "", "");
if (x.join("") !== "") {
throw new Test262Error('#0: var x = new Array("","",""); x.join("") === "". Actual: ' + (x.join("")));
}
-//CHECK#1
var x = new Array("\\", "\\", "\\");
if (x.join("\\") !== "\\\\\\\\\\") {
throw new Test262Error('#1: var x = new Array("\\","\\","\\"); x.join("\\") === "\\\\\\\\\\". Actual: ' + (x.join("\\")));
}
-//CHECK#2
var x = new Array("&", "&", "&");
if (x.join("&") !== "&&&&&") {
throw new Test262Error('#2: var x = new Array("&", "&", "&"); x.join("&") === "&&&&&". Actual: ' + (x.join("&")));
}
-//CHECK#3
var x = new Array(true, true, true);
if (x.join() !== "true,true,true") {
throw new Test262Error('#3: var x = new Array(true,true,true); x.join(true,true,true) === "true,true,true". Actual: ' + (x.join(true, true, true)));
}
-//CHECK#4
var x = new Array(null, null, null);
if (x.join() !== ",,") {
throw new Test262Error('#4: var x = new Array(null,null,null); x.join(null,null,null) === ",,". Actual: ' + (x.join(null, null, null)));
}
-//CHECK#5
var x = new Array(undefined, undefined, undefined);
if (x.join() !== ",,") {
throw new Test262Error('#5: var x = new Array(undefined,undefined,undefined); x.join(undefined,undefined,undefined) === ",,". Actual: ' + (x.join(undefined, undefined, undefined)));
}
-//CHECK#6
var x = new Array(Infinity, Infinity, Infinity);
if (x.join() !== "Infinity,Infinity,Infinity") {
throw new Test262Error('#6: var x = new Array(Infinity,Infinity,Infinity); x.join(Infinity,Infinity,Infinity) === "Infinity,Infinity,Infinity". Actual: ' + (x.join(Infinity, Infinity, Infinity)));
}
-//CHECK#7
var x = new Array(NaN, NaN, NaN);
if (x.join() !== "NaN,NaN,NaN") {
throw new Test262Error('#7: var x = new Array(NaN,NaN,NaN); x.join(NaN,NaN,NaN) === "NaN,NaN,NaN". Actual: ' + (x.join(NaN, NaN, NaN)));
diff --git a/js/src/tests/test262/built-ins/Array/prototype/join/S15.4.4.5_A3.2_T2.js b/js/src/tests/test262/built-ins/Array/prototype/join/S15.4.4.5_A3.2_T2.js
index 764e962d71d3..047a76bed62f 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/join/S15.4.4.5_A3.2_T2.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/join/S15.4.4.5_A3.2_T2.js
@@ -7,18 +7,14 @@ esid: sec-array.prototype.join
description: If Type(argument) is Object, evaluate ToPrimitive(argument, String)
---*/
-//CHECK#1
var object = {
valueOf: function() {
return "+"
}
};
var x = new Array(object);
-if (x.join() !== "[object Object]") {
- throw new Test262Error('#1: var object = {valueOf: function() {return "+"}} var x = new Array(object); x.join() === "[object Object]". Actual: ' + (x.join()));
-}
+assert.sameValue(x.join(), "[object Object]", 'x.join() must return "[object Object]"');
-//CHECK#2
var object = {
valueOf: function() {
return "+"
@@ -28,11 +24,8 @@ var object = {
}
};
var x = new Array(object);
-if (x.join() !== "*") {
- throw new Test262Error('#2: var object = {valueOf: function() {return "+"}, toString: function() {return "*"}} var x = new Array(object); x.join() === "*". Actual: ' + (x.join()));
-}
+assert.sameValue(x.join(), "*", 'x.join() must return "*"');
-//CHECK#3
var object = {
valueOf: function() {
return "+"
@@ -42,11 +35,8 @@ var object = {
}
};
var x = new Array(object);
-if (x.join() !== "+") {
- throw new Test262Error('#3: var object = {valueOf: function() {return "+"}, toString: function() {return {}}} var x = new Array(object); x.join() === "+". Actual: ' + (x.join()));
-}
+assert.sameValue(x.join(), "+", 'x.join() must return "+"');
-//CHECK#4
try {
var object = {
valueOf: function() {
@@ -57,30 +47,20 @@ try {
}
};
var x = new Array(object);
- if (x.join() !== "*") {
- throw new Test262Error('#4.1: var object = {valueOf: function() {throw "error"}, toString: function() {return "*"}} var x = new Array(object); x.join() === "*". Actual: ' + (x.join()));
- }
+ assert.sameValue(x.join(), "*", 'x.join() must return "*"');
}
catch (e) {
- if (e === "error") {
- throw new Test262Error('#4.2: var object = {valueOf: function() {throw "error"}, toString: function() {return "*"}} var x = new Array(object); x.join() not throw "error"');
- } else {
- throw new Test262Error('#4.3: var object = {valueOf: function() {throw "error"}, toString: function() {return "*"}} var x = new Array(object); x.join() not throw Error. Actual: ' + (e));
- }
+ assert.notSameValue(e, "error", 'The value of e is not "error"');
}
-//CHECK#5
var object = {
toString: function() {
return "*"
}
};
var x = new Array(object);
-if (x.join() !== "*") {
- throw new Test262Error('#5: var object = {toString: function() {return "*"}} var x = new Array(object); x.join() === "*". Actual: ' + (x.join()));
-}
+assert.sameValue(x.join(), "*", 'x.join() must return "*"');
-//CHECK#6
var object = {
valueOf: function() {
return {}
@@ -90,11 +70,8 @@ var object = {
}
}
var x = new Array(object);
-if (x.join() !== "*") {
- throw new Test262Error('#6: var object = {valueOf: function() {return {}}, toString: function() {return "*"}} var x = new Array(object); x.join() === "*". Actual: ' + (x.join()));
-}
+assert.sameValue(x.join(), "*", 'x.join() must return "*"');
-//CHECK#7
try {
var object = {
valueOf: function() {
@@ -109,12 +86,9 @@ try {
throw new Test262Error('#7.1: var object = {valueOf: function() {return "+"}, toString: function() {throw "error"}} var x = new Array(object); x.join() throw "error". Actual: ' + (x.join()));
}
catch (e) {
- if (e !== "error") {
- throw new Test262Error('#7.2: var object = {valueOf: function() {return "+"}, toString: function() {throw "error"}} var x = new Array(object); x.join() throw "error". Actual: ' + (e));
- }
+ assert.sameValue(e, "error", 'The value of e is expected to be "error"');
}
-//CHECK#8
try {
var object = {
valueOf: function() {
@@ -129,9 +103,11 @@ try {
throw new Test262Error('#8.1: var object = {valueOf: function() {return {}}, toString: function() {return {}}} var x = new Array(object); x.join() throw TypeError. Actual: ' + (x.join()));
}
catch (e) {
- if ((e instanceof TypeError) !== true) {
- throw new Test262Error('#8.2: var object = {valueOf: function() {return {}}, toString: function() {return {}}} var x = new Array(object); x.join() throw TypeError. Actual: ' + (e));
- }
+ assert.sameValue(
+ e instanceof TypeError,
+ true,
+ 'The result of evaluating (e instanceof TypeError) is expected to be true'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Array/prototype/join/S15.4.4.5_A4_T3.js b/js/src/tests/test262/built-ins/Array/prototype/join/S15.4.4.5_A4_T3.js
index b4a88c7438d8..c199dd621002 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/join/S15.4.4.5_A4_T3.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/join/S15.4.4.5_A4_T3.js
@@ -14,12 +14,10 @@ obj[1] = "y";
obj[2] = "z";
obj.length = -4294967294;
-//CHECK#1
if (obj.join("") !== "") {
throw new Test262Error('#1: var obj = {}; obj.join = Array.prototype.join; obj[0] = "x"; obj[1] = "y"; obj[2] = "z"; obj.length = -4294967294; obj.join("") === "". Actual: ' + (obj.join("")));
}
-//CHECK#2
if (obj.length !== -4294967294) {
throw new Test262Error('#2: var obj = {}; obj.join = Array.prototype.join; obj[0] = "x"; obj[1] = "y"; obj[2] = "z"; obj.length = -4294967294; obj.join(""); obj.length === -4294967294. Actual: ' + (obj.length));
}
diff --git a/js/src/tests/test262/built-ins/Array/prototype/join/S15.4.4.5_A5_T1.js b/js/src/tests/test262/built-ins/Array/prototype/join/S15.4.4.5_A5_T1.js
index 91dee3dfbfa4..781cb601d226 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/join/S15.4.4.5_A5_T1.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/join/S15.4.4.5_A5_T1.js
@@ -9,7 +9,6 @@ description: >
of Array.prototype is Object.prototype
---*/
-//CHECK#1
Array.prototype[1] = 1;
var x = [0];
x.length = 2;
@@ -17,7 +16,6 @@ if (x.join() !== "0,1") {
throw new Test262Error('#1: Array.prototype[1] = 1; x = [0]; x.length = 2; x.join() === "0,1". Actual: ' + (x.join()));
}
-//CHECK#2
Object.prototype[1] = 1;
Object.prototype.length = 2;
Object.prototype.join = Array.prototype.join;
diff --git a/js/src/tests/test262/built-ins/Array/prototype/join/S15.4.4.5_A6.6.js b/js/src/tests/test262/built-ins/Array/prototype/join/S15.4.4.5_A6.6.js
index e221e014ad5e..1772e0438605 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/join/S15.4.4.5_A6.6.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/join/S15.4.4.5_A6.6.js
@@ -7,7 +7,6 @@ esid: sec-array.prototype.join
description: Checking Array.prototype.join.prototype
---*/
-//CHECK#1
if (Array.prototype.join.prototype !== undefined) {
throw new Test262Error('#1: Array.prototype.join.prototype === undefined. Actual: ' + (Array.prototype.join.prototype));
}
diff --git a/js/src/tests/test262/built-ins/Array/prototype/join/S15.4.4.5_A6.7.js b/js/src/tests/test262/built-ins/Array/prototype/join/S15.4.4.5_A6.7.js
deleted file mode 100644
index 2c036a5107ff..000000000000
--- a/js/src/tests/test262/built-ins/Array/prototype/join/S15.4.4.5_A6.7.js
+++ /dev/null
@@ -1,23 +0,0 @@
-// Copyright 2009 the Sputnik authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-info: The join property of Array can't be used as constructor
-esid: sec-array.prototype.join
-description: >
- If property does not implement the internal [[Construct]] method,
- throw a TypeError exception
----*/
-
-//CHECK#1
-
-try {
- new Array.prototype.join();
- throw new Test262Error('#1.1: new Array.prototype.join() throw TypeError. Actual: ' + (new Array.prototype.join()));
-} catch (e) {
- if ((e instanceof TypeError) !== true) {
- throw new Test262Error('#1.2: new Array.prototype.join() throw TypeError. Actual: ' + (e));
- }
-}
-
-reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Array/prototype/map/callbackfn-resize-arraybuffer.js b/js/src/tests/test262/built-ins/Array/prototype/map/callbackfn-resize-arraybuffer.js
new file mode 100644
index 000000000000..943763074b6c
--- /dev/null
+++ b/js/src/tests/test262/built-ins/Array/prototype/map/callbackfn-resize-arraybuffer.js
@@ -0,0 +1,78 @@
+// |reftest| skip -- resizable-arraybuffer is not supported
+// Copyright (C) 2021 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-array.prototype.map
+description: TypedArray instance buffer can be resized during iteration
+includes: [testTypedArray.js, compareArray.js]
+features: [TypedArray, resizable-arraybuffer]
+---*/
+
+// If the host chooses to throw as allowed by the specification, the observed
+// behavior will be identical to the case where `ArrayBuffer.prototype.resize`
+// has not been implemented. The following assertion prevents this test from
+// passing in runtimes which have not implemented the method.
+assert.sameValue(typeof ArrayBuffer.prototype.resize, 'function');
+
+testWithTypedArrayConstructors(function(TA) {
+ var BPE = TA.BYTES_PER_ELEMENT;
+ var buffer = new ArrayBuffer(BPE * 3, {maxByteLength: BPE * 4});
+ var sample = new TA(buffer);
+ var finalResult, expectedElements, expectedIndices, expectedArrays;
+ var elements, indices, arrays, result;
+
+ elements = [];
+ indices = [];
+ arrays = [];
+ result = Array.prototype.map.call(sample, function(element, index, array) {
+ if (elements.length === 0) {
+ try {
+ buffer.resize(2 * BPE);
+ finalResult = undefined;
+ expectedElements = [0, 0];
+ expectedIndices = [0, 1];
+ expectedArrays = [sample, sample];
+ } catch (_) {
+ finalResult = 2;
+ expectedElements = [0, 0, 0];
+ expectedIndices = [0, 1, 2];
+ expectedArrays = [sample, sample, sample];
+ }
+ }
+
+ elements.push(element);
+ indices.push(index);
+ arrays.push(array);
+
+ return index;
+ });
+
+ assert.compareArray(elements, expectedElements, 'elements (shrink)');
+ assert.compareArray(indices, expectedIndices, 'indices (shrink)');
+ assert.compareArray(arrays, expectedArrays, 'arrays (shrink)');
+ assert.compareArray(result, [0, 1, finalResult], 'result (shrink)');
+
+ elements = [];
+ indices = [];
+ arrays = [];
+ result = Array.prototype.map.call(sample, function(element, index, array) {
+ if (elements.length === 0) {
+ try {
+ buffer.resize(4 * BPE);
+ } catch (_) {}
+ }
+
+ elements.push(element);
+ indices.push(index);
+ arrays.push(array);
+
+ return index;
+ });
+
+ assert.compareArray(elements, expectedElements, 'elements (grow)');
+ assert.compareArray(indices, expectedIndices, 'indices (grow)');
+ assert.compareArray(arrays, expectedArrays, 'arrays (grow)');
+ assert.compareArray(result, expectedIndices, 'result (grow)');
+});
+
+reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Array/prototype/map/shell.js b/js/src/tests/test262/built-ins/Array/prototype/map/shell.js
index e69de29bb2d1..e9580b311369 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/map/shell.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/map/shell.js
@@ -0,0 +1,124 @@
+// GENERATED, DO NOT EDIT
+// file: testTypedArray.js
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+description: |
+ Collection of functions used to assert the correctness of TypedArray objects.
+defines:
+ - typedArrayConstructors
+ - floatArrayConstructors
+ - intArrayConstructors
+ - TypedArray
+ - testWithTypedArrayConstructors
+ - testWithAtomicsFriendlyTypedArrayConstructors
+ - testWithNonAtomicsFriendlyTypedArrayConstructors
+ - testTypedArrayConversions
+---*/
+
+/**
+ * Array containing every typed array constructor.
+ */
+var typedArrayConstructors = [
+ Float64Array,
+ Float32Array,
+ Int32Array,
+ Int16Array,
+ Int8Array,
+ Uint32Array,
+ Uint16Array,
+ Uint8Array,
+ Uint8ClampedArray
+];
+
+var floatArrayConstructors = typedArrayConstructors.slice(0, 2);
+var intArrayConstructors = typedArrayConstructors.slice(2, 7);
+
+/**
+ * The %TypedArray% intrinsic constructor function.
+ */
+var TypedArray = Object.getPrototypeOf(Int8Array);
+
+/**
+ * Callback for testing a typed array constructor.
+ *
+ * @callback typedArrayConstructorCallback
+ * @param {Function} Constructor the constructor object to test with.
+ */
+
+/**
+ * Calls the provided function for every typed array constructor.
+ *
+ * @param {typedArrayConstructorCallback} f - the function to call for each typed array constructor.
+ * @param {Array} selected - An optional Array with filtered typed arrays
+ */
+function testWithTypedArrayConstructors(f, selected) {
+ var constructors = selected || typedArrayConstructors;
+ for (var i = 0; i < constructors.length; ++i) {
+ var constructor = constructors[i];
+ try {
+ f(constructor);
+ } catch (e) {
+ e.message += " (Testing with " + constructor.name + ".)";
+ throw e;
+ }
+ }
+}
+
+/**
+ * Calls the provided function for every non-"Atomics Friendly" typed array constructor.
+ *
+ * @param {typedArrayConstructorCallback} f - the function to call for each typed array constructor.
+ * @param {Array} selected - An optional Array with filtered typed arrays
+ */
+function testWithNonAtomicsFriendlyTypedArrayConstructors(f) {
+ testWithTypedArrayConstructors(f, [
+ Float64Array,
+ Float32Array,
+ Uint8ClampedArray
+ ]);
+}
+
+/**
+ * Calls the provided function for every "Atomics Friendly" typed array constructor.
+ *
+ * @param {typedArrayConstructorCallback} f - the function to call for each typed array constructor.
+ * @param {Array} selected - An optional Array with filtered typed arrays
+ */
+function testWithAtomicsFriendlyTypedArrayConstructors(f) {
+ testWithTypedArrayConstructors(f, [
+ Int32Array,
+ Int16Array,
+ Int8Array,
+ Uint32Array,
+ Uint16Array,
+ Uint8Array,
+ ]);
+}
+
+/**
+ * Helper for conversion operations on TypedArrays, the expected values
+ * properties are indexed in order to match the respective value for each
+ * TypedArray constructor
+ * @param {Function} fn - the function to call for each constructor and value.
+ * will be called with the constructor, value, expected
+ * value, and a initial value that can be used to avoid
+ * a false positive with an equivalent expected value.
+ */
+function testTypedArrayConversions(byteConversionValues, fn) {
+ var values = byteConversionValues.values;
+ var expected = byteConversionValues.expected;
+
+ testWithTypedArrayConstructors(function(TA) {
+ var name = TA.name.slice(0, -5);
+
+ return values.forEach(function(value, index) {
+ var exp = expected[name][index];
+ var initial = 0;
+ if (exp === 0) {
+ initial = 1;
+ }
+ fn(TA, value, exp, initial);
+ });
+ });
+}
diff --git a/js/src/tests/test262/built-ins/Array/prototype/pop/S15.4.4.6_A1.1_T1.js b/js/src/tests/test262/built-ins/Array/prototype/pop/S15.4.4.6_A1.1_T1.js
index b4bfa3311268..6463da32ccf1 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/pop/S15.4.4.6_A1.1_T1.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/pop/S15.4.4.6_A1.1_T1.js
@@ -9,19 +9,16 @@ esid: sec-array.prototype.pop
description: Checking this algorithm
---*/
-//CHECK#1
var x = new Array();
var pop = x.pop();
if (pop !== undefined) {
throw new Test262Error('#1: var x = new Array(); x.pop() === undefined. Actual: ' + (pop));
}
-//CHECK#2
if (x.length !== 0) {
throw new Test262Error('#2: var x = new Array(); x.pop(); x.length === 0. Actual: ' + (x.length));
}
-//CHECK#3
var x = Array(1, 2, 3);
x.length = 0;
var pop = x.pop();
@@ -29,7 +26,6 @@ if (pop !== undefined) {
throw new Test262Error('#2: var x = Array(1,2,3); x.length = 0; x.pop() === undefined. Actual: ' + (pop));
}
-//CHECK#4
if (x.length !== 0) {
throw new Test262Error('#4: var x = new Array(1,2,3); x.length = 0; x.pop(); x.length === 0. Actual: ' + (x.length));
}
diff --git a/js/src/tests/test262/built-ins/Array/prototype/pop/S15.4.4.6_A1.2_T1.js b/js/src/tests/test262/built-ins/Array/prototype/pop/S15.4.4.6_A1.2_T1.js
index adc8affdfba5..97cab3dc1e7f 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/pop/S15.4.4.6_A1.2_T1.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/pop/S15.4.4.6_A1.2_T1.js
@@ -9,29 +9,24 @@ esid: sec-array.prototype.pop
description: Checking this use new Array() and []
---*/
-//CHECK#1
var x = new Array(0, 1, 2, 3);
var pop = x.pop();
if (pop !== 3) {
throw new Test262Error('#1: x = new Array(0,1,2,3); x.pop() === 3. Actual: ' + (pop));
}
-//CHECK#2
if (x.length !== 3) {
throw new Test262Error('#2: x = new Array(0,1,2,3); x.pop(); x.length == 3');
}
-//CHECK#3
if (x[3] !== undefined) {
throw new Test262Error('#3: x = new Array(0,1,2,3); x.pop(); x[3] == undefined');
}
-//CHECK#4
if (x[2] !== 2) {
throw new Test262Error('#4: x = new Array(0,1,2,3); x.pop(); x[2] == 2');
}
-//CHECK#5
x = [];
x[0] = 0;
x[3] = 3;
@@ -40,29 +35,24 @@ if (pop !== 3) {
throw new Test262Error('#5: x = []; x[0] = 0; x[3] = 3; x.pop() === 3. Actual: ' + (pop));
}
-//CHECK#6
if (x.length !== 3) {
throw new Test262Error('#6: x = []; x[0] = 0; x[3] = 3; x.pop(); x.length == 3');
}
-//CHECK#7
if (x[3] !== undefined) {
throw new Test262Error('#7: x = []; x[0] = 0; x[3] = 3; x.pop(); x[3] == undefined');
}
-//CHECK#8
if (x[2] !== undefined) {
throw new Test262Error('#8: x = []; x[0] = 0; x[3] = 3; x.pop(); x[2] == undefined');
}
-//CHECK#9
x.length = 1;
var pop = x.pop();
if (pop !== 0) {
throw new Test262Error('#9: x = []; x[0] = 0; x[3] = 3; x.pop(); x.length = 1; x.pop() === 0. Actual: ' + (pop));
}
-//CHECK#10
if (x.length !== 0) {
throw new Test262Error('#10: x = []; x[0] = 0; x[3] = 3; x.pop(); x.length = 1; x.pop(); x.length === 0. Actual: ' + (x.length));
}
diff --git a/js/src/tests/test262/built-ins/Array/prototype/pop/S15.4.4.6_A2_T1.js b/js/src/tests/test262/built-ins/Array/prototype/pop/S15.4.4.6_A2_T1.js
index 1cb46ad88a9d..9961c4733aa5 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/pop/S15.4.4.6_A2_T1.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/pop/S15.4.4.6_A2_T1.js
@@ -17,37 +17,31 @@ obj.pop = Array.prototype.pop;
if (obj.length !== undefined) {
throw new Test262Error('#0: var obj = {}; obj.length === undefined. Actual: ' + (obj.length));
} else {
- //CHECK#1
var pop = obj.pop();
if (pop !== undefined) {
throw new Test262Error('#1: var obj = {}; obj.pop = Array.prototype.pop; obj.pop() === undefined. Actual: ' + (pop));
}
- //CHECK#2
if (obj.length !== 0) {
throw new Test262Error('#2: var obj = {}; obj.pop = Array.prototype.pop; obj.pop(); obj.length === 0. Actual: ' + (obj.length));
}
}
-//CHECK#3
obj.length = undefined;
var pop = obj.pop();
if (pop !== undefined) {
throw new Test262Error('#3: var obj = {}; obj.length = undefined; obj.pop = Array.prototype.pop; obj.pop() === undefined. Actual: ' + (pop));
}
-//CHECK#4
if (obj.length !== 0) {
throw new Test262Error('#4: var obj = {}; obj.length = undefined; obj.pop = Array.prototype.pop; obj.pop(); obj.length === 0. Actual: ' + (obj.length));
}
-//CHECK#5
obj.length = null
var pop = obj.pop();
if (pop !== undefined) {
throw new Test262Error('#5: var obj = {}; obj.length = null; obj.pop = Array.prototype.pop; obj.pop() === undefined. Actual: ' + (pop));
}
-//CHECK#6
if (obj.length !== 0) {
throw new Test262Error('#6: var obj = {}; obj.length = null; obj.pop = Array.prototype.pop; obj.pop(); obj.length === 0. Actual: ' + (obj.length));
}
diff --git a/js/src/tests/test262/built-ins/Array/prototype/pop/S15.4.4.6_A2_T2.js b/js/src/tests/test262/built-ins/Array/prototype/pop/S15.4.4.6_A2_T2.js
index cb76715a4aeb..f414f4d00a3b 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/pop/S15.4.4.6_A2_T2.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/pop/S15.4.4.6_A2_T2.js
@@ -14,50 +14,42 @@ description: >
var obj = {};
obj.pop = Array.prototype.pop;
-//CHECK#1
obj.length = NaN;
var pop = obj.pop();
if (pop !== undefined) {
throw new Test262Error('#1: var obj = {}; obj.length = NaN; obj.pop = Array.prototype.pop; obj.pop() === undefined. Actual: ' + (pop));
}
-//CHECK#2
if (obj.length !== 0) {
throw new Test262Error('#2: var obj = {}; obj.length = NaN; obj.pop = Array.prototype.pop; obj.pop(); obj.length === 0. Actual: ' + (obj.length));
}
-//CHECK#3
obj.length = Number.POSITIVE_INFINITY;
var pop = obj.pop();
if (pop !== undefined) {
throw new Test262Error('#3: var obj = {}; obj.length = Number.POSITIVE_INFINITY; obj.pop = Array.prototype.pop; obj.pop() === undefined. Actual: ' + (pop));
}
-//CHECK#4
if (obj.length !== 9007199254740990) {
throw new Test262Error('#4: var obj = {}; obj.length = Number.POSITIVE_INFINITY; obj.pop = Array.prototype.pop; obj.pop(); obj.length === 9007199254740990. Actual: ' + (obj.length));
}
-//CHECK#5
obj.length = Number.NEGATIVE_INFINITY;
var pop = obj.pop();
if (pop !== undefined) {
throw new Test262Error('#5: var obj = {}; obj.length = Number.NEGATIVE_INFINITY; obj.pop = Array.prototype.pop; obj.pop() === undefined. Actual: ' + (pop));
}
-//CHECK#6
if (obj.length !== 0) {
throw new Test262Error('#6: var obj = {}; obj.length = Number.NEGATIVE_INFINITY; obj.pop = Array.prototype.pop; obj.pop(); obj.length === 0. Actual: ' + (obj.length));
}
-//CHECK#7
obj.length = -0;
var pop = obj.pop();
if (pop !== undefined) {
throw new Test262Error('#7: var obj = {}; obj.length = -0; obj.pop = Array.prototype.pop; obj.pop() === undefined. Actual: ' + (pop));
}
-//CHECK#8
if (obj.length !== 0) {
throw new Test262Error('#8: var obj = {}; obj.length = -0; obj.pop = Array.prototype.pop; obj.pop(); obj.length === 0. Actual: ' + (obj.length));
} else {
@@ -66,26 +58,22 @@ if (obj.length !== 0) {
}
}
-//CHECK#9
obj.length = 0.5;
var pop = obj.pop();
if (pop !== undefined) {
throw new Test262Error('#9: var obj = {}; obj.length = 0.5; obj.pop = Array.prototype.pop; obj.pop() === undefined. Actual: ' + (pop));
}
-//CHECK#10
if (obj.length !== 0) {
throw new Test262Error('#10: var obj = {}; obj.length = 0.5; obj.pop = Array.prototype.pop; obj.pop(); obj.length === 0. Actual: ' + (obj.length));
}
-//CHECK#11
obj.length = new Number(0);
var pop = obj.pop();
if (pop !== undefined) {
throw new Test262Error('#11: var obj = {}; obj.length = new Number(0); obj.pop = Array.prototype.pop; obj.pop() === undefined. Actual: ' + (pop));
}
-//CHECK#12
if (obj.length !== 0) {
throw new Test262Error('#12: var obj = {}; obj.length = new Number(0); obj.pop = Array.prototype.pop; obj.pop(); obj.length === 0. Actual: ' + (obj.length));
}
diff --git a/js/src/tests/test262/built-ins/Array/prototype/pop/S15.4.4.6_A2_T3.js b/js/src/tests/test262/built-ins/Array/prototype/pop/S15.4.4.6_A2_T3.js
index d951fb1c370d..74df6b350086 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/pop/S15.4.4.6_A2_T3.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/pop/S15.4.4.6_A2_T3.js
@@ -14,26 +14,22 @@ description: >
var obj = {};
obj.pop = Array.prototype.pop;
-//CHECK#1
obj.length = 2.5;
var pop = obj.pop();
if (pop !== undefined) {
throw new Test262Error('#1: var obj = {}; obj.length = 2.5; obj.pop = Array.prototype.pop; obj.pop() === undefined. Actual: ' + (pop));
}
-//CHECK#2
if (obj.length !== 1) {
throw new Test262Error('#2: var obj = {}; obj.length = 2.5; obj.pop = Array.prototype.pop; obj.pop(); obj.length === 1. Actual: ' + (obj.length));
}
-//CHECK#3
obj.length = new Number(2);
var pop = obj.pop();
if (pop !== undefined) {
throw new Test262Error('#11: var obj = {}; obj.length = new Number(2); obj.pop = Array.prototype.pop; obj.pop() === undefined. Actual: ' + (pop));
}
-//CHECK#3
if (obj.length !== 1) {
throw new Test262Error('#12: var obj = {}; obj.length = new Number(2); obj.pop = Array.prototype.pop; obj.pop(); obj.length === 1. Actual: ' + (obj.length));
}
diff --git a/js/src/tests/test262/built-ins/Array/prototype/pop/S15.4.4.6_A2_T4.js b/js/src/tests/test262/built-ins/Array/prototype/pop/S15.4.4.6_A2_T4.js
index 7246c6deabd1..d37f8024d556 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/pop/S15.4.4.6_A2_T4.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/pop/S15.4.4.6_A2_T4.js
@@ -14,137 +14,113 @@ description: >
var obj = {};
obj.pop = Array.prototype.pop;
-//CHECK#1
obj[0] = -1;
obj.length = {
- valueOf: function() {
+ valueOf() {
return 1
}
};
var pop = obj.pop();
-if (pop !== -1) {
- throw new Test262Error('#1: obj[0] = -1; obj.length = {valueOf: function() {return 1}} obj.pop() === -1. Actual: ' + (pop));
-}
+assert.sameValue(pop, -1, 'The value of pop is expected to be -1');
-//CHECK#2
obj[0] = -1;
obj.length = {
- valueOf: function() {
+ valueOf() {
return 1
},
- toString: function() {
+ toString() {
return 0
}
};
var pop = obj.pop();
-if (pop !== -1) {
- throw new Test262Error('#0: obj[0] = -1; obj.length = {valueOf: function() {return 1}, toString: function() {return 0}} obj.pop() === -1. Actual: ' + (pop));
-}
+assert.sameValue(pop, -1, 'The value of pop is expected to be -1');
-//CHECK#3
obj[0] = -1;
obj.length = {
- valueOf: function() {
+ valueOf() {
return 1
},
- toString: function() {
+ toString() {
return {}
}
};
var pop = obj.pop();
-if (pop !== -1) {
- throw new Test262Error('#3: obj[0] = -1; obj.length = {valueOf: function() {return 1}, toString: function() {return {}}} obj.pop() === -1. Actual: ' + (pop));
-}
+assert.sameValue(pop, -1, 'The value of pop is expected to be -1');
-//CHECK#4
try {
obj[0] = -1;
obj.length = {
- valueOf: function() {
+ valueOf() {
return 1
},
- toString: function() {
+ toString() {
throw "error"
}
};
var pop = obj.pop();
- if (pop !== -1) {
- throw new Test262Error('#4.1: obj[0] = -1; obj.length = {valueOf: function() {return 1}, toString: function() {throw "error"}}; obj.pop() === ",". Actual: ' + (pop));
- }
+ assert.sameValue(pop, -1, 'The value of pop is expected to be -1');
}
catch (e) {
- if (e === "error") {
- throw new Test262Error('#4.2: obj[0] = -1; obj.length = {valueOf: function() {return 1}, toString: function() {throw "error"}}; obj.pop() not throw "error"');
- } else {
- throw new Test262Error('#4.3: obj[0] = -1; obj.length = {valueOf: function() {return 1}, toString: function() {throw "error"}}; obj.pop() not throw Error. Actual: ' + (e));
- }
+ assert.notSameValue(e, "error", 'The value of e is not "error"');
}
-//CHECK#5
obj[0] = -1;
obj.length = {
- toString: function() {
+ toString() {
return 0
}
};
var pop = obj.pop();
-if (pop !== undefined) {
- throw new Test262Error('#5: obj[0] = -1; obj.length = {toString: function() {return 0}} obj.pop() === undefined. Actual: ' + (pop));
-}
+assert.sameValue(pop, undefined, 'The value of pop is expected to equal undefined');
-//CHECK#6
obj[0] = -1;
obj.length = {
- valueOf: function() {
+ valueOf() {
return {}
},
- toString: function() {
+ toString() {
return 0
}
}
var pop = obj.pop();
-if (pop !== undefined) {
- throw new Test262Error('#6: obj[0] = -1; obj.length = {valueOf: function() {return {}}, toString: function() {return 0}} obj.pop() === undefined. Actual: ' + (pop));
-}
+assert.sameValue(pop, undefined, 'The value of pop is expected to equal undefined');
-//CHECK#7
try {
obj[0] = -1;
obj.length = {
- valueOf: function() {
+ valueOf() {
throw "error"
},
- toString: function() {
+ toString() {
return 0
}
};
var pop = obj.pop();
- throw new Test262Error('#7.1: obj[0] = -1; obj.length = {valueOf: function() {throw "error"}, toString: function() {return 0}}; obj.pop() throw "error". Actual: ' + (pop));
+ throw new Test262Error('#7.1: obj[0] = -1; obj.length = {valueOf() {throw "error"}, toString() {return 0}}; obj.pop() throw "error". Actual: ' + (pop));
}
catch (e) {
- if (e !== "error") {
- throw new Test262Error('#7.2: obj[0] = -1; obj.length = {valueOf: function() {throw "error"}, toString: function() {return 0}}; obj.pop() throw "error". Actual: ' + (e));
- }
+ assert.sameValue(e, "error", 'The value of e is expected to be "error"');
}
-//CHECK#8
try {
obj[0] = -1;
obj.length = {
- valueOf: function() {
+ valueOf() {
return {}
},
- toString: function() {
+ toString() {
return {}
}
};
var pop = obj.pop();
- throw new Test262Error('#8.1: obj[0] = -1; obj.length = {valueOf: function() {return {}}, toString: function() {return {}}} obj.pop() throw TypeError. Actual: ' + (pop));
+ throw new Test262Error('#8.1: obj[0] = -1; obj.length = {valueOf() {return {}}, toString() {return {}}} obj.pop() throw TypeError. Actual: ' + (pop));
}
catch (e) {
- if ((e instanceof TypeError) !== true) {
- throw new Test262Error('#8.2: obj[0] = -1; obj.length = {valueOf: function() {return {}}, toString: function() {return {}}} obj.pop() throw TypeError. Actual: ' + (e));
- }
+ assert.sameValue(
+ e instanceof TypeError,
+ true,
+ 'The result of evaluating (e instanceof TypeError) is expected to be true'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Array/prototype/pop/S15.4.4.6_A3_T1.js b/js/src/tests/test262/built-ins/Array/prototype/pop/S15.4.4.6_A3_T1.js
index 36c54d8029e5..7c0ce497dcec 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/pop/S15.4.4.6_A3_T1.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/pop/S15.4.4.6_A3_T1.js
@@ -13,23 +13,19 @@ obj[0] = "x";
obj[4294967295] = "y";
obj.length = 4294967296;
-//CHECK#1
var pop = obj.pop();
if (pop !== "y") {
throw new Test262Error('#1: var obj = {}; obj.pop = Array.prototype.pop; obj[0] = "x"; obj[4294967295] = "y"; obj.length = 4294967296; obj.pop() === "y". Actual: ' + (pop));
}
-//CHECK#2
if (obj.length !== 4294967295) {
throw new Test262Error('#2: var obj = {}; obj.pop = Array.prototype.pop; obj[0] = "x"; obj[4294967295] = "y"; obj.length = 4294967296; obj.pop(); obj.length === 4294967295. Actual: ' + (obj.length));
}
-//CHECK#3
if (obj[0] !== "x") {
throw new Test262Error('#3: var obj = {}; obj.pop = Array.prototype.pop; obj[0] = "x"; obj[4294967295] = "y"; obj.length = 4294967296; obj.pop(); obj[0] === "x". Actual: ' + (obj[0]));
}
-//CHECK#4
if (obj[4294967295] !== undefined) {
throw new Test262Error('#4: var obj = {}; obj.pop = Array.prototype.pop; obj[0] = "x"; obj[4294967295] = "y"; obj.length = 4294967296; obj.pop(); obj[4294967295] === undefined. Actual: ' + (obj[4294967295]));
}
diff --git a/js/src/tests/test262/built-ins/Array/prototype/pop/S15.4.4.6_A3_T2.js b/js/src/tests/test262/built-ins/Array/prototype/pop/S15.4.4.6_A3_T2.js
index a31205e8ba86..b6de632743a9 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/pop/S15.4.4.6_A3_T2.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/pop/S15.4.4.6_A3_T2.js
@@ -13,23 +13,19 @@ obj[0] = "x";
obj[4294967296] = "y";
obj.length = 4294967297;
-//CHECK#1
var pop = obj.pop();
if (pop !== "y") {
throw new Test262Error('#1: var obj = {}; obj.pop = Array.prototype.pop; obj[0] = "x"; obj[4294967296] = "y"; obj.length = 4294967297; obj.pop() === "y". Actual: ' + (pop));
}
-//CHECK#2
if (obj.length !== 4294967296) {
throw new Test262Error('#2: var obj = {}; obj.pop = Array.prototype.pop; obj[0] = "x"; obj[4294967296] = "y"; obj.length = 4294967297; obj.pop(); obj.length === 4294967296. Actual: ' + (obj.length));
}
-//CHECK#3
if (obj[0] !== "x") {
throw new Test262Error('#3: var obj = {}; obj.pop = Array.prototype.pop; obj[0] = "x"; obj[4294967296] = "y"; obj.length = 4294967297; obj.pop(); obj[0] === "x". Actual: ' + (obj[0]));
}
-//CHECK#4
if (obj[4294967296] !== undefined) {
throw new Test262Error('#4: var obj = {}; obj.pop = Array.prototype.pop; obj[0] = "x"; obj[4294967296] = "y"; obj.length = 4294967297; obj.pop(); obj[4294967296] === undefined. Actual: ' + (obj[4294967296]));
}
diff --git a/js/src/tests/test262/built-ins/Array/prototype/pop/S15.4.4.6_A3_T3.js b/js/src/tests/test262/built-ins/Array/prototype/pop/S15.4.4.6_A3_T3.js
index 3c9b8a447e8f..7086832284f1 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/pop/S15.4.4.6_A3_T3.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/pop/S15.4.4.6_A3_T3.js
@@ -12,18 +12,15 @@ obj.pop = Array.prototype.pop;
obj[4294967294] = "x";
obj.length = -1;
-//CHECK#1
var pop = obj.pop();
if (pop !== undefined) {
throw new Test262Error('#1: var obj = {}; obj.pop = Array.prototype.pop; obj[4294967294] = "x"; obj.length = -1; obj.pop() === undefined. Actual: ' + (pop));
}
-//CHECK#2
if (obj.length !== 0) {
throw new Test262Error('#2: var obj = {}; obj.pop = Array.prototype.pop; obj[4294967294] = "x"; obj.length = -1; obj.pop(); obj.length === 0. Actual: ' + (obj.length));
}
-//CHECK#3
if (obj[4294967294] !== "x") {
throw new Test262Error('#3: var obj = {}; obj.pop = Array.prototype.pop; obj[4294967294] = "x"; obj.length = -1; obj.pop(); obj[4294967294] === "x". Actual: ' + (obj[4294967294]));
}
diff --git a/js/src/tests/test262/built-ins/Array/prototype/pop/S15.4.4.6_A4_T1.js b/js/src/tests/test262/built-ins/Array/prototype/pop/S15.4.4.6_A4_T1.js
index efb27c8429dd..454bd58b985e 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/pop/S15.4.4.6_A4_T1.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/pop/S15.4.4.6_A4_T1.js
@@ -13,13 +13,11 @@ Array.prototype[1] = 1;
var x = [0];
x.length = 2;
-//CHECK#1
var pop = x.pop();
if (pop !== 1) {
throw new Test262Error('#1: Array.prototype[1] = 1; x = [0]; x.length = 2; x.pop() === 1. Actual: ' + (pop));
}
-//CHECK#2
if (x[1] !== 1) {
throw new Test262Error('#2: Array.prototype[1] = 1; x = [0]; x.length = 2; x.pop(); x[1] === 1. Actual: ' + (x[1]));
}
@@ -31,23 +29,19 @@ x = {
0: 0
};
-//CHECK#3
var pop = x.pop();
if (pop !== 1) {
throw new Test262Error('#3: Object.prototype[1] = 1; Object.prototype.length = 2; Object.prototype.pop = Array.prototype.pop; x = {0:0}; x.pop() === 1. Actual: ' + (pop));
}
-//CHECK#4
if (x[1] !== 1) {
throw new Test262Error('#4: Object.prototype[1] = 1; Object.prototype.length = 2; Object.prototype.pop = Array.prototype.pop; x = {0:0}; x.pop(); x[1] === 1. Actual: ' + (x[1]));
}
-//CHECK#6
if (x.length !== 1) {
throw new Test262Error('#6: Object.prototype[1] = 1; Object.prototype.length = 2; Object.prototype.pop = Array.prototype.pop; x = {0:0}; x.pop(); x.length === 1. Actual: ' + (x.length));
}
-//CHECK#7
delete x.length;
if (x.length !== 2) {
throw new Test262Error('#7: Object.prototype[1] = 1; Object.prototype.length = 2; Object.prototype.pop = Array.prototype.pop; x = {0:0}; x.pop(); delete x; x.length === 2. Actual: ' + (x.length));
diff --git a/js/src/tests/test262/built-ins/Array/prototype/pop/S15.4.4.6_A4_T2.js b/js/src/tests/test262/built-ins/Array/prototype/pop/S15.4.4.6_A4_T2.js
index 394d32dc2701..51ed4692cfd9 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/pop/S15.4.4.6_A4_T2.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/pop/S15.4.4.6_A4_T2.js
@@ -13,13 +13,11 @@ Array.prototype[1] = -1;
var x = [0, 1];
x.length = 2;
-//CHECK#1
var pop = x.pop();
if (pop !== 1) {
throw new Test262Error('#1: Array.prototype[1] = -1; x = [0,1]; x.length = 2; x.pop() === 1. Actual: ' + (pop));
}
-//CHECK#2
if (x[1] !== -1) {
throw new Test262Error('#2: Array.prototype[1] = -1; x = [0,1]; x.length = 2; x.pop(); x[1] === -1. Actual: ' + (x[1]));
}
@@ -32,23 +30,19 @@ x = {
1: 1
};
-//CHECK#3
var pop = x.pop();
if (pop !== 1) {
throw new Test262Error('#3: Object.prototype[1] = -1; Object.prototype.length = 2; Object.prototype.pop = Array.prototype.pop; x = {0:0,1:1}; x.pop() === 1. Actual: ' + (pop));
}
-//CHECK#4
if (x[1] !== -1) {
throw new Test262Error('#4: Object.prototype[1] = -1; Object.prototype.length = 2; Object.prototype.pop = Array.prototype.pop; x = {0:0,1:1}; x.pop(); x[1] === -1. Actual: ' + (x[1]));
}
-//CHECK#6
if (x.length !== 1) {
throw new Test262Error('#6: Object.prototype[1] = -1; Object.prototype.length = 2; Object.prototype.pop = Array.prototype.pop; x = {0:0,1:1}; x.pop(); x.length === 1. Actual: ' + (x.length));
}
-//CHECK#7
delete x.length;
if (x.length !== 2) {
throw new Test262Error('#7: Object.prototype[1] = -1; Object.prototype.length = 2; Object.prototype.pop = Array.prototype.pop; x = {0:0,1:1}; x.pop(); delete x; x.length === 2. Actual: ' + (x.length));
diff --git a/js/src/tests/test262/built-ins/Array/prototype/pop/S15.4.4.6_A5.7.js b/js/src/tests/test262/built-ins/Array/prototype/pop/S15.4.4.6_A5.7.js
deleted file mode 100644
index f9b473bd95e7..000000000000
--- a/js/src/tests/test262/built-ins/Array/prototype/pop/S15.4.4.6_A5.7.js
+++ /dev/null
@@ -1,23 +0,0 @@
-// Copyright 2009 the Sputnik authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-info: The pop property of Array can't be used as constructor
-esid: sec-array.prototype.pop
-description: >
- If property does not implement the internal [[Construct]] method,
- throw a TypeError exception
----*/
-
-//CHECK#1
-
-try {
- new Array.prototype.pop();
- throw new Test262Error('#1.1: new Array.prototype.pop() throw TypeError. Actual: ' + (new Array.prototype.pop()));
-} catch (e) {
- if ((e instanceof TypeError) !== true) {
- throw new Test262Error('#1.2: new Array.prototype.pop() throw TypeError. Actual: ' + (e));
- }
-}
-
-reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Array/prototype/pop/set-length-array-is-frozen.js b/js/src/tests/test262/built-ins/Array/prototype/pop/set-length-array-is-frozen.js
new file mode 100644
index 000000000000..d083e0eb196a
--- /dev/null
+++ b/js/src/tests/test262/built-ins/Array/prototype/pop/set-length-array-is-frozen.js
@@ -0,0 +1,49 @@
+// Copyright (C) 2022 Apple Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-array.prototype.pop
+description: >
+ A TypeError is thrown when "length" is [[Set]] on a frozen array.
+info: |
+ Array.prototype.pop ( )
+
+ [...]
+ 4. Else,
+ a. Assert: len > 0.
+ b. Let newLen be 𝔽(len - 1).
+ c. Let index be ! ToString(newLen).
+ d. Let element be ? Get(O, index).
+ e. Perform ? DeletePropertyOrThrow(O, index).
+ f. Perform ? Set(O, "length", newLen, true).
+
+ OrdinarySetWithOwnDescriptor ( O, P, V, Receiver, ownDesc )
+
+ [...]
+ 2. If IsDataDescriptor(ownDesc) is true, then
+ a. If ownDesc.[[Writable]] is false, return false.
+
+ Set ( O, P, V, Throw )
+
+ [...]
+ 1. Let success be ? O.[[Set]](P, V, O).
+ 2. If success is false and Throw is true, throw a TypeError exception.
+---*/
+
+var array = new Array(1);
+var arrayPrototypeGet0Calls = 0;
+
+Object.defineProperty(Array.prototype, "0", {
+ get() {
+ Object.freeze(array);
+ arrayPrototypeGet0Calls++;
+ },
+});
+
+assert.throws(TypeError, function() {
+ array.pop();
+});
+
+assert.sameValue(array.length, 1);
+assert.sameValue(arrayPrototypeGet0Calls, 1);
+
+reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Array/prototype/pop/set-length-array-length-is-non-writable.js b/js/src/tests/test262/built-ins/Array/prototype/pop/set-length-array-length-is-non-writable.js
new file mode 100644
index 000000000000..b53a73d8675a
--- /dev/null
+++ b/js/src/tests/test262/built-ins/Array/prototype/pop/set-length-array-length-is-non-writable.js
@@ -0,0 +1,49 @@
+// Copyright (C) 2022 Apple Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-array.prototype.pop
+description: >
+ A TypeError is thrown when "length" is [[Set]] on an array with non-writable "length".
+info: |
+ Array.prototype.pop ( )
+
+ [...]
+ 4. Else,
+ a. Assert: len > 0.
+ b. Let newLen be 𝔽(len - 1).
+ c. Let index be ! ToString(newLen).
+ d. Let element be ? Get(O, index).
+ e. Perform ? DeletePropertyOrThrow(O, index).
+ f. Perform ? Set(O, "length", newLen, true).
+
+ OrdinarySetWithOwnDescriptor ( O, P, V, Receiver, ownDesc )
+
+ [...]
+ 2. If IsDataDescriptor(ownDesc) is true, then
+ a. If ownDesc.[[Writable]] is false, return false.
+
+ Set ( O, P, V, Throw )
+
+ [...]
+ 1. Let success be ? O.[[Set]](P, V, O).
+ 2. If success is false and Throw is true, throw a TypeError exception.
+---*/
+
+var array = new Array(1);
+var arrayPrototypeGet0Calls = 0;
+
+Object.defineProperty(Array.prototype, "0", {
+ get() {
+ Object.defineProperty(array, "length", { writable: false });
+ arrayPrototypeGet0Calls++;
+ },
+});
+
+assert.throws(TypeError, function() {
+ array.pop();
+});
+
+assert.sameValue(array.length, 1);
+assert.sameValue(arrayPrototypeGet0Calls, 1);
+
+reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Array/prototype/pop/set-length-zero-array-is-frozen.js b/js/src/tests/test262/built-ins/Array/prototype/pop/set-length-zero-array-is-frozen.js
new file mode 100644
index 000000000000..a4fc0439594f
--- /dev/null
+++ b/js/src/tests/test262/built-ins/Array/prototype/pop/set-length-zero-array-is-frozen.js
@@ -0,0 +1,34 @@
+// Copyright (C) 2022 Apple Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-array.prototype.pop
+description: >
+ A TypeError is thrown when "length" is [[Set]] on an empty frozen array.
+info: |
+ Array.prototype.pop ( )
+
+ [...]
+ 3. If len = 0, then
+ a. Perform ? Set(O, "length", +0𝔽, true).
+
+ OrdinarySetWithOwnDescriptor ( O, P, V, Receiver, ownDesc )
+
+ [...]
+ 2. If IsDataDescriptor(ownDesc) is true, then
+ a. If ownDesc.[[Writable]] is false, return false.
+
+ Set ( O, P, V, Throw )
+
+ [...]
+ 1. Let success be ? O.[[Set]](P, V, O).
+ 2. If success is false and Throw is true, throw a TypeError exception.
+---*/
+
+var array = [];
+Object.freeze(array);
+
+assert.throws(TypeError, function() {
+ array.pop();
+});
+
+reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Array/prototype/pop/set-length-zero-array-length-is-non-writable.js b/js/src/tests/test262/built-ins/Array/prototype/pop/set-length-zero-array-length-is-non-writable.js
new file mode 100644
index 000000000000..36664bc4953a
--- /dev/null
+++ b/js/src/tests/test262/built-ins/Array/prototype/pop/set-length-zero-array-length-is-non-writable.js
@@ -0,0 +1,34 @@
+// Copyright (C) 2022 Apple Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-array.prototype.pop
+description: >
+ A TypeError is thrown when "length" is [[Set]] on an empty array with non-writable "length".
+info: |
+ Array.prototype.pop ( )
+
+ [...]
+ 3. If len = 0, then
+ a. Perform ? Set(O, "length", +0𝔽, true).
+
+ OrdinarySetWithOwnDescriptor ( O, P, V, Receiver, ownDesc )
+
+ [...]
+ 2. If IsDataDescriptor(ownDesc) is true, then
+ a. If ownDesc.[[Writable]] is false, return false.
+
+ Set ( O, P, V, Throw )
+
+ [...]
+ 1. Let success be ? O.[[Set]](P, V, O).
+ 2. If success is false and Throw is true, throw a TypeError exception.
+---*/
+
+var array = [];
+Object.defineProperty(array, "length", { writable: false });
+
+assert.throws(TypeError, function() {
+ array.pop();
+});
+
+reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Array/prototype/push/S15.4.4.7_A1_T1.js b/js/src/tests/test262/built-ins/Array/prototype/push/S15.4.4.7_A1_T1.js
index 6c47336b1f32..e8b82b1e156e 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/push/S15.4.4.7_A1_T1.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/push/S15.4.4.7_A1_T1.js
@@ -10,41 +10,34 @@ esid: sec-array.prototype.push
description: Checking case when push is given no arguments or one argument
---*/
-//CHECK#1
var x = new Array();
var push = x.push(1);
if (push !== 1) {
throw new Test262Error('#1: x = new Array(); x.push(1) === 1. Actual: ' + (push));
}
-//CHECK#2
if (x[0] !== 1) {
throw new Test262Error('#2: x = new Array(); x.push(1); x[0] === 1. Actual: ' + (x[0]));
}
-//CHECK#3
var push = x.push();
if (push !== 1) {
throw new Test262Error('#3: x = new Array(); x.push(1); x.push() === 1. Actual: ' + (push));
}
-//CHECK#4
if (x[1] !== undefined) {
throw new Test262Error('#4: x = new Array(); x.push(1); x.push(); x[1] === unedfined. Actual: ' + (x[1]));
}
-//CHECK#5
var push = x.push(-1);
if (push !== 2) {
throw new Test262Error('#5: x = new Array(); x.push(1); x.push(); x.push(-1) === 2. Actual: ' + (push));
}
-//CHECK#6
if (x[1] !== -1) {
throw new Test262Error('#6: x = new Array(); x.push(1); x.push(-1); x[1] === -1. Actual: ' + (x[1]));
}
-//CHECK#7
if (x.length !== 2) {
throw new Test262Error('#7: x = new Array(); x.push(1); x.push(); x.push(-1); x.length === 2. Actual: ' + (x.length));
}
diff --git a/js/src/tests/test262/built-ins/Array/prototype/push/S15.4.4.7_A1_T2.js b/js/src/tests/test262/built-ins/Array/prototype/push/S15.4.4.7_A1_T2.js
index c3c07c52ecc5..602b34e1b807 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/push/S15.4.4.7_A1_T2.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/push/S15.4.4.7_A1_T2.js
@@ -10,50 +10,41 @@ esid: sec-array.prototype.push
description: Checking case when push is given many arguments
---*/
-//CHECK#1
var x = [];
if (x.length !== 0) {
throw new Test262Error('#1: x = []; x.length === 0. Actual: ' + (x.length));
}
-//CHECK#2
x[0] = 0;
var push = x.push(true, Number.POSITIVE_INFINITY, "NaN", "1", -1);
if (push !== 6) {
throw new Test262Error('#2: x = []; x[0] = 0; x.push(true, Number.POSITIVE_INFINITY, "NaN", "1", -1) === 6. Actual: ' + (push));
}
-//CHECK#3
if (x[0] !== 0) {
throw new Test262Error('#3: x = []; x[0] = 0; x.push(true, Number.POSITIVE_INFINITY, "NaN", "1", -1); x[0] === 0. Actual: ' + (x[0]));
}
-//CHECK#4
if (x[1] !== true) {
throw new Test262Error('#4: x = []; x[0] = 0; x.push(true, Number.POSITIVE_INFINITY, "NaN", "1", -1); x[1] === true. Actual: ' + (x[1]));
}
-//CHECK#5
if (x[2] !== Number.POSITIVE_INFINITY) {
throw new Test262Error('#5: x = []; x[0] = 0; x.push(true, Number.POSITIVE_INFINITY, "NaN", "1", -1); x[2] === Number.POSITIVE_INFINITY. Actual: ' + (x[2]));
}
-//CHECK#6
if (x[3] !== "NaN") {
throw new Test262Error('#6: x = []; x[0] = 0; x.push(true, Number.POSITIVE_INFINITY, "NaN", "1", -1); x[3] === "NaN". Actual: ' + (x[3]));
}
-//CHECK#7
if (x[4] !== "1") {
throw new Test262Error('#7: x = []; x[0] = 0; x.push(true, Number.POSITIVE_INFINITY, "NaN", "1", -1); x[4] === "1". Actual: ' + (x[4]));
}
-//CHECK#8
if (x[5] !== -1) {
throw new Test262Error('#8: x = []; x[0] = 0; x.push(true, Number.POSITIVE_INFINITY, "NaN", "1", -1); x[5] === -1. Actual: ' + (x[5]));
}
-//CHECK#9
if (x.length !== 6) {
throw new Test262Error('#9: x = []; x[0] = 0; x.push(true, Number.POSITIVE_INFINITY, "NaN", "1", -1); x.length === 6. Actual: ' + (x.length));
}
diff --git a/js/src/tests/test262/built-ins/Array/prototype/push/S15.4.4.7_A2_T1.js b/js/src/tests/test262/built-ins/Array/prototype/push/S15.4.4.7_A2_T1.js
index e1ac52d62f28..2e5e878a9211 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/push/S15.4.4.7_A2_T1.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/push/S15.4.4.7_A2_T1.js
@@ -18,51 +18,42 @@ obj.push = Array.prototype.push;
if (obj.length !== undefined) {
throw new Test262Error('#0: var obj = {}; obj.length === undefined. Actual: ' + (obj.length));
} else {
- //CHECK#1
var push = obj.push(-1);
if (push !== 1) {
throw new Test262Error('#1: var obj = {}; obj.push = Array.prototype.push; obj.push(-1) === 1. Actual: ' + (push));
}
- //CHECK#2
if (obj.length !== 1) {
throw new Test262Error('#2: var obj = {}; obj.push = Array.prototype.push; obj.push(-1); obj.length === 1. Actual: ' + (obj.length));
}
- //CHECK#3
if (obj["0"] !== -1) {
throw new Test262Error('#3: var obj = {}; obj.push = Array.prototype.push; obj.push(-1); obj["0"] === -1. Actual: ' + (obj["0"]));
}
}
-//CHECK#4
obj.length = undefined;
var push = obj.push(-4);
if (push !== 1) {
throw new Test262Error('#4: var obj = {}; obj.length = undefined; obj.push = Array.prototype.push; obj.push(-4) === 1. Actual: ' + (push));
}
-//CHECK#5
if (obj.length !== 1) {
throw new Test262Error('#5: var obj = {}; obj.length = undefined; obj.push = Array.prototype.push; obj.push(-4); obj.length === 1. Actual: ' + (obj.length));
}
-//CHECK#6
if (obj["0"] !== -4) {
throw new Test262Error('#6: var obj = {}; obj.length = undefined; obj.push = Array.prototype.push; obj.push(-4); obj["0"] === -4. Actual: ' + (obj["0"]));
}
-//CHECK#7
obj.length = null
var push = obj.push(-7);
if (push !== 1) {
throw new Test262Error('#7: var obj = {}; obj.length = null; obj.push = Array.prototype.push; obj.push(-7) === 1. Actual: ' + (push));
}
-//CHECK#8
if (obj.length !== 1) {
throw new Test262Error('#8: var obj = {}; obj.length = null; obj.push = Array.prototype.push; obj.push(-7); obj.length === 1. Actual: ' + (obj.length));
}
-//CHECK#9
if (obj["0"] !== -7) {
throw new Test262Error('#9: var obj = {}; obj.length = null; obj.push = Array.prototype.push; obj.push(-7); obj["0"] === -7. Actual: ' + (obj["0"]));
}
diff --git a/js/src/tests/test262/built-ins/Array/prototype/push/S15.4.4.7_A2_T2.js b/js/src/tests/test262/built-ins/Array/prototype/push/S15.4.4.7_A2_T2.js
index 1001c146c665..2e35207c020e 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/push/S15.4.4.7_A2_T2.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/push/S15.4.4.7_A2_T2.js
@@ -15,103 +15,85 @@ description: >
var obj = {};
obj.push = Array.prototype.push;
-//CHECK#1
obj.length = NaN;
var push = obj.push(-1);
if (push !== 1) {
throw new Test262Error('#1: var obj = {}; obj.length = NaN; obj.push = Array.prototype.push; obj.push(-1) === 1. Actual: ' + (push));
}
-//CHECK#2
if (obj.length !== 1) {
throw new Test262Error('#2: var obj = {}; obj.length = NaN; obj.push = Array.prototype.push; obj.push(-1); obj.length === 1. Actual: ' + (obj.length));
}
-//CHECK#3
if (obj["0"] !== -1) {
throw new Test262Error('#3: var obj = {}; obj.length = NaN; obj.push = Array.prototype.push; obj.push(-1); obj["0"] === -1. Actual: ' + (obj["0"]));
}
-//CHECK#4
obj.length = Number.POSITIVE_INFINITY;
assert.throws(TypeError, function() {
obj.push(-4);
});
-//CHECK#5
if (obj.length !== Number.POSITIVE_INFINITY) {
throw new Test262Error('#6: var obj = {}; obj.length = Number.POSITIVE_INFINITY; obj.push = Array.prototype.push; obj.push(-4); obj.length === Number.POSITIVE_INFINITY. Actual: ' + (obj.length));
}
-//CHECK#6
if (obj[9007199254740991] !== undefined) {
throw new Test262Error('#6: var obj = {}; obj.length = Number.POSITIVE_INFINITY; obj.push = Array.prototype.push; obj.push(-4); obj[9007199254740991] === undefined. Actual: ' + (obj["9007199254740991"]));
}
-//CHECK#7
obj.length = Number.NEGATIVE_INFINITY;
var push = obj.push(-7);
if (push !== 1) {
throw new Test262Error('#7: var obj = {}; obj.length = Number.NEGATIVE_INFINITY; obj.push = Array.prototype.push; obj.push(-7) === 1. Actual: ' + (push));
}
-//CHECK#8
if (obj.length !== 1) {
throw new Test262Error('#8: var obj = {}; obj.length = Number.NEGATIVE_INFINITY; obj.push = Array.prototype.push; obj.push(-7); obj.length === 1. Actual: ' + (obj.length));
}
-//CHECK#9
if (obj["0"] !== -7) {
throw new Test262Error('#9: var obj = {}; obj.length = Number.NEGATIVE_INFINITY; obj.push = Array.prototype.push; obj.push(-7); obj["0"] === -7. Actual: ' + (obj["0"]));
}
-//CHECK#10
obj.length = 0.5;
var push = obj.push(-10);
if (push !== 1) {
throw new Test262Error('#10: var obj = {}; obj.length = 0.5; obj.push = Array.prototype.push; obj.push(-10) === 1. Actual: ' + (push));
}
-//CHECK#11
if (obj.length !== 1) {
throw new Test262Error('#11: var obj = {}; obj.length = 0.5; obj.push = Array.prototype.push; obj.push(-10); obj.length === 1. Actual: ' + (obj.length));
}
-//CHECK#12
if (obj["0"] !== -10) {
throw new Test262Error('#12: var obj = {}; obj.length = 0.5; obj.push = Array.prototype.push; obj.push(-10); obj["0"] === -10. Actual: ' + (obj["0"]));
}
-//CHECK#13
obj.length = 1.5;
var push = obj.push(-13);
if (push !== 2) {
throw new Test262Error('#13: var obj = {}; obj.length = 1.5; obj.push = Array.prototype.push; obj.push(-13) === 2. Actual: ' + (push));
}
-//CHECK#14
if (obj.length !== 2) {
throw new Test262Error('#14: var obj = {}; obj.length = 1.5; obj.push = Array.prototype.push; obj.push(-13); obj.length === 2. Actual: ' + (obj.length));
}
-//CHECK#15
if (obj["1"] !== -13) {
throw new Test262Error('#15: var obj = {}; obj.length = 1.5; obj.push = Array.prototype.push; obj.push(-13); obj["1"] === -13. Actual: ' + (obj["1"]));
}
-//CHECK#16
obj.length = new Number(0);
var push = obj.push(-16);
if (push !== 1) {
throw new Test262Error('#16: var obj = {}; obj.length = new Number(0); obj.push = Array.prototype.push; obj.push(-16) === 1. Actual: ' + (push));
}
-//CHECK#17
if (obj.length !== 1) {
throw new Test262Error('#17: var obj = {}; obj.length = new Number(0); obj.push = Array.prototype.push; obj.push(-16); obj.length === 1. Actual: ' + (obj.length));
}
-//CHECK#18
if (obj["0"] !== -16) {
throw new Test262Error('#18: var obj = {}; obj.length = new Number(0); obj.push = Array.prototype.push; obj.push(-16); obj["0"] === -16. Actual: ' + (obj["0"]));
}
diff --git a/js/src/tests/test262/built-ins/Array/prototype/push/S15.4.4.7_A2_T3.js b/js/src/tests/test262/built-ins/Array/prototype/push/S15.4.4.7_A2_T3.js
index 413de01e84dd..cec90447f009 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/push/S15.4.4.7_A2_T3.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/push/S15.4.4.7_A2_T3.js
@@ -14,132 +14,107 @@ description: >
var obj = {};
obj.push = Array.prototype.push;
-//CHECK#1
obj.length = {
- valueOf: function() {
+ valueOf() {
return 3
}
};
var push = obj.push();
-if (push !== 3) {
- throw new Test262Error('#1: obj.length = {valueOf: function() {return 3}} obj.push() === 3. Actual: ' + (push));
-}
+assert.sameValue(push, 3, 'The value of push is expected to be 3');
-//CHECK#2
obj.length = {
- valueOf: function() {
+ valueOf() {
return 3
},
- toString: function() {
+ toString() {
return 1
}
};
var push = obj.push();
-if (push !== 3) {
- throw new Test262Error('#0: obj.length = {valueOf: function() {return 3}, toString: function() {return 1}} obj.push() === 3. Actual: ' + (push));
-}
+assert.sameValue(push, 3, 'The value of push is expected to be 3');
-//CHECK#3
obj.length = {
- valueOf: function() {
+ valueOf() {
return 3
},
- toString: function() {
+ toString() {
return {}
}
};
var push = obj.push();
-if (push !== 3) {
- throw new Test262Error('#1: obj.length = {valueOf: function() {return 3}, toString: function() {return {}}} obj.push() === 3. Actual: ' + (push));
-}
+assert.sameValue(push, 3, 'The value of push is expected to be 3');
-//CHECK#4
try {
-
obj.length = {
- valueOf: function() {
+ valueOf() {
return 3
},
- toString: function() {
+ toString() {
throw "error"
}
};
var push = obj.push();
- if (push !== 3) {
- throw new Test262Error('#4.1: obj.length = {valueOf: function() {return 3}, toString: function() {throw "error"}}; obj.push() === ",". Actual: ' + (push));
- }
+ assert.sameValue(push, 3, 'The value of push is expected to be 3');
}
catch (e) {
- if (e === "error") {
- throw new Test262Error('#4.2: obj.length = {valueOf: function() {return 3}, toString: function() {throw "error"}}; obj.push() not throw "error"');
- } else {
- throw new Test262Error('#4.3: obj.length = {valueOf: function() {return 3}, toString: function() {throw "error"}}; obj.push() not throw Error. Actual: ' + (e));
- }
+ assert.notSameValue(e, "error", 'The value of e is not "error"');
}
-//CHECK#5
obj.length = {
- toString: function() {
+ toString() {
return 1
}
};
var push = obj.push();
-if (push !== 1) {
- throw new Test262Error('#5: obj.length = {toString: function() {return 1}} obj.push() === 1. Actual: ' + (push));
-}
+assert.sameValue(push, 1, 'The value of push is expected to be 1');
-//CHECK#6
obj.length = {
- valueOf: function() {
+ valueOf() {
return {}
},
- toString: function() {
+ toString() {
return 1
}
}
var push = obj.push();
-if (push !== 1) {
- throw new Test262Error('#6: obj.length = {valueOf: function() {return {}}, toString: function() {return 1}} obj.push() === 1. Actual: ' + (push));
-}
+assert.sameValue(push, 1, 'The value of push is expected to be 1');
-//CHECK#7
try {
obj.length = {
- valueOf: function() {
+ valueOf() {
throw "error"
},
- toString: function() {
+ toString() {
return 1
}
};
var push = obj.push();
- throw new Test262Error('#7.1: obj.length = {valueOf: function() {throw "error"}, toString: function() {return 1}}; obj.push() throw "error". Actual: ' + (push));
+ throw new Test262Error('#7.1: obj.length = {valueOf() {throw "error"}, toString() {return 1}}; obj.push() throw "error". Actual: ' + (push));
}
catch (e) {
- if (e !== "error") {
- throw new Test262Error('#7.2: obj.length = {valueOf: function() {throw "error"}, toString: function() {return 1}}; obj.push() throw "error". Actual: ' + (e));
- }
+ assert.sameValue(e, "error", 'The value of e is expected to be "error"');
}
-//CHECK#8
try {
obj.length = {
- valueOf: function() {
+ valueOf() {
return {}
},
- toString: function() {
+ toString() {
return {}
}
};
var push = obj.push();
- throw new Test262Error('#8.1: obj.length = {valueOf: function() {return {}}, toString: function() {return {}}} obj.push() throw TypeError. Actual: ' + (push));
+ throw new Test262Error('#8.1: obj.length = {valueOf() {return {}}, toString() {return {}}} obj.push() throw TypeError. Actual: ' + (push));
}
catch (e) {
- if ((e instanceof TypeError) !== true) {
- throw new Test262Error('#8.2: obj.length = {valueOf: function() {return {}}, toString: function() {return {}}} obj.push() throw TypeError. Actual: ' + (e));
- }
+ assert.sameValue(
+ e instanceof TypeError,
+ true,
+ 'The result of evaluating (e instanceof TypeError) is expected to be true'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Array/prototype/push/S15.4.4.7_A3.js b/js/src/tests/test262/built-ins/Array/prototype/push/S15.4.4.7_A3.js
index 4cfbfb0debcf..cd918e018034 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/push/S15.4.4.7_A3.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/push/S15.4.4.7_A3.js
@@ -10,30 +10,21 @@ description: If ToUint32(length) !== length, throw RangeError
var x = [];
x.length = 4294967295;
-//CHECK#1
var push = x.push();
-if (push !== 4294967295) {
- throw new Test262Error('#1: x = []; x.length = 4294967295; x.push() === 4294967295. Actual: ' + (push));
-}
+assert.sameValue(push, 4294967295, 'The value of push is expected to be 4294967295');
-//CHECK#2
try {
x.push("x");
throw new Test262Error('#2.1: x = []; x.length = 4294967295; x.push("x") throw RangeError. Actual: ' + (push));
} catch (e) {
- if ((e instanceof RangeError) !== true) {
- throw new Test262Error('#2.2: x = []; x.length = 4294967295; x.push("x") throw RangeError. Actual: ' + (e));
- }
+ assert.sameValue(
+ e instanceof RangeError,
+ true,
+ 'The result of evaluating (e instanceof RangeError) is expected to be true'
+ );
}
-//CHECK#3
-if (x[4294967295] !== "x") {
- throw new Test262Error('#3: x = []; x.length = 4294967295; try {x.push("x")}catch(e){}; x[4294967295] === "x". Actual: ' + (x[4294967295]));
-}
-
-//CHECK#4
-if (x.length !== 4294967295) {
- throw new Test262Error('#4: x = []; x.length = 4294967295; try {x.push("x")}catch(e){}; x.length === 4294967295. Actual: ' + (x.length));
-}
+assert.sameValue(x[4294967295], "x", 'The value of x[4294967295] is expected to be "x"');
+assert.sameValue(x.length, 4294967295, 'The value of x.length is expected to be 4294967295');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Array/prototype/push/S15.4.4.7_A4_T1.js b/js/src/tests/test262/built-ins/Array/prototype/push/S15.4.4.7_A4_T1.js
index 09fd1adf351a..4561b952fb23 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/push/S15.4.4.7_A4_T1.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/push/S15.4.4.7_A4_T1.js
@@ -11,43 +11,35 @@ var obj = {};
obj.push = Array.prototype.push;
obj.length = 4294967296;
-//CHECK#1
var push = obj.push("x", "y", "z");
if (push !== 4294967299) {
throw new Test262Error('#1: var obj = {}; obj.push = Array.prototype.push; obj.length = 4294967296; obj.push("x", "y", "z") === 4294967299. Actual: ' + (push));
}
-//CHECK#2
if (obj.length !== 4294967299) {
throw new Test262Error('#2: var obj = {}; obj.push = Array.prototype.push; obj.length = 4294967296; obj.push("x", "y", "z"); obj.length === 4294967299. Actual: ' + (obj.length));
}
-//CHECK#3
if (obj[0] !== undefined) {
throw new Test262Error('#3: var obj = {}; obj.push = Array.prototype.push; obj.length = 4294967296; obj.push("x", "y", "z"); obj[0] === undefined. Actual: ' + (obj[0]));
}
-//CHECK#4
if (obj[1] !== undefined) {
throw new Test262Error('#4: var obj = {}; obj.push = Array.prototype.push; obj.length = 4294967296; obj.push("x", "y", "z"); obj[1] === undefined. Actual: ' + (obj[1]));
}
-//CHECK#5
if (obj[2] !== undefined) {
throw new Test262Error('#5: var obj = {}; obj.push = Array.prototype.push; obj.length = 4294967296; obj.push("x", "y", "z"); obj[2] === undefined. Actual: ' + (obj[2]));
}
-//CHECK#6
if (obj[4294967296] !== "x") {
throw new Test262Error('#6: var obj = {}; obj.push = Array.prototype.push; obj.length = 4294967296; obj.push("x", "y", "z"); obj[4294967296] === "x". Actual: ' + (obj[4294967296]));
}
-//CHECK#7
if (obj[4294967297] !== "y") {
throw new Test262Error('#7: var obj = {}; obj.push = Array.prototype.push; obj.length = 4294967296; obj.push("x", "y", "z"); obj[4294967297] === "y". Actual: ' + (obj[4294967297]));
}
-//CHECK#8
if (obj[4294967298] !== "z") {
throw new Test262Error('#8: var obj = {}; obj.push = Array.prototype.push; obj.length = 4294967296; obj.push("x", "y", "z"); obj[4294967298] === "z". Actual: ' + (obj[4294967298]));
}
@@ -56,13 +48,11 @@ var obj = {};
obj.push = Array.prototype.push;
obj.length = 4294967296;
-//CHECK#9
var push = obj.push();
if (push !== 4294967296) {
throw new Test262Error('#9: var obj = {}; obj.push = Array.prototype.push; obj.length = 4294967296; obj.push() === 4294967296. Actual: ' + (push));
}
-//CHECK#10
if (obj.length !== 4294967296) {
throw new Test262Error('#10: var obj = {}; obj.push = Array.prototype.push; obj.length = 4294967296; obj.push(); obj.length === 4294967296. Actual: ' + (obj.length));
}
diff --git a/js/src/tests/test262/built-ins/Array/prototype/push/S15.4.4.7_A4_T2.js b/js/src/tests/test262/built-ins/Array/prototype/push/S15.4.4.7_A4_T2.js
index 8e9b20968416..4beecec82a50 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/push/S15.4.4.7_A4_T2.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/push/S15.4.4.7_A4_T2.js
@@ -11,28 +11,23 @@ var obj = {};
obj.push = Array.prototype.push;
obj.length = 4294967295;
-//CHECK#1
var push = obj.push("x", "y", "z");
if (push !== 4294967298) {
throw new Test262Error('#1: var obj = {}; obj.push = Array.prototype.push; obj.length = 4294967295; obj.push("x", "y", "z") === 4294967298. Actual: ' + (push));
}
-//CHECK#2
if (obj.length !== 4294967298) {
throw new Test262Error('#2: var obj = {}; obj.push = Array.prototype.push; obj.length = 4294967295; obj.push("x", "y", "z"); obj.length === 4294967298. Actual: ' + (obj.length));
}
-//CHECK#3
if (obj[4294967295] !== "x") {
throw new Test262Error('#3: var obj = {}; obj.push = Array.prototype.push; obj.length = 4294967295; obj.push("x", "y", "z"); obj[4294967295] === "x". Actual: ' + (obj[4294967295]));
}
-//CHECK#4
if (obj[4294967296] !== "y") {
throw new Test262Error('#4: var obj = {}; obj.push = Array.prototype.push; obj.length = 4294967295; obj.push("x", "y", "z"); obj[4294967296] === "y". Actual: ' + (obj[4294967296]));
}
-//CHECK#5
if (obj[4294967297] !== "z") {
throw new Test262Error('#5: var obj = {}; obj.push = Array.prototype.push; obj.length = 4294967295; obj.push("x", "y", "z"); obj[4294967297] === "z". Actual: ' + (obj[4294967297]));
}
diff --git a/js/src/tests/test262/built-ins/Array/prototype/push/S15.4.4.7_A4_T3.js b/js/src/tests/test262/built-ins/Array/prototype/push/S15.4.4.7_A4_T3.js
index 943ac158e5fa..54fd4df676e7 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/push/S15.4.4.7_A4_T3.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/push/S15.4.4.7_A4_T3.js
@@ -11,43 +11,35 @@ var obj = {};
obj.push = Array.prototype.push;
obj.length = -1;
-//CHECK#1
var push = obj.push("x", "y", "z");
if (push !== 3) {
throw new Test262Error('#1: var obj = {}; obj.push = Array.prototype.push; obj.length = -1; obj.push("x", "y", "z") === 3. Actual: ' + (push));
}
-//CHECK#2
if (obj.length !== 3) {
throw new Test262Error('#2: var obj = {}; obj.push = Array.prototype.push; obj.length = -1; obj.push("x", "y", "z"); obj.length === 3. Actual: ' + (obj.length));
}
-//CHECK#3
if (obj[4294967295] !== undefined) {
throw new Test262Error('#3: var obj = {}; obj.push = Array.prototype.push; obj.length = -1; obj.push("x", "y", "z"); obj[4294967295] === undefined. Actual: ' + (obj[4294967295]));
}
-//CHECK#4
if (obj[4294967296] !== undefined) {
throw new Test262Error('#4: var obj = {}; obj.push = Array.prototype.push; obj.length = -1; obj.push("x", "y", "z"); obj[4294967296] === undefined. Actual: ' + (obj[4294967296]));
}
-//CHECK#5
if (obj[4294967297] !== undefined) {
throw new Test262Error('#5: var obj = {}; obj.push = Array.prototype.push; obj.length = -1; obj.push("x", "y", "z"); obj[4294967297] === undefined. Actual: ' + (obj[4294967297]));
}
-//CHECK#6
if (obj[0] !== "x") {
throw new Test262Error('#3: var obj = {}; obj.push = Array.prototype.push; obj.length = -1; obj.push("x", "y", "z"); obj[0] === "x". Actual: ' + (obj[0]));
}
-//CHECK#7
if (obj[1] !== "y") {
throw new Test262Error('#4: var obj = {}; obj.push = Array.prototype.push; obj.length = -1; obj.push("x", "y", "z"); obj[1] === "y". Actual: ' + (obj[1]));
}
-//CHECK#8
if (obj[2] !== "z") {
throw new Test262Error('#5: var obj = {}; obj.push = Array.prototype.push; obj.length = -1; obj.push("x", "y", "z"); obj[2] === "z". Actual: ' + (obj[2]));
}
diff --git a/js/src/tests/test262/built-ins/Array/prototype/push/S15.4.4.7_A5_T1.js b/js/src/tests/test262/built-ins/Array/prototype/push/S15.4.4.7_A5_T1.js
index 57f221a6fcea..d124babebf3f 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/push/S15.4.4.7_A5_T1.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/push/S15.4.4.7_A5_T1.js
@@ -16,29 +16,24 @@ var x = {
0: 0
};
-//CHECK#1
var push = x.push(1);
if (push !== 2) {
throw new Test262Error('#1: Object.prototype[1] = 1; Object.prototype.length = -1; Object.prototype.push = Array.prototype.push; x = {0:0}; x.push(1) === 2. Actual: ' + (push));
}
-//CHECK#2
if (x.length !== 2) {
throw new Test262Error('#2: Object.prototype[1] = 1; Object.prototype.length = -1; Object.prototype.push = Array.prototype.push; x = {0:0}; x.push(1); x.length === 2. Actual: ' + (x.length));
}
-//CHECK#3
if (x[1] !== 1) {
throw new Test262Error('#3: Object.prototype[1] = 1; Object.prototype.length = -1; Object.prototype.push = Array.prototype.push; x = {0:0}; x.push(1); x[1] === 1. Actual: ' + (x[1]));
}
-//CHECK#4
delete x[1];
if (x[1] !== -1) {
throw new Test262Error('#4: Object.prototype[1] = 1; Object.prototype.length = -1; Object.prototype.push = Array.prototype.push; x = {0:0}; x.push(1); delete x[1]; x[1] === -1. Actual: ' + (x[1]));
}
-//CHECK#5
delete x.length;
if (x.length !== 1) {
throw new Test262Error('#5: Object.prototype[1] = 1; Object.prototype.length = -1; Object.prototype.push = Array.prototype.push; x = {0:0}; delete x; x.push(1); x.length === 1. Actual: ' + (x.length));
diff --git a/js/src/tests/test262/built-ins/Array/prototype/push/S15.4.4.7_A6.7.js b/js/src/tests/test262/built-ins/Array/prototype/push/S15.4.4.7_A6.7.js
deleted file mode 100644
index 6b5c8a659d5c..000000000000
--- a/js/src/tests/test262/built-ins/Array/prototype/push/S15.4.4.7_A6.7.js
+++ /dev/null
@@ -1,23 +0,0 @@
-// Copyright 2009 the Sputnik authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-info: The push property of Array can't be used as constructor
-esid: sec-array.prototype.push
-description: >
- If property does not implement the internal [[Construct]] method,
- throw a TypeError exception
----*/
-
-//CHECK#1
-
-try {
- new Array.prototype.push();
- throw new Test262Error('#1.1: new Array.prototype.push() throw TypeError. Actual: ' + (new Array.prototype.push()));
-} catch (e) {
- if ((e instanceof TypeError) !== true) {
- throw new Test262Error('#1.2: new Array.prototype.push() throw TypeError. Actual: ' + (e));
- }
-}
-
-reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Array/prototype/push/set-length-array-is-frozen.js b/js/src/tests/test262/built-ins/Array/prototype/push/set-length-array-is-frozen.js
new file mode 100644
index 000000000000..09aa72f52fb6
--- /dev/null
+++ b/js/src/tests/test262/built-ins/Array/prototype/push/set-length-array-is-frozen.js
@@ -0,0 +1,47 @@
+// Copyright (C) 2022 Apple Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-array.prototype.push
+description: >
+ A TypeError is thrown when "length" is [[Set]] on a frozen array.
+info: |
+ Array.prototype.push ( ...items )
+
+ [...]
+ 5. For each element E of items, do
+ a. Perform ? Set(O, ! ToString(𝔽(len)), E, true).
+ b. Set len to len + 1.
+ 6. Perform ? Set(O, "length", 𝔽(len), true).
+
+ OrdinarySetWithOwnDescriptor ( O, P, V, Receiver, ownDesc )
+
+ [...]
+ 2. If IsDataDescriptor(ownDesc) is true, then
+ a. If ownDesc.[[Writable]] is false, return false.
+
+ Set ( O, P, V, Throw )
+
+ [...]
+ 1. Let success be ? O.[[Set]](P, V, O).
+ 2. If success is false and Throw is true, throw a TypeError exception.
+---*/
+
+var array = [];
+var arrayPrototypeSet0Calls = 0;
+
+Object.defineProperty(Array.prototype, "0", {
+ set(_val) {
+ Object.freeze(array);
+ arrayPrototypeSet0Calls++;
+ },
+});
+
+assert.throws(TypeError, function() {
+ array.push(1);
+});
+
+assert(!array.hasOwnProperty(0));
+assert.sameValue(array.length, 0);
+assert.sameValue(arrayPrototypeSet0Calls, 1);
+
+reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Array/prototype/push/set-length-array-length-is-non-writable.js b/js/src/tests/test262/built-ins/Array/prototype/push/set-length-array-length-is-non-writable.js
new file mode 100644
index 000000000000..4e8ba1d82138
--- /dev/null
+++ b/js/src/tests/test262/built-ins/Array/prototype/push/set-length-array-length-is-non-writable.js
@@ -0,0 +1,47 @@
+// Copyright (C) 2022 Apple Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-array.prototype.push
+description: >
+ A TypeError is thrown when "length" is [[Set]] on an array with non-writable "length".
+info: |
+ Array.prototype.push ( ...items )
+
+ [...]
+ 5. For each element E of items, do
+ a. Perform ? Set(O, ! ToString(𝔽(len)), E, true).
+ b. Set len to len + 1.
+ 6. Perform ? Set(O, "length", 𝔽(len), true).
+
+ OrdinarySetWithOwnDescriptor ( O, P, V, Receiver, ownDesc )
+
+ [...]
+ 2. If IsDataDescriptor(ownDesc) is true, then
+ a. If ownDesc.[[Writable]] is false, return false.
+
+ Set ( O, P, V, Throw )
+
+ [...]
+ 1. Let success be ? O.[[Set]](P, V, O).
+ 2. If success is false and Throw is true, throw a TypeError exception.
+---*/
+
+var array = [];
+var arrayPrototypeSet0Calls = 0;
+
+Object.defineProperty(Array.prototype, "0", {
+ set(_val) {
+ Object.defineProperty(array, "length", { writable: false });
+ arrayPrototypeSet0Calls++;
+ },
+});
+
+assert.throws(TypeError, function() {
+ array.push(1);
+});
+
+assert(!array.hasOwnProperty(0));
+assert.sameValue(array.length, 0);
+assert.sameValue(arrayPrototypeSet0Calls, 1);
+
+reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Array/prototype/push/set-length-zero-array-is-frozen.js b/js/src/tests/test262/built-ins/Array/prototype/push/set-length-zero-array-is-frozen.js
new file mode 100644
index 000000000000..a2bb89fa1fb5
--- /dev/null
+++ b/js/src/tests/test262/built-ins/Array/prototype/push/set-length-zero-array-is-frozen.js
@@ -0,0 +1,38 @@
+// Copyright (C) 2022 Apple Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-array.prototype.push
+description: >
+ A TypeError is thrown when "length" is [[Set]] on an empty frozen array.
+info: |
+ Array.prototype.push ( ...items )
+
+ [...]
+ 2. Let len be ? LengthOfArrayLike(O).
+ [...]
+ 6. Perform ? Set(O, "length", 𝔽(len), true).
+
+ OrdinarySetWithOwnDescriptor ( O, P, V, Receiver, ownDesc )
+
+ [...]
+ 2. If IsDataDescriptor(ownDesc) is true, then
+ a. If ownDesc.[[Writable]] is false, return false.
+
+ Set ( O, P, V, Throw )
+
+ [...]
+ 1. Let success be ? O.[[Set]](P, V, O).
+ 2. If success is false and Throw is true, throw a TypeError exception.
+---*/
+
+var array = [];
+Object.freeze(array);
+
+assert.throws(TypeError, function() {
+ array.push();
+});
+
+assert(!array.hasOwnProperty(0));
+assert.sameValue(array.length, 0);
+
+reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Array/prototype/push/set-length-zero-array-length-is-non-writable.js b/js/src/tests/test262/built-ins/Array/prototype/push/set-length-zero-array-length-is-non-writable.js
new file mode 100644
index 000000000000..43527e8569d1
--- /dev/null
+++ b/js/src/tests/test262/built-ins/Array/prototype/push/set-length-zero-array-length-is-non-writable.js
@@ -0,0 +1,38 @@
+// Copyright (C) 2022 Apple Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-array.prototype.push
+description: >
+ A TypeError is thrown when "length" is [[Set]] on an empty array with non-writable "length".
+info: |
+ Array.prototype.push ( ...items )
+
+ [...]
+ 2. Let len be ? LengthOfArrayLike(O).
+ [...]
+ 6. Perform ? Set(O, "length", 𝔽(len), true).
+
+ OrdinarySetWithOwnDescriptor ( O, P, V, Receiver, ownDesc )
+
+ [...]
+ 2. If IsDataDescriptor(ownDesc) is true, then
+ a. If ownDesc.[[Writable]] is false, return false.
+
+ Set ( O, P, V, Throw )
+
+ [...]
+ 1. Let success be ? O.[[Set]](P, V, O).
+ 2. If success is false and Throw is true, throw a TypeError exception.
+---*/
+
+var array = [];
+Object.defineProperty(array, "length", { writable: false });
+
+assert.throws(TypeError, function() {
+ array.push();
+});
+
+assert(!array.hasOwnProperty(0));
+assert.sameValue(array.length, 0);
+
+reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Array/prototype/reduce/15.4.4.21-9-8.js b/js/src/tests/test262/built-ins/Array/prototype/reduce/15.4.4.21-9-8.js
index fe64670a6d92..bfee2b441791 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/reduce/15.4.4.21-9-8.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/reduce/15.4.4.21-9-8.js
@@ -25,7 +25,7 @@ Object.defineProperty(obj, "0", {
configurable: true
});
-Array.prototype.reduce.call(obj, function() {}, "initialValue");
+Array.prototype.reduce.call(obj, callbackfn, "initialValue");
assert.sameValue(accessed, false, 'accessed');
assert.sameValue(callbackAccessed, false, 'callbackAccessed');
diff --git a/js/src/tests/test262/built-ins/Array/prototype/reduce/callbackfn-resize-arraybuffer.js b/js/src/tests/test262/built-ins/Array/prototype/reduce/callbackfn-resize-arraybuffer.js
new file mode 100644
index 000000000000..cb630d0d2654
--- /dev/null
+++ b/js/src/tests/test262/built-ins/Array/prototype/reduce/callbackfn-resize-arraybuffer.js
@@ -0,0 +1,76 @@
+// |reftest| skip -- resizable-arraybuffer is not supported
+// Copyright (C) 2021 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-array.prototype.reduce
+description: TypedArray instance buffer can be resized during iteration
+includes: [testTypedArray.js, compareArray.js]
+features: [TypedArray, resizable-arraybuffer]
+---*/
+
+testWithTypedArrayConstructors(function(TA) {
+ var BPE = TA.BYTES_PER_ELEMENT;
+ var buffer = new ArrayBuffer(BPE * 3, {maxByteLength: BPE * 3});
+ var sample = new TA(buffer);
+ var expectedPrevs, expectedNexts, expectedIndices, expectedArrays;
+ var prevs, nexts, indices, arrays, result;
+
+ prevs = [];
+ nexts = [];
+ indices = [];
+ arrays = [];
+ result = Array.prototype.reduce.call(sample, function(prev, next, index, array) {
+ if (prevs.length === 0) {
+ try {
+ buffer.resize(2 * BPE);
+ expectedPrevs = [262, 0];
+ expectedNexts = [0, 0];
+ expectedIndices = [0, 1];
+ expectedArrays = [sample, sample];
+ } catch (_) {
+ expectedPrevs = [262, 0, 1];
+ expectedNexts = [0, 0, 0];
+ expectedIndices = [0, 1, 2];
+ expectedArrays = [sample, sample, sample];
+ }
+ }
+
+ prevs.push(prev);
+ nexts.push(next);
+ indices.push(index);
+ arrays.push(array);
+ return index;
+ }, 262);
+
+ assert.compareArray(prevs, expectedPrevs, 'prevs (shrink)');
+ assert.compareArray(nexts, expectedNexts, 'nexts (shrink)');
+ assert.compareArray(indices, expectedIndices, 'indices (shrink)');
+ assert.compareArray(arrays, expectedArrays, 'arrays (shrink)');
+ assert.sameValue(result, expectedIndices[expectedIndices.length - 1], 'result (shrink)');
+
+ prevs = [];
+ nexts = [];
+ indices = [];
+ arrays = [];
+ result = Array.prototype.reduce.call(sample, function(prev, next, index, array) {
+ if (prevs.length === 0) {
+ try {
+ buffer.resize(3 * BPE);
+ } catch (_) {}
+ }
+
+ prevs.push(prev);
+ nexts.push(next);
+ indices.push(index);
+ arrays.push(array);
+ return index;
+ }, 262);
+
+ assert.compareArray(prevs, expectedPrevs, 'prevs (grow)');
+ assert.compareArray(nexts, expectedNexts, 'nexts (grow)');
+ assert.compareArray(indices, expectedIndices, 'indices (grow)');
+ assert.compareArray(arrays, expectedArrays, 'arrays (grow)');
+ assert.sameValue(result, expectedIndices[expectedIndices.length - 1], 'result (grow)');
+});
+
+reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Array/prototype/reduce/shell.js b/js/src/tests/test262/built-ins/Array/prototype/reduce/shell.js
index e69de29bb2d1..e9580b311369 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/reduce/shell.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/reduce/shell.js
@@ -0,0 +1,124 @@
+// GENERATED, DO NOT EDIT
+// file: testTypedArray.js
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+description: |
+ Collection of functions used to assert the correctness of TypedArray objects.
+defines:
+ - typedArrayConstructors
+ - floatArrayConstructors
+ - intArrayConstructors
+ - TypedArray
+ - testWithTypedArrayConstructors
+ - testWithAtomicsFriendlyTypedArrayConstructors
+ - testWithNonAtomicsFriendlyTypedArrayConstructors
+ - testTypedArrayConversions
+---*/
+
+/**
+ * Array containing every typed array constructor.
+ */
+var typedArrayConstructors = [
+ Float64Array,
+ Float32Array,
+ Int32Array,
+ Int16Array,
+ Int8Array,
+ Uint32Array,
+ Uint16Array,
+ Uint8Array,
+ Uint8ClampedArray
+];
+
+var floatArrayConstructors = typedArrayConstructors.slice(0, 2);
+var intArrayConstructors = typedArrayConstructors.slice(2, 7);
+
+/**
+ * The %TypedArray% intrinsic constructor function.
+ */
+var TypedArray = Object.getPrototypeOf(Int8Array);
+
+/**
+ * Callback for testing a typed array constructor.
+ *
+ * @callback typedArrayConstructorCallback
+ * @param {Function} Constructor the constructor object to test with.
+ */
+
+/**
+ * Calls the provided function for every typed array constructor.
+ *
+ * @param {typedArrayConstructorCallback} f - the function to call for each typed array constructor.
+ * @param {Array} selected - An optional Array with filtered typed arrays
+ */
+function testWithTypedArrayConstructors(f, selected) {
+ var constructors = selected || typedArrayConstructors;
+ for (var i = 0; i < constructors.length; ++i) {
+ var constructor = constructors[i];
+ try {
+ f(constructor);
+ } catch (e) {
+ e.message += " (Testing with " + constructor.name + ".)";
+ throw e;
+ }
+ }
+}
+
+/**
+ * Calls the provided function for every non-"Atomics Friendly" typed array constructor.
+ *
+ * @param {typedArrayConstructorCallback} f - the function to call for each typed array constructor.
+ * @param {Array} selected - An optional Array with filtered typed arrays
+ */
+function testWithNonAtomicsFriendlyTypedArrayConstructors(f) {
+ testWithTypedArrayConstructors(f, [
+ Float64Array,
+ Float32Array,
+ Uint8ClampedArray
+ ]);
+}
+
+/**
+ * Calls the provided function for every "Atomics Friendly" typed array constructor.
+ *
+ * @param {typedArrayConstructorCallback} f - the function to call for each typed array constructor.
+ * @param {Array} selected - An optional Array with filtered typed arrays
+ */
+function testWithAtomicsFriendlyTypedArrayConstructors(f) {
+ testWithTypedArrayConstructors(f, [
+ Int32Array,
+ Int16Array,
+ Int8Array,
+ Uint32Array,
+ Uint16Array,
+ Uint8Array,
+ ]);
+}
+
+/**
+ * Helper for conversion operations on TypedArrays, the expected values
+ * properties are indexed in order to match the respective value for each
+ * TypedArray constructor
+ * @param {Function} fn - the function to call for each constructor and value.
+ * will be called with the constructor, value, expected
+ * value, and a initial value that can be used to avoid
+ * a false positive with an equivalent expected value.
+ */
+function testTypedArrayConversions(byteConversionValues, fn) {
+ var values = byteConversionValues.values;
+ var expected = byteConversionValues.expected;
+
+ testWithTypedArrayConstructors(function(TA) {
+ var name = TA.name.slice(0, -5);
+
+ return values.forEach(function(value, index) {
+ var exp = expected[name][index];
+ var initial = 0;
+ if (exp === 0) {
+ initial = 1;
+ }
+ fn(TA, value, exp, initial);
+ });
+ });
+}
diff --git a/js/src/tests/test262/built-ins/Array/prototype/reduceRight/15.4.4.22-9-8.js b/js/src/tests/test262/built-ins/Array/prototype/reduceRight/15.4.4.22-9-8.js
index c1d94d48706f..6ff99c27d005 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/reduceRight/15.4.4.22-9-8.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/reduceRight/15.4.4.22-9-8.js
@@ -9,9 +9,10 @@ description: >
---*/
var accessed = false;
+var callbackAccessed = false;
function callbackfn() {
- accessed = true;
+ callbackAccessed = true;
}
var obj = {
@@ -26,8 +27,9 @@ Object.defineProperty(obj, "5", {
configurable: true
});
-Array.prototype.reduceRight.call(obj, function() {}, "initialValue");
+Array.prototype.reduceRight.call(obj, callbackfn, "initialValue");
assert.sameValue(accessed, false, 'accessed');
+assert.sameValue(callbackAccessed, false, 'callbackAccessed');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Array/prototype/reduceRight/callbackfn-resize-arraybuffer.js b/js/src/tests/test262/built-ins/Array/prototype/reduceRight/callbackfn-resize-arraybuffer.js
new file mode 100644
index 000000000000..dc7d665dadc0
--- /dev/null
+++ b/js/src/tests/test262/built-ins/Array/prototype/reduceRight/callbackfn-resize-arraybuffer.js
@@ -0,0 +1,81 @@
+// |reftest| skip -- resizable-arraybuffer is not supported
+// Copyright (C) 2021 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-array.prototype.reduceright
+description: TypedArray instance buffer can be resized during iteration
+includes: [testTypedArray.js, compareArray.js]
+features: [TypedArray, resizable-arraybuffer]
+---*/
+
+testWithTypedArrayConstructors(function(TA) {
+ var BPE = TA.BYTES_PER_ELEMENT;
+ var buffer = new ArrayBuffer(BPE * 3, {maxByteLength: BPE * 3});
+ var sample = new TA(buffer);
+ var expectedPrevsShrink, expectedNextsShrink, expectedIndicesShrink, expectedArraysShrink;
+ var expectedPrevsGrow, expectedNextsGrow, expectedIndicesGrow, expectedArraysGrow;
+ var prevs, nexts, indices, arrays, result;
+
+ prevs = [];
+ nexts = [];
+ indices = [];
+ arrays = [];
+ result = Array.prototype.reduceRight.call(sample, function(prev, next, index, array) {
+ if (prevs.length === 0) {
+ try {
+ buffer.resize(BPE);
+ expectedPrevsShrink = [262, 2];
+ expectedNextsShrink = [0, 0];
+ expectedIndicesShrink = [2, 0];
+ expectedArraysShrink = [sample, sample];
+ expectedPrevsGrow = [262];
+ expectedNextsGrow = [0];
+ expectedIndicesGrow = [0];
+ expectedArraysGrow = [sample];
+ } catch (_) {
+ expectedPrevsShrink = expectedPrevsGrow = [262, 2, 1];
+ expectedNextsShrink = expectedNextsGrow = [0, 0, 0];
+ expectedIndicesShrink = expectedIndicesGrow = [2, 1, 0];
+ expectedArraysShrink = expectedArraysGrow = [sample, sample, sample];
+ }
+ }
+
+ prevs.push(prev);
+ nexts.push(next);
+ indices.push(index);
+ arrays.push(array);
+ return index;
+ }, 262);
+
+ assert.compareArray(prevs, expectedPrevsShrink, 'prevs (shrink)');
+ assert.compareArray(nexts, expectedNextsShrink, 'nexts (shrink)');
+ assert.compareArray(indices, expectedIndicesShrink, 'indices (shrink)');
+ assert.compareArray(arrays, expectedArraysShrink, 'arrays (shrink)');
+ assert.sameValue(result, 0, 'result (shrink)');
+
+ prevs = [];
+ nexts = [];
+ indices = [];
+ arrays = [];
+ result = Array.prototype.reduceRight.call(sample, function(prev, next, index, array) {
+ if (prevs.length === 0) {
+ try {
+ buffer.resize(3 * BPE);
+ } catch (_) {}
+ }
+
+ prevs.push(prev);
+ nexts.push(next);
+ indices.push(index);
+ arrays.push(array);
+ return index;
+ }, 262);
+
+ assert.compareArray(prevs, expectedPrevsGrow, 'prevs (grow)');
+ assert.compareArray(nexts, expectedNextsGrow, 'nexts (grow)');
+ assert.compareArray(indices, expectedIndicesGrow, 'indices (grow)');
+ assert.compareArray(arrays, expectedArraysGrow, 'arrays (grow)');
+ assert.sameValue(result, expectedIndicesGrow[expectedIndicesGrow.length - 1], 'result (grow)');
+});
+
+reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Array/prototype/reduceRight/shell.js b/js/src/tests/test262/built-ins/Array/prototype/reduceRight/shell.js
index e69de29bb2d1..e9580b311369 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/reduceRight/shell.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/reduceRight/shell.js
@@ -0,0 +1,124 @@
+// GENERATED, DO NOT EDIT
+// file: testTypedArray.js
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+description: |
+ Collection of functions used to assert the correctness of TypedArray objects.
+defines:
+ - typedArrayConstructors
+ - floatArrayConstructors
+ - intArrayConstructors
+ - TypedArray
+ - testWithTypedArrayConstructors
+ - testWithAtomicsFriendlyTypedArrayConstructors
+ - testWithNonAtomicsFriendlyTypedArrayConstructors
+ - testTypedArrayConversions
+---*/
+
+/**
+ * Array containing every typed array constructor.
+ */
+var typedArrayConstructors = [
+ Float64Array,
+ Float32Array,
+ Int32Array,
+ Int16Array,
+ Int8Array,
+ Uint32Array,
+ Uint16Array,
+ Uint8Array,
+ Uint8ClampedArray
+];
+
+var floatArrayConstructors = typedArrayConstructors.slice(0, 2);
+var intArrayConstructors = typedArrayConstructors.slice(2, 7);
+
+/**
+ * The %TypedArray% intrinsic constructor function.
+ */
+var TypedArray = Object.getPrototypeOf(Int8Array);
+
+/**
+ * Callback for testing a typed array constructor.
+ *
+ * @callback typedArrayConstructorCallback
+ * @param {Function} Constructor the constructor object to test with.
+ */
+
+/**
+ * Calls the provided function for every typed array constructor.
+ *
+ * @param {typedArrayConstructorCallback} f - the function to call for each typed array constructor.
+ * @param {Array} selected - An optional Array with filtered typed arrays
+ */
+function testWithTypedArrayConstructors(f, selected) {
+ var constructors = selected || typedArrayConstructors;
+ for (var i = 0; i < constructors.length; ++i) {
+ var constructor = constructors[i];
+ try {
+ f(constructor);
+ } catch (e) {
+ e.message += " (Testing with " + constructor.name + ".)";
+ throw e;
+ }
+ }
+}
+
+/**
+ * Calls the provided function for every non-"Atomics Friendly" typed array constructor.
+ *
+ * @param {typedArrayConstructorCallback} f - the function to call for each typed array constructor.
+ * @param {Array} selected - An optional Array with filtered typed arrays
+ */
+function testWithNonAtomicsFriendlyTypedArrayConstructors(f) {
+ testWithTypedArrayConstructors(f, [
+ Float64Array,
+ Float32Array,
+ Uint8ClampedArray
+ ]);
+}
+
+/**
+ * Calls the provided function for every "Atomics Friendly" typed array constructor.
+ *
+ * @param {typedArrayConstructorCallback} f - the function to call for each typed array constructor.
+ * @param {Array} selected - An optional Array with filtered typed arrays
+ */
+function testWithAtomicsFriendlyTypedArrayConstructors(f) {
+ testWithTypedArrayConstructors(f, [
+ Int32Array,
+ Int16Array,
+ Int8Array,
+ Uint32Array,
+ Uint16Array,
+ Uint8Array,
+ ]);
+}
+
+/**
+ * Helper for conversion operations on TypedArrays, the expected values
+ * properties are indexed in order to match the respective value for each
+ * TypedArray constructor
+ * @param {Function} fn - the function to call for each constructor and value.
+ * will be called with the constructor, value, expected
+ * value, and a initial value that can be used to avoid
+ * a false positive with an equivalent expected value.
+ */
+function testTypedArrayConversions(byteConversionValues, fn) {
+ var values = byteConversionValues.values;
+ var expected = byteConversionValues.expected;
+
+ testWithTypedArrayConstructors(function(TA) {
+ var name = TA.name.slice(0, -5);
+
+ return values.forEach(function(value, index) {
+ var exp = expected[name][index];
+ var initial = 0;
+ if (exp === 0) {
+ initial = 1;
+ }
+ fn(TA, value, exp, initial);
+ });
+ });
+}
diff --git a/js/src/tests/test262/built-ins/Array/prototype/reverse/S15.4.4.8_A1_T1.js b/js/src/tests/test262/built-ins/Array/prototype/reverse/S15.4.4.8_A1_T1.js
index 6d69e1476c67..c3c857081c78 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/reverse/S15.4.4.8_A1_T1.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/reverse/S15.4.4.8_A1_T1.js
@@ -9,14 +9,12 @@ esid: sec-array.prototype.reverse
description: Checking case when reverse is given no arguments or one argument
---*/
-//CHECK#1
var x = [];
var reverse = x.reverse();
if (reverse !== x) {
throw new Test262Error('#1: x = []; x.reverse() === x. Actual: ' + (reverse));
}
-//CHECK#2
x = [];
x[0] = 1;
var reverse = x.reverse();
@@ -24,24 +22,20 @@ if (reverse !== x) {
throw new Test262Error('#2: x = []; x[0] = 1; x.reverse() === x. Actual: ' + (reverse));
}
-//CHECK#3
x = new Array(1, 2);
var reverse = x.reverse();
if (reverse !== x) {
throw new Test262Error('#3: x = new Array(1,2); x.reverse() === x. Actual: ' + (reverse));
}
-//CHECK#4
if (x[0] !== 2) {
throw new Test262Error('#4: x = new Array(1,2); x.reverse(); x[0] === 2. Actual: ' + (x[0]));
}
-//CHECK#5
if (x[1] !== 1) {
throw new Test262Error('#5: x = new Array(1,2); x.reverse(); x[1] === 1. Actual: ' + (x[1]));
}
-//CHECK#6
if (x.length !== 2) {
throw new Test262Error('#6: x = new Array(1,2); x.reverse(); x.length === 2. Actual: ' + (x.length));
}
diff --git a/js/src/tests/test262/built-ins/Array/prototype/reverse/S15.4.4.8_A1_T2.js b/js/src/tests/test262/built-ins/Array/prototype/reverse/S15.4.4.8_A1_T2.js
index 264cad314867..17d693192f4e 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/reverse/S15.4.4.8_A1_T2.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/reverse/S15.4.4.8_A1_T2.js
@@ -9,7 +9,6 @@ esid: sec-array.prototype.reverse
description: Checking this algorithm, elements are objects and primitives
---*/
-//CHECK#1
var x = [];
x[0] = true;
x[2] = Infinity;
@@ -23,52 +22,42 @@ if (reverse !== x) {
throw new Test262Error('#1: x = []; x[0] = true; x[2] = Infinity; x[4] = undefined; x[5] = undefined; x[8] = "NaN"; x[9] = "-1"; x.reverse() === x. Actual: ' + (reverse));
}
-//CHECK#2
if (x[0] !== "-1") {
throw new Test262Error('#2: x = []; x[0] = true; x[2] = Infinity; x[4] = undefined; x[5] = undefined; x[8] = "NaN"; x[9] = "-1"; x.reverse(); x[0] === "-1". Actual: ' + (x[0]));
}
-//CHECK#3
if (x[1] !== "NaN") {
throw new Test262Error('#3: x = []; x[0] = true; x[2] = Infinity; x[4] = undefined; x[5] = undefined; x[8] = "NaN"; x[9] = "-1"; x.reverse(); x[1] === "NaN". Actual: ' + (x[1]));
}
-//CHECK#4
if (x[2] !== undefined) {
throw new Test262Error('#4: x = []; x[0] = true; x[2] = Infinity; x[4] = undefined; x[5] = undefined; x[8] = "NaN"; x[9] = "-1"; x.reverse(); x[2] === undefined. Actual: ' + (x[2]));
}
-//CHECK#5
if (x[3] !== undefined) {
throw new Test262Error('#5: x = []; x[0] = true; x[2] = Infinity; x[4] = undefined; x[5] = undefined; x[8] = "NaN"; x[9] = "-1"; x.reverse(); x[3] === undefined. Actual: ' + (x[3]));
}
-//CHECK#6
if (x[4] !== undefined) {
throw new Test262Error('#6: x = []; x[0] = true; x[2] = Infinity; x[4] = undefined; x[5] = undefined; x[8] = "NaN"; x[9] = "-1"; x.reverse(); x[4] === undefined. Actual: ' + (x[4]));
}
-//CHECK#7
if (x[5] !== undefined) {
throw new Test262Error('#7: x = []; x[0] = true; x[2] = Infinity; x[4] = undefined; x[5] = undefined; x[8] = "NaN"; x[9] = "-1"; x.reverse(); x[5] === undefined. Actual: ' + (x[5]));
}
-//CHECK#8
if (x[6] !== undefined) {
throw new Test262Error('#8: x = []; x[0] = true; x[2] = Infinity; x[4] = undefined; x[5] = undefined; x[8] = "NaN"; x[9] = "-1"; x.reverse(); x[6] === undefined. Actual: ' + (x[6]));
}
-//CHECK#9
if (x[7] !== Infinity) {
throw new Test262Error('#9: x = []; x[0] = true; x[2] = Infinity; x[4] = undefined; x[5] = undefined; x[8] = "NaN"; x[9] = "-1"; x.reverse(); x[7] === Infinity. Actual: ' + (x[7]));
}
-//CHECK#10
if (x[8] !== undefined) {
throw new Test262Error('#10: x = []; x[0] = true; x[2] = Infinity; x[4] = undefined; x[5] = undefined; x[8] = "NaN"; x[9] = "-1"; x.reverse(); x[8] === undefined. Actual: ' + (x[8]));
}
-//CHECK#11
if (x[9] !== true) {
throw new Test262Error('#11: x = []; x[0] = true; x[2] = Infinity; x[4] = undefined; x[5] = undefined; x[8] = "NaN"; x[9] = "-1"; x.reverse(); x[9] === true. Actual: ' + (x[9]));
}
@@ -80,47 +69,38 @@ if (reverse !== x) {
throw new Test262Error('#1: x = []; x[0] = true; x[2] = Infinity; x[4] = undefined; x[5] = undefined; x[8] = "NaN"; x[9] = "-1"; x.reverse(); x.length = 9; x.reverse() === x. Actual: ' + (reverse));
}
-//CHECK#12
if (x[0] !== undefined) {
throw new Test262Error('#12: x = []; x[0] = true; x[2] = Infinity; x[4] = undefined; x[5] = undefined; x[8] = "NaN"; x[9] = "-1"; x.reverse(); x.length = 9; x.reverse(); x[0] === undefined. Actual: ' + (x[0]));
}
-//CHECK#13
if (x[1] !== Infinity) {
throw new Test262Error('#13: x = []; x[0] = true; x[2] = Infinity; x[4] = undefined; x[5] = undefined; x[8] = "NaN"; x[9] = "-1"; x.reverse(); x.length = 9; x.reverse(); x[1] === Infinity. Actual: ' + (x[1]));
}
-//CHECK#14
if (x[2] !== undefined) {
throw new Test262Error('#14: x = []; x[0] = true; x[2] = Infinity; x[4] = undefined; x[5] = undefined; x[8] = "NaN"; x[9] = "-1"; x.reverse(); x.length = 9; x.reverse(); x[2] === undefined. Actual: ' + (x[2]));
}
-//CHECK#15
if (x[3] !== undefined) {
throw new Test262Error('#15: x = []; x[0] = true; x[2] = Infinity; x[4] = undefined; x[5] = undefined; x[8] = "NaN"; x[9] = "-1"; x.reverse(); x.length = 9; x.reverse(); x[3] === undefined. Actual: ' + (x[3]));
}
-//CHECK#16
if (x[4] !== undefined) {
throw new Test262Error('#16: x = []; x[0] = true; x[2] = Infinity; x[4] = undefined; x[5] = undefined; x[8] = "NaN"; x[9] = "-1"; x.reverse(); x.length = 9; x.reverse(); x[4] === undefined. Actual: ' + (x[4]));
}
-//CHECK#17
if (x[5] !== undefined) {
throw new Test262Error('#17: x = []; x[0] = true; x[2] = Infinity; x[4] = undefined; x[5] = undefined; x[8] = "NaN"; x[9] = "-1"; x.reverse(); x.length = 9; x.reverse(); x[5] === undefined. Actual: ' + (x[5]));
}
-//CHECK#18
if (x[6] !== undefined) {
throw new Test262Error('#18: x = []; x[0] = true; x[2] = Infinity; x[4] = undefined; x[5] = undefined; x[8] = "NaN"; x[9] = "-1"; x.reverse(); x.length = 9; x.reverse(); x[6] === undefined. Actual: ' + (x[6]));
}
-//CHECK#19
if (x[7] !== "NaN") {
throw new Test262Error('#19: x = []; x[0] = true; x[2] = Infinity; x[4] = undefined; x[5] = undefined; x[8] = "NaN"; x[9] = "-1"; x.reverse(); x.length = 9; x.reverse(); x[7] === "NaN". Actual: ' + (x[7]));
}
-//CHECK#20
if (x[8] !== "-1") {
throw new Test262Error('#20: x = []; x[0] = true; x[2] = Infinity; x[4] = undefined; x[5] = undefined; x[8] = "NaN"; x[9] = "-1"; x.reverse(); x.length = 9; x.reverse(); x[8] === "-1". Actual: ' + (x[8]));
}
diff --git a/js/src/tests/test262/built-ins/Array/prototype/reverse/S15.4.4.8_A2_T1.js b/js/src/tests/test262/built-ins/Array/prototype/reverse/S15.4.4.8_A2_T1.js
index 87490cf3cdeb..be4e477e02b5 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/reverse/S15.4.4.8_A2_T1.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/reverse/S15.4.4.8_A2_T1.js
@@ -11,7 +11,6 @@ description: >
primitives, length is integer
---*/
-//CHECK#1
var obj = {};
obj.length = 10;
obj.reverse = Array.prototype.reverse;
@@ -28,52 +27,42 @@ if (reverse !== obj) {
throw new Test262Error('#1: var obj = {}; obj.reverse = Array.prototype.reverse; obj.length = 10; obj[0] = true; obj[2] = Infinity; obj[4] = undefined; obj[5] = undefined; obj[8] = "NaN"; obj[9] = "-1"; obj.reverse() === obj. Actual: ' + (reverse));
}
-//CHECK#2
if (obj[0] !== "-1") {
throw new Test262Error('#2: var obj = {}; obj.reverse = Array.prototype.reverse; obj.length = 10; obj[0] = true; obj[2] = Infinity; obj[4] = undefined; obj[5] = undefined; obj[8] = "NaN"; obj[9] = "-1"; obj.reverse(); obj[0] === "-1". Actual: ' + (obj[0]));
}
-//CHECK#3
if (obj[1] !== "NaN") {
throw new Test262Error('#3: var obj = {}; obj.reverse = Array.prototype.reverse; obj.length = 10; obj[0] = true; obj[2] = Infinity; obj[4] = undefined; obj[5] = undefined; obj[8] = "NaN"; obj[9] = "-1"; obj.reverse(); obj[1] === "NaN". Actual: ' + (obj[1]));
}
-//CHECK#4
if (obj[2] !== undefined) {
throw new Test262Error('#4: var obj = {}; obj.reverse = Array.prototype.reverse; obj.length = 10; obj[0] = true; obj[2] = Infinity; obj[4] = undefined; obj[5] = undefined; obj[8] = "NaN"; obj[9] = "-1"; obj.reverse(); obj[2] === undefined. Actual: ' + (obj[2]));
}
-//CHECK#5
if (obj[3] !== undefined) {
throw new Test262Error('#5: var obj = {}; obj.reverse = Array.prototype.reverse; obj.length = 10; obj[0] = true; obj[2] = Infinity; obj[4] = undefined; obj[5] = undefined; obj[8] = "NaN"; obj[9] = "-1"; obj.reverse(); obj[3] === undefined. Actual: ' + (obj[3]));
}
-//CHECK#6
if (obj[4] !== undefined) {
throw new Test262Error('#6: var obj = {}; obj.reverse = Array.prototype.reverse; obj.length = 10; obj[0] = true; obj[2] = Infinity; obj[4] = undefined; obj[5] = undefined; obj[8] = "NaN"; obj[9] = "-1"; obj.reverse(); obj[4] === undefined. Actual: ' + (obj[4]));
}
-//CHECK#7
if (obj[5] !== undefined) {
throw new Test262Error('#7: var obj = {}; obj.reverse = Array.prototype.reverse; obj.length = 10; obj[0] = true; obj[2] = Infinity; obj[4] = undefined; obj[5] = undefined; obj[8] = "NaN"; obj[9] = "-1"; obj.reverse(); obj[5] === undefined. Actual: ' + (obj[5]));
}
-//CHECK#8
if (obj[6] !== undefined) {
throw new Test262Error('#8: var obj = {}; obj.reverse = Array.prototype.reverse; obj.length = 10; obj[0] = true; obj[2] = Infinity; obj[4] = undefined; obj[5] = undefined; obj[8] = "NaN"; obj[9] = "-1"; obj.reverse(); obj[6] === undefined. Actual: ' + (obj[6]));
}
-//CHECK#9
if (obj[7] !== Infinity) {
throw new Test262Error('#9: var obj = {}; obj.reverse = Array.prototype.reverse; obj.length = 10; obj[0] = true; obj[2] = Infinity; obj[4] = undefined; obj[5] = undefined; obj[8] = "NaN"; obj[9] = "-1"; obj.reverse(); obj[7] === Infinity. Actual: ' + (obj[7]));
}
-//CHECK#10
if (obj[8] !== undefined) {
throw new Test262Error('#10: var obj = {}; obj.reverse = Array.prototype.reverse; obj.length = 10; obj[0] = true; obj[2] = Infinity; obj[4] = undefined; obj[5] = undefined; obj[8] = "NaN"; obj[9] = "-1"; obj.reverse(); obj[8] === undefined. Actual: ' + (obj[8]));
}
-//CHECK#11
if (obj[9] !== true) {
throw new Test262Error('#11: var obj = {}; obj.reverse = Array.prototype.reverse; obj.length = 10; obj[0] = true; obj[2] = Infinity; obj[4] = undefined; obj[5] = undefined; obj[8] = "NaN"; obj[9] = "-1"; obj.reverse(); obj[9] === true. Actual: ' + (obj[9]));
}
@@ -85,47 +74,38 @@ if (reverse !== obj) {
throw new Test262Error('#1: var obj = {}; obj.reverse = Array.prototype.reverse; obj.length = 10; obj[0] = true; obj[2] = Infinity; obj[4] = undefined; obj[5] = undefined; obj[8] = "NaN"; obj[9] = "-1"; obj.reverse(); obj.length = 9; obj.reverse() === obj. Actual: ' + (reverse));
}
-//CHECK#12
if (obj[0] !== undefined) {
throw new Test262Error('#12: var obj = {}; obj.reverse = Array.prototype.reverse; obj.length = 10; obj[0] = true; obj[2] = Infinity; obj[4] = undefined; obj[5] = undefined; obj[8] = "NaN"; obj[9] = "-1"; obj.reverse(); obj.length = 9; obj.reverse(); obj[0] === undefined. Actual: ' + (obj[0]));
}
-//CHECK#13
if (obj[1] !== Infinity) {
throw new Test262Error('#13: var obj = {}; obj.reverse = Array.prototype.reverse; obj.length = 10; obj[0] = true; obj[2] = Infinity; obj[4] = undefined; obj[5] = undefined; obj[8] = "NaN"; obj[9] = "-1"; obj.reverse(); obj.length = 9; obj.reverse(); obj[1] === Infinity. Actual: ' + (obj[1]));
}
-//CHECK#14
if (obj[2] !== undefined) {
throw new Test262Error('#14: var obj = {}; obj.reverse = Array.prototype.reverse; obj.length = 10; obj[0] = true; obj[2] = Infinity; obj[4] = undefined; obj[5] = undefined; obj[8] = "NaN"; obj[9] = "-1"; obj.reverse(); obj.length = 9; obj.reverse(); obj[2] === undefined. Actual: ' + (obj[2]));
}
-//CHECK#15
if (obj[3] !== undefined) {
throw new Test262Error('#15: var obj = {}; obj.reverse = Array.prototype.reverse; obj.length = 10; obj[0] = true; obj[2] = Infinity; obj[4] = undefined; obj[5] = undefined; obj[8] = "NaN"; obj[9] = "-1"; obj.reverse(); obj.length = 9; obj.reverse(); obj[3] === undefined. Actual: ' + (obj[3]));
}
-//CHECK#16
if (obj[4] !== undefined) {
throw new Test262Error('#16: var obj = {}; obj.reverse = Array.prototype.reverse; obj.length = 10; obj[0] = true; obj[2] = Infinity; obj[4] = undefined; obj[5] = undefined; obj[8] = "NaN"; obj[9] = "-1"; obj.reverse(); obj.length = 9; obj.reverse(); obj[4] === undefined. Actual: ' + (obj[4]));
}
-//CHECK#17
if (obj[5] !== undefined) {
throw new Test262Error('#17: var obj = {}; obj.reverse = Array.prototype.reverse; obj.length = 10; obj[0] = true; obj[2] = Infinity; obj[4] = undefined; obj[5] = undefined; obj[8] = "NaN"; obj[9] = "-1"; obj.reverse(); obj.length = 9; obj.reverse(); obj[5] === undefined. Actual: ' + (obj[5]));
}
-//CHECK#18
if (obj[6] !== undefined) {
throw new Test262Error('#18: var obj = {}; obj.reverse = Array.prototype.reverse; obj.length = 10; obj[0] = true; obj[2] = Infinity; obj[4] = undefined; obj[5] = undefined; obj[8] = "NaN"; obj[9] = "-1"; obj.reverse(); obj.length = 9; obj.reverse(); obj[6] === undefined. Actual: ' + (obj[6]));
}
-//CHECK#19
if (obj[7] !== "NaN") {
throw new Test262Error('#19: var obj = {}; obj.reverse = Array.prototype.reverse; obj.length = 10; obj[0] = true; obj[2] = Infinity; obj[4] = undefined; obj[5] = undefined; obj[8] = "NaN"; obj[9] = "-1"; obj.reverse(); obj.length = 9; obj.reverse(); obj[7] === "NaN". Actual: ' + (obj[7]));
}
-//CHECK#20
if (obj[8] !== "-1") {
throw new Test262Error('#20: var obj = {}; obj.reverse = Array.prototype.reverse; obj.length = 10; obj[0] = true; obj[2] = Infinity; obj[4] = undefined; obj[5] = undefined; obj[8] = "NaN"; obj[9] = "-1"; obj.reverse(); obj.length = 9; obj.reverse(); obj[8] === "-1". Actual: ' + (obj[8]));
}
diff --git a/js/src/tests/test262/built-ins/Array/prototype/reverse/S15.4.4.8_A2_T2.js b/js/src/tests/test262/built-ins/Array/prototype/reverse/S15.4.4.8_A2_T2.js
index e7e71b5deb4f..0b61f0aeed19 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/reverse/S15.4.4.8_A2_T2.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/reverse/S15.4.4.8_A2_T2.js
@@ -11,7 +11,6 @@ description: >
primitives, length is not integer
---*/
-//CHECK#1
var obj = {};
obj.length = 10.5;
obj.reverse = Array.prototype.reverse;
@@ -28,52 +27,42 @@ if (reverse !== obj) {
throw new Test262Error('#1: var obj = {}; obj.reverse = Array.prototype.reverse; obj.length = 10.5; obj[0] = true; obj[2] = Infinity; obj[4] = undefined; obj[5] = undefined; obj[8] = "NaN"; obj[9] = "-1"; obj.reverse() === obj. Actual: ' + (reverse));
}
-//CHECK#2
if (obj[0] !== "-1") {
throw new Test262Error('#2: var obj = {}; obj.reverse = Array.prototype.reverse; obj.length = 10.5; obj[0] = true; obj[2] = Infinity; obj[4] = undefined; obj[5] = undefined; obj[8] = "NaN"; obj[9] = "-1"; obj.reverse(); obj[0] === "-1". Actual: ' + (obj[0]));
}
-//CHECK#3
if (obj[1] !== "NaN") {
throw new Test262Error('#3: var obj = {}; obj.reverse = Array.prototype.reverse; obj.length = 10.5; obj[0] = true; obj[2] = Infinity; obj[4] = undefined; obj[5] = undefined; obj[8] = "NaN"; obj[9] = "-1"; obj.reverse(); obj[1] === "NaN". Actual: ' + (obj[1]));
}
-//CHECK#4
if (obj[2] !== undefined) {
throw new Test262Error('#4: var obj = {}; obj.reverse = Array.prototype.reverse; obj.length = 10.5; obj[0] = true; obj[2] = Infinity; obj[4] = undefined; obj[5] = undefined; obj[8] = "NaN"; obj[9] = "-1"; obj.reverse(); obj[2] === undefined. Actual: ' + (obj[2]));
}
-//CHECK#5
if (obj[3] !== undefined) {
throw new Test262Error('#5: var obj = {}; obj.reverse = Array.prototype.reverse; obj.length = 10.5; obj[0] = true; obj[2] = Infinity; obj[4] = undefined; obj[5] = undefined; obj[8] = "NaN"; obj[9] = "-1"; obj.reverse(); obj[3] === undefined. Actual: ' + (obj[3]));
}
-//CHECK#6
if (obj[4] !== undefined) {
throw new Test262Error('#6: var obj = {}; obj.reverse = Array.prototype.reverse; obj.length = 10.5; obj[0] = true; obj[2] = Infinity; obj[4] = undefined; obj[5] = undefined; obj[8] = "NaN"; obj[9] = "-1"; obj.reverse(); obj[4] === undefined. Actual: ' + (obj[4]));
}
-//CHECK#7
if (obj[5] !== undefined) {
throw new Test262Error('#7: var obj = {}; obj.reverse = Array.prototype.reverse; obj.length = 10.5; obj[0] = true; obj[2] = Infinity; obj[4] = undefined; obj[5] = undefined; obj[8] = "NaN"; obj[9] = "-1"; obj.reverse(); obj[5] === undefined. Actual: ' + (obj[5]));
}
-//CHECK#8
if (obj[6] !== undefined) {
throw new Test262Error('#8: var obj = {}; obj.reverse = Array.prototype.reverse; obj.length = 10.5; obj[0] = true; obj[2] = Infinity; obj[4] = undefined; obj[5] = undefined; obj[8] = "NaN"; obj[9] = "-1"; obj.reverse(); obj[6] === undefined. Actual: ' + (obj[6]));
}
-//CHECK#9
if (obj[7] !== Infinity) {
throw new Test262Error('#9: var obj = {}; obj.reverse = Array.prototype.reverse; obj.length = 10.5; obj[0] = true; obj[2] = Infinity; obj[4] = undefined; obj[5] = undefined; obj[8] = "NaN"; obj[9] = "-1"; obj.reverse(); obj[7] === Infinity. Actual: ' + (obj[7]));
}
-//CHECK#10
if (obj[8] !== undefined) {
throw new Test262Error('#10: var obj = {}; obj.reverse = Array.prototype.reverse; obj.length = 10.5; obj[0] = true; obj[2] = Infinity; obj[4] = undefined; obj[5] = undefined; obj[8] = "NaN"; obj[9] = "-1"; obj.reverse(); obj[8] === undefined. Actual: ' + (obj[8]));
}
-//CHECK#11
if (obj[9] !== true) {
throw new Test262Error('#11: var obj = {}; obj.reverse = Array.prototype.reverse; obj.length = 10.5; obj[0] = true; obj[2] = Infinity; obj[4] = undefined; obj[5] = undefined; obj[8] = "NaN"; obj[9] = "-1"; obj.reverse(); obj[9] === true. Actual: ' + (obj[9]));
}
@@ -85,47 +74,38 @@ if (reverse !== obj) {
throw new Test262Error('#1: var obj = {}; obj.reverse = Array.prototype.reverse; obj.length = 10.5; obj[0] = true; obj[2] = Infinity; obj[4] = undefined; obj[5] = undefined; obj[8] = "NaN"; obj[9] = "-1"; obj.reverse(); obj.length = new Number(9.5); obj.reverse() === obj. Actual: ' + (reverse));
}
-//CHECK#12
if (obj[0] !== undefined) {
throw new Test262Error('#12: var obj = {}; obj.reverse = Array.prototype.reverse; obj.length = 10.5; obj[0] = true; obj[2] = Infinity; obj[4] = undefined; obj[5] = undefined; obj[8] = "NaN"; obj[9] = "-1"; obj.reverse(); obj.length = new Number(9.5); obj.reverse(); obj[0] === undefined. Actual: ' + (obj[0]));
}
-//CHECK#13
if (obj[1] !== Infinity) {
throw new Test262Error('#13: var obj = {}; obj.reverse = Array.prototype.reverse; obj.length = 10.5; obj[0] = true; obj[2] = Infinity; obj[4] = undefined; obj[5] = undefined; obj[8] = "NaN"; obj[9] = "-1"; obj.reverse(); obj.length = new Number(9.5); obj.reverse(); obj[1] === Infinity. Actual: ' + (obj[1]));
}
-//CHECK#14
if (obj[2] !== undefined) {
throw new Test262Error('#14: var obj = {}; obj.reverse = Array.prototype.reverse; obj.length = 10.5; obj[0] = true; obj[2] = Infinity; obj[4] = undefined; obj[5] = undefined; obj[8] = "NaN"; obj[9] = "-1"; obj.reverse(); obj.length = new Number(9.5); obj.reverse(); obj[2] === undefined. Actual: ' + (obj[2]));
}
-//CHECK#15
if (obj[3] !== undefined) {
throw new Test262Error('#15: var obj = {}; obj.reverse = Array.prototype.reverse; obj.length = 10.5; obj[0] = true; obj[2] = Infinity; obj[4] = undefined; obj[5] = undefined; obj[8] = "NaN"; obj[9] = "-1"; obj.reverse(); obj.length = new Number(9.5); obj.reverse(); obj[3] === undefined. Actual: ' + (obj[3]));
}
-//CHECK#16
if (obj[4] !== undefined) {
throw new Test262Error('#16: var obj = {}; obj.reverse = Array.prototype.reverse; obj.length = 10.5; obj[0] = true; obj[2] = Infinity; obj[4] = undefined; obj[5] = undefined; obj[8] = "NaN"; obj[9] = "-1"; obj.reverse(); obj.length = new Number(9.5); obj.reverse(); obj[4] === undefined. Actual: ' + (obj[4]));
}
-//CHECK#17
if (obj[5] !== undefined) {
throw new Test262Error('#17: var obj = {}; obj.reverse = Array.prototype.reverse; obj.length = 10.5; obj[0] = true; obj[2] = Infinity; obj[4] = undefined; obj[5] = undefined; obj[8] = "NaN"; obj[9] = "-1"; obj.reverse(); obj.length = new Number(9.5); obj.reverse(); obj[5] === undefined. Actual: ' + (obj[5]));
}
-//CHECK#18
if (obj[6] !== undefined) {
throw new Test262Error('#18: var obj = {}; obj.reverse = Array.prototype.reverse; obj.length = 10.5; obj[0] = true; obj[2] = Infinity; obj[4] = undefined; obj[5] = undefined; obj[8] = "NaN"; obj[9] = "-1"; obj.reverse(); obj.length = new Number(9.5); obj.reverse(); obj[6] === undefined. Actual: ' + (obj[6]));
}
-//CHECK#19
if (obj[7] !== "NaN") {
throw new Test262Error('#19: var obj = {}; obj.reverse = Array.prototype.reverse; obj.length = 10.5; obj[0] = true; obj[2] = Infinity; obj[4] = undefined; obj[5] = undefined; obj[8] = "NaN"; obj[9] = "-1"; obj.reverse(); obj.length = new Number(9.5); obj.reverse(); obj[7] === "NaN". Actual: ' + (obj[7]));
}
-//CHECK#20
if (obj[8] !== "-1") {
throw new Test262Error('#20: var obj = {}; obj.reverse = Array.prototype.reverse; obj.length = 10.5; obj[0] = true; obj[2] = Infinity; obj[4] = undefined; obj[5] = undefined; obj[8] = "NaN"; obj[9] = "-1"; obj.reverse(); obj.length = new Number(9.5); obj.reverse(); obj[8] === "-1". Actual: ' + (obj[8]));
}
diff --git a/js/src/tests/test262/built-ins/Array/prototype/reverse/S15.4.4.8_A2_T3.js b/js/src/tests/test262/built-ins/Array/prototype/reverse/S15.4.4.8_A2_T3.js
index a6d2023fc078..0afd7860c5fc 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/reverse/S15.4.4.8_A2_T3.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/reverse/S15.4.4.8_A2_T3.js
@@ -11,7 +11,6 @@ description: >
primitives, length is string
---*/
-//CHECK#1
var obj = {};
obj.length = "10";
obj.reverse = Array.prototype.reverse;
@@ -28,52 +27,42 @@ if (reverse !== obj) {
throw new Test262Error('#1: var obj = {}; obj.reverse = Array.prototype.reverse; obj.length = "10"; obj[0] = true; obj[2] = Infinity; obj[4] = undefined; obj[5] = undefined; obj[8] = "NaN"; obj[9] = "-1"; obj.reverse() === obj. Actual: ' + (reverse));
}
-//CHECK#2
if (obj[0] !== "-1") {
throw new Test262Error('#2: var obj = {}; obj.reverse = Array.prototype.reverse; obj.length = "10"; obj[0] = true; obj[2] = Infinity; obj[4] = undefined; obj[5] = undefined; obj[8] = "NaN"; obj[9] = "-1"; obj.reverse(); obj[0] === "-1". Actual: ' + (obj[0]));
}
-//CHECK#3
if (obj[1] !== "NaN") {
throw new Test262Error('#3: var obj = {}; obj.reverse = Array.prototype.reverse; obj.length = "10"; obj[0] = true; obj[2] = Infinity; obj[4] = undefined; obj[5] = undefined; obj[8] = "NaN"; obj[9] = "-1"; obj.reverse(); obj[1] === "NaN". Actual: ' + (obj[1]));
}
-//CHECK#4
if (obj[2] !== undefined) {
throw new Test262Error('#4: var obj = {}; obj.reverse = Array.prototype.reverse; obj.length = "10"; obj[0] = true; obj[2] = Infinity; obj[4] = undefined; obj[5] = undefined; obj[8] = "NaN"; obj[9] = "-1"; obj.reverse(); obj[2] === undefined. Actual: ' + (obj[2]));
}
-//CHECK#5
if (obj[3] !== undefined) {
throw new Test262Error('#5: var obj = {}; obj.reverse = Array.prototype.reverse; obj.length = "10"; obj[0] = true; obj[2] = Infinity; obj[4] = undefined; obj[5] = undefined; obj[8] = "NaN"; obj[9] = "-1"; obj.reverse(); obj[3] === undefined. Actual: ' + (obj[3]));
}
-//CHECK#6
if (obj[4] !== undefined) {
throw new Test262Error('#6: var obj = {}; obj.reverse = Array.prototype.reverse; obj.length = "10"; obj[0] = true; obj[2] = Infinity; obj[4] = undefined; obj[5] = undefined; obj[8] = "NaN"; obj[9] = "-1"; obj.reverse(); obj[4] === undefined. Actual: ' + (obj[4]));
}
-//CHECK#7
if (obj[5] !== undefined) {
throw new Test262Error('#7: var obj = {}; obj.reverse = Array.prototype.reverse; obj.length = "10"; obj[0] = true; obj[2] = Infinity; obj[4] = undefined; obj[5] = undefined; obj[8] = "NaN"; obj[9] = "-1"; obj.reverse(); obj[5] === undefined. Actual: ' + (obj[5]));
}
-//CHECK#8
if (obj[6] !== undefined) {
throw new Test262Error('#8: var obj = {}; obj.reverse = Array.prototype.reverse; obj.length = "10"; obj[0] = true; obj[2] = Infinity; obj[4] = undefined; obj[5] = undefined; obj[8] = "NaN"; obj[9] = "-1"; obj.reverse(); obj[6] === undefined. Actual: ' + (obj[6]));
}
-//CHECK#9
if (obj[7] !== Infinity) {
throw new Test262Error('#9: var obj = {}; obj.reverse = Array.prototype.reverse; obj.length = "10"; obj[0] = true; obj[2] = Infinity; obj[4] = undefined; obj[5] = undefined; obj[8] = "NaN"; obj[9] = "-1"; obj.reverse(); obj[7] === Infinity. Actual: ' + (obj[7]));
}
-//CHECK#10
if (obj[8] !== undefined) {
throw new Test262Error('#10: var obj = {}; obj.reverse = Array.prototype.reverse; obj.length = "10"; obj[0] = true; obj[2] = Infinity; obj[4] = undefined; obj[5] = undefined; obj[8] = "NaN"; obj[9] = "-1"; obj.reverse(); obj[8] === undefined. Actual: ' + (obj[8]));
}
-//CHECK#11
if (obj[9] !== true) {
throw new Test262Error('#11: var obj = {}; obj.reverse = Array.prototype.reverse; obj.length = "10"; obj[0] = true; obj[2] = Infinity; obj[4] = undefined; obj[5] = undefined; obj[8] = "NaN"; obj[9] = "-1"; obj.reverse(); obj[9] === true. Actual: ' + (obj[9]));
}
@@ -85,47 +74,38 @@ if (reverse !== obj) {
throw new Test262Error('#1: var obj = {}; obj.reverse = Array.prototype.reverse; obj.length = "10"; obj[0] = true; obj[2] = Infinity; obj[4] = undefined; obj[5] = undefined; obj[8] = "NaN"; obj[9] = "-1"; obj.reverse(); obj.length = new String("9"); obj.reverse() === obj. Actual: ' + (reverse));
}
-//CHECK#12
if (obj[0] !== undefined) {
throw new Test262Error('#12: var obj = {}; obj.reverse = Array.prototype.reverse; obj.length = "10"; obj[0] = true; obj[2] = Infinity; obj[4] = undefined; obj[5] = undefined; obj[8] = "NaN"; obj[9] = "-1"; obj.reverse(); obj.length = new String("9"); obj.reverse(); obj[0] === undefined. Actual: ' + (obj[0]));
}
-//CHECK#13
if (obj[1] !== Infinity) {
throw new Test262Error('#13: var obj = {}; obj.reverse = Array.prototype.reverse; obj.length = "10"; obj[0] = true; obj[2] = Infinity; obj[4] = undefined; obj[5] = undefined; obj[8] = "NaN"; obj[9] = "-1"; obj.reverse(); obj.length = new String("9"); obj.reverse(); obj[1] === Infinity. Actual: ' + (obj[1]));
}
-//CHECK#14
if (obj[2] !== undefined) {
throw new Test262Error('#14: var obj = {}; obj.reverse = Array.prototype.reverse; obj.length = "10"; obj[0] = true; obj[2] = Infinity; obj[4] = undefined; obj[5] = undefined; obj[8] = "NaN"; obj[9] = "-1"; obj.reverse(); obj.length = new String("9"); obj.reverse(); obj[2] === undefined. Actual: ' + (obj[2]));
}
-//CHECK#15
if (obj[3] !== undefined) {
throw new Test262Error('#15: var obj = {}; obj.reverse = Array.prototype.reverse; obj.length = "10"; obj[0] = true; obj[2] = Infinity; obj[4] = undefined; obj[5] = undefined; obj[8] = "NaN"; obj[9] = "-1"; obj.reverse(); obj.length = new String("9"); obj.reverse(); obj[3] === undefined. Actual: ' + (obj[3]));
}
-//CHECK#16
if (obj[4] !== undefined) {
throw new Test262Error('#16: var obj = {}; obj.reverse = Array.prototype.reverse; obj.length = "10"; obj[0] = true; obj[2] = Infinity; obj[4] = undefined; obj[5] = undefined; obj[8] = "NaN"; obj[9] = "-1"; obj.reverse(); obj.length = new String("9"); obj.reverse(); obj[4] === undefined. Actual: ' + (obj[4]));
}
-//CHECK#17
if (obj[5] !== undefined) {
throw new Test262Error('#17: var obj = {}; obj.reverse = Array.prototype.reverse; obj.length = "10"; obj[0] = true; obj[2] = Infinity; obj[4] = undefined; obj[5] = undefined; obj[8] = "NaN"; obj[9] = "-1"; obj.reverse(); obj.length = new String("9"); obj.reverse(); obj[5] === undefined. Actual: ' + (obj[5]));
}
-//CHECK#18
if (obj[6] !== undefined) {
throw new Test262Error('#18: var obj = {}; obj.reverse = Array.prototype.reverse; obj.length = "10"; obj[0] = true; obj[2] = Infinity; obj[4] = undefined; obj[5] = undefined; obj[8] = "NaN"; obj[9] = "-1"; obj.reverse(); obj.length = new String("9"); obj.reverse(); obj[6] === undefined. Actual: ' + (obj[6]));
}
-//CHECK#19
if (obj[7] !== "NaN") {
throw new Test262Error('#19: var obj = {}; obj.reverse = Array.prototype.reverse; obj.length = "10"; obj[0] = true; obj[2] = Infinity; obj[4] = undefined; obj[5] = undefined; obj[8] = "NaN"; obj[9] = "-1"; obj.reverse(); obj.length = new String("9"); obj.reverse(); obj[7] === "NaN". Actual: ' + (obj[7]));
}
-//CHECK#20
if (obj[8] !== "-1") {
throw new Test262Error('#20: var obj = {}; obj.reverse = Array.prototype.reverse; obj.length = "10"; obj[0] = true; obj[2] = Infinity; obj[4] = undefined; obj[5] = undefined; obj[8] = "NaN"; obj[9] = "-1"; obj.reverse(); obj.length = new String("9"); obj.reverse(); obj[8] === "-1". Actual: ' + (obj[8]));
}
diff --git a/js/src/tests/test262/built-ins/Array/prototype/reverse/S15.4.4.8_A3_T3.js b/js/src/tests/test262/built-ins/Array/prototype/reverse/S15.4.4.8_A3_T3.js
index 102ddd43d398..6f757b571b15 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/reverse/S15.4.4.8_A3_T3.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/reverse/S15.4.4.8_A3_T3.js
@@ -14,28 +14,23 @@ obj[1] = "y";
obj[2] = "z";
obj.length = -4294967294;
-//CHECK#1
var reverse = obj.reverse();
if (reverse !== obj) {
throw new Test262Error('#1: var obj = {}; obj.reverse = Array.prototype.reverse; obj[0] = "x"; obj[1] = "y"; obj[2] = "z"; obj.length = -4294967294; obj.reverse() === obj. Actual: ' + (reverse));
}
-//CHECK#2
if (obj.length !== -4294967294) {
throw new Test262Error('#2: var obj = {}; obj.reverse = Array.prototype.reverse; obj[0] = "x"; obj[1] = "y"; obj[2] = "z"; obj.length = -4294967294; obj.reverse(); obj.length === -4294967294. Actual: ' + (obj.length));
}
-//CHECK#3
if (obj[0] !== "x") {
throw new Test262Error('#3: var obj = {}; obj.reverse = Array.prototype.reverse; obj[0] = "x"; obj[1] = "y"; obj[2] = "z"; obj.length = -4294967294; obj.reverse(); obj[0] === "x". Actual: ' + (obj[0]));
}
-//CHECK#4
if (obj[1] !== "y") {
throw new Test262Error('#4: var obj = {}; obj.reverse = Array.prototype.reverse; obj[0] = "x"; obj[1] = "y"; obj[2] = "z"; obj.length = -4294967294; obj.reverse(); obj[1] === "y". Actual: ' + (obj[1]));
}
-//CHECK#5
if (obj[2] !== "z") {
throw new Test262Error('#5: var obj = {}; obj.reverse = Array.prototype.reverse; obj[0] = "x"; obj[1] = "y"; obj[2] = "z"; obj.length = -4294967294; obj.reverse(); obj[2] === "z". Actual: ' + (obj[2]));
}
diff --git a/js/src/tests/test262/built-ins/Array/prototype/reverse/S15.4.4.8_A4_T1.js b/js/src/tests/test262/built-ins/Array/prototype/reverse/S15.4.4.8_A4_T1.js
index 1b80ce07e679..21f59fcf5203 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/reverse/S15.4.4.8_A4_T1.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/reverse/S15.4.4.8_A4_T1.js
@@ -14,24 +14,20 @@ var x = [0];
x.length = 2;
x.reverse();
-//CHECK#1
if (x[0] !== 1) {
throw new Test262Error('#1: Array.prototype[1] = 1; x = [0]; x.length = 2; x.reverse(); x[0] === 1. Actual: ' + (x[0]));
}
-//CHECK#2
if (x[1] !== 0) {
throw new Test262Error('#2: Array.prototype[1] = 1; x = [0]; x.length = 2; x.reverse(); x[1] === 0. Actual: ' + (x[1]));
}
x.length = 0;
-//CHECK#3
if (x[0] !== undefined) {
throw new Test262Error('#3: Array.prototype[1] = 1; x = [0]; x.length = 2; x.reverse(); x.length = 0; x[0] === undefined. Actual: ' + (x[0]));
}
-//CHECK#4
if (x[1] !== 1) {
throw new Test262Error('#4: Array.prototype[1] = 1; x = [0]; x.length = 2; x.reverse(); x.length = 0; x[1] === 1. Actual: ' + (x[1]));
}
@@ -44,12 +40,10 @@ x = {
};
x.reverse();
-//CHECK#5
if (x[0] !== 1) {
throw new Test262Error('#5: Object.prototype[1] = 1; Object.prototype.length = 2; Object.prototype.reverse = Array.prototype.reverse; x = {0:0}; x.reverse(); x[0] === 0. Actual: ' + (x[0]));
}
-//CHECK#6
if (x[1] !== 0) {
throw new Test262Error('#6: Object.prototype[1] = 1; Object.prototype.length = 2; Object.prototype.reverse = Array.prototype.reverse; x = {0:0}; x.reverse(); x[1] === 0. Actual: ' + (x[1]));
}
@@ -57,12 +51,10 @@ if (x[1] !== 0) {
delete x[0];
delete x[1];
-//CHECK#7
if (x[0] !== undefined) {
throw new Test262Error('#7: Object.prototype[1] = 1; Object.prototype.length = 2; Object.prototype.reverse = Array.prototype.reverse; x = {0:0}; x.reverse(); delete x[0]; delete x[1]; x[0] === undefined. Actual: ' + (x[0]));
}
-//CHECK#8
if (x[1] !== 1) {
throw new Test262Error('#8: Object.prototype[1] = 1; Object.prototype.length = 2; Object.prototype.reverse = Array.prototype.reverse; x = {0:0}; x.reverse(); delete x[0]; delete x[1]; x[1] === 1. Actual: ' + (x[1]));
}
diff --git a/js/src/tests/test262/built-ins/Array/prototype/reverse/S15.4.4.8_A4_T2.js b/js/src/tests/test262/built-ins/Array/prototype/reverse/S15.4.4.8_A4_T2.js
index 72952f189448..f71c23a26276 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/reverse/S15.4.4.8_A4_T2.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/reverse/S15.4.4.8_A4_T2.js
@@ -14,24 +14,20 @@ var x = [0, 1];
x.length = 2;
x.reverse();
-//CHECK#1
if (x[0] !== 1) {
throw new Test262Error('#1: Array.prototype[1] = -1; x = [0,1]; x.length = 2; x.reverse(); x[0] === 1. Actual: ' + (x[0]));
}
-//CHECK#2
if (x[1] !== 0) {
throw new Test262Error('#2: Array.prototype[1] = -1; x = [0,1]; x.length = 2; x.reverse(); x[1] === 0. Actual: ' + (x[1]));
}
x.length = 0;
-//CHECK#3
if (x[0] !== undefined) {
throw new Test262Error('#3: Array.prototype[1] = -1; x = [0,1]; x.length = 2; x.reverse(); x.length = 0; x[0] === undefined. Actual: ' + (x[0]));
}
-//CHECK#4
if (x[1] !== -1) {
throw new Test262Error('#4: Array.prototype[1] = -1; x = [0,1]; x.length = 2; x.reverse(); x.length = 0; x[1] === -1. Actual: ' + (x[1]));
}
@@ -45,12 +41,10 @@ x = {
};
x.reverse();
-//CHECK#5
if (x[0] !== 1) {
throw new Test262Error('#5: Object.prototype[1] = -1; Object.prototype.length = 2; Object.prototype.reverse = Array.prototype.reverse; x = {0:0,1:1}; x.reverse(); x[0] === 0. Actual: ' + (x[0]));
}
-//CHECK#6
if (x[1] !== 0) {
throw new Test262Error('#6: Object.prototype[1] = -1; Object.prototype.length = 2; Object.prototype.reverse = Array.prototype.reverse; x = {0:0,1:1}; x.reverse(); x[1] === 0. Actual: ' + (x[1]));
}
@@ -58,12 +52,10 @@ if (x[1] !== 0) {
delete x[0];
delete x[1];
-//CHECK#7
if (x[0] !== undefined) {
throw new Test262Error('#7: Object.prototype[1] = -1; Object.prototype.length = 2; Object.prototype.reverse = Array.prototype.reverse; x = {0:0,1:1}; x.reverse(); delete x[0]; delete x[1]; x[0] === undefined. Actual: ' + (x[0]));
}
-//CHECK#8
if (x[1] !== -1) {
throw new Test262Error('#8: Object.prototype[1] = -1; Object.prototype.length = 2; Object.prototype.reverse = Array.prototype.reverse; x = {0:0,1:1}; x.reverse(); delete x[0]; delete x[1]; x[1] === -1. Actual: ' + (x[1]));
}
diff --git a/js/src/tests/test262/built-ins/Array/prototype/reverse/S15.4.4.8_A5.7.js b/js/src/tests/test262/built-ins/Array/prototype/reverse/S15.4.4.8_A5.7.js
deleted file mode 100644
index bc3a1ebf857d..000000000000
--- a/js/src/tests/test262/built-ins/Array/prototype/reverse/S15.4.4.8_A5.7.js
+++ /dev/null
@@ -1,23 +0,0 @@
-// Copyright 2009 the Sputnik authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-info: The reverse property of Array can't be used as constructor
-esid: sec-array.prototype.reverse
-description: >
- If property does not implement the internal [[Construct]] method,
- throw a TypeError exception
----*/
-
-//CHECK#1
-
-try {
- new Array.prototype.reverse();
- throw new Test262Error('#1.1: new Array.prototype.reverse() throw TypeError. Actual: ' + (new Array.prototype.reverse()));
-} catch (e) {
- if ((e instanceof TypeError) !== true) {
- throw new Test262Error('#1.2: new Array.prototype.reverse() throw TypeError. Actual: ' + (e));
- }
-}
-
-reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Array/prototype/shift/S15.4.4.9_A1.1_T1.js b/js/src/tests/test262/built-ins/Array/prototype/shift/S15.4.4.9_A1.1_T1.js
index bbd2007202bb..1f70e9b7357e 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/shift/S15.4.4.9_A1.1_T1.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/shift/S15.4.4.9_A1.1_T1.js
@@ -9,19 +9,16 @@ esid: sec-array.prototype.shift
description: Checking this algorithm
---*/
-//CHECK#1
var x = new Array();
var shift = x.shift();
if (shift !== undefined) {
throw new Test262Error('#1: var x = new Array(); x.shift() === undefined. Actual: ' + (shift));
}
-//CHECK#2
if (x.length !== 0) {
throw new Test262Error('#2: var x = new Array(); x.shift(); x.length === 0. Actual: ' + (x.length));
}
-//CHECK#3
var x = Array(1, 2, 3);
x.length = 0;
var shift = x.shift();
@@ -29,7 +26,6 @@ if (shift !== undefined) {
throw new Test262Error('#2: var x = Array(1,2,3); x.length = 0; x.shift() === undefined. Actual: ' + (shift));
}
-//CHECK#4
if (x.length !== 0) {
throw new Test262Error('#4: var x = new Array(1,2,3); x.length = 0; x.shift(); x.length === 0. Actual: ' + (x.length));
}
diff --git a/js/src/tests/test262/built-ins/Array/prototype/shift/S15.4.4.9_A1.2_T1.js b/js/src/tests/test262/built-ins/Array/prototype/shift/S15.4.4.9_A1.2_T1.js
index 4ee5e667018e..a0e9c13392d3 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/shift/S15.4.4.9_A1.2_T1.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/shift/S15.4.4.9_A1.2_T1.js
@@ -9,29 +9,24 @@ esid: sec-array.prototype.shift
description: Checking this use new Array() and []
---*/
-//CHECK#1
var x = new Array(0, 1, 2, 3);
var shift = x.shift();
if (shift !== 0) {
throw new Test262Error('#1: x = new Array(0,1,2,3); x.shift() === 0. Actual: ' + (shift));
}
-//CHECK#2
if (x.length !== 3) {
throw new Test262Error('#2: x = new Array(0,1,2,3); x.shift(); x.length == 3');
}
-//CHECK#3
if (x[0] !== 1) {
throw new Test262Error('#3: x = new Array(0,1,2,3); x.shift(); x[0] == 1');
}
-//CHECK#4
if (x[1] !== 2) {
throw new Test262Error('#4: x = new Array(0,1,2,3); x.shift(); x[1] == 2');
}
-//CHECK#5
x = [];
x[0] = 0;
x[3] = 3;
@@ -40,29 +35,24 @@ if (shift !== 0) {
throw new Test262Error('#5: x = []; x[0] = 0; x[3] = 3; x.shift() === 0. Actual: ' + (shift));
}
-//CHECK#6
if (x.length !== 3) {
throw new Test262Error('#6: x = []; x[0] = 0; x[3] = 3; x.shift(); x.length == 3');
}
-//CHECK#7
if (x[0] !== undefined) {
throw new Test262Error('#7: x = []; x[0] = 0; x[3] = 3; x.shift(); x[0] == undefined');
}
-//CHECK#8
if (x[12] !== undefined) {
throw new Test262Error('#8: x = []; x[0] = 0; x[3] = 3; x.shift(); x[1] == undefined');
}
-//CHECK#9
x.length = 1;
var shift = x.shift();
if (shift !== undefined) {
throw new Test262Error('#9: x = []; x[0] = 0; x[3] = 3; x.shift(); x.length = 1; x.shift() === undefined. Actual: ' + (shift));
}
-//CHECK#10
if (x.length !== 0) {
throw new Test262Error('#10: x = []; x[0] = 0; x[3] = 3; x.shift(); x.length = 1; x.shift(); x.length === 0. Actual: ' + (x.length));
}
diff --git a/js/src/tests/test262/built-ins/Array/prototype/shift/S15.4.4.9_A2_T1.js b/js/src/tests/test262/built-ins/Array/prototype/shift/S15.4.4.9_A2_T1.js
index 23c8a7757dc7..29f2f4f311c3 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/shift/S15.4.4.9_A2_T1.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/shift/S15.4.4.9_A2_T1.js
@@ -17,37 +17,31 @@ obj.shift = Array.prototype.shift;
if (obj.length !== undefined) {
throw new Test262Error('#0: var obj = {}; obj.length === undefined. Actual: ' + (obj.length));
} else {
- //CHECK#1
var shift = obj.shift();
if (shift !== undefined) {
throw new Test262Error('#1: var obj = {}; obj.shift = Array.prototype.shift; obj.shift() === undefined. Actual: ' + (shift));
}
- //CHECK#2
if (obj.length !== 0) {
throw new Test262Error('#2: var obj = {}; obj.shift = Array.prototype.shift; obj.shift(); obj.length === 0. Actual: ' + (obj.length));
}
}
-//CHECK#3
obj.length = undefined;
var shift = obj.shift();
if (shift !== undefined) {
throw new Test262Error('#3: var obj = {}; obj.length = undefined; obj.shift = Array.prototype.shift; obj.shift() === undefined. Actual: ' + (shift));
}
-//CHECK#4
if (obj.length !== 0) {
throw new Test262Error('#4: var obj = {}; obj.length = undefined; obj.shift = Array.prototype.shift; obj.shift(); obj.length === 0. Actual: ' + (obj.length));
}
-//CHECK#5
obj.length = null
var shift = obj.shift();
if (shift !== undefined) {
throw new Test262Error('#5: var obj = {}; obj.length = null; obj.shift = Array.prototype.shift; obj.shift() === undefined. Actual: ' + (shift));
}
-//CHECK#6
if (obj.length !== 0) {
throw new Test262Error('#6: var obj = {}; obj.length = null; obj.shift = Array.prototype.shift; obj.shift(); obj.length === 0. Actual: ' + (obj.length));
}
diff --git a/js/src/tests/test262/built-ins/Array/prototype/shift/S15.4.4.9_A2_T2.js b/js/src/tests/test262/built-ins/Array/prototype/shift/S15.4.4.9_A2_T2.js
index aad7476c95b8..cbe2c1864454 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/shift/S15.4.4.9_A2_T2.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/shift/S15.4.4.9_A2_T2.js
@@ -14,38 +14,32 @@ description: >
var obj = {};
obj.shift = Array.prototype.shift;
-//CHECK#1
obj.length = NaN;
var shift = obj.shift();
if (shift !== undefined) {
throw new Test262Error('#1: var obj = {}; obj.length = NaN; obj.shift = Array.prototype.shift; obj.shift() === undefined. Actual: ' + (shift));
}
-//CHECK#2
if (obj.length !== 0) {
throw new Test262Error('#2: var obj = {}; obj.length = NaN; obj.shift = Array.prototype.shift; obj.shift(); obj.length === 0. Actual: ' + (obj.length));
}
-//CHECK#5
obj.length = Number.NEGATIVE_INFINITY;
var shift = obj.shift();
if (shift !== undefined) {
throw new Test262Error('#5: var obj = {}; obj.length = Number.NEGATIVE_INFINITY; obj.shift = Array.prototype.shift; obj.shift() === undefined. Actual: ' + (shift));
}
-//CHECK#6
if (obj.length !== 0) {
throw new Test262Error('#6: var obj = {}; obj.length = Number.NEGATIVE_INFINITY; obj.shift = Array.prototype.shift; obj.shift(); obj.length === 0. Actual: ' + (obj.length));
}
-//CHECK#7
obj.length = -0;
var shift = obj.shift();
if (shift !== undefined) {
throw new Test262Error('#7: var obj = {}; obj.length = -0; obj.shift = Array.prototype.shift; obj.shift() === undefined. Actual: ' + (shift));
}
-//CHECK#8
if (obj.length !== 0) {
throw new Test262Error('#8: var obj = {}; obj.length = -0; obj.shift = Array.prototype.shift; obj.shift(); obj.length === 0. Actual: ' + (obj.length));
} else {
@@ -54,26 +48,22 @@ if (obj.length !== 0) {
}
}
-//CHECK#9
obj.length = 0.5;
var shift = obj.shift();
if (shift !== undefined) {
throw new Test262Error('#9: var obj = {}; obj.length = 0.5; obj.shift = Array.prototype.shift; obj.shift() === undefined. Actual: ' + (shift));
}
-//CHECK#10
if (obj.length !== 0) {
throw new Test262Error('#10: var obj = {}; obj.length = 0.5; obj.shift = Array.prototype.shift; obj.shift(); obj.length === 0. Actual: ' + (obj.length));
}
-//CHECK#11
obj.length = new Number(0);
var shift = obj.shift();
if (shift !== undefined) {
throw new Test262Error('#11: var obj = {}; obj.length = new Number(0); obj.shift = Array.prototype.shift; obj.shift() === undefined. Actual: ' + (shift));
}
-//CHECK#12
if (obj.length !== 0) {
throw new Test262Error('#12: var obj = {}; obj.length = new Number(0); obj.shift = Array.prototype.shift; obj.shift(); obj.length === 0. Actual: ' + (obj.length));
}
diff --git a/js/src/tests/test262/built-ins/Array/prototype/shift/S15.4.4.9_A2_T3.js b/js/src/tests/test262/built-ins/Array/prototype/shift/S15.4.4.9_A2_T3.js
index 2862d841d851..13d371b6eecc 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/shift/S15.4.4.9_A2_T3.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/shift/S15.4.4.9_A2_T3.js
@@ -14,26 +14,22 @@ description: >
var obj = {};
obj.shift = Array.prototype.shift;
-//CHECK#1
obj.length = 2.5;
var shift = obj.shift();
if (shift !== undefined) {
throw new Test262Error('#1: var obj = {}; obj.length = 2.5; obj.shift = Array.prototype.shift; obj.shift() === undefined. Actual: ' + (shift));
}
-//CHECK#2
if (obj.length !== 1) {
throw new Test262Error('#2: var obj = {}; obj.length = 2.5; obj.shift = Array.prototype.shift; obj.shift(); obj.length === 1. Actual: ' + (obj.length));
}
-//CHECK#3
obj.length = new Number(2);
var shift = obj.shift();
if (shift !== undefined) {
throw new Test262Error('#11: var obj = {}; obj.length = new Number(2); obj.shift = Array.prototype.shift; obj.shift() === undefined. Actual: ' + (shift));
}
-//CHECK#3
if (obj.length !== 1) {
throw new Test262Error('#12: var obj = {}; obj.length = new Number(2); obj.shift = Array.prototype.shift; obj.shift(); obj.length === 1. Actual: ' + (obj.length));
}
diff --git a/js/src/tests/test262/built-ins/Array/prototype/shift/S15.4.4.9_A2_T4.js b/js/src/tests/test262/built-ins/Array/prototype/shift/S15.4.4.9_A2_T4.js
index 8a777ce2d39c..1f315396cd11 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/shift/S15.4.4.9_A2_T4.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/shift/S15.4.4.9_A2_T4.js
@@ -16,37 +16,31 @@ obj["0"] = 0;
obj["3"] = 3;
obj.shift = Array.prototype.shift;
-//CHECK#1
obj.length = 4;
var shift = obj.shift();
if (shift !== 0) {
throw new Test262Error('#1: var obj = {}; obj["0"] = 0; obj["3"] = 3; obj.length = 4; obj.shift = Array.prototype.shift; obj.shift() === 0. Actual: ' + (shift));
}
-//CHECK#2
if (obj.length !== 3) {
throw new Test262Error('#2: var obj = {}; obj["0"] = 0; obj["3"] = 3; obj.length = 4; obj.shift = Array.prototype.shift; obj.shift(); obj.length === 3. Actual: ' + (obj.length));
}
-//CHECK#3
var shift = obj.shift();
if (shift !== undefined) {
throw new Test262Error('#3: var obj = {}; obj["0"] = 0; obj["3"] = 3; obj.length = 4; obj.shift = Array.prototype.shift; obj.shift(); obj.shift() === undefined. Actual: ' + (shift));
}
-//CHECK#4
if (obj.length !== 2) {
throw new Test262Error('#4: var obj = {}; obj["0"] = 0; obj["3"] = 3; obj.length = 4; obj.shift = Array.prototype.shift; obj.shift(); obj.shift(); obj.length === 2. Actual: ' + (obj.length));
}
-//CHECK#5
obj.length = 1;
var shift = obj.shift();
if (shift !== undefined) {
throw new Test262Error('#5: var obj = {}; obj["0"] = 0; obj["3"] = 3; obj.length = 4; obj.shift = Array.prototype.shift; obj.shift(); obj.shift(); obj.length = 1; obj.shift() === undefined. Actual: ' + (shift));
}
-//CHECK#6
if (obj.length !== 0) {
throw new Test262Error('#6: var obj = {}; obj["0"] = 0; obj["3"] = 3; obj.length = 4; obj.shift = Array.prototype.shift; obj.shift(); obj.shift(); obj.length = 1; obj.shift(); obj.length === 0. Actual: ' + (obj.length));
}
diff --git a/js/src/tests/test262/built-ins/Array/prototype/shift/S15.4.4.9_A2_T5.js b/js/src/tests/test262/built-ins/Array/prototype/shift/S15.4.4.9_A2_T5.js
index 916b27c89cf5..76b01bbe576d 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/shift/S15.4.4.9_A2_T5.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/shift/S15.4.4.9_A2_T5.js
@@ -14,137 +14,113 @@ description: >
var obj = {};
obj.shift = Array.prototype.shift;
-//CHECK#1
obj[0] = -1;
obj.length = {
- valueOf: function() {
+ valueOf() {
return 1
}
};
var shift = obj.shift();
-if (shift !== -1) {
- throw new Test262Error('#1: obj[0] = -1; obj.length = {valueOf: function() {return 1}} obj.shift() === -1. Actual: ' + (shift));
-}
+assert.sameValue(shift, -1, 'The value of shift is expected to be -1');
-//CHECK#2
obj[0] = -1;
obj.length = {
- valueOf: function() {
+ valueOf() {
return 1
},
- toString: function() {
+ toString() {
return 0
}
};
var shift = obj.shift();
-if (shift !== -1) {
- throw new Test262Error('#0: obj[0] = -1; obj.length = {valueOf: function() {return 1}, toString: function() {return 0}} obj.shift() === -1. Actual: ' + (shift));
-}
+assert.sameValue(shift, -1, 'The value of shift is expected to be -1');
-//CHECK#3
obj[0] = -1;
obj.length = {
- valueOf: function() {
+ valueOf() {
return 1
},
- toString: function() {
+ toString() {
return {}
}
};
var shift = obj.shift();
-if (shift !== -1) {
- throw new Test262Error('#3: obj[0] = -1; obj.length = {valueOf: function() {return 1}, toString: function() {return {}}} obj.shift() === -1. Actual: ' + (shift));
-}
+assert.sameValue(shift, -1, 'The value of shift is expected to be -1');
-//CHECK#4
try {
obj[0] = -1;
obj.length = {
- valueOf: function() {
+ valueOf() {
return 1
},
- toString: function() {
+ toString() {
throw "error"
}
};
var shift = obj.shift();
- if (shift !== -1) {
- throw new Test262Error('#4.1: obj[0] = -1; obj.length = {valueOf: function() {return 1}, toString: function() {throw "error"}}; obj.shift() === ",". Actual: ' + (shift));
- }
+ assert.sameValue(shift, -1, 'The value of shift is expected to be -1');
}
catch (e) {
- if (e === "error") {
- throw new Test262Error('#4.2: obj[0] = -1; obj.length = {valueOf: function() {return 1}, toString: function() {throw "error"}}; obj.shift() not throw "error"');
- } else {
- throw new Test262Error('#4.3: obj[0] = -1; obj.length = {valueOf: function() {return 1}, toString: function() {throw "error"}}; obj.shift() not throw Error. Actual: ' + (e));
- }
+ assert.notSameValue(e, "error", 'The value of e is not "error"');
}
-//CHECK#5
obj[0] = -1;
obj.length = {
- toString: function() {
+ toString() {
return 0
}
};
var shift = obj.shift();
-if (shift !== undefined) {
- throw new Test262Error('#5: obj[0] = -1; obj.length = {toString: function() {return 0}} obj.shift() === undefined. Actual: ' + (shift));
-}
+assert.sameValue(shift, undefined, 'The value of shift is expected to equal undefined');
-//CHECK#6
obj[0] = -1;
obj.length = {
- valueOf: function() {
+ valueOf() {
return {}
},
- toString: function() {
+ toString() {
return 0
}
}
var shift = obj.shift();
-if (shift !== undefined) {
- throw new Test262Error('#6: obj[0] = -1; obj.length = {valueOf: function() {return {}}, toString: function() {return 0}} obj.shift() === undefined. Actual: ' + (shift));
-}
+assert.sameValue(shift, undefined, 'The value of shift is expected to equal undefined');
-//CHECK#7
try {
obj[0] = -1;
obj.length = {
- valueOf: function() {
+ valueOf() {
throw "error"
},
- toString: function() {
+ toString() {
return 0
}
};
var shift = obj.shift();
- throw new Test262Error('#7.1: obj[0] = -1; obj.length = {valueOf: function() {throw "error"}, toString: function() {return 0}}; obj.shift() throw "error". Actual: ' + (shift));
+ throw new Test262Error('#7.1: obj[0] = -1; obj.length = {valueOf() {throw "error"}, toString() {return 0}}; obj.shift() throw "error". Actual: ' + (shift));
}
catch (e) {
- if (e !== "error") {
- throw new Test262Error('#7.2: obj[0] = -1; obj.length = {valueOf: function() {throw "error"}, toString: function() {return 0}}; obj.shift() throw "error". Actual: ' + (e));
- }
+ assert.sameValue(e, "error", 'The value of e is expected to be "error"');
}
-//CHECK#8
try {
obj[0] = -1;
obj.length = {
- valueOf: function() {
+ valueOf() {
return {}
},
- toString: function() {
+ toString() {
return {}
}
};
var shift = obj.shift();
- throw new Test262Error('#8.1: obj[0] = -1; obj.length = {valueOf: function() {return {}}, toString: function() {return {}}} obj.shift() throw TypeError. Actual: ' + (shift));
+ throw new Test262Error('#8.1: obj[0] = -1; obj.length = {valueOf() {return {}}, toString() {return {}}} obj.shift() throw TypeError. Actual: ' + (shift));
}
catch (e) {
- if ((e instanceof TypeError) !== true) {
- throw new Test262Error('#8.2: obj[0] = -1; obj.length = {valueOf: function() {return {}}, toString: function() {return {}}} obj.shift() throw TypeError. Actual: ' + (e));
- }
+ assert.sameValue(
+ e instanceof TypeError,
+ true,
+ 'The result of evaluating (e instanceof TypeError) is expected to be true'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Array/prototype/shift/S15.4.4.9_A3_T3.js b/js/src/tests/test262/built-ins/Array/prototype/shift/S15.4.4.9_A3_T3.js
index c4f3a9e08020..70d9a86cd0cd 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/shift/S15.4.4.9_A3_T3.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/shift/S15.4.4.9_A3_T3.js
@@ -13,23 +13,19 @@ obj[0] = "x";
obj[1] = "y";
obj.length = -4294967294;
-//CHECK#1
var shift = obj.shift();
if (shift !== undefined) {
throw new Test262Error('#1: var obj = {}; obj.shift = Array.prototype.shift; obj[0] = "x"; obj[1] = "y"; obj.length = -4294967294; obj.shift() === undefined. Actual: ' + (shift));
}
-//CHECK#2
if (obj.length !== 0) {
throw new Test262Error('#2: var obj = {}; obj.shift = Array.prototype.shift; obj[0] = "x"; obj[1] = "y"; obj.length = -4294967294; obj.shift(); obj.length === 0. Actual: ' + (obj.length));
}
-//CHECK#3
if (obj[0] !== "x") {
throw new Test262Error('#3: var obj = {}; obj.shift = Array.prototype.shift; obj[0] = "x"; obj[1] = "y"; obj.length = -4294967294; obj.shift(); obj[0] === "x". Actual: ' + (obj[0]));
}
-//CHECK#4
if (obj[1] !== "y") {
throw new Test262Error('#4: var obj = {}; obj.shift = Array.prototype.shift; obj[0] = "x" obj[1] = "y"; obj.length = -4294967294; obj.shift(); obj[1] === "y". Actual: ' + (obj[1]));
}
diff --git a/js/src/tests/test262/built-ins/Array/prototype/shift/S15.4.4.9_A4_T1.js b/js/src/tests/test262/built-ins/Array/prototype/shift/S15.4.4.9_A4_T1.js
index 0cc52648bd01..8865e88e73f3 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/shift/S15.4.4.9_A4_T1.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/shift/S15.4.4.9_A4_T1.js
@@ -13,18 +13,15 @@ Array.prototype[1] = 1;
var x = [0];
x.length = 2;
-//CHECK#1
var shift = x.shift();
if (shift !== 0) {
throw new Test262Error('#1: Array.prototype[1] = 1; x = [0]; x.length = 2; x.shift() === 0. Actual: ' + (shift));
}
-//CHECK#2
if (x[0] !== 1) {
throw new Test262Error('#2: Array.prototype[1] = 1; x = [0]; x.length = 2; x.shift(); x[0] === 1. Actual: ' + (x[0]));
}
-//CHECK#3
if (x[1] !== 1) {
throw new Test262Error('#3: Array.prototype[1] = 1; x = [0]; x.length = 2; x.shift(); x[1] === 1. Actual: ' + (x[1]));
}
@@ -36,28 +33,23 @@ x = {
0: 0
};
-//CHECK#4
var shift = x.shift();
if (shift !== 0) {
throw new Test262Error('#4: Object.prototype[1] = 1; Object.prototype.length = 2; Object.prototype.shift = Array.prototype.shift; x = {0:0}; x.shift() === 0. Actual: ' + (shift));
}
-//CHECK#5
if (x[0] !== 1) {
throw new Test262Error('#5: Object.prototype[1] = 1; Object.prototype.length = 2; Object.prototype.shift = Array.prototype.shift; x = {0:0}; x.shift(); x[0] === 1. Actual: ' + (x[0]));
}
-//CHECK#6
if (x[1] !== 1) {
throw new Test262Error('#6: Object.prototype[1] = 1; Object.prototype.length = 2; Object.prototype.shift = Array.prototype.shift; x = {0:0}; x.shift(); x[1] === 1. Actual: ' + (x[1]));
}
-//CHECK#7
if (x.length !== 1) {
throw new Test262Error('#7: Object.prototype[1] = 1; Object.prototype.length = 2; Object.prototype.shift = Array.prototype.shift; x = {0:0}; x.shift(); x.length === 1. Actual: ' + (x.length));
}
-//CHECK#8
delete x.length;
if (x.length !== 2) {
throw new Test262Error('#8: Object.prototype[1] = 1; Object.prototype.length = 2; Object.prototype.shift = Array.prototype.shift; x = {0:0}; x.shift(); delete x; x.length === 2. Actual: ' + (x.length));
diff --git a/js/src/tests/test262/built-ins/Array/prototype/shift/S15.4.4.9_A4_T2.js b/js/src/tests/test262/built-ins/Array/prototype/shift/S15.4.4.9_A4_T2.js
index 34614cb643c9..def860e1777f 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/shift/S15.4.4.9_A4_T2.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/shift/S15.4.4.9_A4_T2.js
@@ -13,18 +13,15 @@ Array.prototype[1] = -1;
var x = [0, 1];
x.length = 2;
-//CHECK#1
var shift = x.shift();
if (shift !== 0) {
throw new Test262Error('#1: Array.prototype[1] = -1; x = [0,1]; x.length = 2; x.shift() === 0. Actual: ' + (shift));
}
-//CHECK#2
if (x[0] !== 1) {
throw new Test262Error('#2: Array.prototype[1] = -1; x = [0,1]; x.length = 2; x.shift(); x[0] === 1. Actual: ' + (x[0]));
}
-//CHECK#3
if (x[1] !== -1) {
throw new Test262Error('#3: Array.prototype[1] = -1; x = [0,1]; x.length = 2; x.shift(); x[1] === -1. Actual: ' + (x[1]));
}
@@ -37,28 +34,23 @@ x = {
1: 1
};
-//CHECK#4
var shift = x.shift();
if (shift !== 0) {
throw new Test262Error('#4: Object.prototype[1] = -1; Object.prototype.length = 2; Object.prototype.shift = Array.prototype.shift; x = {0:0,1:1}; x.shift() === 0. Actual: ' + (shift));
}
-//CHECK#5
if (x[0] !== 1) {
throw new Test262Error('#5: Object.prototype[1] = -1; Object.prototype.length = 2; Object.prototype.shift = Array.prototype.shift; x = {0:0,1:1}; x.shift(); x[0] === 1. Actual: ' + (x[0]));
}
-//CHECK#6
if (x[1] !== -1) {
throw new Test262Error('#6: Object.prototype[1] = -1; Object.prototype.length = 2; Object.prototype.shift = Array.prototype.shift; x = {0:0,1:1}; x.shift(); x[1] === -1. Actual: ' + (x[1]));
}
-//CHECK#7
if (x.length !== 1) {
throw new Test262Error('#7: Object.prototype[1] = -1; Object.prototype.length = 2; Object.prototype.shift = Array.prototype.shift; x = {0:0,1:1}; x.shift(); x.length === 1. Actual: ' + (x.length));
}
-//CHECK#8
delete x.length;
if (x.length !== 2) {
throw new Test262Error('#8: Object.prototype[1] = -1; Object.prototype.length = 2; Object.prototype.shift = Array.prototype.shift; x = {0:0,1:1}; x.shift(); delete x; x.length === 2. Actual: ' + (x.length));
diff --git a/js/src/tests/test262/built-ins/Array/prototype/shift/S15.4.4.9_A5.7.js b/js/src/tests/test262/built-ins/Array/prototype/shift/S15.4.4.9_A5.7.js
deleted file mode 100644
index af2e5aeda191..000000000000
--- a/js/src/tests/test262/built-ins/Array/prototype/shift/S15.4.4.9_A5.7.js
+++ /dev/null
@@ -1,23 +0,0 @@
-// Copyright 2009 the Sputnik authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-info: The shift property of Array can't be used as constructor
-esid: sec-array.prototype.shift
-description: >
- If property does not implement the internal [[Construct]] method,
- throw a TypeError exception
----*/
-
-//CHECK#1
-
-try {
- new Array.prototype.shift();
- throw new Test262Error('#1.1: new Array.prototype.shift() throw TypeError. Actual: ' + (new Array.prototype.shift()));
-} catch (e) {
- if ((e instanceof TypeError) !== true) {
- throw new Test262Error('#1.2: new Array.prototype.shift() throw TypeError. Actual: ' + (e));
- }
-}
-
-reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Array/prototype/shift/set-length-array-is-frozen.js b/js/src/tests/test262/built-ins/Array/prototype/shift/set-length-array-is-frozen.js
new file mode 100644
index 000000000000..30064e098dce
--- /dev/null
+++ b/js/src/tests/test262/built-ins/Array/prototype/shift/set-length-array-is-frozen.js
@@ -0,0 +1,45 @@
+// Copyright (C) 2022 Apple Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-array.prototype.shift
+description: >
+ A TypeError is thrown when "length" is [[Set]] on a frozen array.
+info: |
+ Array.prototype.shift ( )
+
+ [...]
+ 4. Let first be ? Get(O, "0").
+ [...]
+ 8. Perform ? Set(O, "length", 𝔽(len - 1), true).
+
+ OrdinarySetWithOwnDescriptor ( O, P, V, Receiver, ownDesc )
+
+ [...]
+ 2. If IsDataDescriptor(ownDesc) is true, then
+ a. If ownDesc.[[Writable]] is false, return false.
+
+ Set ( O, P, V, Throw )
+
+ [...]
+ 1. Let success be ? O.[[Set]](P, V, O).
+ 2. If success is false and Throw is true, throw a TypeError exception.
+---*/
+
+var array = new Array(1);
+var arrayPrototypeGet0Calls = 0;
+
+Object.defineProperty(Array.prototype, "0", {
+ get() {
+ Object.freeze(array);
+ arrayPrototypeGet0Calls++;
+ },
+});
+
+assert.throws(TypeError, function() {
+ array.shift();
+});
+
+assert.sameValue(array.length, 1);
+assert.sameValue(arrayPrototypeGet0Calls, 1);
+
+reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Array/prototype/shift/set-length-array-length-is-non-writable.js b/js/src/tests/test262/built-ins/Array/prototype/shift/set-length-array-length-is-non-writable.js
new file mode 100644
index 000000000000..2094475bd9af
--- /dev/null
+++ b/js/src/tests/test262/built-ins/Array/prototype/shift/set-length-array-length-is-non-writable.js
@@ -0,0 +1,45 @@
+// Copyright (C) 2022 Apple Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-array.prototype.shift
+description: >
+ A TypeError is thrown when "length" is [[Set]] on an array with non-writable "length".
+info: |
+ Array.prototype.shift ( )
+
+ [...]
+ 4. Let first be ? Get(O, "0").
+ [...]
+ 8. Perform ? Set(O, "length", 𝔽(len - 1), true).
+
+ OrdinarySetWithOwnDescriptor ( O, P, V, Receiver, ownDesc )
+
+ [...]
+ 2. If IsDataDescriptor(ownDesc) is true, then
+ a. If ownDesc.[[Writable]] is false, return false.
+
+ Set ( O, P, V, Throw )
+
+ [...]
+ 1. Let success be ? O.[[Set]](P, V, O).
+ 2. If success is false and Throw is true, throw a TypeError exception.
+---*/
+
+var array = new Array(1);
+var arrayPrototypeGet0Calls = 0;
+
+Object.defineProperty(Array.prototype, "0", {
+ get() {
+ Object.defineProperty(array, "length", { writable: false });
+ arrayPrototypeGet0Calls++;
+ },
+});
+
+assert.throws(TypeError, function() {
+ array.shift();
+});
+
+assert.sameValue(array.length, 1);
+assert.sameValue(arrayPrototypeGet0Calls, 1);
+
+reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Array/prototype/shift/set-length-zero-array-is-frozen.js b/js/src/tests/test262/built-ins/Array/prototype/shift/set-length-zero-array-is-frozen.js
new file mode 100644
index 000000000000..6e5a16be2dff
--- /dev/null
+++ b/js/src/tests/test262/built-ins/Array/prototype/shift/set-length-zero-array-is-frozen.js
@@ -0,0 +1,34 @@
+// Copyright (C) 2022 Apple Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-array.prototype.shift
+description: >
+ A TypeError is thrown when "length" is [[Set]] on an empty frozen array.
+info: |
+ Array.prototype.shift ( )
+
+ [...]
+ 3. If len = 0, then
+ a. Perform ? Set(O, "length", +0𝔽, true).
+
+ OrdinarySetWithOwnDescriptor ( O, P, V, Receiver, ownDesc )
+
+ [...]
+ 2. If IsDataDescriptor(ownDesc) is true, then
+ a. If ownDesc.[[Writable]] is false, return false.
+
+ Set ( O, P, V, Throw )
+
+ [...]
+ 1. Let success be ? O.[[Set]](P, V, O).
+ 2. If success is false and Throw is true, throw a TypeError exception.
+---*/
+
+var array = [];
+Object.freeze(array);
+
+assert.throws(TypeError, function() {
+ array.shift();
+});
+
+reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Array/prototype/shift/set-length-zero-array-length-is-non-writable.js b/js/src/tests/test262/built-ins/Array/prototype/shift/set-length-zero-array-length-is-non-writable.js
new file mode 100644
index 000000000000..d7ee7f8f6e45
--- /dev/null
+++ b/js/src/tests/test262/built-ins/Array/prototype/shift/set-length-zero-array-length-is-non-writable.js
@@ -0,0 +1,34 @@
+// Copyright (C) 2022 Apple Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-array.prototype.shift
+description: >
+ A TypeError is thrown when "length" is [[Set]] on an empty array with non-writable "length".
+info: |
+ Array.prototype.shift ( )
+
+ [...]
+ 3. If len = 0, then
+ a. Perform ? Set(O, "length", +0𝔽, true).
+
+ OrdinarySetWithOwnDescriptor ( O, P, V, Receiver, ownDesc )
+
+ [...]
+ 2. If IsDataDescriptor(ownDesc) is true, then
+ a. If ownDesc.[[Writable]] is false, return false.
+
+ Set ( O, P, V, Throw )
+
+ [...]
+ 1. Let success be ? O.[[Set]](P, V, O).
+ 2. If success is false and Throw is true, throw a TypeError exception.
+---*/
+
+var array = [];
+Object.defineProperty(array, "length", { writable: false });
+
+assert.throws(TypeError, function() {
+ array.shift();
+});
+
+reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Array/prototype/slice/S15.4.4.10_A1.1_T1.js b/js/src/tests/test262/built-ins/Array/prototype/slice/S15.4.4.10_A1.1_T1.js
index c62a6fb40f04..08b9e8f6ea60 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/slice/S15.4.4.10_A1.1_T1.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/slice/S15.4.4.10_A1.1_T1.js
@@ -12,33 +12,27 @@ description: length > end > start = 0
var x = [0, 1, 2, 3, 4];
var arr = x.slice(0, 3);
-//CHECK#1
arr.getClass = Object.prototype.toString;
if (arr.getClass() !== "[object " + "Array" + "]") {
throw new Test262Error('#1: var x = [0,1,2,3,4]; var arr = x.slice(0,3); arr is Array object. Actual: ' + (arr.getClass()));
}
-//CHECK#2
if (arr.length !== 3) {
throw new Test262Error('#2: var x = [0,1,2,3,4]; var arr = x.slice(0,3); arr.length === 3. Actual: ' + (arr.length));
}
-//CHECK#3
if (arr[0] !== 0) {
throw new Test262Error('#3: var x = [0,1,2,3,4]; var arr = x.slice(0,3); arr[0] === 0. Actual: ' + (arr[0]));
}
-//CHECK#4
if (arr[1] !== 1) {
throw new Test262Error('#4: var x = [0,1,2,3,4]; var arr = x.slice(0,3); arr[1] === 1. Actual: ' + (arr[1]));
}
-//CHECK#5
if (arr[2] !== 2) {
throw new Test262Error('#5: var x = [0,1,2,3,4]; var arr = x.slice(0,3); arr[2] === 2. Actual: ' + (arr[2]));
}
-//CHECK#6
if (arr[3] !== undefined) {
throw new Test262Error('#6: var x = [0,1,2,3,4]; var arr = x.slice(0,3); arr[3] === undefined. Actual: ' + (arr[3]));
}
diff --git a/js/src/tests/test262/built-ins/Array/prototype/slice/S15.4.4.10_A1.1_T2.js b/js/src/tests/test262/built-ins/Array/prototype/slice/S15.4.4.10_A1.1_T2.js
index fc353c665876..e2ad4f11030c 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/slice/S15.4.4.10_A1.1_T2.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/slice/S15.4.4.10_A1.1_T2.js
@@ -12,18 +12,15 @@ description: length > end = start > 0
var x = [0, 1, 2, 3, 4];
var arr = x.slice(3, 3);
-//CHECK#1
arr.getClass = Object.prototype.toString;
if (arr.getClass() !== "[object " + "Array" + "]") {
throw new Test262Error('#1: var x = [0,1,2,3,4]; var arr = x.slice(3,3); arr is Array object. Actual: ' + (arr.getClass()));
}
-//CHECK#2
if (arr.length !== 0) {
throw new Test262Error('#2: var x = [0,1,2,3,4]; var arr = x.slice(3,3); arr.length === 0. Actual: ' + (arr.length));
}
-//CHECK#3
if (arr[0] !== undefined) {
throw new Test262Error('#3: var x = [0,1,2,3,4]; var arr = x.slice(3,3); arr[0] === undefined. Actual: ' + (arr[0]));
}
diff --git a/js/src/tests/test262/built-ins/Array/prototype/slice/S15.4.4.10_A1.1_T3.js b/js/src/tests/test262/built-ins/Array/prototype/slice/S15.4.4.10_A1.1_T3.js
index 785c21d19d29..098fe5df6adf 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/slice/S15.4.4.10_A1.1_T3.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/slice/S15.4.4.10_A1.1_T3.js
@@ -12,18 +12,15 @@ description: length > start > end > 0
var x = [0, 1, 2, 3, 4];
var arr = x.slice(4, 3);
-//CHECK#1
arr.getClass = Object.prototype.toString;
if (arr.getClass() !== "[object " + "Array" + "]") {
throw new Test262Error('#1: var x = [0,1,2,3,4]; var arr = x.slice(4,3); arr is Array object. Actual: ' + (arr.getClass()));
}
-//CHECK#2
if (arr.length !== 0) {
throw new Test262Error('#2: var x = [0,1,2,3,4]; var arr = x.slice(4,3); arr.length === 0. Actual: ' + (arr.length));
}
-//CHECK#3
if (arr[0] !== undefined) {
throw new Test262Error('#3: var x = [0,1,2,3,4]; var arr = x.slice(4,3); arr[0] === undefined. Actual: ' + (arr[0]));
}
diff --git a/js/src/tests/test262/built-ins/Array/prototype/slice/S15.4.4.10_A1.1_T4.js b/js/src/tests/test262/built-ins/Array/prototype/slice/S15.4.4.10_A1.1_T4.js
index 9aaeaba49608..2a60f0819c7a 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/slice/S15.4.4.10_A1.1_T4.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/slice/S15.4.4.10_A1.1_T4.js
@@ -12,18 +12,15 @@ description: length = end = start > 0
var x = [0, 1, 2, 3, 4];
var arr = x.slice(5, 5);
-//CHECK#1
arr.getClass = Object.prototype.toString;
if (arr.getClass() !== "[object " + "Array" + "]") {
throw new Test262Error('#1: var x = [0,1,2,3,4]; var arr = x.slice(5,5); arr is Array object. Actual: ' + (arr.getClass()));
}
-//CHECK#2
if (arr.length !== 0) {
throw new Test262Error('#2: var x = [0,1,2,3,4]; var arr = x.slice(5,5); arr.length === 0. Actual: ' + (arr.length));
}
-//CHECK#3
if (arr[0] !== undefined) {
throw new Test262Error('#3: var x = [0,1,2,3,4]; var arr = x.slice(5,5); arr[0] === undefined. Actual: ' + (arr[0]));
}
diff --git a/js/src/tests/test262/built-ins/Array/prototype/slice/S15.4.4.10_A1.1_T5.js b/js/src/tests/test262/built-ins/Array/prototype/slice/S15.4.4.10_A1.1_T5.js
index c79a7bd5b5a0..52276cb43146 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/slice/S15.4.4.10_A1.1_T5.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/slice/S15.4.4.10_A1.1_T5.js
@@ -12,28 +12,23 @@ description: length = end > start > 0
var x = [0, 1, 2, 3, 4];
var arr = x.slice(3, 5);
-//CHECK#1
arr.getClass = Object.prototype.toString;
if (arr.getClass() !== "[object " + "Array" + "]") {
throw new Test262Error('#1: var x = [0,1,2,3,4]; var arr = x.slice(3,5); arr is Array object. Actual: ' + (arr.getClass()));
}
-//CHECK#2
if (arr.length !== 2) {
throw new Test262Error('#2: var x = [0,1,2,3,4]; var arr = x.slice(3,5); arr.length === 2. Actual: ' + (arr.length));
}
-//CHECK#3
if (arr[0] !== 3) {
throw new Test262Error('#3: var x = [0,1,2,3,4]; var arr = x.slice(3,5); arr[0] === 3. Actual: ' + (arr[0]));
}
-//CHECK#4
if (arr[1] !== 4) {
throw new Test262Error('#4: var x = [0,1,2,3,4]; var arr = x.slice(3,5); arr[1] === 4. Actual: ' + (arr[1]));
}
-//CHECK#5
if (arr[3] !== undefined) {
throw new Test262Error('#5: var x = [0,1,2,3,4]; var arr = x.slice(3,5); arr[3] === undefined. Actual: ' + (arr[3]));
}
diff --git a/js/src/tests/test262/built-ins/Array/prototype/slice/S15.4.4.10_A1.1_T6.js b/js/src/tests/test262/built-ins/Array/prototype/slice/S15.4.4.10_A1.1_T6.js
index 90f85850e7f4..c33acf360c97 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/slice/S15.4.4.10_A1.1_T6.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/slice/S15.4.4.10_A1.1_T6.js
@@ -12,28 +12,23 @@ description: length > end > start > 0;
var x = [0, 1, 2, 3, 4];
var arr = x.slice(2, 4);
-//CHECK#1
arr.getClass = Object.prototype.toString;
if (arr.getClass() !== "[object " + "Array" + "]") {
throw new Test262Error('#1: var x = [0,1,2,3,4]; var arr = x.slice(2,4); arr is Array object. Actual: ' + (arr.getClass()));
}
-//CHECK#2
if (arr.length !== 2) {
throw new Test262Error('#2: var x = [0,1,2,3,4]; var arr = x.slice(2,4); arr.length === 2. Actual: ' + (arr.length));
}
-//CHECK#3
if (arr[0] !== 2) {
throw new Test262Error('#3: var x = [0,1,2,3,4]; var arr = x.slice(2,4); arr[0] === 2. Actual: ' + (arr[0]));
}
-//CHECK#4
if (arr[1] !== 3) {
throw new Test262Error('#4: var x = [0,1,2,3,4]; var arr = x.slice(2,4); arr[1] === 3. Actual: ' + (arr[1]));
}
-//CHECK#5
if (arr[3] !== undefined) {
throw new Test262Error('#5: var x = [0,1,2,3,4]; var arr = x.slice(2,4); arr[3] === undefined. Actual: ' + (arr[3]));
}
diff --git a/js/src/tests/test262/built-ins/Array/prototype/slice/S15.4.4.10_A1.1_T7.js b/js/src/tests/test262/built-ins/Array/prototype/slice/S15.4.4.10_A1.1_T7.js
index 935084943df2..608a2d1dfef2 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/slice/S15.4.4.10_A1.1_T7.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/slice/S15.4.4.10_A1.1_T7.js
@@ -12,28 +12,23 @@ description: end > length > start > 0
var x = [0, 1, 2, 3, 4];
var arr = x.slice(3, 6);
-//CHECK#1
arr.getClass = Object.prototype.toString;
if (arr.getClass() !== "[object " + "Array" + "]") {
throw new Test262Error('#1: var x = [0,1,2,3,4]; var arr = x.slice(3,6); arr is Array object. Actual: ' + (arr.getClass()));
}
-//CHECK#2
if (arr.length !== 2) {
throw new Test262Error('#2: var x = [0,1,2,3,4]; var arr = x.slice(3,6); arr.length === 2. Actual: ' + (arr.length));
}
-//CHECK#3
if (arr[0] !== 3) {
throw new Test262Error('#3: var x = [0,1,2,3,4]; var arr = x.slice(3,6); arr[0] === 3. Actual: ' + (arr[0]));
}
-//CHECK#4
if (arr[1] !== 4) {
throw new Test262Error('#4: var x = [0,1,2,3,4]; var arr = x.slice(3,6); arr[1] === 4. Actual: ' + (arr[1]));
}
-//CHECK#5
if (arr[3] !== undefined) {
throw new Test262Error('#5: var x = [0,1,2,3,4]; var arr = x.slice(3,6); arr[3] === undefined. Actual: ' + (arr[3]));
}
diff --git a/js/src/tests/test262/built-ins/Array/prototype/slice/S15.4.4.10_A1.2_T1.js b/js/src/tests/test262/built-ins/Array/prototype/slice/S15.4.4.10_A1.2_T1.js
index 484cc83f8bfe..cf4b16b79dc0 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/slice/S15.4.4.10_A1.2_T1.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/slice/S15.4.4.10_A1.2_T1.js
@@ -12,23 +12,19 @@ description: length > end = abs(start), start < 0
var x = [0, 1, 2, 3, 4];
var arr = x.slice(-3, 3);
-//CHECK#1
arr.getClass = Object.prototype.toString;
if (arr.getClass() !== "[object " + "Array" + "]") {
throw new Test262Error('#1: var x = [0,1,2,3,4]; var arr = x.slice(-3,3); arr is Array object. Actual: ' + (arr.getClass()));
}
-//CHECK#2
if (arr.length !== 1) {
throw new Test262Error('#2: var x = [0,1,2,3,4]; var arr = x.slice(-3,3); arr.length === 1. Actual: ' + (arr.length));
}
-//CHECK#3
if (arr[0] !== 2) {
throw new Test262Error('#3: var x = [0,1,2,3,4]; var arr = x.slice(-3,3); arr[0] === 2. Actual: ' + (arr[0]));
}
-//CHECK#4
if (arr[1] !== undefined) {
throw new Test262Error('#4: var x = [0,1,2,3,4]; var arr = x.slice(-3,3); arr[1] === undefined. Actual: ' + (arr[1]));
}
diff --git a/js/src/tests/test262/built-ins/Array/prototype/slice/S15.4.4.10_A1.2_T2.js b/js/src/tests/test262/built-ins/Array/prototype/slice/S15.4.4.10_A1.2_T2.js
index 565740523aa0..2c37d6d9b6c2 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/slice/S15.4.4.10_A1.2_T2.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/slice/S15.4.4.10_A1.2_T2.js
@@ -12,23 +12,19 @@ description: length = end > abs(start), start < 0
var x = [0, 1, 2, 3, 4];
var arr = x.slice(-1, 5);
-//CHECK#1
arr.getClass = Object.prototype.toString;
if (arr.getClass() !== "[object " + "Array" + "]") {
throw new Test262Error('#1: var x = [0,1,2,3,4]; var arr = x.slice(-1,5); arr is Array object. Actual: ' + (arr.getClass()));
}
-//CHECK#2
if (arr.length !== 1) {
throw new Test262Error('#2: var x = [0,1,2,3,4]; var arr = x.slice(-1,5); arr.length === 1. Actual: ' + (arr.length));
}
-//CHECK#3
if (arr[0] !== 4) {
throw new Test262Error('#3: var x = [0,1,2,3,4]; var arr = x.slice(-1,5); arr[0] === 4. Actual: ' + (arr[0]));
}
-//CHECK#4
if (arr[1] !== undefined) {
throw new Test262Error('#4: var x = [0,1,2,3,4]; var arr = x.slice(-1,5); arr[1] === undefined. Actual: ' + (arr[1]));
}
diff --git a/js/src/tests/test262/built-ins/Array/prototype/slice/S15.4.4.10_A1.2_T3.js b/js/src/tests/test262/built-ins/Array/prototype/slice/S15.4.4.10_A1.2_T3.js
index 9390a31d2758..dc5a28a18f39 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/slice/S15.4.4.10_A1.2_T3.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/slice/S15.4.4.10_A1.2_T3.js
@@ -12,23 +12,19 @@ description: abs(start) = length > end > 0, start < 0
var x = [0, 1, 2, 3, 4];
var arr = x.slice(-5, 1);
-//CHECK#1
arr.getClass = Object.prototype.toString;
if (arr.getClass() !== "[object " + "Array" + "]") {
throw new Test262Error('#1: var x = [0,1,2,3,4]; var arr = x.slice(-5,1); arr is Array object. Actual: ' + (arr.getClass()));
}
-//CHECK#2
if (arr.length !== 1) {
throw new Test262Error('#2: var x = [0,1,2,3,4]; var arr = x.slice(-5,1); arr.length === 1. Actual: ' + (arr.length));
}
-//CHECK#3
if (arr[0] !== 0) {
throw new Test262Error('#3: var x = [0,1,2,3,4]; var arr = x.slice(-5,1); arr[0] === 0. Actual: ' + (arr[0]));
}
-//CHECK#4
if (arr[1] !== undefined) {
throw new Test262Error('#4: var x = [0,1,2,3,4]; var arr = x.slice(-5,1); arr[1] === undefined. Actual: ' + (arr[1]));
}
diff --git a/js/src/tests/test262/built-ins/Array/prototype/slice/S15.4.4.10_A1.2_T4.js b/js/src/tests/test262/built-ins/Array/prototype/slice/S15.4.4.10_A1.2_T4.js
index ceaf7fdf7ad5..3cabccfb4669 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/slice/S15.4.4.10_A1.2_T4.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/slice/S15.4.4.10_A1.2_T4.js
@@ -12,43 +12,35 @@ description: abs(start) > length = end > 0, start < 0
var x = [0, 1, 2, 3, 4];
var arr = x.slice(-9, 5);
-//CHECK#1
arr.getClass = Object.prototype.toString;
if (arr.getClass() !== "[object " + "Array" + "]") {
throw new Test262Error('#1: var x = [0,1,2,3,4]; var arr = x.slice(-9,5); arr is Array object. Actual: ' + (arr.getClass()));
}
-//CHECK#2
if (arr.length !== 5) {
throw new Test262Error('#2: var x = [0,1,2,3,4]; var arr = x.slice(-9,5); arr.length === 5. Actual: ' + (arr.length));
}
-//CHECK#3
if (arr[0] !== 0) {
throw new Test262Error('#3: var x = [0,1,2,3,4]; var arr = x.slice(-9,5); arr[0] === 0. Actual: ' + (arr[0]));
}
-//CHECK#4
if (arr[1] !== 1) {
throw new Test262Error('#4: var x = [0,1,2,3,4]; var arr = x.slice(-9,5); arr[1] === 1. Actual: ' + (arr[1]));
}
-//CHECK#5
if (arr[2] !== 2) {
throw new Test262Error('#5: var x = [0,1,2,3,4]; var arr = x.slice(-9,5); arr[2] === 2. Actual: ' + (arr[2]));
}
-//CHECK#6
if (arr[3] !== 3) {
throw new Test262Error('#6: var x = [0,1,2,3,4]; var arr = x.slice(-9,5); arr[3] === 3. Actual: ' + (arr[3]));
}
-//CHECK#7
if (arr[4] !== 4) {
throw new Test262Error('#7: var x = [0,1,2,3,4]; var arr = x.slice(-9,5); arr[4] === 4. Actual: ' + (arr[4]));
}
-//CHECK#8
if (arr[5] !== undefined) {
throw new Test262Error('#8: var x = [0,1,2,3,4]; var arr = x.slice(-9,5); arr[5] === undefined. Actual: ' + (arr[5]));
}
diff --git a/js/src/tests/test262/built-ins/Array/prototype/slice/S15.4.4.10_A1.3_T1.js b/js/src/tests/test262/built-ins/Array/prototype/slice/S15.4.4.10_A1.3_T1.js
index 3a6ef180a1fd..8ba48c3fbf1c 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/slice/S15.4.4.10_A1.3_T1.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/slice/S15.4.4.10_A1.3_T1.js
@@ -12,33 +12,27 @@ description: length > abs(end) > start = 0, end < 0
var x = [0, 1, 2, 3, 4];
var arr = x.slice(0, -2);
-//CHECK#1
arr.getClass = Object.prototype.toString;
if (arr.getClass() !== "[object " + "Array" + "]") {
throw new Test262Error('#1: var x = [0,1,2,3,4]; var arr = x.slice(0,-2); arr is Array object. Actual: ' + (arr.getClass()));
}
-//CHECK#2
if (arr.length !== 3) {
throw new Test262Error('#2: var x = [0,1,2,3,4]; var arr = x.slice(0,-2); arr.length === 3. Actual: ' + (arr.length));
}
-//CHECK#3
if (arr[0] !== 0) {
throw new Test262Error('#3: var x = [0,1,2,3,4]; var arr = x.slice(0,-2); arr[0] === 0. Actual: ' + (arr[0]));
}
-//CHECK#4
if (arr[1] !== 1) {
throw new Test262Error('#4: var x = [0,1,2,3,4]; var arr = x.slice(0,-2); arr[1] === 1. Actual: ' + (arr[1]));
}
-//CHECK#5
if (arr[2] !== 2) {
throw new Test262Error('#5: var x = [0,1,2,3,4]; var arr = x.slice(0,-2); arr[2] === 2. Actual: ' + (arr[2]));
}
-//CHECK#6
if (arr[3] !== undefined) {
throw new Test262Error('#6: var x = [0,1,2,3,4]; var arr = x.slice(0,-2); arr[3] === undefined. Actual: ' + (arr[3]));
}
diff --git a/js/src/tests/test262/built-ins/Array/prototype/slice/S15.4.4.10_A1.3_T2.js b/js/src/tests/test262/built-ins/Array/prototype/slice/S15.4.4.10_A1.3_T2.js
index 6d583123f683..d9cd34fae4a9 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/slice/S15.4.4.10_A1.3_T2.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/slice/S15.4.4.10_A1.3_T2.js
@@ -12,18 +12,15 @@ description: length > abs(end) > start > 0, end < 0
var x = [0, 1, 2, 3, 4];
var arr = x.slice(1, -4);
-//CHECK#1
arr.getClass = Object.prototype.toString;
if (arr.getClass() !== "[object " + "Array" + "]") {
throw new Test262Error('#1: var x = [0,1,2,3,4]; var arr = x.slice(1,-4); arr is Array object. Actual: ' + (arr.getClass()));
}
-//CHECK#2
if (arr.length !== 0) {
throw new Test262Error('#2: var x = [0,1,2,3,4]; var arr = x.slice(1,-4); arr.length === 0. Actual: ' + (arr.length));
}
-//CHECK#3
if (arr[0] !== undefined) {
throw new Test262Error('#3: var x = [0,1,2,3,4]; var arr = x.slice(1,-4); arr[0] === undefined. Actual: ' + (arr[0]));
}
diff --git a/js/src/tests/test262/built-ins/Array/prototype/slice/S15.4.4.10_A1.3_T3.js b/js/src/tests/test262/built-ins/Array/prototype/slice/S15.4.4.10_A1.3_T3.js
index 7820564d8313..cee2aa722a78 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/slice/S15.4.4.10_A1.3_T3.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/slice/S15.4.4.10_A1.3_T3.js
@@ -12,18 +12,15 @@ description: length = abs(end) > start = 0, end < 0
var x = [0, 1, 2, 3, 4];
var arr = x.slice(0, -5);
-//CHECK#1
arr.getClass = Object.prototype.toString;
if (arr.getClass() !== "[object " + "Array" + "]") {
throw new Test262Error('#1: var x = [0,1,2,3,4]; var arr = x.slice(0,-5); arr is Array object. Actual: ' + (arr.getClass()));
}
-//CHECK#2
if (arr.length !== 0) {
throw new Test262Error('#2: var x = [0,1,2,3,4]; var arr = x.slice(0,-5); arr.length === 0. Actual: ' + (arr.length));
}
-//CHECK#3
if (arr[0] !== undefined) {
throw new Test262Error('#3: var x = [0,1,2,3,4]; var arr = x.slice(0,-5); arr[0] === undefined. Actual: ' + (arr[0]));
}
diff --git a/js/src/tests/test262/built-ins/Array/prototype/slice/S15.4.4.10_A1.3_T4.js b/js/src/tests/test262/built-ins/Array/prototype/slice/S15.4.4.10_A1.3_T4.js
index df9352898cc9..b8e5c2de02db 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/slice/S15.4.4.10_A1.3_T4.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/slice/S15.4.4.10_A1.3_T4.js
@@ -12,18 +12,15 @@ description: abs(end) > length > start > 0, end < 0
var x = [0, 1, 2, 3, 4];
var arr = x.slice(4, -9);
-//CHECK#1
arr.getClass = Object.prototype.toString;
if (arr.getClass() !== "[object " + "Array" + "]") {
throw new Test262Error('#1: var x = [0,1,2,3,4]; var arr = x.slice(4,-9); arr is Array object. Actual: ' + (arr.getClass()));
}
-//CHECK#2
if (arr.length !== 0) {
throw new Test262Error('#2: var x = [0,1,2,3,4]; var arr = x.slice(4,-9); arr.length === 0. Actual: ' + (arr.length));
}
-//CHECK#3
if (arr[0] !== undefined) {
throw new Test262Error('#3: var x = [0,1,2,3,4]; var arr = x.slice(4,-9); arr[0] === undefined. Actual: ' + (arr[0]));
}
diff --git a/js/src/tests/test262/built-ins/Array/prototype/slice/S15.4.4.10_A1.4_T1.js b/js/src/tests/test262/built-ins/Array/prototype/slice/S15.4.4.10_A1.4_T1.js
index f2a7fb7f1946..4d3497d8c367 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/slice/S15.4.4.10_A1.4_T1.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/slice/S15.4.4.10_A1.4_T1.js
@@ -12,33 +12,27 @@ description: -length = start < end < 0
var x = [0, 1, 2, 3, 4];
var arr = x.slice(-5, -2);
-//CHECK#1
arr.getClass = Object.prototype.toString;
if (arr.getClass() !== "[object " + "Array" + "]") {
throw new Test262Error('#1: var x = [0,1,2,3,4]; var arr = x.slice(-5,-2); arr is Array object. Actual: ' + (arr.getClass()));
}
-//CHECK#2
if (arr.length !== 3) {
throw new Test262Error('#2: var x = [0,1,2,3,4]; var arr = x.slice(-5,-2); arr.length === 3. Actual: ' + (arr.length));
}
-//CHECK#3
if (arr[0] !== 0) {
throw new Test262Error('#3: var x = [0,1,2,3,4]; var arr = x.slice(-5,-2); arr[0] === 0. Actual: ' + (arr[0]));
}
-//CHECK#4
if (arr[1] !== 1) {
throw new Test262Error('#4: var x = [0,1,2,3,4]; var arr = x.slice(-5,-2); arr[1] === 1. Actual: ' + (arr[1]));
}
-//CHECK#5
if (arr[2] !== 2) {
throw new Test262Error('#5: var x = [0,1,2,3,4]; var arr = x.slice(-5,-2); arr[2] === 2. Actual: ' + (arr[2]));
}
-//CHECK#6
if (arr[3] !== undefined) {
throw new Test262Error('#6: var x = [0,1,2,3,4]; var arr = x.slice(-5,-2); arr[3] === undefined. Actual: ' + (arr[3]));
}
diff --git a/js/src/tests/test262/built-ins/Array/prototype/slice/S15.4.4.10_A1.4_T2.js b/js/src/tests/test262/built-ins/Array/prototype/slice/S15.4.4.10_A1.4_T2.js
index 6b8b7578bee0..dc5edeb65b68 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/slice/S15.4.4.10_A1.4_T2.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/slice/S15.4.4.10_A1.4_T2.js
@@ -12,28 +12,23 @@ description: -length < start < end < 0
var x = [0, 1, 2, 3, 4];
var arr = x.slice(-3, -1);
-//CHECK#1
arr.getClass = Object.prototype.toString;
if (arr.getClass() !== "[object " + "Array" + "]") {
throw new Test262Error('#1: var x = [0,1,2,3,4]; var arr = x.slice(-3,-1); arr is Array object. Actual: ' + (arr.getClass()));
}
-//CHECK#2
if (arr.length !== 2) {
throw new Test262Error('#2: var x = [0,1,2,3,4]; var arr = x.slice(-3,-1); arr.length === 2. Actual: ' + (arr.length));
}
-//CHECK#3
if (arr[0] !== 2) {
throw new Test262Error('#3: var x = [0,1,2,3,4]; var arr = x.slice(-3,-1); arr[0] === 2. Actual: ' + (arr[0]));
}
-//CHECK#4
if (arr[1] !== 3) {
throw new Test262Error('#4: var x = [0,1,2,3,4]; var arr = x.slice(-3,-1); arr[1] === 3. Actual: ' + (arr[1]));
}
-//CHECK#5
if (arr[2] !== undefined) {
throw new Test262Error('#5: var x = [0,1,2,3,4]; var arr = x.slice(-3,-1); arr[2] === undefined. Actual: ' + (arr[2]));
}
diff --git a/js/src/tests/test262/built-ins/Array/prototype/slice/S15.4.4.10_A1.4_T3.js b/js/src/tests/test262/built-ins/Array/prototype/slice/S15.4.4.10_A1.4_T3.js
index be10bb9164df..2ad1794dc56a 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/slice/S15.4.4.10_A1.4_T3.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/slice/S15.4.4.10_A1.4_T3.js
@@ -12,38 +12,31 @@ description: start < -length < end < 0
var x = [0, 1, 2, 3, 4];
var arr = x.slice(-9, -1);
-//CHECK#1
arr.getClass = Object.prototype.toString;
if (arr.getClass() !== "[object " + "Array" + "]") {
throw new Test262Error('#1: var x = [0,1,2,3,4]; var arr = x.slice(-9,-1); arr is Array object. Actual: ' + (arr.getClass()));
}
-//CHECK#2
if (arr.length !== 4) {
throw new Test262Error('#2: var x = [0,1,2,3,4]; var arr = x.slice(-9,-1); arr.length === 4. Actual: ' + (arr.length));
}
-//CHECK#3
if (arr[0] !== 0) {
throw new Test262Error('#3: var x = [0,1,2,3,4]; var arr = x.slice(-9,-1); arr[0] === 0. Actual: ' + (arr[0]));
}
-//CHECK#4
if (arr[1] !== 1) {
throw new Test262Error('#4: var x = [0,1,2,3,4]; var arr = x.slice(-9,-1); arr[1] === 1. Actual: ' + (arr[1]));
}
-//CHECK#5
if (arr[2] !== 2) {
throw new Test262Error('#5: var x = [0,1,2,3,4]; var arr = x.slice(-9,-1); arr[2] === 2. Actual: ' + (arr[2]));
}
-//CHECK#6
if (arr[3] !== 3) {
throw new Test262Error('#6: var x = [0,1,2,3,4]; var arr = x.slice(-9,-1); arr[3] === 3. Actual: ' + (arr[3]));
}
-//CHECK#7
if (arr[4] !== undefined) {
throw new Test262Error('#7: var x = [0,1,2,3,4]; var arr = x.slice(-9,-1); arr[4] === undefined. Actual: ' + (arr[4]));
}
diff --git a/js/src/tests/test262/built-ins/Array/prototype/slice/S15.4.4.10_A1.4_T4.js b/js/src/tests/test262/built-ins/Array/prototype/slice/S15.4.4.10_A1.4_T4.js
index 3650c5556492..559654a7a682 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/slice/S15.4.4.10_A1.4_T4.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/slice/S15.4.4.10_A1.4_T4.js
@@ -12,18 +12,15 @@ description: start = end < -length
var x = [0, 1, 2, 3, 4];
var arr = x.slice(-6, -6);
-//CHECK#1
arr.getClass = Object.prototype.toString;
if (arr.getClass() !== "[object " + "Array" + "]") {
throw new Test262Error('#1: var x = [0,1,2,3,4]; var arr = x.slice(-6,-6); arr is Array object. Actual: ' + (arr.getClass()));
}
-//CHECK#2
if (arr.length !== 0) {
throw new Test262Error('#2: var x = [0,1,2,3,4]; var arr = x.slice(-6,-6); arr.length === 0. Actual: ' + (arr.length));
}
-//CHECK#3
if (arr[0] !== undefined) {
throw new Test262Error('#3: var x = [0,1,2,3,4]; var arr = x.slice(-6,-6); arr[0] === undefined. Actual: ' + (arr[0]));
}
diff --git a/js/src/tests/test262/built-ins/Array/prototype/slice/S15.4.4.10_A1.5_T1.js b/js/src/tests/test262/built-ins/Array/prototype/slice/S15.4.4.10_A1.5_T1.js
index d0c8602aa6a6..8003dd6aa088 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/slice/S15.4.4.10_A1.5_T1.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/slice/S15.4.4.10_A1.5_T1.js
@@ -10,28 +10,23 @@ description: end === undefined
var x = [0, 1, 2, 3, 4];
var arr = x.slice(3, undefined);
-//CHECK#1
arr.getClass = Object.prototype.toString;
if (arr.getClass() !== "[object " + "Array" + "]") {
throw new Test262Error('#1: var x = [0,1,2,3,4]; var arr = x.slice(3, undefined); arr is Array object. Actual: ' + (arr.getClass()));
}
-//CHECK#2
if (arr.length !== 2) {
throw new Test262Error('#2: var x = [0,1,2,3,4]; var arr = x.slice(3, undefined); arr.length === 2. Actual: ' + (arr.length));
}
-//CHECK#3
if (arr[0] !== 3) {
throw new Test262Error('#3: var x = [0,1,2,3,4]; var arr = x.slice(3, undefined); arr[0] === 3. Actual: ' + (arr[0]));
}
-//CHECK#4
if (arr[1] !== 4) {
throw new Test262Error('#4: var x = [0,1,2,3,4]; var arr = x.slice(3, undefined); arr[1] === 4. Actual: ' + (arr[1]));
}
-//CHECK#5
if (arr[2] !== undefined) {
throw new Test262Error('#5: var x = [0,1,2,3,4]; var arr = x.slice(3, undefined); arr[2] === undefined. Actual: ' + (arr[2]));
}
diff --git a/js/src/tests/test262/built-ins/Array/prototype/slice/S15.4.4.10_A1.5_T2.js b/js/src/tests/test262/built-ins/Array/prototype/slice/S15.4.4.10_A1.5_T2.js
index 2c8504d31dac..38fdc5e779eb 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/slice/S15.4.4.10_A1.5_T2.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/slice/S15.4.4.10_A1.5_T2.js
@@ -10,28 +10,23 @@ description: end is absent
var x = [0, 1, 2, 3, 4];
var arr = x.slice(-2);
-//CHECK#1
arr.getClass = Object.prototype.toString;
if (arr.getClass() !== "[object " + "Array" + "]") {
throw new Test262Error('#1: var x = [0,1,2,3,4]; var arr = x.slice(-2); arr is Array object. Actual: ' + (arr.getClass()));
}
-//CHECK#2
if (arr.length !== 2) {
throw new Test262Error('#2: var x = [0,1,2,3,4]; var arr = x.slice(-2); arr.length === 2. Actual: ' + (arr.length));
}
-//CHECK#3
if (arr[0] !== 3) {
throw new Test262Error('#3: var x = [0,1,2,3,4]; var arr = x.slice(-2); arr[0] === 3. Actual: ' + (arr[0]));
}
-//CHECK#4
if (arr[1] !== 4) {
throw new Test262Error('#4: var x = [0,1,2,3,4]; var arr = x.slice(-2); arr[1] === 4. Actual: ' + (arr[1]));
}
-//CHECK#5
if (arr[2] !== undefined) {
throw new Test262Error('#5: var x = [0,1,2,3,4]; var arr = x.slice(-2); arr[2] === undefined. Actual: ' + (arr[2]));
}
diff --git a/js/src/tests/test262/built-ins/Array/prototype/slice/S15.4.4.10_A2.1_T1.js b/js/src/tests/test262/built-ins/Array/prototype/slice/S15.4.4.10_A2.1_T1.js
index d6088fd682a4..58e07e8b4911 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/slice/S15.4.4.10_A2.1_T1.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/slice/S15.4.4.10_A2.1_T1.js
@@ -10,28 +10,23 @@ description: start is not integer
var x = [0, 1, 2, 3, 4];
var arr = x.slice(2.5, 4);
-//CHECK#1
arr.getClass = Object.prototype.toString;
if (arr.getClass() !== "[object " + "Array" + "]") {
throw new Test262Error('#1: var x = [0,1,2,3,4]; var arr = x.slice(2.5,4); arr is Array object. Actual: ' + (arr.getClass()));
}
-//CHECK#2
if (arr.length !== 2) {
throw new Test262Error('#2: var x = [0,1,2,3,4]; var arr = x.slice(2.5,4); arr.length === 2. Actual: ' + (arr.length));
}
-//CHECK#3
if (arr[0] !== 2) {
throw new Test262Error('#3: var x = [0,1,2,3,4]; var arr = x.slice(2.5,4); arr[0] === 2. Actual: ' + (arr[0]));
}
-//CHECK#4
if (arr[1] !== 3) {
throw new Test262Error('#4: var x = [0,1,2,3,4]; var arr = x.slice(2.5,4); arr[1] === 3. Actual: ' + (arr[1]));
}
-//CHECK#5
if (arr[3] !== undefined) {
throw new Test262Error('#5: var x = [0,1,2,3,4]; var arr = x.slice(2.5,4); arr[3] === undefined. Actual: ' + (arr[3]));
}
diff --git a/js/src/tests/test262/built-ins/Array/prototype/slice/S15.4.4.10_A2.1_T2.js b/js/src/tests/test262/built-ins/Array/prototype/slice/S15.4.4.10_A2.1_T2.js
index 315d414d8f9b..61501fa6a96c 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/slice/S15.4.4.10_A2.1_T2.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/slice/S15.4.4.10_A2.1_T2.js
@@ -10,33 +10,27 @@ description: start = NaN
var x = [0, 1, 2, 3, 4];
var arr = x.slice(NaN, 3);
-//CHECK#1
arr.getClass = Object.prototype.toString;
if (arr.getClass() !== "[object " + "Array" + "]") {
throw new Test262Error('#1: var x = [0,1,2,3,4]; var arr = x.slice(NaN,3); arr is Array object. Actual: ' + (arr.getClass()));
}
-//CHECK#2
if (arr.length !== 3) {
throw new Test262Error('#2: var x = [0,1,2,3,4]; var arr = x.slice(NaN,3); arr.length === 3. Actual: ' + (arr.length));
}
-//CHECK#3
if (arr[0] !== 0) {
throw new Test262Error('#3: var x = [0,1,2,3,4]; var arr = x.slice(NaN,3); arr[0] === 0. Actual: ' + (arr[0]));
}
-//CHECK#4
if (arr[1] !== 1) {
throw new Test262Error('#4: var x = [0,1,2,3,4]; var arr = x.slice(NaN,3); arr[1] === 1. Actual: ' + (arr[1]));
}
-//CHECK#5
if (arr[2] !== 2) {
throw new Test262Error('#5: var x = [0,1,2,3,4]; var arr = x.slice(NaN,3); arr[2] === 2. Actual: ' + (arr[2]));
}
-//CHECK#6
if (arr[3] !== undefined) {
throw new Test262Error('#6: var x = [0,1,2,3,4]; var arr = x.slice(NaN,3); arr[3] === undefined. Actual: ' + (arr[3]));
}
diff --git a/js/src/tests/test262/built-ins/Array/prototype/slice/S15.4.4.10_A2.1_T3.js b/js/src/tests/test262/built-ins/Array/prototype/slice/S15.4.4.10_A2.1_T3.js
index 1a57a515fd7f..184c6a3d50c4 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/slice/S15.4.4.10_A2.1_T3.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/slice/S15.4.4.10_A2.1_T3.js
@@ -10,18 +10,15 @@ description: start = Infinity
var x = [0, 1, 2, 3, 4];
var arr = x.slice(Number.POSITIVE_INFINITY, 3);
-//CHECK#1
arr.getClass = Object.prototype.toString;
if (arr.getClass() !== "[object " + "Array" + "]") {
throw new Test262Error('#1: var x = [0,1,2,3,4]; var arr = x.slice(Number.POSITIVE_INFINITY,3); arr is Array object. Actual: ' + (arr.getClass()));
}
-//CHECK#2
if (arr.length !== 0) {
throw new Test262Error('#2: var x = [0,1,2,3,4]; var arr = x.slice(Number.POSITIVE_INFINITY,3); arr.length === 0. Actual: ' + (arr.length));
}
-//CHECK#3
if (arr[0] !== undefined) {
throw new Test262Error('#3: var x = [0,1,2,3,4]; var arr = x.slice(Number.POSITIVE_INFINITY,3); arr[0] === undefined. Actual: ' + (arr[0]));
}
diff --git a/js/src/tests/test262/built-ins/Array/prototype/slice/S15.4.4.10_A2.1_T4.js b/js/src/tests/test262/built-ins/Array/prototype/slice/S15.4.4.10_A2.1_T4.js
index 43e7d76d3f32..c68293a53f8c 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/slice/S15.4.4.10_A2.1_T4.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/slice/S15.4.4.10_A2.1_T4.js
@@ -10,33 +10,27 @@ description: start = -Infinity
var x = [0, 1, 2, 3, 4];
var arr = x.slice(Number.NEGATIVE_INFINITY, 3);
-//CHECK#1
arr.getClass = Object.prototype.toString;
if (arr.getClass() !== "[object " + "Array" + "]") {
throw new Test262Error('#1: var x = [0,1,2,3,4]; var arr = x.slice(Number.NEGATIVE_INFINITY,3); arr is Array object. Actual: ' + (arr.getClass()));
}
-//CHECK#2
if (arr.length !== 3) {
throw new Test262Error('#2: var x = [0,1,2,3,4]; var arr = x.slice(Number.NEGATIVE_INFINITY,3); arr.length === 3. Actual: ' + (arr.length));
}
-//CHECK#3
if (arr[0] !== 0) {
throw new Test262Error('#3: var x = [0,1,2,3,4]; var arr = x.slice(Number.NEGATIVE_INFINITY,3); arr[0] === 0. Actual: ' + (arr[0]));
}
-//CHECK#4
if (arr[1] !== 1) {
throw new Test262Error('#4: var x = [0,1,2,3,4]; var arr = x.slice(Number.NEGATIVE_INFINITY,3); arr[1] === 1. Actual: ' + (arr[1]));
}
-//CHECK#5
if (arr[2] !== 2) {
throw new Test262Error('#5: var x = [0,1,2,3,4]; var arr = x.slice(Number.NEGATIVE_INFINITY,3); arr[2] === 2. Actual: ' + (arr[2]));
}
-//CHECK#6
if (arr[3] !== undefined) {
throw new Test262Error('#6: var x = [0,1,2,3,4]; var arr = x.slice(Number.NEGATIVE_INFINITY,3); arr[3] === undefined. Actual: ' + (arr[3]));
}
diff --git a/js/src/tests/test262/built-ins/Array/prototype/slice/S15.4.4.10_A2.1_T5.js b/js/src/tests/test262/built-ins/Array/prototype/slice/S15.4.4.10_A2.1_T5.js
index 1d230eea7ce4..5516c0de6dbb 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/slice/S15.4.4.10_A2.1_T5.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/slice/S15.4.4.10_A2.1_T5.js
@@ -17,33 +17,27 @@ var arr = x.slice({
}
}, 3);
-//CHECK#1
arr.getClass = Object.prototype.toString;
if (arr.getClass() !== "[object " + "Array" + "]") {
throw new Test262Error('#1: var x = [0,1,2,3,4]; var arr = x.slice({valueOf: function() {return 0}, toString: function() {return 3}},3); arr is Array object. Actual: ' + (arr.getClass()));
}
-//CHECK#2
if (arr.length !== 3) {
throw new Test262Error('#2: var x = [0,1,2,3,4]; var arr = x.slice({valueOf: function() {return 0}, toString: function() {return 3}},3); arr.length === 3. Actual: ' + (arr.length));
}
-//CHECK#3
if (arr[0] !== 0) {
throw new Test262Error('#3: var x = [0,1,2,3,4]; var arr = x.slice({valueOf: function() {return 0}, toString: function() {return 3}},3); arr[0] === 0. Actual: ' + (arr[0]));
}
-//CHECK#4
if (arr[1] !== 1) {
throw new Test262Error('#4: var x = [0,1,2,3,4]; var arr = x.slice({valueOf: function() {return 0}, toString: function() {return 3}},3); arr[1] === 1. Actual: ' + (arr[1]));
}
-//CHECK#5
if (arr[2] !== 2) {
throw new Test262Error('#5: var x = [0,1,2,3,4]; var arr = x.slice({valueOf: function() {return 0}, toString: function() {return 3}},3); arr[2] === 2. Actual: ' + (arr[2]));
}
-//CHECK#6
if (arr[3] !== undefined) {
throw new Test262Error('#6: var x = [0,1,2,3,4]; var arr = x.slice({valueOf: function() {return 0}, toString: function() {return 3}},3); arr[3] === undefined. Actual: ' + (arr[3]));
}
diff --git a/js/src/tests/test262/built-ins/Array/prototype/slice/S15.4.4.10_A2.2_T1.js b/js/src/tests/test262/built-ins/Array/prototype/slice/S15.4.4.10_A2.2_T1.js
index a31edac37143..3ce7f0e68bf4 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/slice/S15.4.4.10_A2.2_T1.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/slice/S15.4.4.10_A2.2_T1.js
@@ -10,28 +10,23 @@ description: end is not integer
var x = [0, 1, 2, 3, 4];
var arr = x.slice(2, 4.5);
-//CHECK#1
arr.getClass = Object.prototype.toString;
if (arr.getClass() !== "[object " + "Array" + "]") {
throw new Test262Error('#1: var x = [0,1,2,3,4]; var arr = x.slice(2,4.5); arr is Array object. Actual: ' + (arr.getClass()));
}
-//CHECK#2
if (arr.length !== 2) {
throw new Test262Error('#2: var x = [0,1,2,3,4]; var arr = x.slice(2,4.5); arr.length === 2. Actual: ' + (arr.length));
}
-//CHECK#3
if (arr[0] !== 2) {
throw new Test262Error('#3: var x = [0,1,2,3,4]; var arr = x.slice(2,4.5); arr[0] === 2. Actual: ' + (arr[0]));
}
-//CHECK#4
if (arr[1] !== 3) {
throw new Test262Error('#4: var x = [0,1,2,3,4]; var arr = x.slice(2,4.5); arr[1] === 3. Actual: ' + (arr[1]));
}
-//CHECK#5
if (arr[3] !== undefined) {
throw new Test262Error('#5: var x = [0,1,2,3,4]; var arr = x.slice(2,4.5); arr[3] === undefined. Actual: ' + (arr[3]));
}
diff --git a/js/src/tests/test262/built-ins/Array/prototype/slice/S15.4.4.10_A2.2_T2.js b/js/src/tests/test262/built-ins/Array/prototype/slice/S15.4.4.10_A2.2_T2.js
index 25c30c9e8fc0..a875da047b0f 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/slice/S15.4.4.10_A2.2_T2.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/slice/S15.4.4.10_A2.2_T2.js
@@ -10,18 +10,15 @@ description: end = NaN
var x = [0, 1, 2, 3, 4];
var arr = x.slice(0, NaN);
-//CHECK#1
arr.getClass = Object.prototype.toString;
if (arr.getClass() !== "[object " + "Array" + "]") {
throw new Test262Error('#1: var x = [0,1,2,3,4]; var arr = x.slice(0,NaN); arr is Array object. Actual: ' + (arr.getClass()));
}
-//CHECK#2
if (arr.length !== 0) {
throw new Test262Error('#2: var x = [0,1,2,3,4]; var arr = x.slice(0,NaN); arr.length === 0. Actual: ' + (arr.length));
}
-//CHECK#3
if (arr[0] !== undefined) {
throw new Test262Error('#3: var x = [0,1,2,3,4]; var arr = x.slice(0,NaN); arr[0] === undefined. Actual: ' + (arr[0]));
}
diff --git a/js/src/tests/test262/built-ins/Array/prototype/slice/S15.4.4.10_A2.2_T3.js b/js/src/tests/test262/built-ins/Array/prototype/slice/S15.4.4.10_A2.2_T3.js
index ded3d4c963ea..3cad37ddbef4 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/slice/S15.4.4.10_A2.2_T3.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/slice/S15.4.4.10_A2.2_T3.js
@@ -10,43 +10,35 @@ description: end = Infinity
var x = [0, 1, 2, 3, 4];
var arr = x.slice(0, Number.POSITIVE_INFINITY);
-//CHECK#1
arr.getClass = Object.prototype.toString;
if (arr.getClass() !== "[object " + "Array" + "]") {
throw new Test262Error('#1: var x = [0,1,2,3,4]; var arr = x.slice(0,Number.POSITIVE_INFINITY); arr is Array object. Actual: ' + (arr.getClass()));
}
-//CHECK#2
if (arr.length !== 5) {
throw new Test262Error('#2: var x = [0,1,2,3,4]; var arr = x.slice(0,Number.POSITIVE_INFINITY); arr.length === 5. Actual: ' + (arr.length));
}
-//CHECK#3
if (arr[0] !== 0) {
throw new Test262Error('#3: var x = [0,1,2,3,4]; var arr = x.slice(0,Number.POSITIVE_INFINITY); arr[0] === 0. Actual: ' + (arr[0]));
}
-//CHECK#4
if (arr[1] !== 1) {
throw new Test262Error('#4: var x = [0,1,2,3,4]; var arr = x.slice(0,Number.POSITIVE_INFINITY); arr[1] === 1. Actual: ' + (arr[1]));
}
-//CHECK#5
if (arr[2] !== 2) {
throw new Test262Error('#5: var x = [0,1,2,3,4]; var arr = x.slice(0,Number.POSITIVE_INFINITY); arr[2] === 2. Actual: ' + (arr[2]));
}
-//CHECK#6
if (arr[3] !== 3) {
throw new Test262Error('#6: var x = [0,1,2,3,4]; var arr = x.slice(0,Number.POSITIVE_INFINITY); arr[3] === 3. Actual: ' + (arr[3]));
}
-//CHECK#7
if (arr[4] !== 4) {
throw new Test262Error('#7: var x = [0,1,2,3,4]; var arr = x.slice(0,Number.POSITIVE_INFINITY); arr[4] === 4. Actual: ' + (arr[4]));
}
-//CHECK#8
if (arr[5] !== undefined) {
throw new Test262Error('#8: var x = [0,1,2,3,4]; var arr = x.slice(0,Number.POSITIVE_INFINITY); arr[5] === undefined. Actual: ' + (arr[5]));
}
diff --git a/js/src/tests/test262/built-ins/Array/prototype/slice/S15.4.4.10_A2.2_T4.js b/js/src/tests/test262/built-ins/Array/prototype/slice/S15.4.4.10_A2.2_T4.js
index 810fa057d4dd..14a9bbe26b9f 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/slice/S15.4.4.10_A2.2_T4.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/slice/S15.4.4.10_A2.2_T4.js
@@ -10,18 +10,15 @@ description: end = -Infinity
var x = [0, 1, 2, 3, 4];
var arr = x.slice(0, Number.NEGATIVE_INFINITY);
-//CHECK#1
arr.getClass = Object.prototype.toString;
if (arr.getClass() !== "[object " + "Array" + "]") {
throw new Test262Error('#1: var x = [0,1,2,3,4]; var arr = x.slice(0,Number.NEGATIVE_INFINITY); arr is Array object. Actual: ' + (arr.getClass()));
}
-//CHECK#2
if (arr.length !== 0) {
throw new Test262Error('#2: var x = [0,1,2,3,4]; var arr = x.slice(0,Number.NEGATIVE_INFINITY); arr.length === 0. Actual: ' + (arr.length));
}
-//CHECK#3
if (arr[0] !== undefined) {
throw new Test262Error('#3: var x = [0,1,2,3,4]; var arr = x.slice(0,Number.NEGATIVE_INFINITY); arr[0] === undefined. Actual: ' + (arr[0]));
}
diff --git a/js/src/tests/test262/built-ins/Array/prototype/slice/S15.4.4.10_A2.2_T5.js b/js/src/tests/test262/built-ins/Array/prototype/slice/S15.4.4.10_A2.2_T5.js
index 9f93ece0f0bc..a5d20c21c3a9 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/slice/S15.4.4.10_A2.2_T5.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/slice/S15.4.4.10_A2.2_T5.js
@@ -17,33 +17,27 @@ var arr = x.slice(0, {
}
});
-//CHECK#1
arr.getClass = Object.prototype.toString;
if (arr.getClass() !== "[object " + "Array" + "]") {
throw new Test262Error('#1: var x = [0,1,2,3,4]; var arr = x.slice(0,{valueOf: function() {return 3}, toString: function() {return 0}}); arr is Array object. Actual: ' + (arr.getClass()));
}
-//CHECK#2
if (arr.length !== 3) {
throw new Test262Error('#2: var x = [0,1,2,3,4]; var arr = x.slice(0,{valueOf: function() {return 3}, toString: function() {return 0}}); arr.length === 3. Actual: ' + (arr.length));
}
-//CHECK#3
if (arr[0] !== 0) {
throw new Test262Error('#3: var x = [0,1,2,3,4]; var arr = x.slice(0,{valueOf: function() {return 3}, toString: function() {return 0}}); arr[0] === 0. Actual: ' + (arr[0]));
}
-//CHECK#4
if (arr[1] !== 1) {
throw new Test262Error('#4: var x = [0,1,2,3,4]; var arr = x.slice(0,{valueOf: function() {return 3}, toString: function() {return 0}}); arr[1] === 1. Actual: ' + (arr[1]));
}
-//CHECK#5
if (arr[2] !== 2) {
throw new Test262Error('#5: var x = [0,1,2,3,4]; var arr = x.slice(0,{valueOf: function() {return 3}, toString: function() {return 0}}); arr[2] === 2. Actual: ' + (arr[2]));
}
-//CHECK#6
if (arr[3] !== undefined) {
throw new Test262Error('#6: var x = [0,1,2,3,4]; var arr = x.slice(0,{valueOf: function() {return 3}, toString: function() {return 0}}); arr[3] === undefined. Actual: ' + (arr[3]));
}
diff --git a/js/src/tests/test262/built-ins/Array/prototype/slice/S15.4.4.10_A2_T1.js b/js/src/tests/test262/built-ins/Array/prototype/slice/S15.4.4.10_A2_T1.js
index 64138fef0ad8..2eedb258f974 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/slice/S15.4.4.10_A2_T1.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/slice/S15.4.4.10_A2_T1.js
@@ -21,33 +21,27 @@ obj[4] = 4;
obj.length = 5;
var arr = obj.slice(0, 3);
-//CHECK#1
arr.getClass = Object.prototype.toString;
if (arr.getClass() !== "[object " + "Array" + "]") {
throw new Test262Error('#1: var obj = {}; obj.slice = Array.prototype.slice; obj[0] = 0; obj[1] = 1; obj[2] = 2; obj[3] = 3; obj[4] = 4; obj.length = 5; var arr = obj.slice(0,3); arr is Array object. Actual: ' + (arr.getClass()));
}
-//CHECK#2
if (arr.length !== 3) {
throw new Test262Error('#2: var obj = {}; obj.slice = Array.prototype.slice; obj[0] = 0; obj[1] = 1; obj[2] = 2; obj[3] = 3; obj[4] = 4; obj.length = 5; var arr = obj.slice(0,3); arr.length === 3. Actual: ' + (arr.length));
}
-//CHECK#3
if (arr[0] !== 0) {
throw new Test262Error('#3: var obj = {}; obj.slice = Array.prototype.slice; obj[0] = 0; obj[1] = 1; obj[2] = 2; obj[3] = 3; obj[4] = 4; obj.length = 5; var arr = obj.slice(0,3); arr[0] === 0. Actual: ' + (arr[0]));
}
-//CHECK#4
if (arr[1] !== 1) {
throw new Test262Error('#4: var obj = {}; obj.slice = Array.prototype.slice; obj[0] = 0; obj[1] = 1; obj[2] = 2; obj[3] = 3; obj[4] = 4; obj.length = 5; var arr = obj.slice(0,3); arr[1] === 1. Actual: ' + (arr[1]));
}
-//CHECK#5
if (arr[2] !== 2) {
throw new Test262Error('#5: var obj = {}; obj.slice = Array.prototype.slice; obj[0] = 0; obj[1] = 1; obj[2] = 2; obj[3] = 3; obj[4] = 4; obj.length = 5; var arr = obj.slice(0,3); arr[2] === 2. Actual: ' + (arr[2]));
}
-//CHECK#6
if (arr[3] !== undefined) {
throw new Test262Error('#6: var obj = {}; obj.slice = Array.prototype.slice; obj[0] = 0; obj[1] = 1; obj[2] = 2; obj[3] = 3; obj[4] = 4; obj.length = 5; var arr = obj.slice(0,3); arr[3] === undefined. Actual: ' + (arr[3]));
}
diff --git a/js/src/tests/test262/built-ins/Array/prototype/slice/S15.4.4.10_A2_T2.js b/js/src/tests/test262/built-ins/Array/prototype/slice/S15.4.4.10_A2_T2.js
index 367b5bda3952..017c5e5bc6bb 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/slice/S15.4.4.10_A2_T2.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/slice/S15.4.4.10_A2_T2.js
@@ -21,33 +21,27 @@ obj[4] = 4;
obj.length = 5;
var arr = obj.slice(-5, 3);
-//CHECK#1
arr.getClass = Object.prototype.toString;
if (arr.getClass() !== "[object " + "Array" + "]") {
throw new Test262Error('#1: var obj = {}; obj.slice = Array.prototype.slice; obj[0] = 0; obj[1] = 1; obj[2] = 2; obj[3] = 3; obj[4] = 4; obj.length = 5; var arr = obj.slice(-5,3); arr is Array object. Actual: ' + (arr.getClass()));
}
-//CHECK#2
if (arr.length !== 3) {
throw new Test262Error('#2: var obj = {}; obj.slice = Array.prototype.slice; obj[0] = 0; obj[1] = 1; obj[2] = 2; obj[3] = 3; obj[4] = 4; obj.length = 5; var arr = obj.slice(-5,3); arr.length === 3. Actual: ' + (arr.length));
}
-//CHECK#3
if (arr[0] !== 0) {
throw new Test262Error('#3: var obj = {}; obj.slice = Array.prototype.slice; obj[0] = 0; obj[1] = 1; obj[2] = 2; obj[3] = 3; obj[4] = 4; obj.length = 5; var arr = obj.slice(-5,3); arr[0] === 0. Actual: ' + (arr[0]));
}
-//CHECK#4
if (arr[1] !== 1) {
throw new Test262Error('#4: var obj = {}; obj.slice = Array.prototype.slice; obj[0] = 0; obj[1] = 1; obj[2] = 2; obj[3] = 3; obj[4] = 4; obj.length = 5; var arr = obj.slice(-5,3); arr[1] === 1. Actual: ' + (arr[1]));
}
-//CHECK#5
if (arr[2] !== 2) {
throw new Test262Error('#5: var obj = {}; obj.slice = Array.prototype.slice; obj[0] = 0; obj[1] = 1; obj[2] = 2; obj[3] = 3; obj[4] = 4; obj.length = 5; var arr = obj.slice(-5,3); arr[2] === 2. Actual: ' + (arr[2]));
}
-//CHECK#6
if (arr[3] !== undefined) {
throw new Test262Error('#6: var obj = {}; obj.slice = Array.prototype.slice; obj[0] = 0; obj[1] = 1; obj[2] = 2; obj[3] = 3; obj[4] = 4; obj.length = 5; var arr = obj.slice(-5,3); arr[3] === undefined. Actual: ' + (arr[3]));
}
diff --git a/js/src/tests/test262/built-ins/Array/prototype/slice/S15.4.4.10_A2_T3.js b/js/src/tests/test262/built-ins/Array/prototype/slice/S15.4.4.10_A2_T3.js
index 3b95fb3da414..739b23457cb9 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/slice/S15.4.4.10_A2_T3.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/slice/S15.4.4.10_A2_T3.js
@@ -21,33 +21,27 @@ obj[4] = 4;
obj.length = 5;
var arr = obj.slice(0, -2);
-//CHECK#1
arr.getClass = Object.prototype.toString;
if (arr.getClass() !== "[object " + "Array" + "]") {
throw new Test262Error('#1: var obj = {}; obj.slice = Array.prototype.slice; obj[0] = 0; obj[1] = 1; obj[2] = 2; obj[3] = 3; obj[4] = 4; obj.length = 5; var arr = obj.slice(0,-2); arr is Array object. Actual: ' + (arr.getClass()));
}
-//CHECK#2
if (arr.length !== 3) {
throw new Test262Error('#2: var obj = {}; obj.slice = Array.prototype.slice; obj[0] = 0; obj[1] = 1; obj[2] = 2; obj[3] = 3; obj[4] = 4; obj.length = 5; var arr = obj.slice(0,-2); arr.length === 3. Actual: ' + (arr.length));
}
-//CHECK#3
if (arr[0] !== 0) {
throw new Test262Error('#3: var obj = {}; obj.slice = Array.prototype.slice; obj[0] = 0; obj[1] = 1; obj[2] = 2; obj[3] = 3; obj[4] = 4; obj.length = 5; var arr = obj.slice(0,-2); arr[0] === 0. Actual: ' + (arr[0]));
}
-//CHECK#4
if (arr[1] !== 1) {
throw new Test262Error('#4: var obj = {}; obj.slice = Array.prototype.slice; obj[0] = 0; obj[1] = 1; obj[2] = 2; obj[3] = 3; obj[4] = 4; obj.length = 5; var arr = obj.slice(0,-2); arr[1] === 1. Actual: ' + (arr[1]));
}
-//CHECK#5
if (arr[2] !== 2) {
throw new Test262Error('#5: var obj = {}; obj.slice = Array.prototype.slice; obj[0] = 0; obj[1] = 1; obj[2] = 2; obj[3] = 3; obj[4] = 4; obj.length = 5; var arr = obj.slice(0,-2); arr[2] === 2. Actual: ' + (arr[2]));
}
-//CHECK#6
if (arr[3] !== undefined) {
throw new Test262Error('#6: var obj = {}; obj.slice = Array.prototype.slice; obj[0] = 0; obj[1] = 1; obj[2] = 2; obj[3] = 3; obj[4] = 4; obj.length = 5; var arr = obj.slice(0,-2); arr[3] === undefined. Actual: ' + (arr[3]));
}
diff --git a/js/src/tests/test262/built-ins/Array/prototype/slice/S15.4.4.10_A2_T4.js b/js/src/tests/test262/built-ins/Array/prototype/slice/S15.4.4.10_A2_T4.js
index 76a300cf1687..2b70862d78ae 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/slice/S15.4.4.10_A2_T4.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/slice/S15.4.4.10_A2_T4.js
@@ -21,33 +21,27 @@ obj[4] = 4;
obj.length = 5;
var arr = obj.slice(-5, -2);
-//CHECK#1
arr.getClass = Object.prototype.toString;
if (arr.getClass() !== "[object " + "Array" + "]") {
throw new Test262Error('#1: var obj = {}; obj.slice = Array.prototype.slice; obj[0] = 0; obj[1] = 1; obj[2] = 2; obj[3] = 3; obj[4] = 4; obj.length = 5; var arr = obj.slice(-5,-2); arr is Array object. Actual: ' + (arr.getClass()));
}
-//CHECK#2
if (arr.length !== 3) {
throw new Test262Error('#2: var obj = {}; obj.slice = Array.prototype.slice; obj[0] = 0; obj[1] = 1; obj[2] = 2; obj[3] = 3; obj[4] = 4; obj.length = 5; var arr = obj.slice(-5,-2); arr.length === 3. Actual: ' + (arr.length));
}
-//CHECK#3
if (arr[0] !== 0) {
throw new Test262Error('#3: var obj = {}; obj.slice = Array.prototype.slice; obj[0] = 0; obj[1] = 1; obj[2] = 2; obj[3] = 3; obj[4] = 4; obj.length = 5; var arr = obj.slice(-5,-2); arr[0] === 0. Actual: ' + (arr[0]));
}
-//CHECK#4
if (arr[1] !== 1) {
throw new Test262Error('#4: var obj = {}; obj.slice = Array.prototype.slice; obj[0] = 0; obj[1] = 1; obj[2] = 2; obj[3] = 3; obj[4] = 4; obj.length = 5; var arr = obj.slice(-5,-2); arr[1] === 1. Actual: ' + (arr[1]));
}
-//CHECK#5
if (arr[2] !== 2) {
throw new Test262Error('#5: var obj = {}; obj.slice = Array.prototype.slice; obj[0] = 0; obj[1] = 1; obj[2] = 2; obj[3] = 3; obj[4] = 4; obj.length = 5; var arr = obj.slice(-5,-2); arr[2] === 2. Actual: ' + (arr[2]));
}
-//CHECK#6
if (arr[3] !== undefined) {
throw new Test262Error('#6: var obj = {}; obj.slice = Array.prototype.slice; obj[0] = 0; obj[1] = 1; obj[2] = 2; obj[3] = 3; obj[4] = 4; obj.length = 5; var arr = obj.slice(-5,-2); arr[3] === undefined. Actual: ' + (arr[3]));
}
diff --git a/js/src/tests/test262/built-ins/Array/prototype/slice/S15.4.4.10_A2_T5.js b/js/src/tests/test262/built-ins/Array/prototype/slice/S15.4.4.10_A2_T5.js
index 93ccb6592225..5adbd4e740a7 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/slice/S15.4.4.10_A2_T5.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/slice/S15.4.4.10_A2_T5.js
@@ -19,33 +19,27 @@ obj[4] = 4;
obj.length = 5;
var arr = obj.slice(2);
-//CHECK#1
arr.getClass = Object.prototype.toString;
if (arr.getClass() !== "[object " + "Array" + "]") {
throw new Test262Error('#1: var obj = {}; obj.slice = Array.prototype.slice; obj[0] = 0; obj[1] = 1; obj[2] = 2; obj[3] = 3; obj[4] = 4; obj.length = 5; var arr = obj.slice(2); arr is Array object. Actual: ' + (arr.getClass()));
}
-//CHECK#2
if (arr.length !== 3) {
throw new Test262Error('#2: var obj = {}; obj.slice = Array.prototype.slice; obj[0] = 0; obj[1] = 1; obj[2] = 2; obj[3] = 3; obj[4] = 4; obj.length = 5; var arr = obj.slice(2); arr.length === 3. Actual: ' + (arr.length));
}
-//CHECK#3
if (arr[0] !== 2) {
throw new Test262Error('#3: var obj = {}; obj.slice = Array.prototype.slice; obj[0] = 0; obj[1] = 1; obj[2] = 2; obj[3] = 3; obj[4] = 4; obj.length = 5; var arr = obj.slice(2); arr[0] === 2. Actual: ' + (arr[0]));
}
-//CHECK#4
if (arr[1] !== 3) {
throw new Test262Error('#4: var obj = {}; obj.slice = Array.prototype.slice; obj[0] = 0; obj[1] = 1; obj[2] = 2; obj[3] = 3; obj[4] = 4; obj.length = 5; var arr = obj.slice(2); arr[1] === 3. Actual: ' + (arr[1]));
}
-//CHECK#5
if (arr[2] !== 4) {
throw new Test262Error('#5: var obj = {}; obj.slice = Array.prototype.slice; obj[0] = 0; obj[1] = 1; obj[2] = 2; obj[3] = 3; obj[4] = 4; obj.length = 5; var arr = obj.slice(2); arr[2] === 4. Actual: ' + (arr[2]));
}
-//CHECK#6
if (arr[3] !== undefined) {
throw new Test262Error('#6: var obj = {}; obj.slice = Array.prototype.slice; obj[0] = 0; obj[1] = 1; obj[2] = 2; obj[3] = 3; obj[4] = 4; obj.length = 5; var arr = obj.slice(2); arr[3] === undefined. Actual: ' + (arr[3]));
}
diff --git a/js/src/tests/test262/built-ins/Array/prototype/slice/S15.4.4.10_A2_T6.js b/js/src/tests/test262/built-ins/Array/prototype/slice/S15.4.4.10_A2_T6.js
index f916d0871012..1646ec69827a 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/slice/S15.4.4.10_A2_T6.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/slice/S15.4.4.10_A2_T6.js
@@ -19,33 +19,27 @@ obj[4] = 4;
obj.length = 5;
var arr = obj.slice(2, undefined);
-//CHECK#1
arr.getClass = Object.prototype.toString;
if (arr.getClass() !== "[object " + "Array" + "]") {
throw new Test262Error('#1: var obj = {}; obj.slice = Array.prototype.slice; obj[0] = 0; obj[1] = 1; obj[2] = 2; obj[3] = 3; obj[4] = 4; obj.length = 5; var arr = obj.slice(2, undefined); arr is Array object. Actual: ' + (arr.getClass()));
}
-//CHECK#2
if (arr.length !== 3) {
throw new Test262Error('#2: var obj = {}; obj.slice = Array.prototype.slice; obj[0] = 0; obj[1] = 1; obj[2] = 2; obj[3] = 3; obj[4] = 4; obj.length = 5; var arr = obj.slice(2, undefined); arr.length === 3. Actual: ' + (arr.length));
}
-//CHECK#3
if (arr[0] !== 2) {
throw new Test262Error('#3: var obj = {}; obj.slice = Array.prototype.slice; obj[0] = 0; obj[1] = 1; obj[2] = 2; obj[3] = 3; obj[4] = 4; obj.length = 5; var arr = obj.slice(2, undefined); arr[0] === 2. Actual: ' + (arr[0]));
}
-//CHECK#4
if (arr[1] !== 3) {
throw new Test262Error('#4: var obj = {}; obj.slice = Array.prototype.slice; obj[0] = 0; obj[1] = 1; obj[2] = 2; obj[3] = 3; obj[4] = 4; obj.length = 5; var arr = obj.slice(2, undefined); arr[1] === 3. Actual: ' + (arr[1]));
}
-//CHECK#5
if (arr[2] !== 4) {
throw new Test262Error('#5: var obj = {}; obj.slice = Array.prototype.slice; obj[0] = 0; obj[1] = 1; obj[2] = 2; obj[3] = 3; obj[4] = 4; obj.length = 5; var arr = obj.slice(2, undefined); arr[2] === 4. Actual: ' + (arr[2]));
}
-//CHECK#6
if (arr[3] !== undefined) {
throw new Test262Error('#6: var obj = {}; obj.slice = Array.prototype.slice; obj[0] = 0; obj[1] = 1; obj[2] = 2; obj[3] = 3; obj[4] = 4; obj.length = 5; var arr = obj.slice(2, undefined); arr[3] === undefined. Actual: ' + (arr[3]));
}
diff --git a/js/src/tests/test262/built-ins/Array/prototype/slice/S15.4.4.10_A3_T1.js b/js/src/tests/test262/built-ins/Array/prototype/slice/S15.4.4.10_A3_T1.js
index c54c692cbbd9..882be8b71b4b 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/slice/S15.4.4.10_A3_T1.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/slice/S15.4.4.10_A3_T1.js
@@ -7,19 +7,13 @@ esid: sec-array.prototype.slice
description: length = 4294967296
---*/
-var obj = {};
-obj.slice = Array.prototype.slice;
-obj[0] = "x";
-obj[4294967295] = "y";
-obj.length = 4294967296;
-
-try {
- var arr = obj.slice(0, 4294967296);
- throw new Test262Error('#1: var obj = {}; obj.slice = Array.prototype.slice; obj[0] = "x"; obj[4294967295] = "y"; obj.length = 4294967296; var arr = obj.slice(0,4294967296); lead to throwing exception.');
-} catch (e) {
- if (!(e instanceof RangeError)) {
- throw new Test262Error('#1.1: var obj = {}; obj.slice = Array.prototype.slice; obj[0] = "x"; obj[4294967295] = "y"; obj.length = 4294967296; var arr = obj.slice(0,4294967296); lead to throwing exception. Exception is instance of RangeError. Actual: exception is ' + e);
- }
-}
+assert.throws(RangeError, () => {
+ var obj = {};
+ obj.slice = Array.prototype.slice;
+ obj[0] = "x";
+ obj[4294967295] = "y";
+ obj.length = 4294967296;
+ obj.slice(0, 4294967296);
+});
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Array/prototype/slice/S15.4.4.10_A3_T2.js b/js/src/tests/test262/built-ins/Array/prototype/slice/S15.4.4.10_A3_T2.js
index eb491fa5ff00..45d225c6b7ee 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/slice/S15.4.4.10_A3_T2.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/slice/S15.4.4.10_A3_T2.js
@@ -7,19 +7,13 @@ esid: sec-array.prototype.slice
description: length = 4294967297
---*/
-var obj = {};
-obj.slice = Array.prototype.slice;
-obj[0] = "x";
-obj[4294967296] = "y";
-obj.length = 4294967297;
-
-try {
- var arr = obj.slice(0, 4294967297);
- throw new Test262Error('#1: var obj = {}; obj.slice = Array.prototype.slice; obj[0] = "x"; obj[4294967296] = "y"; obj.length = 4294967297; var arr = obj.slice(0,4294967297); lead to throwing exception.');
-} catch (e) {
- if (!(e instanceof RangeError)) {
- throw new Test262Error('#1.1: var obj = {}; obj.slice = Array.prototype.slice; obj[0] = "x"; obj[4294967296] = "y"; obj.length = 4294967297; var arr = obj.slice(0,4294967297); lead to throwing exception. Exception is instance of RangeError. Actual: exception is ' + e);
- }
-}
+assert.throws(RangeError, () => {
+ var obj = {};
+ obj.slice = Array.prototype.slice;
+ obj[0] = "x";
+ obj[4294967296] = "y";
+ obj.length = 4294967297;
+ obj.slice(0, 4294967297);
+});
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Array/prototype/slice/S15.4.4.10_A3_T3.js b/js/src/tests/test262/built-ins/Array/prototype/slice/S15.4.4.10_A3_T3.js
index 76bd3e980815..876eb9c4f9b0 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/slice/S15.4.4.10_A3_T3.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/slice/S15.4.4.10_A3_T3.js
@@ -13,12 +13,10 @@ obj[4294967294] = "x";
obj.length = -1;
var arr = obj.slice(4294967294, 4294967295);
-//CHECK#1
if (arr.length !== 0) {
throw new Test262Error('#1: var obj = {}; obj.slice = Array.prototype.slice; obj[4294967294] = "x"; obj.length = 4294967295; var arr = obj.slice(4294967294,4294967295); arr.length === 0. Actual: ' + (arr.length));
}
-//CHECK#3
if (arr[0] !== undefined) {
throw new Test262Error('#3: var obj = {}; obj.slice = Array.prototype.slice; obj[4294967294] = "x"; obj.length = 4294967295; var arr = obj.slice(4294967294,4294967295); arr[0] === undefined. Actual: ' + (arr[0]));
}
diff --git a/js/src/tests/test262/built-ins/Array/prototype/slice/S15.4.4.10_A4_T1.js b/js/src/tests/test262/built-ins/Array/prototype/slice/S15.4.4.10_A4_T1.js
index 2e34c2a54d66..210f014a9612 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/slice/S15.4.4.10_A4_T1.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/slice/S15.4.4.10_A4_T1.js
@@ -12,17 +12,14 @@ var x = [0];
x.length = 2;
var arr = x.slice();
-//CHECK#1
if (arr[0] !== 0) {
throw new Test262Error('#1: Array.prototype[1] = 1; x = [0]; x.length = 2; var arr = x.slice(); arr[0] === 0. Actual: ' + (arr[0]));
}
-//CHECK#2
if (arr[1] !== 1) {
throw new Test262Error('#2: Array.prototype[1] = 1; x = [0]; x.length = 2; var arr = x.slice(); arr[1] === 1. Actual: ' + (arr[1]));
}
-//CHECK#3
if (arr.hasOwnProperty('1') !== true) {
throw new Test262Error('#3: Array.prototype[1] = 1; x = [0]; x.length = 2; var arr = x.slice(); arr.hasOwnProperty(\'1\') === true. Actual: ' + (arr.hasOwnProperty('1')));
}
diff --git a/js/src/tests/test262/built-ins/Array/prototype/slice/S15.4.4.10_A5.7.js b/js/src/tests/test262/built-ins/Array/prototype/slice/S15.4.4.10_A5.7.js
deleted file mode 100644
index 5e169afed29a..000000000000
--- a/js/src/tests/test262/built-ins/Array/prototype/slice/S15.4.4.10_A5.7.js
+++ /dev/null
@@ -1,23 +0,0 @@
-// Copyright 2009 the Sputnik authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-info: The slice property of Array can't be used as constructor
-esid: sec-array.prototype.slice
-description: >
- If property does not implement the internal [[Construct]] method,
- throw a TypeError exception
----*/
-
-//CHECK#1
-
-try {
- new Array.prototype.slice();
- throw new Test262Error('#1.1: new Array.prototype.slice() throw TypeError. Actual: ' + (new Array.prototype.slice()));
-} catch (e) {
- if ((e instanceof TypeError) !== true) {
- throw new Test262Error('#1.2: new Array.prototype.slice() throw TypeError. Actual: ' + (e));
- }
-}
-
-reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Array/prototype/some/callbackfn-resize-arraybuffer.js b/js/src/tests/test262/built-ins/Array/prototype/some/callbackfn-resize-arraybuffer.js
new file mode 100644
index 000000000000..49c6da008d3e
--- /dev/null
+++ b/js/src/tests/test262/built-ins/Array/prototype/some/callbackfn-resize-arraybuffer.js
@@ -0,0 +1,74 @@
+// |reftest| skip -- resizable-arraybuffer is not supported
+// Copyright (C) 2021 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-array.prototype.some
+description: TypedArray instance buffer can be resized during iteration
+includes: [testTypedArray.js, compareArray.js]
+features: [TypedArray, resizable-arraybuffer]
+---*/
+
+// If the host chooses to throw as allowed by the specification, the observed
+// behavior will be identical to the case where `ArrayBuffer.prototype.resize`
+// has not been implemented. The following assertion prevents this test from
+// passing in runtimes which have not implemented the method.
+assert.sameValue(typeof ArrayBuffer.prototype.resize, 'function');
+
+testWithTypedArrayConstructors(function(TA) {
+ var BPE = TA.BYTES_PER_ELEMENT;
+ var buffer = new ArrayBuffer(BPE * 3, {maxByteLength: BPE * 4});
+ var sample = new TA(buffer);
+ var expectedElements, expectedIndices, expectedArrays;
+ var elements, indices, arrays, result;
+
+ elements = [];
+ indices = [];
+ arrays = [];
+ result = Array.prototype.some.call(sample, function(element, index, array) {
+ if (elements.length === 0) {
+ try {
+ buffer.resize(2 * BPE);
+ expectedElements = [0, 0];
+ expectedIndices = [0, 1];
+ expectedArrays = [sample, sample];
+ } catch (_) {
+ expectedElements = [0, 0, 0];
+ expectedIndices = [0, 1, 2];
+ expectedArrays = [sample, sample, sample];
+ }
+ }
+
+ elements.push(element);
+ indices.push(index);
+ arrays.push(array);
+ return false;
+ });
+
+ assert.compareArray(elements, expectedElements, 'elements (shrink)');
+ assert.compareArray(indices, expectedIndices, 'indices (shrink)');
+ assert.compareArray(arrays, expectedArrays, 'arrays (shrink)');
+ assert.sameValue(result, false, 'result (shrink)');
+
+ elements = [];
+ indices = [];
+ arrays = [];
+ result = Array.prototype.some.call(sample, function(element, index, array) {
+ if (elements.length === 0) {
+ try {
+ buffer.resize(4 * BPE);
+ } catch (_) {}
+ }
+
+ elements.push(element);
+ indices.push(index);
+ arrays.push(array);
+ return false;
+ });
+
+ assert.compareArray(elements, expectedElements, 'elements (grow)');
+ assert.compareArray(indices, expectedIndices, 'indices (grow)');
+ assert.compareArray(arrays, expectedArrays, 'arrays (grow)');
+ assert.sameValue(result, false, 'result (grow)');
+});
+
+reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Array/prototype/some/shell.js b/js/src/tests/test262/built-ins/Array/prototype/some/shell.js
index e69de29bb2d1..e9580b311369 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/some/shell.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/some/shell.js
@@ -0,0 +1,124 @@
+// GENERATED, DO NOT EDIT
+// file: testTypedArray.js
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+description: |
+ Collection of functions used to assert the correctness of TypedArray objects.
+defines:
+ - typedArrayConstructors
+ - floatArrayConstructors
+ - intArrayConstructors
+ - TypedArray
+ - testWithTypedArrayConstructors
+ - testWithAtomicsFriendlyTypedArrayConstructors
+ - testWithNonAtomicsFriendlyTypedArrayConstructors
+ - testTypedArrayConversions
+---*/
+
+/**
+ * Array containing every typed array constructor.
+ */
+var typedArrayConstructors = [
+ Float64Array,
+ Float32Array,
+ Int32Array,
+ Int16Array,
+ Int8Array,
+ Uint32Array,
+ Uint16Array,
+ Uint8Array,
+ Uint8ClampedArray
+];
+
+var floatArrayConstructors = typedArrayConstructors.slice(0, 2);
+var intArrayConstructors = typedArrayConstructors.slice(2, 7);
+
+/**
+ * The %TypedArray% intrinsic constructor function.
+ */
+var TypedArray = Object.getPrototypeOf(Int8Array);
+
+/**
+ * Callback for testing a typed array constructor.
+ *
+ * @callback typedArrayConstructorCallback
+ * @param {Function} Constructor the constructor object to test with.
+ */
+
+/**
+ * Calls the provided function for every typed array constructor.
+ *
+ * @param {typedArrayConstructorCallback} f - the function to call for each typed array constructor.
+ * @param {Array} selected - An optional Array with filtered typed arrays
+ */
+function testWithTypedArrayConstructors(f, selected) {
+ var constructors = selected || typedArrayConstructors;
+ for (var i = 0; i < constructors.length; ++i) {
+ var constructor = constructors[i];
+ try {
+ f(constructor);
+ } catch (e) {
+ e.message += " (Testing with " + constructor.name + ".)";
+ throw e;
+ }
+ }
+}
+
+/**
+ * Calls the provided function for every non-"Atomics Friendly" typed array constructor.
+ *
+ * @param {typedArrayConstructorCallback} f - the function to call for each typed array constructor.
+ * @param {Array} selected - An optional Array with filtered typed arrays
+ */
+function testWithNonAtomicsFriendlyTypedArrayConstructors(f) {
+ testWithTypedArrayConstructors(f, [
+ Float64Array,
+ Float32Array,
+ Uint8ClampedArray
+ ]);
+}
+
+/**
+ * Calls the provided function for every "Atomics Friendly" typed array constructor.
+ *
+ * @param {typedArrayConstructorCallback} f - the function to call for each typed array constructor.
+ * @param {Array} selected - An optional Array with filtered typed arrays
+ */
+function testWithAtomicsFriendlyTypedArrayConstructors(f) {
+ testWithTypedArrayConstructors(f, [
+ Int32Array,
+ Int16Array,
+ Int8Array,
+ Uint32Array,
+ Uint16Array,
+ Uint8Array,
+ ]);
+}
+
+/**
+ * Helper for conversion operations on TypedArrays, the expected values
+ * properties are indexed in order to match the respective value for each
+ * TypedArray constructor
+ * @param {Function} fn - the function to call for each constructor and value.
+ * will be called with the constructor, value, expected
+ * value, and a initial value that can be used to avoid
+ * a false positive with an equivalent expected value.
+ */
+function testTypedArrayConversions(byteConversionValues, fn) {
+ var values = byteConversionValues.values;
+ var expected = byteConversionValues.expected;
+
+ testWithTypedArrayConstructors(function(TA) {
+ var name = TA.name.slice(0, -5);
+
+ return values.forEach(function(value, index) {
+ var exp = expected[name][index];
+ var initial = 0;
+ if (exp === 0) {
+ initial = 1;
+ }
+ fn(TA, value, exp, initial);
+ });
+ });
+}
diff --git a/js/src/tests/test262/built-ins/Array/prototype/sort/S15.4.4.11_A1.1_T1.js b/js/src/tests/test262/built-ins/Array/prototype/sort/S15.4.4.11_A1.1_T1.js
index a6bf8bf0d2e3..af681151b3c5 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/sort/S15.4.4.11_A1.1_T1.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/sort/S15.4.4.11_A1.1_T1.js
@@ -12,17 +12,14 @@ description: If comparefn is undefined, use SortCompare operator
var x = new Array(2);
x.sort();
-//CHECK#1
if (x.length !== 2) {
throw new Test262Error('#1: var x = new Array(2); x.sort(); x.length === 2. Actual: ' + (x.length));
}
-//CHECK#2
if (x[0] !== undefined) {
throw new Test262Error('#2: var x = new Array(2); x.sort(); x[0] === undefined. Actual: ' + (x[0]));
}
-//CHECK#3
if (x[1] !== undefined) {
throw new Test262Error('#3: var x = new Array(2); x.sort(); x[1] === undefined. Actual: ' + (x[1]));
}
diff --git a/js/src/tests/test262/built-ins/Array/prototype/sort/S15.4.4.11_A1.2_T1.js b/js/src/tests/test262/built-ins/Array/prototype/sort/S15.4.4.11_A1.2_T1.js
index 768a2f1c821c..95ccc2f4c9a9 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/sort/S15.4.4.11_A1.2_T1.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/sort/S15.4.4.11_A1.2_T1.js
@@ -14,17 +14,14 @@ var x = new Array(2);
x[1] = 1;
x.sort();
-//CHECK#1
if (x.length !== 2) {
throw new Test262Error('#1: var x = new Array(2); x[1] = 1; x.sort(); x.length === 2. Actual: ' + (x.length));
}
-//CHECK#2
if (x[0] !== 1) {
throw new Test262Error('#2: var x = new Array(2); x[1] = 1; x.sort(); x[0] === 1. Actual: ' + (x[0]));
}
-//CHECK#3
if (x[1] !== undefined) {
throw new Test262Error('#3: var x = new Array(2); x[1] = 1; x.sort(); x[1] === undefined. Actual: ' + (x[1]));
}
@@ -33,17 +30,14 @@ var x = new Array(2);
x[0] = 1;
x.sort();
-//CHECK#4
if (x.length !== 2) {
throw new Test262Error('#4: var x = new Array(2); x[0] = 1; x.sort(); x.length === 2. Actual: ' + (x.length));
}
-//CHECK#5
if (x[0] !== 1) {
throw new Test262Error('#5: var x = new Array(2); x[0] = 1; x.sort(); x[0] === 1. Actual: ' + (x[0]));
}
-//CHECK#6
if (x[1] !== undefined) {
throw new Test262Error('#6: var x = new Array(2); x[0] = 1; x.sort(); x[1] === undefined. Actual: ' + (x[1]));
}
diff --git a/js/src/tests/test262/built-ins/Array/prototype/sort/S15.4.4.11_A1.2_T2.js b/js/src/tests/test262/built-ins/Array/prototype/sort/S15.4.4.11_A1.2_T2.js
index b3c24c207317..5c106742173c 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/sort/S15.4.4.11_A1.2_T2.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/sort/S15.4.4.11_A1.2_T2.js
@@ -20,17 +20,14 @@ var x = new Array(2);
x[1] = 1;
x.sort(myComparefn);
-//CHECK#1
if (x.length !== 2) {
throw new Test262Error('#1: var x = new Array(2); x[1] = 1; x.sort(myComparefn); x.length === 2. Actual: ' + (x.length));
}
-//CHECK#2
if (x[0] !== 1) {
throw new Test262Error('#2: var x = new Array(2); x[1] = 1; x.sort(myComparefn); x[0] === 1. Actual: ' + (x[0]));
}
-//CHECK#3
if (x[1] !== undefined) {
throw new Test262Error('#3: var x = new Array(2); x[1] = 1; x.sort(myComparefn); x[1] === undefined. Actual: ' + (x[1]));
}
@@ -39,17 +36,14 @@ var x = new Array(2);
x[0] = 1;
x.sort(myComparefn);
-//CHECK#4
if (x.length !== 2) {
throw new Test262Error('#4: var x = new Array(2); x[0] = 1; x.sort(myComparefn); x.length === 2. Actual: ' + (x.length));
}
-//CHECK#5
if (x[0] !== 1) {
throw new Test262Error('#5: var x = new Array(2); x[0] = 1; x.sort(myComparefn); x[0] === 1. Actual: ' + (x[0]));
}
-//CHECK#6
if (x[1] !== undefined) {
throw new Test262Error('#6: var x = new Array(2); x[0] = 1; x.sort(myComparefn); x[1] === undefined. Actual: ' + (x[1]));
}
diff --git a/js/src/tests/test262/built-ins/Array/prototype/sort/S15.4.4.11_A1.3_T1.js b/js/src/tests/test262/built-ins/Array/prototype/sort/S15.4.4.11_A1.3_T1.js
index 8cb2cfabb542..6a6d33050654 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/sort/S15.4.4.11_A1.3_T1.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/sort/S15.4.4.11_A1.3_T1.js
@@ -12,17 +12,14 @@ description: If comparefn is undefined, use SortCompare operator
var x = new Array(undefined, undefined);
x.sort();
-//CHECK#1
if (x.length !== 2) {
throw new Test262Error('#1: var x = new Array(undefined, undefined); x.sort(); x.length === 2. Actual: ' + (x.length));
}
-//CHECK#2
if (x[0] !== undefined) {
throw new Test262Error('#2: var x = new Array(undefined, undefined); x.sort(); x[0] === undefined. Actual: ' + (x[0]));
}
-//CHECK#3
if (x[1] !== undefined) {
throw new Test262Error('#3: var x = new Array(undefined, undefined); x.sort(); x[1] === undefined. Actual: ' + (x[1]));
}
diff --git a/js/src/tests/test262/built-ins/Array/prototype/sort/S15.4.4.11_A1.4_T1.js b/js/src/tests/test262/built-ins/Array/prototype/sort/S15.4.4.11_A1.4_T1.js
index d352c45ce8da..425c2361dd01 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/sort/S15.4.4.11_A1.4_T1.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/sort/S15.4.4.11_A1.4_T1.js
@@ -12,17 +12,14 @@ description: If comparefn is undefined, use SortCompare operator
var x = new Array(undefined, 1);
x.sort();
-//CHECK#1
if (x.length !== 2) {
throw new Test262Error('#1: var x = new Array(undefined, 1); x.sort(); x.length === 2. Actual: ' + (x.length));
}
-//CHECK#2
if (x[0] !== 1) {
throw new Test262Error('#2: var x = new Array(undefined, 1); x.sort(); x[0] === 1. Actual: ' + (x[0]));
}
-//CHECK#3
if (x[1] !== undefined) {
throw new Test262Error('#3: var x = new Array(undefined, 1); x.sort(); x[1] === undefined. Actual: ' + (x[1]));
}
@@ -30,17 +27,14 @@ if (x[1] !== undefined) {
var x = new Array(1, undefined);
x.sort();
-//CHECK#4
if (x.length !== 2) {
throw new Test262Error('#4: var x = new Array(1, undefined); x.sort(); x.length === 2. Actual: ' + (x.length));
}
-//CHECK#5
if (x[0] !== 1) {
throw new Test262Error('#5: var x = new Array(1, undefined); x.sort(); x[0] === 1. Actual: ' + (x[0]));
}
-//CHECK#6
if (x[1] !== undefined) {
throw new Test262Error('#6: var x = new Array(1, undefined); x.sort(); x[1] === undefined. Actual: ' + (x[1]));
}
diff --git a/js/src/tests/test262/built-ins/Array/prototype/sort/S15.4.4.11_A1.4_T2.js b/js/src/tests/test262/built-ins/Array/prototype/sort/S15.4.4.11_A1.4_T2.js
index 117b1647759a..c0ab63090a3e 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/sort/S15.4.4.11_A1.4_T2.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/sort/S15.4.4.11_A1.4_T2.js
@@ -18,17 +18,14 @@ var myComparefn = function(x, y) {
var x = new Array(undefined, 1);
x.sort(myComparefn);
-//CHECK#1
if (x.length !== 2) {
throw new Test262Error('#1: var x = new Array(undefined, 1); x.sort(myComparefn); x.length === 2. Actual: ' + (x.length));
}
-//CHECK#2
if (x[0] !== 1) {
throw new Test262Error('#2: var x = new Array(undefined, 1); x.sort(myComparefn); x[0] === 1. Actual: ' + (x[0]));
}
-//CHECK#3
if (x[1] !== undefined) {
throw new Test262Error('#3: var x = new Array(undefined, 1); x.sort(myComparefn); x[1] === undefined. Actual: ' + (x[1]));
}
@@ -36,17 +33,14 @@ if (x[1] !== undefined) {
var x = new Array(1, undefined);
x.sort(myComparefn);
-//CHECK#4
if (x.length !== 2) {
throw new Test262Error('#4: var x = new Array(1, undefined); x.sort(myComparefn); x.length === 2. Actual: ' + (x.length));
}
-//CHECK#5
if (x[0] !== 1) {
throw new Test262Error('#5: var x = new Array(1, undefined); x.sort(myComparefn); x[0] === 1. Actual: ' + (x[0]));
}
-//CHECK#6
if (x[1] !== undefined) {
throw new Test262Error('#6: var x = new Array(1, undefined); x.sort(myComparefn); x[1] === undefined. Actual: ' + (x[1]));
}
diff --git a/js/src/tests/test262/built-ins/Array/prototype/sort/S15.4.4.11_A1.5_T1.js b/js/src/tests/test262/built-ins/Array/prototype/sort/S15.4.4.11_A1.5_T1.js
index 546f9f318c46..250933dd96f0 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/sort/S15.4.4.11_A1.5_T1.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/sort/S15.4.4.11_A1.5_T1.js
@@ -10,17 +10,14 @@ description: Checking sort() and sort(undefined)
var x = new Array(1, 0);
x.sort();
-//CHECK#1
if (x.length !== 2) {
throw new Test262Error('#1: var x = new Array(1,0); x.sort(); x.length === 2. Actual: ' + (x.length));
}
-//CHECK#2
if (x[0] !== 0) {
throw new Test262Error('#2: var x = new Array(1,0); x.sort(); x[0] === 0. Actual: ' + (x[0]));
}
-//CHECK#3
if (x[1] !== 1) {
throw new Test262Error('#3: var x = new Array(1,0); x.sort(); x[1] === 1. Actual: ' + (x[1]));
}
@@ -28,17 +25,14 @@ if (x[1] !== 1) {
var x = new Array(1, 0);
x.sort(undefined);
-//CHECK#4
if (x.length !== 2) {
throw new Test262Error('#4: var x = new Array(1,0); x.sort(undefined); x.length === 2. Actual: ' + (x.length));
}
-//CHECK#5
if (x[0] !== 0) {
throw new Test262Error('#5: var x = new Array(1,0); x.sort(undefined); x[0] === 0. Actual: ' + (x[0]));
}
-//CHECK#6
if (x[1] !== 1) {
throw new Test262Error('#6: var x = new Array(1,0); x.sort(undefined); x[1] === 1. Actual: ' + (x[1]));
}
diff --git a/js/src/tests/test262/built-ins/Array/prototype/sort/S15.4.4.11_A2.1_T1.js b/js/src/tests/test262/built-ins/Array/prototype/sort/S15.4.4.11_A2.1_T1.js
index 4c37ee88816c..b4c988eec510 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/sort/S15.4.4.11_A2.1_T1.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/sort/S15.4.4.11_A2.1_T1.js
@@ -13,7 +13,6 @@ description: Checking ENGLISH ALPHABET
var alphabetR = ["z", "y", "x", "w", "v", "u", "t", "s", "r", "q", "p", "o", "n", "M", "L", "K", "J", "I", "H", "G", "F", "E", "D", "C", "B", "A"];
var alphabet = ["A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z"];
-//CHECK#1
alphabetR.sort();
var result = true;
for (var i = 0; i < 26; i++) {
diff --git a/js/src/tests/test262/built-ins/Array/prototype/sort/S15.4.4.11_A2.1_T2.js b/js/src/tests/test262/built-ins/Array/prototype/sort/S15.4.4.11_A2.1_T2.js
index 7492dbe0191d..e6e8ac1fc88e 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/sort/S15.4.4.11_A2.1_T2.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/sort/S15.4.4.11_A2.1_T2.js
@@ -13,7 +13,6 @@ description: Checking RUSSIAN ALPHABET
var alphabetR = ["ё", "я", "ю", "э", "ь", "ы", "ъ", "щ", "ш", "ч", "ц", "х", "ф", "у", "т", "с", "р", "П", "О", "Н", "М", "Л", "К", "Й", "И", "З", "Ж", "Е", "Д", "Г", "В", "Б", "А"];
var alphabet = ["А", "Б", "В", "Г", "Д", "Е", "Ж", "З", "И", "Й", "К", "Л", "М", "Н", "О", "П", "р", "с", "т", "у", "ф", "х", "ц", "ч", "ш", "щ", "ъ", "ы", "ь", "э", "ю", "я", "ё"];
-//CHECK#1
alphabetR.sort();
var result = true;
for (var i = 0; i < 26; i++) {
diff --git a/js/src/tests/test262/built-ins/Array/prototype/sort/S15.4.4.11_A2.1_T3.js b/js/src/tests/test262/built-ins/Array/prototype/sort/S15.4.4.11_A2.1_T3.js
index cf1670bc8afc..d68d37b1344c 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/sort/S15.4.4.11_A2.1_T3.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/sort/S15.4.4.11_A2.1_T3.js
@@ -21,7 +21,6 @@ var obj = {
var alphabetR = [undefined, 2, 1, "X", -1, "a", true, obj, NaN, Infinity];
var alphabet = [-1, obj, 1, 2, Infinity, NaN, "X", "a", true, undefined];
-//CHECK#1
alphabetR.sort();
var result = true;
for (var i = 0; i < 10; i++) {
diff --git a/js/src/tests/test262/built-ins/Array/prototype/sort/S15.4.4.11_A2.2_T1.js b/js/src/tests/test262/built-ins/Array/prototype/sort/S15.4.4.11_A2.2_T1.js
index 775d8a44dc31..0473e9f88135 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/sort/S15.4.4.11_A2.2_T1.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/sort/S15.4.4.11_A2.2_T1.js
@@ -18,7 +18,6 @@ var myComparefn = function(x, y) {
return 0;
}
-//CHECK#1
alphabet.sort(myComparefn);
var result = true;
for (var i = 0; i < 26; i++) {
diff --git a/js/src/tests/test262/built-ins/Array/prototype/sort/S15.4.4.11_A2.2_T2.js b/js/src/tests/test262/built-ins/Array/prototype/sort/S15.4.4.11_A2.2_T2.js
index d0c3434be020..4c719c957fe4 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/sort/S15.4.4.11_A2.2_T2.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/sort/S15.4.4.11_A2.2_T2.js
@@ -18,7 +18,6 @@ var myComparefn = function(x, y) {
return 0;
}
-//CHECK#1
alphabet.sort(myComparefn);
var result = true;
for (var i = 0; i < 26; i++) {
diff --git a/js/src/tests/test262/built-ins/Array/prototype/sort/S15.4.4.11_A2.2_T3.js b/js/src/tests/test262/built-ins/Array/prototype/sort/S15.4.4.11_A2.2_T3.js
index 026293f1ba8c..3eef7ab2be80 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/sort/S15.4.4.11_A2.2_T3.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/sort/S15.4.4.11_A2.2_T3.js
@@ -26,7 +26,6 @@ var myComparefn = function(x, y) {
return 0;
}
-//CHECK#1
alphabetR.sort(myComparefn);
var result = true;
for (var i = 0; i < 10; i++) {
diff --git a/js/src/tests/test262/built-ins/Array/prototype/sort/S15.4.4.11_A3_T1.js b/js/src/tests/test262/built-ins/Array/prototype/sort/S15.4.4.11_A3_T1.js
index dce4746d04c8..7add56c4b532 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/sort/S15.4.4.11_A3_T1.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/sort/S15.4.4.11_A3_T1.js
@@ -35,13 +35,11 @@ var alphabet = [-1, obj, 1, 2, Infinity, NaN, "X", "a", true, undefined];
alphabetR.sort();
-//CHECK#0
alphabetR.getClass = Object.prototype.toString;
if (alphabetR.getClass() !== "[object " + "Object" + "]") {
throw new Test262Error('#0: alphabetR.sort() is Object object, not Array object');
}
-//CHECK#1
var result = true;
for (var i = 0; i < 10; i++) {
if (!(isNaN(alphabetR[i]) && isNaN(alphabet[i]))) {
diff --git a/js/src/tests/test262/built-ins/Array/prototype/sort/S15.4.4.11_A3_T2.js b/js/src/tests/test262/built-ins/Array/prototype/sort/S15.4.4.11_A3_T2.js
index 7f8102c63c5a..34b9e54b68f9 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/sort/S15.4.4.11_A3_T2.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/sort/S15.4.4.11_A3_T2.js
@@ -43,13 +43,11 @@ var myComparefn = function(x, y) {
alphabetR.sort(myComparefn);
-//CHECK#0
alphabetR.getClass = Object.prototype.toString;
if (alphabetR.getClass() !== "[object " + "Object" + "]") {
throw new Test262Error('#0: alphabetR.sort() is Object object, not Array object');
}
-//CHECK#1
var result = true;
for (var i = 0; i < 10; i++) {
if (!(isNaN(alphabetR[i]) && isNaN(alphabet[i]))) {
diff --git a/js/src/tests/test262/built-ins/Array/prototype/sort/S15.4.4.11_A4_T3.js b/js/src/tests/test262/built-ins/Array/prototype/sort/S15.4.4.11_A4_T3.js
index 8db1e0e03b73..75938b93c1dd 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/sort/S15.4.4.11_A4_T3.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/sort/S15.4.4.11_A4_T3.js
@@ -14,27 +14,22 @@ obj[1] = "y";
obj[2] = "x";
obj.length = -4294967294;
-//CHECK#1
if (obj.sort() !== obj) {
throw new Test262Error('#1: var obj = {}; obj.sort = Array.prototype.sort; obj[0] = "z"; obj[1] = "y"; obj[2] = "x"; obj.length = -4294967294; obj.sort() === obj. Actual: ' + (obj.sort()));
}
-//CHECK#2
if (obj.length !== -4294967294) {
throw new Test262Error('#2: var obj = {}; obj.sort = Array.prototype.sort; obj[0] = "z"; obj[1] = "y"; obj[2] = "x"; obj.length = -4294967294; obj.sort(); obj.length === -4294967294. Actual: ' + (obj.length));
}
-//CHECK#3
if (obj[0] !== "z") {
throw new Test262Error('#3: var obj = {}; obj.sort = Array.prototype.sort; obj[0] = "z"; obj[1] = "y"; obj[2] = "x"; obj.length = -4294967294; obj.sort(); obj[0] === "z". Actual: ' + (obj[0]));
}
-//CHECK#4
if (obj[1] !== "y") {
throw new Test262Error('#4: var obj = {}; obj.sort = Array.prototype.sort; obj[0] = "z"; obj[1] = "y"; obj[2] = "x"; obj.length = -4294967294; obj.sort(); obj[1] === "y". Actual: ' + (obj[1]));
}
-//CHECK#5
if (obj[2] !== "x") {
throw new Test262Error('#5: var obj = {}; obj.sort = Array.prototype.sort; obj[0] = "z"; obj[1] = "y"; obj[2] = "x"; obj.length = -4294967294; obj.sort(); obj[2] === "x". Actual: ' + (obj[2]));
}
diff --git a/js/src/tests/test262/built-ins/Array/prototype/sort/S15.4.4.11_A5_T1.js b/js/src/tests/test262/built-ins/Array/prototype/sort/S15.4.4.11_A5_T1.js
index 0ab41124f68e..18eaabaf4057 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/sort/S15.4.4.11_A5_T1.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/sort/S15.4.4.11_A5_T1.js
@@ -7,18 +7,12 @@ esid: sec-array.prototype.sort
description: comparefn function throw "error"
---*/
-//CHECK#1
-var myComparefn = function(x, y) {
- throw "error";
-}
-var x = [1, 0];
-try {
- x.sort(myComparefn)
- throw new Test262Error('#1.1: Array.sort should not eat exceptions');
-} catch (e) {
- if (e !== "error") {
- throw new Test262Error('#1.2: Array.sort should not eat exceptions');
+assert.throws(Test262Error, () => {
+ var myComparefn = function(x, y) {
+ throw new Test262Error();
}
-}
+ var x = [1, 0];
+ x.sort(myComparefn);
+});
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Array/prototype/sort/S15.4.4.11_A6_T2.js b/js/src/tests/test262/built-ins/Array/prototype/sort/S15.4.4.11_A6_T2.js
index f99f913829aa..1b75ec229a04 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/sort/S15.4.4.11_A6_T2.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/sort/S15.4.4.11_A6_T2.js
@@ -14,24 +14,20 @@ var x = [1, 0];
x.length = 2;
x.sort();
-//CHECK#1
if (x[0] !== 0) {
throw new Test262Error('#1: Array.prototype[1] = -1; x = [1,0]; x.length = 2; x.sort(); x[0] === 0. Actual: ' + (x[0]));
}
-//CHECK#2
if (x[1] !== 1) {
throw new Test262Error('#2: Array.prototype[1] = -1; x = [1,0]; x.length = 2; x.sort(); x[1] === 1. Actual: ' + (x[1]));
}
x.length = 0;
-//CHECK#3
if (x[0] !== undefined) {
throw new Test262Error('#3: Array.prototype[1] = -1; x = [1,0]; x.length = 2; x.sort(); x.length = 0; x[0] === undefined. Actual: ' + (x[0]));
}
-//CHECK#4
if (x[1] !== -1) {
throw new Test262Error('#4: Array.prototype[1] = -1; x = [1,0]; x.length = 2; x.sort(); x.length = 0; x[1] === -1. Actual: ' + (x[1]));
}
@@ -45,12 +41,10 @@ x = {
};
x.sort();
-//CHECK#5
if (x[0] !== 0) {
throw new Test262Error('#5: Object.prototype[1] = -1; Object.prototype.length = 2; Object.prototype.sort = Array.prototype.sort; x = {0:1,1:0}; x.sort(); x[0] === 0. Actual: ' + (x[0]));
}
-//CHECK#6
if (x[1] !== 1) {
throw new Test262Error('#6: Object.prototype[1] = -1; Object.prototype.length = 2; Object.prototype.sort = Array.prototype.sort; x = {0:1,1:0}; x.sort(); x[1] === 1. Actual: ' + (x[1]));
}
@@ -58,12 +52,10 @@ if (x[1] !== 1) {
delete x[0];
delete x[1];
-//CHECK#7
if (x[0] !== undefined) {
throw new Test262Error('#7: Object.prototype[1] = -1; Object.prototype.length = 2; Object.prototype.sort = Array.prototype.sort; x = {0:1,1:0}; x.sort(); delete x[0]; delete x[1]; x[0] === undefined. Actual: ' + (x[0]));
}
-//CHECK#8
if (x[1] !== -1) {
throw new Test262Error('#8: Object.prototype[1] = -1; Object.prototype.length = 2; Object.prototype.sort = Array.prototype.sort; x = {0:1,1:0}; x.sort(); delete x[0]; delete x[1]; x[1] === -1. Actual: ' + (x[1]));
}
diff --git a/js/src/tests/test262/built-ins/Array/prototype/sort/S15.4.4.11_A7.7.js b/js/src/tests/test262/built-ins/Array/prototype/sort/S15.4.4.11_A7.7.js
deleted file mode 100644
index 2218e55b8e65..000000000000
--- a/js/src/tests/test262/built-ins/Array/prototype/sort/S15.4.4.11_A7.7.js
+++ /dev/null
@@ -1,23 +0,0 @@
-// Copyright 2009 the Sputnik authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-info: The sort property of Array can't be used as constructor
-esid: sec-array.prototype.sort
-description: >
- If property does not implement the internal [[Construct]] method,
- throw a TypeError exception
----*/
-
-//CHECK#1
-
-try {
- new Array.prototype.sort();
- throw new Test262Error('#1.1: new Array.prototype.sort() throw TypeError. Actual: ' + (new Array.prototype.sort()));
-} catch (e) {
- if ((e instanceof TypeError) !== true) {
- throw new Test262Error('#1.2: new Array.prototype.sort() throw TypeError. Actual: ' + (e));
- }
-}
-
-reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Array/prototype/splice/S15.4.4.12_A1.1_T1.js b/js/src/tests/test262/built-ins/Array/prototype/splice/S15.4.4.12_A1.1_T1.js
index c1f9ea1691a3..fc6c0a0eb04e 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/splice/S15.4.4.12_A1.1_T1.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/splice/S15.4.4.12_A1.1_T1.js
@@ -12,38 +12,31 @@ description: length > deleteCount > start = 0, itemCount = 0
var x = [0, 1, 2, 3];
var arr = x.splice(0, 3);
-//CHECK#1
arr.getClass = Object.prototype.toString;
if (arr.getClass() !== "[object " + "Array" + "]") {
throw new Test262Error('#1: var x = [0,1,2,3]; var arr = x.splice(0,3); arr is Array object. Actual: ' + (arr.getClass()));
}
-//CHECK#2
if (arr.length !== 3) {
throw new Test262Error('#2: var x = [0,1,2,3]; var arr = x.splice(0,3); arr.length === 3. Actual: ' + (arr.length));
}
-//CHECK#3
if (arr[0] !== 0) {
throw new Test262Error('#3: var x = [0,1,2,3]; var arr = x.splice(0,3); arr[0] === 0. Actual: ' + (arr[0]));
}
-//CHECK#4
if (arr[1] !== 1) {
throw new Test262Error('#4: var x = [0,1,2,3]; var arr = x.splice(0,3); arr[1] === 1. Actual: ' + (arr[1]));
}
-//CHECK#5
if (arr[2] !== 2) {
throw new Test262Error('#5: var x = [0,1,2,3]; var arr = x.splice(0,3); arr[2] === 2. Actual: ' + (arr[2]));
}
-//CHECK#6
if (x.length !== 1) {
throw new Test262Error('#6: var x = [0,1,2,3]; var arr = x.splice(0,3); x.length === 1. Actual: ' + (x.length));
}
-//CHECK#7
if (x[0] !== 3) {
throw new Test262Error('#7: var x = [0,1,2,3]; var arr = x.splice(0,3); x[0] === 3. Actual: ' + (x[0]));
}
diff --git a/js/src/tests/test262/built-ins/Array/prototype/splice/S15.4.4.12_A1.1_T2.js b/js/src/tests/test262/built-ins/Array/prototype/splice/S15.4.4.12_A1.1_T2.js
index a9150a78433b..acab980a908a 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/splice/S15.4.4.12_A1.1_T2.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/splice/S15.4.4.12_A1.1_T2.js
@@ -12,48 +12,39 @@ description: length > deleteCount > start = 0, itemCount > 0
var x = [0, 1, 2, 3];
var arr = x.splice(0, 3, 4, 5);
-//CHECK#1
arr.getClass = Object.prototype.toString;
if (arr.getClass() !== "[object " + "Array" + "]") {
throw new Test262Error('#1: var x = [0,1,2,3]; var arr = x.splice(0,3,4,5); arr is Array object. Actual: ' + (arr.getClass()));
}
-//CHECK#2
if (arr.length !== 3) {
throw new Test262Error('#2: var x = [0,1,2,3]; var arr = x.splice(0,3,4,5); arr.length === 3. Actual: ' + (arr.length));
}
-//CHECK#3
if (arr[0] !== 0) {
throw new Test262Error('#3: var x = [0,1,2,3]; var arr = x.splice(0,3,4,5); arr[0] === 0. Actual: ' + (arr[0]));
}
-//CHECK#4
if (arr[1] !== 1) {
throw new Test262Error('#4: var x = [0,1,2,3]; var arr = x.splice(0,3,4,5); arr[1] === 1. Actual: ' + (arr[1]));
}
-//CHECK#5
if (arr[2] !== 2) {
throw new Test262Error('#5: var x = [0,1,2,3]; var arr = x.splice(0,3,4,5); arr[2] === 2. Actual: ' + (arr[2]));
}
-//CHECK#6
if (x.length !== 3) {
throw new Test262Error('#6: var x = [0,1,2,3]; var arr = x.splice(0,3,4,5); x.length === 3. Actual: ' + (x.length));
}
-//CHECK#7
if (x[0] !== 4) {
throw new Test262Error('#7: var x = [0,1,2,3]; var arr = x.splice(0,3,4,5); x[0] === 4. Actual: ' + (x[0]));
}
-//CHECK#8
if (x[1] !== 5) {
throw new Test262Error('#8: var x = [0,1,2,3]; var arr = x.splice(0,3,4,5); x[1] === 5. Actual: ' + (x[1]));
}
-//CHECK#9
if (x[2] !== 3) {
throw new Test262Error('#9: var x = [0,1,2,3]; var arr = x.splice(0,3,4,5); x[2] === 3. Actual: ' + (x[2]));
}
diff --git a/js/src/tests/test262/built-ins/Array/prototype/splice/S15.4.4.12_A1.1_T3.js b/js/src/tests/test262/built-ins/Array/prototype/splice/S15.4.4.12_A1.1_T3.js
index 50c2f4a60d9d..a69ab334f154 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/splice/S15.4.4.12_A1.1_T3.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/splice/S15.4.4.12_A1.1_T3.js
@@ -12,38 +12,31 @@ description: length = deleteCount > start = 0
var x = [0, 1, 2, 3];
var arr = x.splice(0, 4);
-//CHECK#1
arr.getClass = Object.prototype.toString;
if (arr.getClass() !== "[object " + "Array" + "]") {
throw new Test262Error('#1: var x = [0,1,2,3]; var arr = x.splice(0,4); arr is Array object. Actual: ' + (arr.getClass()));
}
-//CHECK#2
if (arr.length !== 4) {
throw new Test262Error('#2: var x = [0,1,2,3]; var arr = x.splice(0,4); arr.length === 4. Actual: ' + (arr.length));
}
-//CHECK#3
if (arr[0] !== 0) {
throw new Test262Error('#3: var x = [0,1,2,3]; var arr = x.splice(0,4); arr[0] === 0. Actual: ' + (arr[0]));
}
-//CHECK#4
if (arr[1] !== 1) {
throw new Test262Error('#4: var x = [0,1,2,3]; var arr = x.splice(0,4); arr[1] === 1. Actual: ' + (arr[1]));
}
-//CHECK#5
if (arr[2] !== 2) {
throw new Test262Error('#5: var x = [0,1,2,3]; var arr = x.splice(0,4); arr[2] === 2. Actual: ' + (arr[2]));
}
-//CHECK#6
if (arr[3] !== 3) {
throw new Test262Error('#6: var x = [0,1,2,3]; var arr = x.splice(0,4); arr[3] === 3. Actual: ' + (arr[3]));
}
-//CHECK#7
if (x.length !== 0) {
throw new Test262Error('#7: var x = [0,1,2,3]; var arr = x.splice(0,4); x.length === 0. Actual: ' + (x.length));
}
diff --git a/js/src/tests/test262/built-ins/Array/prototype/splice/S15.4.4.12_A1.1_T4.js b/js/src/tests/test262/built-ins/Array/prototype/splice/S15.4.4.12_A1.1_T4.js
index ff9ab6f85dbd..760b4cb0d133 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/splice/S15.4.4.12_A1.1_T4.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/splice/S15.4.4.12_A1.1_T4.js
@@ -12,48 +12,39 @@ description: length > deleteCount > start > 0, itemCount > 0
var x = [0, 1, 2, 3];
var arr = x.splice(1, 3, 4, 5);
-//CHECK#1
arr.getClass = Object.prototype.toString;
if (arr.getClass() !== "[object " + "Array" + "]") {
throw new Test262Error('#1: var x = [0,1,2,3]; var arr = x.splice(1,3,4,5); arr is Array object. Actual: ' + (arr.getClass()));
}
-//CHECK#2
if (arr.length !== 3) {
throw new Test262Error('#2: var x = [0,1,2,3]; var arr = x.splice(1,3,4,5); arr.length === 3. Actual: ' + (arr.length));
}
-//CHECK#3
if (arr[0] !== 1) {
throw new Test262Error('#3: var x = [0,1,2,3]; var arr = x.splice(1,3,4,5); arr[0] === 1. Actual: ' + (arr[0]));
}
-//CHECK#4
if (arr[1] !== 2) {
throw new Test262Error('#4: var x = [0,1,2,3]; var arr = x.splice(1,3,4,5); arr[1] === 2. Actual: ' + (arr[1]));
}
-//CHECK#5
if (arr[2] !== 3) {
throw new Test262Error('#5: var x = [0,1,2,3]; var arr = x.splice(1,3,4,5); arr[2] === 3. Actual: ' + (arr[2]));
}
-//CHECK#6
if (x.length !== 3) {
throw new Test262Error('#6: var x = [0,1,2,3]; var arr = x.splice(1,3,4,5); x.length === 3. Actual: ' + (x.length));
}
-//CHECK#7
if (x[0] !== 0) {
throw new Test262Error('#7: var x = [0,1,2,3]; var arr = x.splice(1,3,4,5); x[0] === 0. Actual: ' + (x[0]));
}
-//CHECK#8
if (x[1] !== 4) {
throw new Test262Error('#8: var x = [0,1,2,3]; var arr = x.splice(1,3,4,5); x[1] === 4. Actual: ' + (x[1]));
}
-//CHECK#9
if (x[2] !== 5) {
throw new Test262Error('#9: var x = [0,1,2,3]; var arr = x.splice(1,3,4,5); x[2] === 5. Actual: ' + (x[2]));
}
diff --git a/js/src/tests/test262/built-ins/Array/prototype/splice/S15.4.4.12_A1.1_T5.js b/js/src/tests/test262/built-ins/Array/prototype/splice/S15.4.4.12_A1.1_T5.js
index 748e046e9a7d..0d214530242d 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/splice/S15.4.4.12_A1.1_T5.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/splice/S15.4.4.12_A1.1_T5.js
@@ -12,38 +12,31 @@ description: deleteCount > length > start = 0, itemCount = 0
var x = [0, 1, 2, 3];
var arr = x.splice(0, 5);
-//CHECK#1
arr.getClass = Object.prototype.toString;
if (arr.getClass() !== "[object " + "Array" + "]") {
throw new Test262Error('#1: var x = [0,1,2,3]; var arr = x.splice(0,5); arr is Array object. Actual: ' + (arr.getClass()));
}
-//CHECK#2
if (arr.length !== 4) {
throw new Test262Error('#2: var x = [0,1,2,3]; var arr = x.splice(0,5); arr.length === 4. Actual: ' + (arr.length));
}
-//CHECK#3
if (arr[0] !== 0) {
throw new Test262Error('#3: var x = [0,1,2,3]; var arr = x.splice(0,5); arr[0] === 0. Actual: ' + (arr[0]));
}
-//CHECK#4
if (arr[1] !== 1) {
throw new Test262Error('#4: var x = [0,1,2,3]; var arr = x.splice(0,5); arr[1] === 1. Actual: ' + (arr[1]));
}
-//CHECK#5
if (arr[2] !== 2) {
throw new Test262Error('#5: var x = [0,1,2,3]; var arr = x.splice(0,5); arr[2] === 2. Actual: ' + (arr[2]));
}
-//CHECK#6
if (arr[3] !== 3) {
throw new Test262Error('#6: var x = [0,1,2,3]; var arr = x.splice(0,5); arr[3] === 3. Actual: ' + (arr[3]));
}
-//CHECK#7
if (x.length !== 0) {
throw new Test262Error('#7: var x = [0,1,2,3]; var arr = x.splice(0,5); x.length === 0. Actual: ' + (x.length));
}
diff --git a/js/src/tests/test262/built-ins/Array/prototype/splice/S15.4.4.12_A1.1_T6.js b/js/src/tests/test262/built-ins/Array/prototype/splice/S15.4.4.12_A1.1_T6.js
index 7b11811f3171..3daeb79c6125 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/splice/S15.4.4.12_A1.1_T6.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/splice/S15.4.4.12_A1.1_T6.js
@@ -12,48 +12,39 @@ description: length = deleteCount > start > 0, itemCount > 0
var x = [0, 1, 2, 3];
var arr = x.splice(1, 4, 4, 5);
-//CHECK#1
arr.getClass = Object.prototype.toString;
if (arr.getClass() !== "[object " + "Array" + "]") {
throw new Test262Error('#1: var x = [0,1,2,3]; var arr = x.splice(1,4,4,5); arr is Array object. Actual: ' + (arr.getClass()));
}
-//CHECK#2
if (arr.length !== 3) {
throw new Test262Error('#2: var x = [0,1,2,3]; var arr = x.splice(1,4,4,5); arr.length === 3. Actual: ' + (arr.length));
}
-//CHECK#3
if (arr[0] !== 1) {
throw new Test262Error('#3: var x = [0,1,2,3]; var arr = x.splice(1,4,4,5); arr[0] === 1. Actual: ' + (arr[0]));
}
-//CHECK#4
if (arr[1] !== 2) {
throw new Test262Error('#4: var x = [0,1,2,3]; var arr = x.splice(1,4,4,5); arr[1] === 2. Actual: ' + (arr[1]));
}
-//CHECK#5
if (arr[2] !== 3) {
throw new Test262Error('#5: var x = [0,1,2,3]; var arr = x.splice(1,4,4,5); arr[2] === 3. Actual: ' + (arr[2]));
}
-//CHECK#6
if (x.length !== 3) {
throw new Test262Error('#6: var x = [0,1,2,3]; var arr = x.splice(1,4,4,5); x.length === 3. Actual: ' + (x.length));
}
-//CHECK#7
if (x[0] !== 0) {
throw new Test262Error('#7: var x = [0,1,2,3]; var arr = x.splice(1,4,4,5); x[0] === 0. Actual: ' + (x[0]));
}
-//CHECK#8
if (x[1] !== 4) {
throw new Test262Error('#8: var x = [0,1,2,3]; var arr = x.splice(1,4,4,5); x[1] === 4. Actual: ' + (x[1]));
}
-//CHECK#9
if (x[2] !== 5) {
throw new Test262Error('#9: var x = [0,1,2,3]; var arr = x.splice(1,4,4,5); x[2] === 5. Actual: ' + (x[2]));
}
diff --git a/js/src/tests/test262/built-ins/Array/prototype/splice/S15.4.4.12_A1.2_T1.js b/js/src/tests/test262/built-ins/Array/prototype/splice/S15.4.4.12_A1.2_T1.js
index 03d2905c3f1c..fae73a4f3487 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/splice/S15.4.4.12_A1.2_T1.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/splice/S15.4.4.12_A1.2_T1.js
@@ -12,28 +12,23 @@ description: -length = start < deleteCount < 0, itemCount = 0
var x = [0, 1];
var arr = x.splice(-2, -1);
-//CHECK#0
arr.getClass = Object.prototype.toString;
if (arr.getClass() !== "[object " + "Array" + "]") {
throw new Test262Error('#0: var x = [0,1]; var arr = x.splice(-2,-1); arr is Array object. Actual: ' + (arr.getClass()));
}
-//CHECK#1
if (arr.length !== 0) {
throw new Test262Error('#1: var x = [0,1]; var arr = x.splice(-2,-1); arr.length === 0. Actual: ' + (arr.length));
}
-//CHECK#2
if (x.length !== 2) {
throw new Test262Error('#2: var x = [0,1]; var arr = x.splice(-2,-1); x.length === 2. Actual: ' + (x.length));
}
-//CHECK#3
if (x[0] !== 0) {
throw new Test262Error('#3: var x = [0,1]; var arr = x.splice(-2,-1); x[0] === 0. Actual: ' + (x[0]));
}
-//CHECK#4
if (x[1] !== 1) {
throw new Test262Error('#4: var x = [0,1]; var arr = x.splice(-2,-1); x[1] === 1. Actual: ' + (x[1]));
}
diff --git a/js/src/tests/test262/built-ins/Array/prototype/splice/S15.4.4.12_A1.2_T2.js b/js/src/tests/test262/built-ins/Array/prototype/splice/S15.4.4.12_A1.2_T2.js
index 6b2c36dd70b2..a9f5127015c4 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/splice/S15.4.4.12_A1.2_T2.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/splice/S15.4.4.12_A1.2_T2.js
@@ -12,28 +12,23 @@ description: -length < start = deleteCount < 0, itemCount = 0
var x = [0, 1];
var arr = x.splice(-1, -1);
-//CHECK#0
arr.getClass = Object.prototype.toString;
if (arr.getClass() !== "[object " + "Array" + "]") {
throw new Test262Error('#0: var x = [0,1]; var arr = x.splice(-1,-1); arr is Array object. Actual: ' + (arr.getClass()));
}
-//CHECK#1
if (arr.length !== 0) {
throw new Test262Error('#1: var x = [0,1]; var arr = x.splice(-1,-1); arr.length === 0. Actual: ' + (arr.length));
}
-//CHECK#2
if (x.length !== 2) {
throw new Test262Error('#2: var x = [0,1]; var arr = x.splice(-1,-1); x.length === 2. Actual: ' + (x.length));
}
-//CHECK#3
if (x[0] !== 0) {
throw new Test262Error('#3: var x = [0,1]; var arr = x.splice(-1,-1); x[0] === 0. Actual: ' + (x[0]));
}
-//CHECK#4
if (x[1] !== 1) {
throw new Test262Error('#4: var x = [0,1]; var arr = x.splice(-1,-1); x[1] === 1. Actual: ' + (x[1]));
}
diff --git a/js/src/tests/test262/built-ins/Array/prototype/splice/S15.4.4.12_A1.2_T3.js b/js/src/tests/test262/built-ins/Array/prototype/splice/S15.4.4.12_A1.2_T3.js
index 13ed2ec195e8..6b8d6f5bfd53 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/splice/S15.4.4.12_A1.2_T3.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/splice/S15.4.4.12_A1.2_T3.js
@@ -12,38 +12,31 @@ description: -length = start < deleteCount < 0, itemCount > 0
var x = [0, 1];
var arr = x.splice(-2, -1, 2, 3);
-//CHECK#0
arr.getClass = Object.prototype.toString;
if (arr.getClass() !== "[object " + "Array" + "]") {
throw new Test262Error('#0: var x = [0,1]; var arr = x.splice(-2,-1,2,3); arr is Array object. Actual: ' + (arr.getClass()));
}
-//CHECK#1
if (arr.length !== 0) {
throw new Test262Error('#1: var x = [0,1]; var arr = x.splice(-2,-1,2,3); arr.length === 0. Actual: ' + (arr.length));
}
-//CHECK#2
if (x.length !== 4) {
throw new Test262Error('#2: var x = [0,1]; var arr = x.splice(-2,-1,2,3); x.length === 4. Actual: ' + (x.length));
}
-//CHECK#3
if (x[0] !== 2) {
throw new Test262Error('#3: var x = [0,1]; var arr = x.splice(-2,-1,2,3); x[0] === 2. Actual: ' + (x[0]));
}
-//CHECK#4
if (x[1] !== 3) {
throw new Test262Error('#4: var x = [0,1]; var arr = x.splice(-2,-1,2,3); x[1] === 3. Actual: ' + (x[1]));
}
-//CHECK#5
if (x[2] !== 0) {
throw new Test262Error('#5: var x = [0,1]; var arr = x.splice(-2,-1,2,3); x[2] === 0. Actual: ' + (x[2]));
}
-//CHECK#6
if (x[3] !== 1) {
throw new Test262Error('#6: var x = [0,1]; var arr = x.splice(-2,-1,2,3); x[3] === 1. Actual: ' + (x[3]));
}
diff --git a/js/src/tests/test262/built-ins/Array/prototype/splice/S15.4.4.12_A1.2_T4.js b/js/src/tests/test262/built-ins/Array/prototype/splice/S15.4.4.12_A1.2_T4.js
index b1857228852f..e3be864ac8b4 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/splice/S15.4.4.12_A1.2_T4.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/splice/S15.4.4.12_A1.2_T4.js
@@ -12,38 +12,31 @@ description: -length < start = deleteCount < 0, itemCount > 0
var x = [0, 1];
var arr = x.splice(-1, -1, 2, 3);
-//CHECK#0
arr.getClass = Object.prototype.toString;
if (arr.getClass() !== "[object " + "Array" + "]") {
throw new Test262Error('#0: var x = [0,1]; var arr = x.splice(-1,-1,2,3); arr is Array object. Actual: ' + (arr.getClass()));
}
-//CHECK#1
if (arr.length !== 0) {
throw new Test262Error('#1: var x = [0,1]; var arr = x.splice(-1,-1,2,3); arr.length === 0. Actual: ' + (arr.length));
}
-//CHECK#2
if (x.length !== 4) {
throw new Test262Error('#2: var x = [0,1]; var arr = x.splice(-1,-1,2,3); x.length === 4. Actual: ' + (x.length));
}
-//CHECK#3
if (x[0] !== 0) {
throw new Test262Error('#3: var x = [0,1]; var arr = x.splice(-1,-1,2,3); x[0] === 0. Actual: ' + (x[0]));
}
-//CHECK#4
if (x[1] !== 2) {
throw new Test262Error('#4: var x = [0,1]; var arr = x.splice(-1,-1,2,3); x[1] === 2. Actual: ' + (x[1]));
}
-//CHECK#5
if (x[2] !== 3) {
throw new Test262Error('#5: var x = [0,1]; var arr = x.splice(-1,-1,2,3); x[2] === 3. Actual: ' + (x[2]));
}
-//CHECK#6
if (x[3] !== 1) {
throw new Test262Error('#6: var x = [0,1]; var arr = x.splice(-1,-1,2,3); x[3] === 1. Actual: ' + (x[3]));
}
diff --git a/js/src/tests/test262/built-ins/Array/prototype/splice/S15.4.4.12_A1.2_T5.js b/js/src/tests/test262/built-ins/Array/prototype/splice/S15.4.4.12_A1.2_T5.js
index 7c6c8a6de92c..e1e0b56e320d 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/splice/S15.4.4.12_A1.2_T5.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/splice/S15.4.4.12_A1.2_T5.js
@@ -12,38 +12,31 @@ description: start < -length < deleteCount < 0, itemCount > 0
var x = [0, 1];
var arr = x.splice(-3, -1, 2, 3);
-//CHECK#0
arr.getClass = Object.prototype.toString;
if (arr.getClass() !== "[object " + "Array" + "]") {
throw new Test262Error('#0: var x = [0,1]; var arr = x.splice(-3,-1,2,3); arr is Array object. Actual: ' + (arr.getClass()));
}
-//CHECK#1
if (arr.length !== 0) {
throw new Test262Error('#1: var x = [0,1]; var arr = x.splice(-3,-1,2,3); arr.length === 0. Actual: ' + (arr.length));
}
-//CHECK#2
if (x.length !== 4) {
throw new Test262Error('#2: var x = [0,1]; var arr = x.splice(-3,-1,2,3); x.length === 4. Actual: ' + (x.length));
}
-//CHECK#3
if (x[0] !== 2) {
throw new Test262Error('#3: var x = [0,1]; var arr = x.splice(-3,-1,2,3); x[0] === 2. Actual: ' + (x[0]));
}
-//CHECK#4
if (x[1] !== 3) {
throw new Test262Error('#4: var x = [0,1]; var arr = x.splice(-3,-1,2,3); x[1] === 3. Actual: ' + (x[1]));
}
-//CHECK#5
if (x[2] !== 0) {
throw new Test262Error('#5: var x = [0,1]; var arr = x.splice(-3,-1,2,3); x[2] === 0. Actual: ' + (x[2]));
}
-//CHECK#6
if (x[3] !== 1) {
throw new Test262Error('#6: var x = [0,1]; var arr = x.splice(-3,-1,2,3); x[3] === 1. Actual: ' + (x[3]));
}
diff --git a/js/src/tests/test262/built-ins/Array/prototype/splice/S15.4.4.12_A1.3_T1.js b/js/src/tests/test262/built-ins/Array/prototype/splice/S15.4.4.12_A1.3_T1.js
index 4c30d9ee4b30..5183980022ef 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/splice/S15.4.4.12_A1.3_T1.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/splice/S15.4.4.12_A1.3_T1.js
@@ -12,28 +12,23 @@ description: -length < deleteCount < start = 0, itemCount = 0
var x = [0, 1];
var arr = x.splice(0, -1);
-//CHECK#0
arr.getClass = Object.prototype.toString;
if (arr.getClass() !== "[object " + "Array" + "]") {
throw new Test262Error('#0: var x = [0,1]; var arr = x.splice(0,-1); arr is Array object. Actual: ' + (arr.getClass()));
}
-//CHECK#1
if (arr.length !== 0) {
throw new Test262Error('#1: var x = [0,1]; var arr = x.splice(0,-1); arr.length === 0. Actual: ' + (arr.length));
}
-//CHECK#2
if (x.length !== 2) {
throw new Test262Error('#2: var x = [0,1]; var arr = x.splice(0,-1); x.length === 2. Actual: ' + (x.length));
}
-//CHECK#3
if (x[0] !== 0) {
throw new Test262Error('#3: var x = [0,1]; var arr = x.splice(0,-1); x[0] === 0. Actual: ' + (x[0]));
}
-//CHECK#4
if (x[1] !== 1) {
throw new Test262Error('#4: var x = [0,1]; var arr = x.splice(0,-1); x[1] === 1. Actual: ' + (x[1]));
}
diff --git a/js/src/tests/test262/built-ins/Array/prototype/splice/S15.4.4.12_A1.3_T2.js b/js/src/tests/test262/built-ins/Array/prototype/splice/S15.4.4.12_A1.3_T2.js
index 728fb34ffce7..4d85c4b251be 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/splice/S15.4.4.12_A1.3_T2.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/splice/S15.4.4.12_A1.3_T2.js
@@ -12,28 +12,23 @@ description: -length = -start < deleteCount < 0, itemCount = 0
var x = [0, 1];
var arr = x.splice(2, -1);
-//CHECK#0
arr.getClass = Object.prototype.toString;
if (arr.getClass() !== "[object " + "Array" + "]") {
throw new Test262Error('#0: var x = [0,1]; var arr = x.splice(2,-1); arr is Array object. Actual: ' + (arr.getClass()));
}
-//CHECK#1
if (arr.length !== 0) {
throw new Test262Error('#1: var x = [0,1]; var arr = x.splice(2,-1); arr.length === 0. Actual: ' + (arr.length));
}
-//CHECK#2
if (x.length !== 2) {
throw new Test262Error('#2: var x = [0,1]; var arr = x.splice(2,-1); x.length === 2. Actual: ' + (x.length));
}
-//CHECK#3
if (x[0] !== 0) {
throw new Test262Error('#3: var x = [0,1]; var arr = x.splice(2,-1); x[0] === 0. Actual: ' + (x[0]));
}
-//CHECK#4
if (x[1] !== 1) {
throw new Test262Error('#4: var x = [0,1]; var arr = x.splice(2,-1); x[1] === 1. Actual: ' + (x[1]));
}
diff --git a/js/src/tests/test262/built-ins/Array/prototype/splice/S15.4.4.12_A1.3_T3.js b/js/src/tests/test262/built-ins/Array/prototype/splice/S15.4.4.12_A1.3_T3.js
index 8991245365f0..627753cd2463 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/splice/S15.4.4.12_A1.3_T3.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/splice/S15.4.4.12_A1.3_T3.js
@@ -12,38 +12,31 @@ description: -length < deleteCount < start = 0, itemCount > 0
var x = [0, 1];
var arr = x.splice(0, -1, 2, 3);
-//CHECK#0
arr.getClass = Object.prototype.toString;
if (arr.getClass() !== "[object " + "Array" + "]") {
throw new Test262Error('#0: var x = [0,1]; var arr = x.splice(0,-1,2,3); arr is Array object. Actual: ' + (arr.getClass()));
}
-//CHECK#1
if (arr.length !== 0) {
throw new Test262Error('#1: var x = [0,1]; var arr = x.splice(0,-1,2,3); arr.length === 0. Actual: ' + (arr.length));
}
-//CHECK#2
if (x.length !== 4) {
throw new Test262Error('#2: var x = [0,1]; var arr = x.splice(0,-1,2,3); x.length === 4. Actual: ' + (x.length));
}
-//CHECK#3
if (x[0] !== 2) {
throw new Test262Error('#3: var x = [0,1]; var arr = x.splice(0,-1,2,3); x[0] === 2. Actual: ' + (x[0]));
}
-//CHECK#4
if (x[1] !== 3) {
throw new Test262Error('#4: var x = [0,1]; var arr = x.splice(0,-1,2,3); x[1] === 3. Actual: ' + (x[1]));
}
-//CHECK#5
if (x[2] !== 0) {
throw new Test262Error('#5: var x = [0,1]; var arr = x.splice(0,-1,2,3); x[2] === 0. Actual: ' + (x[2]));
}
-//CHECK#6
if (x[3] !== 1) {
throw new Test262Error('#6: var x = [0,1]; var arr = x.splice(0,-1,2,3); x[3] === 1. Actual: ' + (x[3]));
}
diff --git a/js/src/tests/test262/built-ins/Array/prototype/splice/S15.4.4.12_A1.3_T4.js b/js/src/tests/test262/built-ins/Array/prototype/splice/S15.4.4.12_A1.3_T4.js
index 0f52dac9a0a3..83e32eabadae 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/splice/S15.4.4.12_A1.3_T4.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/splice/S15.4.4.12_A1.3_T4.js
@@ -12,38 +12,31 @@ description: -length = -start < deleteCount < 0, itemCount > 0
var x = [0, 1];
var arr = x.splice(2, -1, 2, 3);
-//CHECK#0
arr.getClass = Object.prototype.toString;
if (arr.getClass() !== "[object " + "Array" + "]") {
throw new Test262Error('#0: var x = [0,1]; var arr = x.splice(2,-1,2,3); arr is Array object. Actual: ' + (arr.getClass()));
}
-//CHECK#1
if (arr.length !== 0) {
throw new Test262Error('#1: var x = [0,1]; var arr = x.splice(2,-1,2,3); arr.length === 0. Actual: ' + (arr.length));
}
-//CHECK#2
if (x.length !== 4) {
throw new Test262Error('#2: var x = [0,1]; var arr = x.splice(2,-1,2,3); x.length === 4. Actual: ' + (x.length));
}
-//CHECK#3
if (x[0] !== 0) {
throw new Test262Error('#3: var x = [0,1]; var arr = x.splice(2,-1,2,3); x[0] === 0. Actual: ' + (x[0]));
}
-//CHECK#4
if (x[1] !== 1) {
throw new Test262Error('#4: var x = [0,1]; var arr = x.splice(2,-1,2,3); x[1] === 1. Actual: ' + (x[1]));
}
-//CHECK#5
if (x[2] !== 2) {
throw new Test262Error('#5: var x = [0,1]; var arr = x.splice(2,-1,2,3); x[2] === 2. Actual: ' + (x[2]));
}
-//CHECK#6
if (x[3] !== 3) {
throw new Test262Error('#6: var x = [0,1]; var arr = x.splice(2,-1,2,3); x[3] === 3. Actual: ' + (x[3]));
}
diff --git a/js/src/tests/test262/built-ins/Array/prototype/splice/S15.4.4.12_A1.3_T5.js b/js/src/tests/test262/built-ins/Array/prototype/splice/S15.4.4.12_A1.3_T5.js
index d717c4b242ff..8e9c337f199b 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/splice/S15.4.4.12_A1.3_T5.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/splice/S15.4.4.12_A1.3_T5.js
@@ -12,38 +12,31 @@ description: -start < -length < deleteCount < 0, itemCount > 0
var x = [0, 1];
var arr = x.splice(3, -1, 2, 3);
-//CHECK#0
arr.getClass = Object.prototype.toString;
if (arr.getClass() !== "[object " + "Array" + "]") {
throw new Test262Error('#0: var x = [0,1]; var arr = x.splice(3,-1,2,3); arr is Array object. Actual: ' + (arr.getClass()));
}
-//CHECK#1
if (arr.length !== 0) {
throw new Test262Error('#1: var x = [0,1]; var arr = x.splice(3,-1,2,3); arr.length === 0. Actual: ' + (arr.length));
}
-//CHECK#2
if (x.length !== 4) {
throw new Test262Error('#2: var x = [0,1]; var arr = x.splice(3,-1,2,3); x.length === 4. Actual: ' + (x.length));
}
-//CHECK#3
if (x[0] !== 0) {
throw new Test262Error('#3: var x = [0,1]; var arr = x.splice(3,-1,2,3); x[0] === 0. Actual: ' + (x[0]));
}
-//CHECK#4
if (x[1] !== 1) {
throw new Test262Error('#4: var x = [0,1]; var arr = x.splice(3,-1,2,3); x[1] === 1. Actual: ' + (x[1]));
}
-//CHECK#5
if (x[2] !== 2) {
throw new Test262Error('#5: var x = [0,1]; var arr = x.splice(3,-1,2,3); x[2] === 2. Actual: ' + (x[2]));
}
-//CHECK#6
if (x[3] !== 3) {
throw new Test262Error('#6: var x = [0,1]; var arr = x.splice(3,-1,2,3); x[3] === 3. Actual: ' + (x[3]));
}
diff --git a/js/src/tests/test262/built-ins/Array/prototype/splice/S15.4.4.12_A1.4_T1.js b/js/src/tests/test262/built-ins/Array/prototype/splice/S15.4.4.12_A1.4_T1.js
index e4d8e5d9091f..192c5d3d42e5 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/splice/S15.4.4.12_A1.4_T1.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/splice/S15.4.4.12_A1.4_T1.js
@@ -12,38 +12,31 @@ description: length = -start > deleteCount > 0, itemCount = 0
var x = [0, 1, 2, 3];
var arr = x.splice(-4, 3);
-//CHECK#1
arr.getClass = Object.prototype.toString;
if (arr.getClass() !== "[object " + "Array" + "]") {
throw new Test262Error('#1: var x = [0,1,2,3]; var arr = x.splice(-4,3); arr is Array object. Actual: ' + (arr.getClass()));
}
-//CHECK#2
if (arr.length !== 3) {
throw new Test262Error('#2: var x = [0,1,2,3]; var arr = x.splice(-4,3); arr.length === 3. Actual: ' + (arr.length));
}
-//CHECK#3
if (arr[0] !== 0) {
throw new Test262Error('#3: var x = [0,1,2,3]; var arr = x.splice(-4,3); arr[0] === 0. Actual: ' + (arr[0]));
}
-//CHECK#4
if (arr[1] !== 1) {
throw new Test262Error('#4: var x = [0,1,2,3]; var arr = x.splice(-4,3); arr[1] === 1. Actual: ' + (arr[1]));
}
-//CHECK#5
if (arr[2] !== 2) {
throw new Test262Error('#5: var x = [0,1,2,3]; var arr = x.splice(-4,3); arr[2] === 2. Actual: ' + (arr[2]));
}
-//CHECK#6
if (x.length !== 1) {
throw new Test262Error('#6: var x = [0,1,2,3]; var arr = x.splice(-4,3); x.length === 1. Actual: ' + (x.length));
}
-//CHECK#7
if (x[0] !== 3) {
throw new Test262Error('#7: var x = [0,1,2,3]; var arr = x.splice(-4,3); x[0] === 3. Actual: ' + (x[0]));
}
diff --git a/js/src/tests/test262/built-ins/Array/prototype/splice/S15.4.4.12_A1.4_T2.js b/js/src/tests/test262/built-ins/Array/prototype/splice/S15.4.4.12_A1.4_T2.js
index 632234140936..2b9c02509d16 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/splice/S15.4.4.12_A1.4_T2.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/splice/S15.4.4.12_A1.4_T2.js
@@ -12,48 +12,39 @@ description: length = -start > deleteCount > 0, itemCount > 0
var x = [0, 1, 2, 3];
var arr = x.splice(-4, 3, 4, 5);
-//CHECK#1
arr.getClass = Object.prototype.toString;
if (arr.getClass() !== "[object " + "Array" + "]") {
throw new Test262Error('#1: var x = [0,1,2,3]; var arr = x.splice(-4,3,4,5); arr is Array object. Actual: ' + (arr.getClass()));
}
-//CHECK#2
if (arr.length !== 3) {
throw new Test262Error('#2: var x = [0,1,2,3]; var arr = x.splice(-4,3,4,5); arr.length === 3. Actual: ' + (arr.length));
}
-//CHECK#3
if (arr[0] !== 0) {
throw new Test262Error('#3: var x = [0,1,2,3]; var arr = x.splice(-4,3,4,5); arr[0] === 0. Actual: ' + (arr[0]));
}
-//CHECK#4
if (arr[1] !== 1) {
throw new Test262Error('#4: var x = [0,1,2,3]; var arr = x.splice(-4,3,4,5); arr[1] === 1. Actual: ' + (arr[1]));
}
-//CHECK#5
if (arr[2] !== 2) {
throw new Test262Error('#5: var x = [0,1,2,3]; var arr = x.splice(-4,3,4,5); arr[2] === 2. Actual: ' + (arr[2]));
}
-//CHECK#6
if (x.length !== 3) {
throw new Test262Error('#6: var x = [0,1,2,3]; var arr = x.splice(-4,3,4,5); x.length === 3. Actual: ' + (x.length));
}
-//CHECK#7
if (x[0] !== 4) {
throw new Test262Error('#7: var x = [0,1,2,3]; var arr = x.splice(-4,3,4,5); x[0] === 4. Actual: ' + (x[0]));
}
-//CHECK#8
if (x[1] !== 5) {
throw new Test262Error('#8: var x = [0,1,2,3]; var arr = x.splice(-4,3,4,5); x[1] === 5. Actual: ' + (x[1]));
}
-//CHECK#9
if (x[2] !== 3) {
throw new Test262Error('#9: var x = [0,1,2,3]; var arr = x.splice(-4,3,4,5); x[2] === 3. Actual: ' + (x[2]));
}
diff --git a/js/src/tests/test262/built-ins/Array/prototype/splice/S15.4.4.12_A1.4_T3.js b/js/src/tests/test262/built-ins/Array/prototype/splice/S15.4.4.12_A1.4_T3.js
index 72090ad7ece1..61d50324c93d 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/splice/S15.4.4.12_A1.4_T3.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/splice/S15.4.4.12_A1.4_T3.js
@@ -12,38 +12,31 @@ description: -start > length = deleteCount > 0, itemCount = 0
var x = [0, 1, 2, 3];
var arr = x.splice(-5, 4);
-//CHECK#1
arr.getClass = Object.prototype.toString;
if (arr.getClass() !== "[object " + "Array" + "]") {
throw new Test262Error('#1: var x = [0,1,2,3]; var arr = x.splice(-5,4); arr is Array object. Actual: ' + (arr.getClass()));
}
-//CHECK#2
if (arr.length !== 4) {
throw new Test262Error('#2: var x = [0,1,2,3]; var arr = x.splice(-5,4); arr.length === 4. Actual: ' + (arr.length));
}
-//CHECK#3
if (arr[0] !== 0) {
throw new Test262Error('#3: var x = [0,1,2,3]; var arr = x.splice(-5,4); arr[0] === 0. Actual: ' + (arr[0]));
}
-//CHECK#4
if (arr[1] !== 1) {
throw new Test262Error('#4: var x = [0,1,2,3]; var arr = x.splice(-5,4); arr[1] === 1. Actual: ' + (arr[1]));
}
-//CHECK#5
if (arr[2] !== 2) {
throw new Test262Error('#5: var x = [0,1,2,3]; var arr = x.splice(-5,4); arr[2] === 2. Actual: ' + (arr[2]));
}
-//CHECK#6
if (arr[3] !== 3) {
throw new Test262Error('#6: var x = [0,1,2,3]; var arr = x.splice(-5,4); arr[3] === 3. Actual: ' + (arr[3]));
}
-//CHECK#7
if (x.length !== 0) {
throw new Test262Error('#7: var x = [0,1,2,3]; var arr = x.splice(-5,4); x.length === 0. Actual: ' + (x.length));
}
diff --git a/js/src/tests/test262/built-ins/Array/prototype/splice/S15.4.4.12_A1.4_T4.js b/js/src/tests/test262/built-ins/Array/prototype/splice/S15.4.4.12_A1.4_T4.js
index d778a50fd4f1..14927ad334e6 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/splice/S15.4.4.12_A1.4_T4.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/splice/S15.4.4.12_A1.4_T4.js
@@ -12,48 +12,39 @@ description: length > -start = deleteCount > 0, itemCount > 0
var x = [0, 1, 2, 3];
var arr = x.splice(-3, 3, 4, 5);
-//CHECK#1
arr.getClass = Object.prototype.toString;
if (arr.getClass() !== "[object " + "Array" + "]") {
throw new Test262Error('#1: var x = [0,1,2,3]; var arr = x.splice(-3,3,4,5); arr is Array object. Actual: ' + (arr.getClass()));
}
-//CHECK#2
if (arr.length !== 3) {
throw new Test262Error('#2: var x = [0,1,2,3]; var arr = x.splice(-3,3,4,5); arr.length === 3. Actual: ' + (arr.length));
}
-//CHECK#3
if (arr[0] !== 1) {
throw new Test262Error('#3: var x = [0,1,2,3]; var arr = x.splice(-3,3,4,5); arr[0] === 1. Actual: ' + (arr[0]));
}
-//CHECK#4
if (arr[1] !== 2) {
throw new Test262Error('#4: var x = [0,1,2,3]; var arr = x.splice(-3,3,4,5); arr[1] === 2. Actual: ' + (arr[1]));
}
-//CHECK#5
if (arr[2] !== 3) {
throw new Test262Error('#5: var x = [0,1,2,3]; var arr = x.splice(-3,3,4,5); arr[2] === 3. Actual: ' + (arr[2]));
}
-//CHECK#6
if (x.length !== 3) {
throw new Test262Error('#6: var x = [0,1,2,3]; var arr = x.splice(-3,3,4,5); x.length === 3. Actual: ' + (x.length));
}
-//CHECK#7
if (x[0] !== 0) {
throw new Test262Error('#7: var x = [0,1,2,3]; var arr = x.splice(-3,3,4,5); x[0] === 0. Actual: ' + (x[0]));
}
-//CHECK#8
if (x[1] !== 4) {
throw new Test262Error('#8: var x = [0,1,2,3]; var arr = x.splice(-3,3,4,5); x[1] === 4. Actual: ' + (x[1]));
}
-//CHECK#9
if (x[2] !== 5) {
throw new Test262Error('#9: var x = [0,1,2,3]; var arr = x.splice(-3,3,4,5); x[2] === 5. Actual: ' + (x[2]));
}
diff --git a/js/src/tests/test262/built-ins/Array/prototype/splice/S15.4.4.12_A1.4_T5.js b/js/src/tests/test262/built-ins/Array/prototype/splice/S15.4.4.12_A1.4_T5.js
index 8f4ff32ca6b6..1ed94192ce66 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/splice/S15.4.4.12_A1.4_T5.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/splice/S15.4.4.12_A1.4_T5.js
@@ -12,38 +12,31 @@ description: -start > deleteCount > length > 0, itemCount = 0
var x = [0, 1, 2, 3];
var arr = x.splice(-9, 5);
-//CHECK#1
arr.getClass = Object.prototype.toString;
if (arr.getClass() !== "[object " + "Array" + "]") {
throw new Test262Error('#1: var x = [0,1,2,3]; var arr = x.splice(-9,5); arr is Array object. Actual: ' + (arr.getClass()));
}
-//CHECK#2
if (arr.length !== 4) {
throw new Test262Error('#2: var x = [0,1,2,3]; var arr = x.splice(-9,5); arr.length === 4. Actual: ' + (arr.length));
}
-//CHECK#3
if (arr[0] !== 0) {
throw new Test262Error('#3: var x = [0,1,2,3]; var arr = x.splice(-9,5); arr[0] === 0. Actual: ' + (arr[0]));
}
-//CHECK#4
if (arr[1] !== 1) {
throw new Test262Error('#4: var x = [0,1,2,3]; var arr = x.splice(-9,5); arr[1] === 1. Actual: ' + (arr[1]));
}
-//CHECK#5
if (arr[2] !== 2) {
throw new Test262Error('#5: var x = [0,1,2,3]; var arr = x.splice(-9,5); arr[2] === 2. Actual: ' + (arr[2]));
}
-//CHECK#6
if (arr[3] !== 3) {
throw new Test262Error('#6: var x = [0,1,2,3]; var arr = x.splice(-9,5); arr[3] === 3. Actual: ' + (arr[3]));
}
-//CHECK#7
if (x.length !== 0) {
throw new Test262Error('#7: var x = [0,1,2,3]; var arr = x.splice(-9,5); x.length === 0. Actual: ' + (x.length));
}
diff --git a/js/src/tests/test262/built-ins/Array/prototype/splice/S15.4.4.12_A1.4_T6.js b/js/src/tests/test262/built-ins/Array/prototype/splice/S15.4.4.12_A1.4_T6.js
index 57d61443524a..afae2a1210b5 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/splice/S15.4.4.12_A1.4_T6.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/splice/S15.4.4.12_A1.4_T6.js
@@ -12,48 +12,39 @@ description: length = deleteCount > -start > 0, itemCount > 0
var x = [0, 1, 2, 3];
var arr = x.splice(-3, 4, 4, 5);
-//CHECK#1
arr.getClass = Object.prototype.toString;
if (arr.getClass() !== "[object " + "Array" + "]") {
throw new Test262Error('#1: var x = [0,1,2,3]; var arr = x.splice(-3,4,4,5); arr is Array object. Actual: ' + (arr.getClass()));
}
-//CHECK#2
if (arr.length !== 3) {
throw new Test262Error('#2: var x = [0,1,2,3]; var arr = x.splice(-3,4,4,5); arr.length === 3. Actual: ' + (arr.length));
}
-//CHECK#3
if (arr[0] !== 1) {
throw new Test262Error('#3: var x = [0,1,2,3]; var arr = x.splice(-3,4,4,5); arr[0] === 1. Actual: ' + (arr[0]));
}
-//CHECK#4
if (arr[1] !== 2) {
throw new Test262Error('#4: var x = [0,1,2,3]; var arr = x.splice(-3,4,4,5); arr[1] === 2. Actual: ' + (arr[1]));
}
-//CHECK#5
if (arr[2] !== 3) {
throw new Test262Error('#5: var x = [0,1,2,3]; var arr = x.splice(-3,4,4,5); arr[2] === 3. Actual: ' + (arr[2]));
}
-//CHECK#6
if (x.length !== 3) {
throw new Test262Error('#6: var x = [0,1,2,3]; var arr = x.splice(-3,4,4,5); x.length === 3. Actual: ' + (x.length));
}
-//CHECK#7
if (x[0] !== 0) {
throw new Test262Error('#7: var x = [0,1,2,3]; var arr = x.splice(-3,4,4,5); x[0] === 0. Actual: ' + (x[0]));
}
-//CHECK#8
if (x[1] !== 4) {
throw new Test262Error('#8: var x = [0,1,2,3]; var arr = x.splice(-3,4,4,5); x[1] === 4. Actual: ' + (x[1]));
}
-//CHECK#9
if (x[2] !== 5) {
throw new Test262Error('#9: var x = [0,1,2,3]; var arr = x.splice(-3,4,4,5); x[2] === 5. Actual: ' + (x[2]));
}
diff --git a/js/src/tests/test262/built-ins/Array/prototype/splice/S15.4.4.12_A1.5_T1.js b/js/src/tests/test262/built-ins/Array/prototype/splice/S15.4.4.12_A1.5_T1.js
index b14d01e93b81..7819ebeb2fcd 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/splice/S15.4.4.12_A1.5_T1.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/splice/S15.4.4.12_A1.5_T1.js
@@ -10,38 +10,31 @@ description: start === undefined, end === undefined
var x = [0, 1, 2, 3];
var arr = x.splice(undefined, undefined);
-//CHECK#1
arr.getClass = Object.prototype.toString;
if (arr.getClass() !== "[object " + "Array" + "]") {
throw new Test262Error('#1: var x = [0,1,2,3]; var arr = x.splice(undefined, undefined); arr is Array object. Actual: ' + (arr.getClass()));
}
-//CHECK#2
if (arr.length !== 0) {
throw new Test262Error('#2: var x = [0,1,2,3]; var arr = x.splice(undefined, undefined); arr.length === 0. Actual: ' + (arr.length));
}
-//CHECK#3
if (x.length !== 4) {
throw new Test262Error('#3: var x = [0,1,2,3]; var arr = x.splice(undefined, undefined); x.length === 4. Actual: ' + (x.length));
}
-//CHECK#4
if (x[0] !== 0) {
throw new Test262Error('#4: var x = [0,1,2,3]; var arr = x.splice(undefined, undefined); x[0] === 0. Actual: ' + (x[0]));
}
-//CHECK#5
if (x[1] !== 1) {
throw new Test262Error('#5: var x = [0,1,2,3]; var arr = x.splice(undefined, undefined); x[1] === 1. Actual: ' + (x[1]));
}
-//CHECK#6
if (x[2] !== 2) {
throw new Test262Error('#6: var x = [0,1,2,3]; var arr = x.splice(undefined, undefined); x[2] === 2. Actual: ' + (x[2]));
}
-//CHECK#7
if (x[3] !== 3) {
throw new Test262Error('#7: var x = [0,1,2,3]; var arr = x.splice(undefined, undefined); x[3] === 3. Actual: ' + (x[3]));
}
diff --git a/js/src/tests/test262/built-ins/Array/prototype/splice/S15.4.4.12_A1.5_T2.js b/js/src/tests/test262/built-ins/Array/prototype/splice/S15.4.4.12_A1.5_T2.js
index 15477b590249..f53fab64b1b3 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/splice/S15.4.4.12_A1.5_T2.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/splice/S15.4.4.12_A1.5_T2.js
@@ -10,38 +10,31 @@ description: end === undefined
var x = [0, 1, 2, 3];
var arr = x.splice(1, undefined);
-//CHECK#1
arr.getClass = Object.prototype.toString;
if (arr.getClass() !== "[object " + "Array" + "]") {
throw new Test262Error('#1: var x = [0,1,2,3]; var arr = x.splice(1,undefined); arr is Array object. Actual: ' + (arr.getClass()));
}
-//CHECK#2
if (arr.length !== 0) {
throw new Test262Error('#2: var x = [0,1,2,3]; var arr = x.splice(1,undefined); arr.length === 0. Actual: ' + (arr.length));
}
-//CHECK#3
if (x.length !== 4) {
throw new Test262Error('#3: var x = [0,1,2,3]; var arr = x.splice(1,undefined); x.length === 4. Actual: ' + (x.length));
}
-//CHECK#4
if (x[0] !== 0) {
throw new Test262Error('#4: var x = [0,1,2,3]; var arr = x.splice(1,undefined); x[0] === 0. Actual: ' + (x[0]));
}
-//CHECK#5
if (x[1] !== 1) {
throw new Test262Error('#5: var x = [0,1,2,3]; var arr = x.splice(1,undefined); x[1] === 1. Actual: ' + (x[1]));
}
-//CHECK#6
if (x[2] !== 2) {
throw new Test262Error('#6: var x = [0,1,2,3]; var arr = x.splice(1,undefined); x[2] === 2. Actual: ' + (x[2]));
}
-//CHECK#7
if (x[3] !== 3) {
throw new Test262Error('#7: var x = [0,1,2,3]; var arr = x.splice(1,undefined); x[3] === 3. Actual: ' + (x[3]));
}
diff --git a/js/src/tests/test262/built-ins/Array/prototype/splice/S15.4.4.12_A2.1_T1.js b/js/src/tests/test262/built-ins/Array/prototype/splice/S15.4.4.12_A2.1_T1.js
index f383acc25fce..eaab7b5b1145 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/splice/S15.4.4.12_A2.1_T1.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/splice/S15.4.4.12_A2.1_T1.js
@@ -10,38 +10,31 @@ description: start is not integer
var x = [0, 1, 2, 3];
var arr = x.splice(1.5, 3);
-//CHECK#1
arr.getClass = Object.prototype.toString;
if (arr.getClass() !== "[object " + "Array" + "]") {
throw new Test262Error('#1: var x = [0,1,2,3]; var arr = x.splice(1.5,3); arr is Array object. Actual: ' + (arr.getClass()));
}
-//CHECK#2
if (arr.length !== 3) {
throw new Test262Error('#2: var x = [0,1,2,3]; var arr = x.splice(1.5,3); arr.length === 3. Actual: ' + (arr.length));
}
-//CHECK#3
if (arr[0] !== 1) {
throw new Test262Error('#3: var x = [0,1,2,3]; var arr = x.splice(1.5,3); arr[0] === 1. Actual: ' + (arr[0]));
}
-//CHECK#4
if (arr[1] !== 2) {
throw new Test262Error('#4: var x = [0,1,2,3]; var arr = x.splice(1.5,3); arr[1] === 2. Actual: ' + (arr[1]));
}
-//CHECK#5
if (arr[2] !== 3) {
throw new Test262Error('#5: var x = [0,1,2,3]; var arr = x.splice(1.5,3); arr[2] === 3. Actual: ' + (arr[2]));
}
-//CHECK#6
if (x.length !== 1) {
throw new Test262Error('#6: var x = [0,1,2,3]; var arr = x.splice(1.5,3); x.length === 1. Actual: ' + (x.length));
}
-//CHECK#7
if (x[0] !== 0) {
throw new Test262Error('#7: var x = [0,1,2,3]; var arr = x.splice(1.5,3); x[0] === 0. Actual: ' + (x[0]));
}
diff --git a/js/src/tests/test262/built-ins/Array/prototype/splice/S15.4.4.12_A2.1_T2.js b/js/src/tests/test262/built-ins/Array/prototype/splice/S15.4.4.12_A2.1_T2.js
index 0fc10f0be092..ad657a6c37f5 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/splice/S15.4.4.12_A2.1_T2.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/splice/S15.4.4.12_A2.1_T2.js
@@ -10,38 +10,31 @@ description: start = NaN
var x = [0, 1, 2, 3];
var arr = x.splice(NaN, 3);
-//CHECK#1
arr.getClass = Object.prototype.toString;
if (arr.getClass() !== "[object " + "Array" + "]") {
throw new Test262Error('#1: var x = [0,1,2,3]; var arr = x.splice(NaN,3); arr is Array object. Actual: ' + (arr.getClass()));
}
-//CHECK#2
if (arr.length !== 3) {
throw new Test262Error('#2: var x = [0,1,2,3]; var arr = x.splice(NaN,3); arr.length === 3. Actual: ' + (arr.length));
}
-//CHECK#3
if (arr[0] !== 0) {
throw new Test262Error('#3: var x = [0,1,2,3]; var arr = x.splice(NaN,3); arr[0] === 0. Actual: ' + (arr[0]));
}
-//CHECK#4
if (arr[1] !== 1) {
throw new Test262Error('#4: var x = [0,1,2,3]; var arr = x.splice(NaN,3); arr[1] === 1. Actual: ' + (arr[1]));
}
-//CHECK#5
if (arr[2] !== 2) {
throw new Test262Error('#5: var x = [0,1,2,3]; var arr = x.splice(NaN,3); arr[2] === 2. Actual: ' + (arr[2]));
}
-//CHECK#6
if (x.length !== 1) {
throw new Test262Error('#6: var x = [0,1,2,3]; var arr = x.splice(NaN,3); x.length === 1. Actual: ' + (x.length));
}
-//CHECK#7
if (x[0] !== 3) {
throw new Test262Error('#7: var x = [0,1,2,3]; var arr = x.splice(NaN,3); x[0] === 3. Actual: ' + (x[0]));
}
diff --git a/js/src/tests/test262/built-ins/Array/prototype/splice/S15.4.4.12_A2.1_T3.js b/js/src/tests/test262/built-ins/Array/prototype/splice/S15.4.4.12_A2.1_T3.js
index 069c167b8a4b..0940f78ef557 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/splice/S15.4.4.12_A2.1_T3.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/splice/S15.4.4.12_A2.1_T3.js
@@ -10,33 +10,27 @@ description: start = Infinity
var x = [0, 1, 2, 3];
var arr = x.splice(Number.POSITIVE_INFINITY, 3);
-//CHECK#1
arr.getClass = Object.prototype.toString;
if (arr.getClass() !== "[object " + "Array" + "]") {
throw new Test262Error('#1: var x = [0,1,2,3]; var arr = x.splice(Number.POSITIVE_INFINITY,3); arr is Array object. Actual: ' + (arr.getClass()));
}
-//CHECK#2
if (arr.length !== 0) {
throw new Test262Error('#2: var x = [0,1,2,3]; var arr = x.splice(Number.POSITIVE_INFINITY,3); arr.length === 0. Actual: ' + (arr.length));
}
-//CHECK#3
if (x[0] !== 0) {
throw new Test262Error('#3: var x = [0,1,2,3]; var x = x.splice(Number.POSITIVE_INFINITY,3); x[0] === 0. Actual: ' + (x[0]));
}
-//CHECK#4
if (x[1] !== 1) {
throw new Test262Error('#4: var x = [0,1,2,3]; var x = x.splice(Number.POSITIVE_INFINITY,3); x[1] === 1. Actual: ' + (x[1]));
}
-//CHECK#5
if (x[2] !== 2) {
throw new Test262Error('#5: var x = [0,1,2,3]; var x = x.splice(Number.POSITIVE_INFINITY,3); x[2] === 2. Actual: ' + (x[2]));
}
-//CHECK#6
if (x[3] !== 3) {
throw new Test262Error('#6: var x = [0,1,2,3]; var x = x.splice(Number.POSITIVE_INFINITY,3); x[3] === 3. Actual: ' + (x[3]));
}
diff --git a/js/src/tests/test262/built-ins/Array/prototype/splice/S15.4.4.12_A2.1_T4.js b/js/src/tests/test262/built-ins/Array/prototype/splice/S15.4.4.12_A2.1_T4.js
index 0a11d253f4e6..50ce7b402acc 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/splice/S15.4.4.12_A2.1_T4.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/splice/S15.4.4.12_A2.1_T4.js
@@ -10,38 +10,31 @@ description: start = -Infinity
var x = [0, 1, 2, 3];
var arr = x.splice(Number.NEGATIVE_INFINITY, 3);
-//CHECK#1
arr.getClass = Object.prototype.toString;
if (arr.getClass() !== "[object " + "Array" + "]") {
throw new Test262Error('#1: var x = [0,1,2,3]; var arr = x.splice(Number.NEGATIVE_INFINITY,3); arr is Array object. Actual: ' + (arr.getClass()));
}
-//CHECK#2
if (arr.length !== 3) {
throw new Test262Error('#2: var x = [0,1,2,3]; var arr = x.splice(Number.NEGATIVE_INFINITY,3); arr.length === 3. Actual: ' + (arr.length));
}
-//CHECK#3
if (arr[0] !== 0) {
throw new Test262Error('#3: var x = [0,1,2,3]; var arr = x.splice(Number.NEGATIVE_INFINITY,3); arr[0] === 0. Actual: ' + (arr[0]));
}
-//CHECK#4
if (arr[1] !== 1) {
throw new Test262Error('#4: var x = [0,1,2,3]; var arr = x.splice(Number.NEGATIVE_INFINITY,3); arr[1] === 1. Actual: ' + (arr[1]));
}
-//CHECK#5
if (arr[2] !== 2) {
throw new Test262Error('#5: var x = [0,1,2,3]; var arr = x.splice(Number.NEGATIVE_INFINITY,3); arr[2] === 2. Actual: ' + (arr[2]));
}
-//CHECK#6
if (x.length !== 1) {
throw new Test262Error('#6: var x = [0,1,2,3]; var arr = x.splice(Number.NEGATIVE_INFINITY,3); x.length === 1. Actual: ' + (x.length));
}
-//CHECK#7
if (x[0] !== 3) {
throw new Test262Error('#7: var x = [0,1,2,3]; var arr = x.splice(Number.NEGATIVE_INFINITY,3); x[0] === 3. Actual: ' + (x[0]));
}
diff --git a/js/src/tests/test262/built-ins/Array/prototype/splice/S15.4.4.12_A2.1_T5.js b/js/src/tests/test262/built-ins/Array/prototype/splice/S15.4.4.12_A2.1_T5.js
index c70470ccbc26..c4d40fc37026 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/splice/S15.4.4.12_A2.1_T5.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/splice/S15.4.4.12_A2.1_T5.js
@@ -17,38 +17,31 @@ var arr = x.splice({
}
}, 3);
-//CHECK#1
arr.getClass = Object.prototype.toString;
if (arr.getClass() !== "[object " + "Array" + "]") {
throw new Test262Error('#1: var x = [0,1,2,3]; var arr = x.splice({valueOf: function() {return 0}, toString: function() {return 3}},3); arr is Array object. Actual: ' + (arr.getClass()));
}
-//CHECK#2
if (arr.length !== 3) {
throw new Test262Error('#2: var x = [0,1,2,3]; var arr = x.splice({valueOf: function() {return 0}, toString: function() {return 3}},3); arr.length === 3. Actual: ' + (arr.length));
}
-//CHECK#3
if (arr[0] !== 0) {
throw new Test262Error('#3: var x = [0,1,2,3]; var arr = x.splice({valueOf: function() {return 0}, toString: function() {return 3}},3); arr[0] === 0. Actual: ' + (arr[0]));
}
-//CHECK#4
if (arr[1] !== 1) {
throw new Test262Error('#4: var x = [0,1,2,3]; var arr = x.splice({valueOf: function() {return 0}, toString: function() {return 3}},3); arr[1] === 1. Actual: ' + (arr[1]));
}
-//CHECK#5
if (arr[2] !== 2) {
throw new Test262Error('#5: var x = [0,1,2,3]; var arr = x.splice({valueOf: function() {return 0}, toString: function() {return 3}},3); arr[2] === 2. Actual: ' + (arr[2]));
}
-//CHECK#6
if (x.length !== 1) {
throw new Test262Error('#6: var x = [0,1,2,3]; var arr = x.splice({valueOf: function() {return 0}, toString: function() {return 3}},3); x.length === 1. Actual: ' + (x.length));
}
-//CHECK#7
if (x[0] !== 3) {
throw new Test262Error('#7: var x = [0,1,2,3]; var arr = x.splice({valueOf: function() {return 0}, toString: function() {return 3}},3); x[0] === 3. Actual: ' + (x[0]));
}
diff --git a/js/src/tests/test262/built-ins/Array/prototype/splice/S15.4.4.12_A2.2_T1.js b/js/src/tests/test262/built-ins/Array/prototype/splice/S15.4.4.12_A2.2_T1.js
index f6a5024a3dd1..81ab211c69b9 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/splice/S15.4.4.12_A2.2_T1.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/splice/S15.4.4.12_A2.2_T1.js
@@ -10,38 +10,31 @@ description: deleteCount is not integer
var x = [0, 1, 2, 3];
var arr = x.splice(1, 3.5);
-//CHECK#1
arr.getClass = Object.prototype.toString;
if (arr.getClass() !== "[object " + "Array" + "]") {
throw new Test262Error('#1: var x = [0,1,2,3]; var arr = x.splice(1,3.5); arr is Array object. Actual: ' + (arr.getClass()));
}
-//CHECK#2
if (arr.length !== 3) {
throw new Test262Error('#2: var x = [0,1,2,3]; var arr = x.splice(1,3.5); arr.length === 3. Actual: ' + (arr.length));
}
-//CHECK#3
if (arr[0] !== 1) {
throw new Test262Error('#3: var x = [0,1,2,3]; var arr = x.splice(1,3.5); arr[0] === 1. Actual: ' + (arr[0]));
}
-//CHECK#4
if (arr[1] !== 2) {
throw new Test262Error('#4: var x = [0,1,2,3]; var arr = x.splice(1,3.5); arr[1] === 2. Actual: ' + (arr[1]));
}
-//CHECK#5
if (arr[2] !== 3) {
throw new Test262Error('#5: var x = [0,1,2,3]; var arr = x.splice(1,3.5); arr[2] === 3. Actual: ' + (arr[2]));
}
-//CHECK#6
if (x.length !== 1) {
throw new Test262Error('#6: var x = [0,1,2,3]; var arr = x.splice(1,3.5); x.length === 1. Actual: ' + (x.length));
}
-//CHECK#7
if (x[0] !== 0) {
throw new Test262Error('#7: var x = [0,1,2,3]; var arr = x.splice(1,3.5); x[0] === 0. Actual: ' + (x[0]));
}
diff --git a/js/src/tests/test262/built-ins/Array/prototype/splice/S15.4.4.12_A2.2_T2.js b/js/src/tests/test262/built-ins/Array/prototype/splice/S15.4.4.12_A2.2_T2.js
index 859e8f687056..735374b032ab 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/splice/S15.4.4.12_A2.2_T2.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/splice/S15.4.4.12_A2.2_T2.js
@@ -10,28 +10,23 @@ description: deleteCount = NaN
var x = [0, 1];
var arr = x.splice(0, NaN);
-//CHECK#0
arr.getClass = Object.prototype.toString;
if (arr.getClass() !== "[object " + "Array" + "]") {
throw new Test262Error('#0: var x = [0,1]; var arr = x.splice(0,NaN); arr is Array object. Actual: ' + (arr.getClass()));
}
-//CHECK#1
if (arr.length !== 0) {
throw new Test262Error('#1: var x = [0,1]; var arr = x.splice(0,NaN); arr.length === 0. Actual: ' + (arr.length));
}
-//CHECK#2
if (x.length !== 2) {
throw new Test262Error('#2: var x = [0,1]; var arr = x.splice(0,NaN); x.length === 2. Actual: ' + (x.length));
}
-//CHECK#3
if (x[0] !== 0) {
throw new Test262Error('#3: var x = [0,1]; var arr = x.splice(0,NaN); x[0] === 0. Actual: ' + (x[0]));
}
-//CHECK#4
if (x[1] !== 1) {
throw new Test262Error('#4: var x = [0,1]; var arr = x.splice(0,NaN); x[1] === 1. Actual: ' + (x[1]));
}
diff --git a/js/src/tests/test262/built-ins/Array/prototype/splice/S15.4.4.12_A2.2_T3.js b/js/src/tests/test262/built-ins/Array/prototype/splice/S15.4.4.12_A2.2_T3.js
index 22c00f70c06d..26b991deda41 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/splice/S15.4.4.12_A2.2_T3.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/splice/S15.4.4.12_A2.2_T3.js
@@ -10,38 +10,31 @@ description: deleteCount = Infinity
var x = [0, 1, 2, 3];
var arr = x.splice(0, Number.POSITIVE_INFINITY);
-//CHECK#1
arr.getClass = Object.prototype.toString;
if (arr.getClass() !== "[object " + "Array" + "]") {
throw new Test262Error('#1: var x = [0,1,2,3]; var arr = x.splice(0,Number.POSITIVE_INFINITY); arr is Array object. Actual: ' + (arr.getClass()));
}
-//CHECK#2
if (arr.length !== 4) {
throw new Test262Error('#2: var x = [0,1,2,3]; var arr = x.splice(0,Number.POSITIVE_INFINITY); arr.length === 4. Actual: ' + (arr.length));
}
-//CHECK#3
if (arr[0] !== 0) {
throw new Test262Error('#3: var x = [0,1,2,3]; var arr = x.splice(0,Number.POSITIVE_INFINITY); arr[0] === 0. Actual: ' + (arr[0]));
}
-//CHECK#4
if (arr[1] !== 1) {
throw new Test262Error('#4: var x = [0,1,2,3]; var arr = x.splice(0,Number.POSITIVE_INFINITY); arr[1] === 1. Actual: ' + (arr[1]));
}
-//CHECK#5
if (arr[2] !== 2) {
throw new Test262Error('#5: var x = [0,1,2,3]; var arr = x.splice(0,Number.POSITIVE_INFINITY); arr[2] === 2. Actual: ' + (arr[2]));
}
-//CHECK#6
if (arr[3] !== 3) {
throw new Test262Error('#6: var x = [0,1,2,3]; var arr = x.splice(0,Number.POSITIVE_INFINITY); arr[3] === 3. Actual: ' + (arr[3]));
}
-//CHECK#7
if (x.length !== 0) {
throw new Test262Error('#7: var x = [0,1,2,3]; var arr = x.splice(0,Number.POSITIVE_INFINITY); x.length === 0. Actual: ' + (x.length));
}
diff --git a/js/src/tests/test262/built-ins/Array/prototype/splice/S15.4.4.12_A2.2_T4.js b/js/src/tests/test262/built-ins/Array/prototype/splice/S15.4.4.12_A2.2_T4.js
index ba2d83ca2384..a644625c9073 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/splice/S15.4.4.12_A2.2_T4.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/splice/S15.4.4.12_A2.2_T4.js
@@ -10,28 +10,23 @@ description: deleteCount = -Infinity
var x = [0, 1];
var arr = x.splice(0, Number.NEGATIVE_INFINITY);
-//CHECK#0
arr.getClass = Object.prototype.toString;
if (arr.getClass() !== "[object " + "Array" + "]") {
throw new Test262Error('#0: var x = [0,1]; var arr = x.splice(0,Number.NEGATIVE_INFINITY); arr is Array object. Actual: ' + (arr.getClass()));
}
-//CHECK#1
if (arr.length !== 0) {
throw new Test262Error('#1: var x = [0,1]; var arr = x.splice(0,Number.NEGATIVE_INFINITY); arr.length === 0. Actual: ' + (arr.length));
}
-//CHECK#2
if (x.length !== 2) {
throw new Test262Error('#2: var x = [0,1]; var arr = x.splice(0,Number.NEGATIVE_INFINITY); x.length === 2. Actual: ' + (x.length));
}
-//CHECK#3
if (x[0] !== 0) {
throw new Test262Error('#3: var x = [0,1]; var arr = x.splice(0,Number.NEGATIVE_INFINITY); x[0] === 0. Actual: ' + (x[0]));
}
-//CHECK#4
if (x[1] !== 1) {
throw new Test262Error('#4: var x = [0,1]; var arr = x.splice(0,Number.NEGATIVE_INFINITY); x[1] === 1. Actual: ' + (x[1]));
}
diff --git a/js/src/tests/test262/built-ins/Array/prototype/splice/S15.4.4.12_A2.2_T5.js b/js/src/tests/test262/built-ins/Array/prototype/splice/S15.4.4.12_A2.2_T5.js
index 97bf48bba3d3..94c5ddcb7371 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/splice/S15.4.4.12_A2.2_T5.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/splice/S15.4.4.12_A2.2_T5.js
@@ -17,38 +17,31 @@ var arr = x.splice(0, {
}
});
-//CHECK#1
arr.getClass = Object.prototype.toString;
if (arr.getClass() !== "[object " + "Array" + "]") {
throw new Test262Error('#1: var x = [0,1,2,3]; var arr = x.splice(0,{valueOf: function() {return 3}, toString: function() {return 0}}); arr is Array object. Actual: ' + (arr.getClass()));
}
-//CHECK#2
if (arr.length !== 3) {
throw new Test262Error('#2: var x = [0,1,2,3]; var arr = x.splice(0,{valueOf: function() {return 3}, toString: function() {return 0}}); arr.length === 3. Actual: ' + (arr.length));
}
-//CHECK#3
if (arr[0] !== 0) {
throw new Test262Error('#3: var x = [0,1,2,3]; var arr = x.splice(0,{valueOf: function() {return 3}, toString: function() {return 0}}); arr[0] === 0. Actual: ' + (arr[0]));
}
-//CHECK#4
if (arr[1] !== 1) {
throw new Test262Error('#4: var x = [0,1,2,3]; var arr = x.splice(0,{valueOf: function() {return 3}, toString: function() {return 0}}); arr[1] === 1. Actual: ' + (arr[1]));
}
-//CHECK#5
if (arr[2] !== 2) {
throw new Test262Error('#5: var x = [0,1,2,3]; var arr = x.splice(0,{valueOf: function() {return 3}, toString: function() {return 0}}); arr[2] === 2. Actual: ' + (arr[2]));
}
-//CHECK#6
if (x.length !== 1) {
throw new Test262Error('#6: var x = [0,1,2,3]; var arr = x.splice(0,{valueOf: function() {return 3}, toString: function() {return 0}}); x.length === 1. Actual: ' + (x.length));
}
-//CHECK#7
if (x[0] !== 3) {
throw new Test262Error('#7: var x = [0,1,2,3]; var arr = x.splice(0,{valueOf: function() {return 3}, toString: function() {return 0}}); x[0] === 3. Actual: ' + (x[0]));
}
diff --git a/js/src/tests/test262/built-ins/Array/prototype/splice/S15.4.4.12_A2_T1.js b/js/src/tests/test262/built-ins/Array/prototype/splice/S15.4.4.12_A2_T1.js
index 99865e166027..dfaffa940984 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/splice/S15.4.4.12_A2_T1.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/splice/S15.4.4.12_A2_T1.js
@@ -21,53 +21,43 @@ obj.length = 4;
obj.splice = Array.prototype.splice;
var arr = obj.splice(0, 3, 4, 5);
-//CHECK#1
arr.getClass = Object.prototype.toString;
if (arr.getClass() !== "[object " + "Array" + "]") {
throw new Test262Error('#1: var obj = {0:0,1:1,2:2,3:3}; obj.length = 4; obj.splice = Array.prototype.splice; var arr = obj.splice(0,3,4,5); arr is Array object. Actual: ' + (arr.getClass()));
}
-//CHECK#2
if (arr.length !== 3) {
throw new Test262Error('#2: var obj = {0:0,1:1,2:2,3:3}; obj.length = 4; obj.splice = Array.prototype.splice; var arr = obj.splice(0,3,4,5); arr.length === 3. Actual: ' + (arr.length));
}
-//CHECK#3
if (arr[0] !== 0) {
throw new Test262Error('#3: var obj = {0:0,1:1,2:2,3:3}; obj.length = 4; obj.splice = Array.prototype.splice; var arr = obj.splice(0,3,4,5); arr[0] === 0. Actual: ' + (arr[0]));
}
-//CHECK#4
if (arr[1] !== 1) {
throw new Test262Error('#4: var obj = {0:0,1:1,2:2,3:3}; obj.length = 4; obj.splice = Array.prototype.splice; var arr = obj.splice(0,3,4,5); arr[1] === 1. Actual: ' + (arr[1]));
}
-//CHECK#5
if (arr[2] !== 2) {
throw new Test262Error('#5: var obj = {0:0,1:1,2:2,3:3}; obj.length = 4; obj.splice = Array.prototype.splice; var arr = obj.splice(0,3,4,5); arr[2] === 2. Actual: ' + (arr[2]));
}
-//CHECK#6
if (obj.length !== 3) {
throw new Test262Error('#6: var obj = {0:0,1:1,2:2,3:3}; obj.length = 4; obj.splice = Array.prototype.splice; var arr = obj.splice(0,3,4,5); obj.length === 3. Actual: ' + (obj.length));
}
-//CHECK#7
if (obj[0] !== 4) {
throw new Test262Error('#7: var obj = {0:0,1:1,2:2,3:3}; obj.length = 4; obj.splice = Array.prototype.splice; var arr = obj.splice(0,3,4,5); obj[0] === 4. Actual: ' + (obj[0]));
}
-//CHECK#8
if (obj[1] !== 5) {
throw new Test262Error('#8: var obj = {0:0,1:1,2:2,3:3}; obj.length = 4; obj.splice = Array.prototype.splice; var arr = obj.splice(0,3,4,5); obj[1] === 5. Actual: ' + (obj[1]));
}
-//CHECK#9
if (obj[2] !== 3) {
throw new Test262Error('#9: var obj = {0:0,1:1,2:2,3:3}; obj.length = 4; obj.splice = Array.prototype.splice; var arr = obj.splice(0,3,4,5); obj[2] === 3. Actual: ' + (obj[2]));
}
-//CHECK#10
if (obj[3] !== undefined) {
throw new Test262Error('#10: var obj = {0:0,1:1,2:2,3:3}; obj.length = 4; obj.splice = Array.prototype.splice; var arr = obj.splice(0,3,4,5); obj[3] === undefined. Actual: ' + (obj[3]));
}
diff --git a/js/src/tests/test262/built-ins/Array/prototype/splice/S15.4.4.12_A2_T2.js b/js/src/tests/test262/built-ins/Array/prototype/splice/S15.4.4.12_A2_T2.js
index 9b53a3fce9d1..1bb4505470e6 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/splice/S15.4.4.12_A2_T2.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/splice/S15.4.4.12_A2_T2.js
@@ -19,43 +19,35 @@ obj.length = 2;
obj.splice = Array.prototype.splice;
var arr = obj.splice(-2, -1, 2, 3);
-//CHECK#0
arr.getClass = Object.prototype.toString;
if (arr.getClass() !== "[object " + "Array" + "]") {
throw new Test262Error('#0: var obj = {0:0,1:1}; obj.length = 2; obj.splice = Array.prototype.splice; var arr = obj.splice(-2,-1,2,3); arr is Array object. Actual: ' + (arr.getClass()));
}
-//CHECK#1
if (arr.length !== 0) {
throw new Test262Error('#1: var obj = {0:0,1:1}; obj.length = 2; obj.splice = Array.prototype.splice; var arr = obj.splice(-2,-1,2,3); arr.length === 0. Actual: ' + (arr.length));
}
-//CHECK#2
if (obj.length !== 4) {
throw new Test262Error('#2: var obj = {0:0,1:1}; obj.length = 2; obj.splice = Array.prototype.splice; var arr = obj.splice(-2,-1,2,3); obj.length === 4. Actual: ' + (obj.length));
}
-//CHECK#3
if (obj[0] !== 2) {
throw new Test262Error('#3: var obj = {0:0,1:1}; obj.length = 2; obj.splice = Array.prototype.splice; var arr = obj.splice(-2,-1,2,3); obj[0] === 2. Actual: ' + (obj[0]));
}
-//CHECK#4
if (obj[1] !== 3) {
throw new Test262Error('#4: var obj = {0:0,1:1}; obj.length = 2; obj.splice = Array.prototype.splice; var arr = obj.splice(-2,-1,2,3); obj[1] === 3. Actual: ' + (obj[1]));
}
-//CHECK#5
if (obj[2] !== 0) {
throw new Test262Error('#5: var obj = {0:0,1:1}; obj.length = 2; obj.splice = Array.prototype.splice; var arr = obj.splice(-2,-1,2,3); obj[2] === 0. Actual: ' + (obj[2]));
}
-//CHECK#6
if (obj[3] !== 1) {
throw new Test262Error('#6: var obj = {0:0,1:1}; obj.length = 2; obj.splice = Array.prototype.splice; var arr = obj.splice(-2,-1,2,3); obj[3] === 1. Actual: ' + (obj[3]));
}
-//CHECK#7
if (obj[4] !== undefined) {
throw new Test262Error('#7: var obj = {0:0,1:1}; obj.length = 2; obj.splice = Array.prototype.splice; var arr = obj.splice(-2,-1,2,3); obj[4] === undefined. Actual: ' + (obj[4]));
}
diff --git a/js/src/tests/test262/built-ins/Array/prototype/splice/S15.4.4.12_A2_T3.js b/js/src/tests/test262/built-ins/Array/prototype/splice/S15.4.4.12_A2_T3.js
index f7e6e15f72d2..b884daa1e7cd 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/splice/S15.4.4.12_A2_T3.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/splice/S15.4.4.12_A2_T3.js
@@ -19,43 +19,35 @@ obj.length = 2;
obj.splice = Array.prototype.splice;
var arr = obj.splice(0, -1, 2, 3);
-//CHECK#0
arr.getClass = Object.prototype.toString;
if (arr.getClass() !== "[object " + "Array" + "]") {
throw new Test262Error('#0: var obj = {0:0,1:1}; obj.length = 2; obj.splice = Array.prototype.splice; var arr = obj.splice(0,-1,2,3); arr is Array object. Actual: ' + (arr.getClass()));
}
-//CHECK#1
if (arr.length !== 0) {
throw new Test262Error('#1: var obj = {0:0,1:1}; obj.length = 2; obj.splice = Array.prototype.splice; var arr = obj.splice(0,-1,2,3); arr.length === 0. Actual: ' + (arr.length));
}
-//CHECK#2
if (obj.length !== 4) {
throw new Test262Error('#2: var obj = {0:0,1:1}; obj.length = 2; obj.splice = Array.prototype.splice; var arr = obj.splice(0,-1,2,3); obj.length === 4. Actual: ' + (obj.length));
}
-//CHECK#3
if (obj[0] !== 2) {
throw new Test262Error('#3: var obj = {0:0,1:1}; obj.length = 2; obj.splice = Array.prototype.splice; var arr = obj.splice(0,-1,2,3); obj[0] === 2. Actual: ' + (obj[0]));
}
-//CHECK#4
if (obj[1] !== 3) {
throw new Test262Error('#4: var obj = {0:0,1:1}; obj.length = 2; obj.splice = Array.prototype.splice; var arr = obj.splice(0,-1,2,3); obj[1] === 3. Actual: ' + (obj[1]));
}
-//CHECK#5
if (obj[2] !== 0) {
throw new Test262Error('#5: var obj = {0:0,1:1}; obj.length = 2; obj.splice = Array.prototype.splice; var arr = obj.splice(0,-1,2,3); obj[2] === 0. Actual: ' + (obj[2]));
}
-//CHECK#6
if (obj[3] !== 1) {
throw new Test262Error('#6: var obj = {0:0,1:1}; obj.length = 2; obj.splice = Array.prototype.splice; var arr = obj.splice(0,-1,2,3); obj[3] === 1. Actual: ' + (obj[3]));
}
-//CHECK#7
if (obj[4] !== undefined) {
throw new Test262Error('#7: var obj = {0:0,1:1}; obj.length = 2; obj.splice = Array.prototype.splice; var arr = obj.splice(0,-1,2,3); obj[4] === undefined. Actual: ' + (obj[4]));
}
diff --git a/js/src/tests/test262/built-ins/Array/prototype/splice/S15.4.4.12_A2_T4.js b/js/src/tests/test262/built-ins/Array/prototype/splice/S15.4.4.12_A2_T4.js
index 2f04099ec54c..b1c9b0a1713f 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/splice/S15.4.4.12_A2_T4.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/splice/S15.4.4.12_A2_T4.js
@@ -21,53 +21,43 @@ obj.length = 4;
obj.splice = Array.prototype.splice;
var arr = obj.splice(-4, 3, 4, 5);
-//CHECK#1
arr.getClass = Object.prototype.toString;
if (arr.getClass() !== "[object " + "Array" + "]") {
throw new Test262Error('#1: var obj = {0:0,1:1,2:2,3:3}; obj.length = 4; obj.splice = Array.prototype.splice; var arr = obj.splice(-4,3,4,5); arr is Array object. Actual: ' + (arr.getClass()));
}
-//CHECK#2
if (arr.length !== 3) {
throw new Test262Error('#2: var obj = {0:0,1:1,2:2,3:3}; obj.length = 4; obj.splice = Array.prototype.splice; var arr = obj.splice(-4,3,4,5); arr.length === 3. Actual: ' + (arr.length));
}
-//CHECK#3
if (arr[0] !== 0) {
throw new Test262Error('#3: var obj = {0:0,1:1,2:2,3:3}; obj.length = 4; obj.splice = Array.prototype.splice; var arr = obj.splice(-4,3,4,5); arr[0] === 0. Actual: ' + (arr[0]));
}
-//CHECK#4
if (arr[1] !== 1) {
throw new Test262Error('#4: var obj = {0:0,1:1,2:2,3:3}; obj.length = 4; obj.splice = Array.prototype.splice; var arr = obj.splice(-4,3,4,5); arr[1] === 1. Actual: ' + (arr[1]));
}
-//CHECK#5
if (arr[2] !== 2) {
throw new Test262Error('#5: var obj = {0:0,1:1,2:2,3:3}; obj.length = 4; obj.splice = Array.prototype.splice; var arr = obj.splice(-4,3,4,5); arr[2] === 2. Actual: ' + (arr[2]));
}
-//CHECK#6
if (obj.length !== 3) {
throw new Test262Error('#6: var obj = {0:0,1:1,2:2,3:3}; obj.length = 4; obj.splice = Array.prototype.splice; var arr = obj.splice(-4,3,4,5); obj.length === 3. Actual: ' + (obj.length));
}
-//CHECK#7
if (obj[0] !== 4) {
throw new Test262Error('#7: var obj = {0:0,1:1,2:2,3:3}; obj.length = 4; obj.splice = Array.prototype.splice; var arr = obj.splice(-4,3,4,5); obj[0] === 4. Actual: ' + (obj[0]));
}
-//CHECK#8
if (obj[1] !== 5) {
throw new Test262Error('#8: var obj = {0:0,1:1,2:2,3:3}; obj.length = 4; obj.splice = Array.prototype.splice; var arr = obj.splice(-4,3,4,5); obj[1] === 5. Actual: ' + (obj[1]));
}
-//CHECK#9
if (obj[2] !== 3) {
throw new Test262Error('#9: var obj = {0:0,1:1,2:2,3:3}; obj.length = 4; obj.splice = Array.prototype.splice; var arr = obj.splice(-4,3,4,5); obj[2] === 3. Actual: ' + (obj[2]));
}
-//CHECK#10
if (obj[3] !== undefined) {
throw new Test262Error('#10: var obj = {0:0,1:1,2:2,3:3}; obj.length = 4; obj.splice = Array.prototype.splice; var arr = obj.splice(-4,3,4,5); obj[3] === undefined. Actual: ' + (obj[3]));
}
diff --git a/js/src/tests/test262/built-ins/Array/prototype/splice/S15.4.4.12_A3_T1.js b/js/src/tests/test262/built-ins/Array/prototype/splice/S15.4.4.12_A3_T1.js
index c77b3b34dd12..50ae36021e71 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/splice/S15.4.4.12_A3_T1.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/splice/S15.4.4.12_A3_T1.js
@@ -14,27 +14,22 @@ obj[4294967295] = "y";
obj.length = 4294967296;
var arr = obj.splice(4294967295, 1);
-//CHECK#1
if (arr.length !== 1) {
throw new Test262Error('#1: var obj = {}; obj.splice = Array.prototype.splice; obj[0] = "x"; obj[4294967295] = "y"; obj.length = 4294967296; var arr = obj.splice(4294967295,1); arr.length === 1. Actual: ' + (arr.length));
}
-//CHECK#2
if (obj.length !== 4294967295) {
throw new Test262Error('#2: var obj = {}; obj.splice = Array.prototype.splice; obj[0] = "x"; obj[4294967295] = "y"; obj.length = 4294967296; var arr = obj.splice(4294967295,1); obj.length === 4294967295. Actual: ' + (obj.length));
}
-//CHECK#3
if (obj[0] !== "x") {
throw new Test262Error('#3: var obj = {}; obj.splice = Array.prototype.splice; obj[0] = "x"; obj[4294967295] = "y"; obj.length = 4294967296; var arr = obj.splice(4294967295,1); obj[0] === "x". Actual: ' + (obj[0]));
}
-//CHECK#4
if (obj[4294967295] !== undefined) {
throw new Test262Error('#4: var obj = {}; obj.splice = Array.prototype.splice; obj[0] = "x"; obj[4294967295] = "y"; obj.length = 4294967296; var arr = obj.splice(4294967295,1); obj[4294967295] === undefined. Actual: ' + (obj[4294967295]));
}
-//CHECK#5
if (arr[0] !== "y") {
throw new Test262Error('#5: var obj = {}; obj.splice = Array.prototype.splice; obj[0] = "x"; obj[4294967295] = "y"; obj.length = 4294967296; var arr = obj.splice(4294967295,1); arr[0] === "y". Actual: ' + (arr[0]));
}
diff --git a/js/src/tests/test262/built-ins/Array/prototype/splice/S15.4.4.12_A3_T3.js b/js/src/tests/test262/built-ins/Array/prototype/splice/S15.4.4.12_A3_T3.js
index 2b00047cdea9..89591be5df8e 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/splice/S15.4.4.12_A3_T3.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/splice/S15.4.4.12_A3_T3.js
@@ -13,22 +13,18 @@ obj[4294967294] = "x";
obj.length = -1;
var arr = obj.splice(4294967294, 1);
-//CHECK#1
if (arr.length !== 0) {
throw new Test262Error('#1: var obj = {}; obj.splice = Array.prototype.splice; obj[4294967294] = "x"; obj.length = -1; var arr = obj.splice(4294967294,1); arr.length === 0. Actual: ' + (arr.length));
}
-//CHECK#2
if (arr[0] !== undefined) {
throw new Test262Error('#2: var obj = {}; obj.splice = Array.prototype.splice; obj[4294967294] = "x"; obj.length = 1; var arr = obj.splice(4294967294,1); arr[0] === undefined. Actual: ' + (arr[0]));
}
-//CHECK#3
if (obj.length !== 0) {
throw new Test262Error('#3: var obj = {}; obj.splice = Array.prototype.splice; obj[4294967294] = "x"; obj.length = 1; var arr = obj.splice(4294967294,1); obj.length === 0. Actual: ' + (obj.length));
}
-//CHECK#4
if (obj[4294967294] !== "x") {
throw new Test262Error('#4: var obj = {}; obj.splice = Array.prototype.splice; obj[4294967294] = "x"; obj.length = 1; var arr = obj.splice(4294967294,1); obj[4294967294] === "x". Actual: ' + (obj[4294967294]));
}
diff --git a/js/src/tests/test262/built-ins/Array/prototype/splice/S15.4.4.12_A4_T1.js b/js/src/tests/test262/built-ins/Array/prototype/splice/S15.4.4.12_A4_T1.js
index 888701c4fff7..212c097720b5 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/splice/S15.4.4.12_A4_T1.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/splice/S15.4.4.12_A4_T1.js
@@ -13,32 +13,26 @@ Array.prototype[1] = -1;
var x = [0, 1];
var arr = x.splice(1, 1);
-//CHECK#1
if (arr.length !== 1) {
throw new Test262Error('#1: Array.prototype[1] = -1; x = [0,1]; var arr = x.splice(1,1); arr.length === 1. Actual: ' + (arr.length));
}
-//CHECK#2
if (arr[0] !== 1) {
throw new Test262Error('#2: Array.prototype[1] = -1; x = [0,1]; var arr = x.splice(1,1); arr[0] === 1. Actual: ' + (arr[0]));
}
-//CHECK#3
if (arr[1] !== -1) {
throw new Test262Error('#3: Array.prototype[1] = -1; x = [0,1]; var arr = x.splice(1,1); arr[1] === -1. Actual: ' + (arr[1]));
}
-//CHECK#4
if (x.length !== 1) {
throw new Test262Error('#4: Array.prototype[1] = -1; x = [0,1]; var arr = x.splice(1,1); x.length === 1. Actual: ' + (x.length));
}
-//CHECK#5
if (x[0] !== 0) {
throw new Test262Error('#5: Array.prototype[1] = -1; x = [0,1]; var arr = x.splice(1,1); x[0] === 0. Actual: ' + (x[0]));
}
-//CHECK#6
if (x[1] !== -1) {
throw new Test262Error('#6: Array.prototype[1] = -1; x = [0,1]; var arr = x.splice(1,1); x[1] === -1. Actual: ' + (x[1]));
}
@@ -53,32 +47,26 @@ x = {
};
var arr = x.splice(1, 1);
-//CHECK#7
if (arr.length !== 1) {
throw new Test262Error('#7: Object.prototype[1] = -1; Object.prototype.length = 2; Object.prototype.splice = Array.prototype.splice; x = {0:0, 1:1}; var arr = x.splice(1,1); arr.length === 1. Actual: ' + (arr.length));
}
-//CHECK#8
if (arr[0] !== 1) {
throw new Test262Error('#8: Object.prototype[1] = -1; Object.prototype.length = 2; Object.prototype.splice = Array.prototype.splice; x = {0:0, 1:1}; var arr = x.splice(1,1); arr[0] === 1. Actual: ' + (arr[0]));
}
-//CHECK#9
if (arr[1] !== -1) {
throw new Test262Error('#9: Object.prototype[1] = -1; Object.prototype.length = 2; Object.prototype.splice = Array.prototype.splice; x = {0:0, 1:1}; var arr = x.splice(1,1); arr[1] === -1. Actual: ' + (arr[1]));
}
-//CHECK#10
if (x.length !== 1) {
throw new Test262Error('#10: Object.prototype[1] = -1; Object.prototype.length = 2; Object.prototype.splice = Array.prototype.splice; x = {0:0, 1:1}; var arr = x.splice(1,1); x.length === 1. Actual: ' + (x.length));
}
-//CHECK#11
if (x[0] !== 0) {
throw new Test262Error('#11: Object.prototype[1] = -1; Object.prototype.length = 2; Object.prototype.splice = Array.prototype.splice; x = {0:0, 1:1}; var arr = x.splice(1,1); x[0] === 0. Actual: ' + (x[0]));
}
-//CHECK#12
if (x[1] !== -1) {
throw new Test262Error('#12: Object.prototype[1] = -1; Object.prototype.length = 2; Object.prototype.splice = Array.prototype.splice; x = {0:0, 1:1}; var arr = x.splice(1,1); x[1] === -1. Actual: ' + (x[1]));
}
diff --git a/js/src/tests/test262/built-ins/Array/prototype/splice/S15.4.4.12_A4_T2.js b/js/src/tests/test262/built-ins/Array/prototype/splice/S15.4.4.12_A4_T2.js
index 3595737917ad..e086d7f42ece 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/splice/S15.4.4.12_A4_T2.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/splice/S15.4.4.12_A4_T2.js
@@ -13,32 +13,26 @@ Array.prototype[1] = -1;
var x = [0, 1];
var arr = x.splice(1, 1, 2);
-//CHECK#1
if (arr.length !== 1) {
throw new Test262Error('#1: Array.prototype[1] = -1; x = [0,1]; var arr = x.splice(1,1,2); arr.length === 1. Actual: ' + (arr.length));
}
-//CHECK#2
if (arr[0] !== 1) {
throw new Test262Error('#2: Array.prototype[1] = -1; x = [0,1]; var arr = x.splice(1,1,2); arr[0] === 1. Actual: ' + (arr[0]));
}
-//CHECK#3
if (arr[1] !== -1) {
throw new Test262Error('#3: Array.prototype[1] = -1; x = [0,1]; var arr = x.splice(1,1,2); arr[1] === -1. Actual: ' + (arr[1]));
}
-//CHECK#4
if (x.length !== 2) {
throw new Test262Error('#4: Array.prototype[1] = -1; x = [0,1]; var arr = x.splice(1,1,2); x.length === 2. Actual: ' + (x.length));
}
-//CHECK#5
if (x[0] !== 0) {
throw new Test262Error('#5: Array.prototype[1] = -1; x = [0,1]; var arr = x.splice(1,1,2); x[0] === 0. Actual: ' + (x[0]));
}
-//CHECK#6
if (x[1] !== 2) {
throw new Test262Error('#6: Array.prototype[1] = -1; x = [0,1]; var arr = x.splice(1,1,2); x[1] === 2. Actual: ' + (x[1]));
}
@@ -53,32 +47,26 @@ x = {
};
var arr = x.splice(1, 1, 2);
-//CHECK#7
if (arr.length !== 1) {
throw new Test262Error('#7: Object.prototype[1] = -1; Object.prototype.length = 2; Object.prototype.splice = Array.prototype.splice; x = {0:0, 1:1}; var arr = x.splice(1,1,2); arr.length === 1. Actual: ' + (arr.length));
}
-//CHECK#8
if (arr[0] !== 1) {
throw new Test262Error('#8: Object.prototype[1] = -1; Object.prototype.length = 2; Object.prototype.splice = Array.prototype.splice; x = {0:0, 1:1}; var arr = x.splice(1,1,2); arr[0] === 1. Actual: ' + (arr[0]));
}
-//CHECK#9
if (arr[1] !== -1) {
throw new Test262Error('#9: Object.prototype[1] = -1; Object.prototype.length = 2; Object.prototype.splice = Array.prototype.splice; x = {0:0, 1:1}; var arr = x.splice(1,1,2); arr[1] === -1. Actual: ' + (arr[1]));
}
-//CHECK#10
if (x.length !== 2) {
throw new Test262Error('#10: Object.prototype[1] = -1; Object.prototype.length = 2; Object.prototype.splice = Array.prototype.splice; x = {0:0, 1:1}; var arr = x.splice(1,1,2); x.length === 2. Actual: ' + (x.length));
}
-//CHECK#11
if (x[0] !== 0) {
throw new Test262Error('#11: Object.prototype[1] = -1; Object.prototype.length = 2; Object.prototype.splice = Array.prototype.splice; x = {0:0, 1:1}; var arr = x.splice(1,1,2); x[0] === 0. Actual: ' + (x[0]));
}
-//CHECK#12
if (x[1] !== 2) {
throw new Test262Error('#12: Object.prototype[1] = -1; Object.prototype.length = 2; Object.prototype.splice = Array.prototype.splice; x = {0:0, 1:1}; var arr = x.splice(1,1,2); x[1] === 2. Actual: ' + (x[1]));
}
diff --git a/js/src/tests/test262/built-ins/Array/prototype/splice/S15.4.4.12_A4_T3.js b/js/src/tests/test262/built-ins/Array/prototype/splice/S15.4.4.12_A4_T3.js
index aab3b1027489..e4ea0ce90478 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/splice/S15.4.4.12_A4_T3.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/splice/S15.4.4.12_A4_T3.js
@@ -14,29 +14,24 @@ var x = [];
x.length = 1;
var arr = x.splice(0, 1);
-//CHECK#1
if (arr.length !== 1) {
throw new Test262Error('#1: Array.prototype[0] = -1; x = []; x.length = 1; var arr = x.splice(0,1); arr.length === 1. Actual: ' + (arr.length));
}
-//CHECK#2
if (arr[0] !== -1) {
throw new Test262Error('#2: Array.prototype[0] = -1; x = []; x.length = 1; var arr = x.splice(0,1); arr[0] === -1. Actual: ' + (arr[0]));
}
delete arr[0];
-//CHECK#3
if (arr[0] !== -1) {
throw new Test262Error('#3: Array.prototype[0] = -1; x = []; x.length = 1; var arr = x.splice(0,1); delete arr[0]; arr[0] === -1. Actual: ' + (arr[0]));
}
-//CHECK#4
if (x.length !== 0) {
throw new Test262Error('#4: Array.prototype[0] = -1; x = []; x.length = 1; var arr = x.splice(0,1); x.length === 0. Actual: ' + (x.length));
}
-//CHECK#5
if (x[0] !== -1) {
throw new Test262Error('#5: Array.prototype[0] = -1; x = []; x.length = 1; var arr = x.splice(0,1); x[0] === -1. Actual: ' + (x[0]));
}
@@ -47,29 +42,24 @@ Object.prototype.splice = Array.prototype.splice;
x = {};
var arr = x.splice(0, 1);
-//CHECK#6
if (arr.length !== 1) {
throw new Test262Error('#6: Object.prototype[0] = -1; Object.prototype.length = 1; Object.prototype.splice = Array.prototype.splice; x = {}; var arr = x.splice(0,1); arr.length === 1. Actual: ' + (arr.length));
}
-//CHECK#7
if (arr[0] !== -1) {
throw new Test262Error('#7: Object.prototype[0] = -1; Object.prototype.length = 1; Object.prototype.splice = Array.prototype.splice; x = {}; var arr = x.splice(0,1); arr[0] === -1. Actual: ' + (arr[0]));
}
delete arr[0];
-//CHECK#8
if (arr[0] !== -1) {
throw new Test262Error('#8: Object.prototype[0] = -1; Object.prototype.length = 1; Object.prototype.splice = Array.prototype.splice; x = {}; var arr = x.splice(0,1); delete arr[0]; arr[0] === -1. Actual: ' + (arr[0]));
}
-//CHECK#9
if (x.length !== 0) {
throw new Test262Error('#9: Object.prototype[0] = -1; Object.prototype.length = 1; Object.prototype.splice = Array.prototype.splice; x = {}; var arr = x.splice(0,1); x.length === 0. Actual: ' + (x.length));
}
-//CHECK#10
if (x[0] !== -1) {
throw new Test262Error('#10: Object.prototype[0] = -1; Object.prototype.length = 1; Object.prototype.splice = Array.prototype.splice; x = {}; var arr = x.splice(0,1); x[0] === -1. Actual: ' + (x[0]));
}
diff --git a/js/src/tests/test262/built-ins/Array/prototype/splice/S15.4.4.12_A5.7.js b/js/src/tests/test262/built-ins/Array/prototype/splice/S15.4.4.12_A5.7.js
deleted file mode 100644
index 6d40a0bc5379..000000000000
--- a/js/src/tests/test262/built-ins/Array/prototype/splice/S15.4.4.12_A5.7.js
+++ /dev/null
@@ -1,23 +0,0 @@
-// Copyright 2009 the Sputnik authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-info: The splice property of Array can't be used as constructor
-esid: sec-array.prototype.splice
-description: >
- If property does not implement the internal [[Construct]] method,
- throw a TypeError exception
----*/
-
-//CHECK#1
-
-try {
- new Array.prototype.splice();
- throw new Test262Error('#1.1: new Array.prototype.splice() throw TypeError. Actual: ' + (new Array.prototype.splice()));
-} catch (e) {
- if ((e instanceof TypeError) !== true) {
- throw new Test262Error('#1.2: new Array.prototype.splice() throw TypeError. Actual: ' + (e));
- }
-}
-
-reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Array/prototype/toLocaleString/S15.4.4.3_A1_T1.js b/js/src/tests/test262/built-ins/Array/prototype/toLocaleString/S15.4.4.3_A1_T1.js
index e87dfd789c9c..1a068ed5ac24 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/toLocaleString/S15.4.4.3_A1_T1.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/toLocaleString/S15.4.4.3_A1_T1.js
@@ -21,7 +21,6 @@ var obj = {
var arr = [undefined, obj, null, obj, obj];
arr.toLocaleString();
-//CHECK#1
if (n !== 3) {
throw new Test262Error('#1: var n = 0; var obj = {toLocaleString: function() {n++}}; var arr = [undefined, obj, null, obj, obj]; arr.toLocaleString(); n === 3. Actual: ' + (n));
}
diff --git a/js/src/tests/test262/built-ins/Array/prototype/toLocaleString/S15.4.4.3_A3_T1.js b/js/src/tests/test262/built-ins/Array/prototype/toLocaleString/S15.4.4.3_A3_T1.js
index 58ed1a12b2ea..a7f0796792a5 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/toLocaleString/S15.4.4.3_A3_T1.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/toLocaleString/S15.4.4.3_A3_T1.js
@@ -8,7 +8,6 @@ es5id: 15.4.4.3_A3_T1
description: "[[Prototype]] of Array instance is Array.prototype"
---*/
-//CHECK#1
var n = 0;
var obj = {
toLocaleString: function() {
diff --git a/js/src/tests/test262/built-ins/Array/prototype/toLocaleString/S15.4.4.3_A4.7.js b/js/src/tests/test262/built-ins/Array/prototype/toLocaleString/S15.4.4.3_A4.7.js
deleted file mode 100644
index 0a84fea0b542..000000000000
--- a/js/src/tests/test262/built-ins/Array/prototype/toLocaleString/S15.4.4.3_A4.7.js
+++ /dev/null
@@ -1,24 +0,0 @@
-// Copyright 2009 the Sputnik authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-esid: sec-array.prototype.tolocalestring
-info: The toLocaleString property of Array can't be used as constructor
-es5id: 15.4.4.3_A4.7
-description: >
- If property does not implement the internal [[Construct]] method,
- throw a TypeError exception
----*/
-
-//CHECK#1
-
-try {
- new Array.prototype.toLocaleString();
- throw new Test262Error('#1.1: new Array.prototype.toLocaleString() throw TypeError. Actual: ' + (new Array.prototype.toLocaleString()));
-} catch (e) {
- if ((e instanceof TypeError) !== true) {
- throw new Test262Error('#1.2: new Array.prototype.toLocaleString() throw TypeError. Actual: ' + (e));
- }
-}
-
-reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Array/prototype/toString/S15.4.4.2_A1_T1.js b/js/src/tests/test262/built-ins/Array/prototype/toString/S15.4.4.2_A1_T1.js
index 253a5db609a1..37a3adeced2f 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/toString/S15.4.4.2_A1_T1.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/toString/S15.4.4.2_A1_T1.js
@@ -10,7 +10,6 @@ es5id: 15.4.4.2_A1_T1
description: If Result(2) is zero, return the empty string
---*/
-//CHECK#1
var x = new Array();
if (x.toString() !== x.join()) {
throw new Test262Error('#1.1: x = new Array(); x.toString() === x.join(). Actual: ' + (x.toString()));
@@ -20,7 +19,6 @@ if (x.toString() !== x.join()) {
}
}
-//CHECK#2
x = [];
x[0] = 1;
x.length = 0;
diff --git a/js/src/tests/test262/built-ins/Array/prototype/toString/S15.4.4.2_A1_T2.js b/js/src/tests/test262/built-ins/Array/prototype/toString/S15.4.4.2_A1_T2.js
index f2fa1dabf44f..8a6b4f74ad44 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/toString/S15.4.4.2_A1_T2.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/toString/S15.4.4.2_A1_T2.js
@@ -14,7 +14,6 @@ description: >
the separator
---*/
-//CHECK#1
var x = new Array(0, 1, 2, 3);
if (x.toString() !== x.join()) {
throw new Test262Error('#1.1: x = new Array(0,1,2,3); x.toString() === x.join(). Actual: ' + (x.toString()));
@@ -24,7 +23,6 @@ if (x.toString() !== x.join()) {
}
}
-//CHECK#2
x = [];
x[0] = 0;
x[3] = 3;
@@ -36,7 +34,6 @@ if (x.toString() !== x.join()) {
}
}
-//CHECK#3
x = Array(undefined, 1, null, 3);
if (x.toString() !== x.join()) {
throw new Test262Error('#3.1: x = Array(undefined,1,null,3); x.toString() === x.join(). Actual: ' + (x.toString()));
@@ -46,7 +43,6 @@ if (x.toString() !== x.join()) {
}
}
-//CHECK#4
x = [];
x[0] = 0;
if (x.toString() !== x.join()) {
diff --git a/js/src/tests/test262/built-ins/Array/prototype/toString/S15.4.4.2_A1_T3.js b/js/src/tests/test262/built-ins/Array/prototype/toString/S15.4.4.2_A1_T3.js
index 9936b43a21e9..2671bc767c87 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/toString/S15.4.4.2_A1_T3.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/toString/S15.4.4.2_A1_T3.js
@@ -10,7 +10,6 @@ es5id: 15.4.4.2_A1_T3
description: Operator use ToString from array arguments
---*/
-//CHECK#0
var x = new Array("", "", "");
if (x.toString() !== x.join()) {
throw new Test262Error('#0.1: var x = new Array("","",""); x.toString() === x.join(). Actual: ' + (x.toString()));
@@ -20,7 +19,6 @@ if (x.toString() !== x.join()) {
}
}
-//CHECK#1
var x = new Array("\\", "\\", "\\");
if (x.toString() !== x.join()) {
throw new Test262Error('#1.1: var x = new Array("\\","\\","\\"); x.toString() === x.join(). Actual: ' + (x.toString()));
@@ -30,7 +28,6 @@ if (x.toString() !== x.join()) {
}
}
-//CHECK#2
var x = new Array("&", "&", "&");
if (x.toString() !== x.join()) {
throw new Test262Error('#2.1: var x = new Array("&", "&", "&"); x.toString() === x.join(). Actual: ' + (x.toString()));
@@ -40,7 +37,6 @@ if (x.toString() !== x.join()) {
}
}
-//CHECK#3
var x = new Array(true, true, true);
if (x.toString() !== x.join()) {
throw new Test262Error('#3.1: var x = new Array(true,true,true); x.toString(true,true,true) === x.join(). Actual: ' + (x.toString(true, true, true)));
@@ -50,7 +46,6 @@ if (x.toString() !== x.join()) {
}
}
-//CHECK#4
var x = new Array(null, null, null);
if (x.toString() !== x.join()) {
throw new Test262Error('#4.1: var x = new Array(null,null,null); x.toString(null,null,null) === x.join(). Actual: ' + (x.toString(null, null, null)));
@@ -60,7 +55,6 @@ if (x.toString() !== x.join()) {
}
}
-//CHECK#5
var x = new Array(undefined, undefined, undefined);
if (x.toString() !== x.join()) {
throw new Test262Error('#5.1: var x = new Array(undefined,undefined,undefined); x.toString(undefined,undefined,undefined) === x.join(). Actual: ' + (x.toString(undefined, undefined, undefined)));
@@ -70,7 +64,6 @@ if (x.toString() !== x.join()) {
}
}
-//CHECK#6
var x = new Array(Infinity, Infinity, Infinity);
if (x.toString() !== x.join()) {
throw new Test262Error('#6.1: var x = new Array(Infinity,Infinity,Infinity); x.toString(Infinity,Infinity,Infinity) === x.join(). Actual: ' + (x.toString(Infinity, Infinity, Infinity)));
@@ -80,7 +73,6 @@ if (x.toString() !== x.join()) {
}
}
-//CHECK#7
var x = new Array(NaN, NaN, NaN);
if (x.toString() !== x.join()) {
throw new Test262Error('#7.1: var x = new Array(NaN,NaN,NaN); x.toString(NaN,NaN,NaN) === x.join(). Actual: ' + (x.toString(NaN, NaN, NaN)));
diff --git a/js/src/tests/test262/built-ins/Array/prototype/toString/S15.4.4.2_A1_T4.js b/js/src/tests/test262/built-ins/Array/prototype/toString/S15.4.4.2_A1_T4.js
index 99879af7e502..edf9e63a9b86 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/toString/S15.4.4.2_A1_T4.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/toString/S15.4.4.2_A1_T4.js
@@ -10,155 +10,91 @@ es5id: 15.4.4.2_A1_T4
description: If Type(value) is Object, evaluate ToPrimitive(value, String)
---*/
-//CHECK#1
var object = {
- valueOf: function() {
+ valueOf() {
return "+"
}
};
var x = new Array(object);
-if (x.toString() !== x.join()) {
- throw new Test262Error('#1.1: var object = {valueOf: function() {return "+"}} var x = new Array(object); x.toString() === x.join(). Actual: ' + (x.toString()));
-} else {
- if (x.toString() !== "[object Object]") {
- throw new Test262Error('#1.2: var object = {valueOf: function() {return "+"}} var x = new Array(object); x.toString() === "[object Object]". Actual: ' + (x.toString()));
- }
-}
+assert.sameValue(x.toString(), x.join(), 'x.toString() must return the same value returned by x.join()');
-//CHECK#2
var object = {
- valueOf: function() {
+ valueOf() {
return "+"
},
- toString: function() {
+ toString() {
return "*"
}
};
var x = new Array(object);
-if (x.toString() !== x.join()) {
- throw new Test262Error('#2.1: var object = {valueOf: function() {return "+"}, toString: function() {return x.join()}} var x = new Array(object); x.toString() === "*". Actual: ' + (x.toString()));
-} else {
- if (x.toString() !== "*") {
- throw new Test262Error('#2.2: var object = {valueOf: function() {return "+"}, toString: function() {return "*"}} var x = new Array(object); x.toString() === "*". Actual: ' + (x.toString()));
- }
-}
+assert.sameValue(x.toString(), x.join(), 'x.toString() must return the same value returned by x.join()');
-//CHECK#3
var object = {
- valueOf: function() {
+ valueOf() {
return "+"
},
- toString: function() {
+ toString() {
return {}
}
};
var x = new Array(object);
-if (x.toString() !== x.join()) {
- throw new Test262Error('#3.1: var object = {valueOf: function() {return x.join()}, toString: function() {return {}}} var x = new Array(object); x.toString() === "+". Actual: ' + (x.toString()));
-} else {
- if (x.toString() !== "+") {
- throw new Test262Error('#3.2: var object = {valueOf: function() {return "+"}, toString: function() {return {}}} var x = new Array(object); x.toString() === "+". Actual: ' + (x.toString()));
- }
-}
+assert.sameValue(x.toString(), x.join(), 'x.toString() must return the same value returned by x.join()');
-//CHECK#4
-try {
- var object = {
- valueOf: function() {
- throw "error"
- },
- toString: function() {
- return "*"
- }
- };
- var x = new Array(object);
- if (x.toString() !== x.join()) {
- throw new Test262Error('#4.1: var object = {valueOf: function() {throw "error"}, toString: function() {return x.join()}} var x = new Array(object); x.toString() === "*". Actual: ' + (x.toString()));
- } else {
- if (x.toString() !== "*") {
- throw new Test262Error('#4.2: var object = {valueOf: function() {throw "error"}, toString: function() {return "*"}} var x = new Array(object); x.toString() === "*". Actual: ' + (x.toString()));
- }
- }
-}
-catch (e) {
- if (e === "error") {
- throw new Test262Error('#4.3: var object = {valueOf: function() {throw "error"}, toString: function() {return "*"}} var x = new Array(object); x.toString() not throw "error"');
- } else {
- throw new Test262Error('#4.4: var object = {valueOf: function() {throw "error"}, toString: function() {return "*"}} var x = new Array(object); x.toString() not throw Error. Actual: ' + (e));
- }
-}
-
-//CHECK#5
var object = {
- toString: function() {
+ valueOf() {
+ throw "error"
+ },
+ toString() {
return "*"
}
};
var x = new Array(object);
-if (x.toString() !== x.join()) {
- throw new Test262Error('#5.1: var object = {toString: function() {return x.join()}} var x = new Array(object); x.toString() === "*". Actual: ' + (x.toString()));
-} else {
- if (x.toString() !== "*") {
- throw new Test262Error('#5.2: var object = {toString: function() {return "*"}} var x = new Array(object); x.toString() === "*". Actual: ' + (x.toString()));
- }
-}
+assert.sameValue(x.toString(), x.join(), 'x.toString() must return the same value returned by x.join()');
+
-//CHECK#6
var object = {
- valueOf: function() {
+ toString() {
+ return "*"
+ }
+};
+var x = new Array(object);
+assert.sameValue(x.toString(), x.join(), 'x.toString() must return the same value returned by x.join()');
+
+var object = {
+ valueOf() {
return {}
},
- toString: function() {
+ toString() {
return "*"
}
}
var x = new Array(object);
-if (x.toString() !== x.join()) {
- throw new Test262Error('#6.1: var object = {valueOf: function() {return {}}, toString: function() {return x.join()}} var x = new Array(object); x.toString() === "*". Actual: ' + (x.toString()));
-} else {
- if (x.toString() !== "*") {
- throw new Test262Error('#6.2: var object = {valueOf: function() {return {}}, toString: function() {return "*"}} var x = new Array(object); x.toString() === "*". Actual: ' + (x.toString()));
- }
-}
+assert.sameValue(x.toString(), x.join(), 'x.toString() must return the same value returned by x.join()');
-//CHECK#7
-try {
+assert.throws(Test262Error, () => {
var object = {
- valueOf: function() {
+ valueOf() {
return "+"
},
- toString: function() {
- throw "error"
+ toString() {
+ throw new Test262Error();
}
};
var x = new Array(object);
x.toString();
- throw new Test262Error('#7.1: var object = {valueOf: function() {return "+"}, toString: function() {throw "error"}} var x = new Array(object); x.toString() throw "error". Actual: ' + (x.toString()));
-}
-catch (e) {
- if (e !== "error") {
- throw new Test262Error('#7.2: var object = {valueOf: function() {return "+"}, toString: function() {throw "error"}} var x = new Array(object); x.toString() throw "error". Actual: ' + (e));
- }
-}
+});
-//CHECK#8
-try {
+assert.throws(TypeError, () => {
var object = {
- valueOf: function() {
+ valueOf() {
return {}
},
- toString: function() {
+ toString() {
return {}
}
};
var x = new Array(object);
x.toString();
- throw new Test262Error('#8.1: var object = {valueOf: function() {return {}}, toString: function() {return {}}} var x = new Array(object); x.toString() throw TypeError. Actual: ' + (x.toString()));
-}
-catch (e) {
- if ((e instanceof TypeError) !== true) {
- throw new Test262Error('#8.2: var object = {valueOf: function() {return {}}, toString: function() {return {}}} var x = new Array(object); x.toString() throw TypeError. Actual: ' + (e));
- }
-}
+});
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Array/prototype/toString/S15.4.4.2_A3_T1.js b/js/src/tests/test262/built-ins/Array/prototype/toString/S15.4.4.2_A3_T1.js
index 11f6ec896f98..9c7b41558f46 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/toString/S15.4.4.2_A3_T1.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/toString/S15.4.4.2_A3_T1.js
@@ -8,7 +8,6 @@ es5id: 15.4.4.2_A3_T1
description: "[[Prototype]] of Array instance is Array.prototype"
---*/
-//CHECK#1
Array.prototype[1] = 1;
var x = [0];
x.length = 2;
diff --git a/js/src/tests/test262/built-ins/Array/prototype/toString/S15.4.4.2_A4.7.js b/js/src/tests/test262/built-ins/Array/prototype/toString/S15.4.4.2_A4.7.js
deleted file mode 100644
index f48022de974e..000000000000
--- a/js/src/tests/test262/built-ins/Array/prototype/toString/S15.4.4.2_A4.7.js
+++ /dev/null
@@ -1,24 +0,0 @@
-// Copyright 2009 the Sputnik authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-esid: sec-array.prototype.tostring
-info: The toString property of Array can't be used as constructor
-es5id: 15.4.4.2_A4.7
-description: >
- If property does not implement the internal [[Construct]] method,
- throw a TypeError exception
----*/
-
-//CHECK#1
-
-try {
- new Array.prototype.toString();
- throw new Test262Error('#1.1: new Array.prototype.toString() throw TypeError. Actual: ' + (new Array.prototype.toString()));
-} catch (e) {
- if ((e instanceof TypeError) !== true) {
- throw new Test262Error('#1.2: new Array.prototype.toString() throw TypeError. Actual: ' + (e));
- }
-}
-
-reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Array/prototype/unshift/S15.4.4.13_A1_T1.js b/js/src/tests/test262/built-ins/Array/prototype/unshift/S15.4.4.13_A1_T1.js
index e39b7c990921..121386346c14 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/unshift/S15.4.4.13_A1_T1.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/unshift/S15.4.4.13_A1_T1.js
@@ -10,46 +10,38 @@ esid: sec-array.prototype.unshift
description: Checking case when unsift is given no arguments or one argument
---*/
-//CHECK#1
var x = new Array();
var unshift = x.unshift(1);
if (unshift !== 1) {
throw new Test262Error('#1: x = new Array(); x.unshift(1) === 1. Actual: ' + (unshift));
}
-//CHECK#2
if (x[0] !== 1) {
throw new Test262Error('#2: x = new Array(); x.unshift(1); x[0] === 1. Actual: ' + (x[0]));
}
-//CHECK#3
var unshift = x.unshift();
if (unshift !== 1) {
throw new Test262Error('#3: x = new Array(); x.unshift(1); x.unshift() === 1. Actual: ' + (unshift));
}
-//CHECK#4
if (x[1] !== undefined) {
throw new Test262Error('#4: x = new Array(); x.unshift(1); x.unshift(); x[1] === unedfined. Actual: ' + (x[1]));
}
-//CHECK#5
var unshift = x.unshift(-1);
if (unshift !== 2) {
throw new Test262Error('#5: x = new Array(); x.unshift(1); x.unshift(); x.unshift(-1) === 2. Actual: ' + (unshift));
}
-//CHECK#6
if (x[0] !== -1) {
throw new Test262Error('#6: x = new Array(); x.unshift(1); x.unshift(-1); x[0] === -1. Actual: ' + (x[0]));
}
-//CHECK#7
if (x[1] !== 1) {
throw new Test262Error('#7: x = new Array(); x.unshift(1); x.unshift(-1); x[1] === 1. Actual: ' + (x[1]));
}
-//CHECK#8
if (x.length !== 2) {
throw new Test262Error('#8: x = new Array(); x.unshift(1); x.unshift(); x.unshift(-1); x.length === 2. Actual: ' + (x.length));
}
diff --git a/js/src/tests/test262/built-ins/Array/prototype/unshift/S15.4.4.13_A1_T2.js b/js/src/tests/test262/built-ins/Array/prototype/unshift/S15.4.4.13_A1_T2.js
index ced3a6c6fba0..be04543498ff 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/unshift/S15.4.4.13_A1_T2.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/unshift/S15.4.4.13_A1_T2.js
@@ -10,50 +10,41 @@ esid: sec-array.prototype.unshift
description: Checking case when unsift is given many arguments
---*/
-//CHECK#1
var x = [];
if (x.length !== 0) {
throw new Test262Error('#1: x = []; x.length === 0. Actual: ' + (x.length));
}
-//CHECK#2
x[0] = 0;
var unshift = x.unshift(true, Number.POSITIVE_INFINITY, "NaN", "1", -1);
if (unshift !== 6) {
throw new Test262Error('#2: x = []; x[0] = 0; x.unshift(true, Number.POSITIVE_INFINITY, "NaN", "1", -1) === 6. Actual: ' + (unshift));
}
-//CHECK#3
if (x[5] !== 0) {
throw new Test262Error('#3: x = []; x[0] = 0; x.unshift(true, Number.POSITIVE_INFINITY, "NaN", "1", -1); x[5] === 0. Actual: ' + (x[5]));
}
-//CHECK#4
if (x[0] !== true) {
throw new Test262Error('#4: x = []; x[0] = 0; x.unshift(true, Number.POSITIVE_INFINITY, "NaN", "1", -1); x[0] === true. Actual: ' + (x[0]));
}
-//CHECK#5
if (x[1] !== Number.POSITIVE_INFINITY) {
throw new Test262Error('#5: x = []; x[0] = 0; x.unshift(true, Number.POSITIVE_INFINITY, "NaN", "1", -1); x[1] === Number.POSITIVE_INFINITY. Actual: ' + (x[1]));
}
-//CHECK#6
if (x[2] !== "NaN") {
throw new Test262Error('#6: x = []; x[0] = 0; x.unshift(true, Number.POSITIVE_INFINITY, "NaN", "1", -1); x[2] === "NaN". Actual: ' + (x[2]));
}
-//CHECK#7
if (x[3] !== "1") {
throw new Test262Error('#7: x = []; x[0] = 0; x.unshift(true, Number.POSITIVE_INFINITY, "NaN", "1", -1); x[3] === "1". Actual: ' + (x[3]));
}
-//CHECK#8
if (x[4] !== -1) {
throw new Test262Error('#8: x = []; x[0] = 0; x.unshift(true, Number.POSITIVE_INFINITY, "NaN", "1", -1); x[4] === -1. Actual: ' + (x[4]));
}
-//CHECK#9
if (x.length !== 6) {
throw new Test262Error('#9: x = []; x[0] = 0; x.unshift(true, Number.POSITIVE_INFINITY, "NaN", "1", -1); x.length === 6. Actual: ' + (x.length));
}
diff --git a/js/src/tests/test262/built-ins/Array/prototype/unshift/S15.4.4.13_A2_T1.js b/js/src/tests/test262/built-ins/Array/prototype/unshift/S15.4.4.13_A2_T1.js
index 91faf96fc3b5..272764f70ddd 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/unshift/S15.4.4.13_A2_T1.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/unshift/S15.4.4.13_A2_T1.js
@@ -18,51 +18,42 @@ obj.unshift = Array.prototype.unshift;
if (obj.length !== undefined) {
throw new Test262Error('#0: var obj = {}; obj.length === undefined. Actual: ' + (obj.length));
} else {
- //CHECK#1
- var unshift = obj.unshift(-1);
+ var unshift = obj.unshift(-1);
if (unshift !== 1) {
throw new Test262Error('#1: var obj = {}; obj.unshift = Array.prototype.unshift; obj.unshift(-1) === 1. Actual: ' + (unshift));
}
- //CHECK#2
- if (obj.length !== 1) {
+ if (obj.length !== 1) {
throw new Test262Error('#2: var obj = {}; obj.unshift = Array.prototype.unshift; obj.unshift(-1); obj.length === 1. Actual: ' + (obj.length));
}
- //CHECK#3
- if (obj["0"] !== -1) {
+ if (obj["0"] !== -1) {
throw new Test262Error('#3: var obj = {}; obj.unshift = Array.prototype.unshift; obj.unshift(-1); obj["0"] === -1. Actual: ' + (obj["0"]));
}
}
-//CHECK#4
obj.length = undefined;
var unshift = obj.unshift(-4);
if (unshift !== 1) {
throw new Test262Error('#4: var obj = {}; obj.length = undefined; obj.unshift = Array.prototype.unshift; obj.unshift(-4) === 1. Actual: ' + (unshift));
}
-//CHECK#5
if (obj.length !== 1) {
throw new Test262Error('#5: var obj = {}; obj.length = undefined; obj.unshift = Array.prototype.unshift; obj.unshift(-4); obj.length === 1. Actual: ' + (obj.length));
}
-//CHECK#6
if (obj["0"] !== -4) {
throw new Test262Error('#6: var obj = {}; obj.length = undefined; obj.unshift = Array.prototype.unshift; obj.unshift(-4); obj["0"] === -4. Actual: ' + (obj["0"]));
}
-//CHECK#7
obj.length = null
var unshift = obj.unshift(-7);
if (unshift !== 1) {
throw new Test262Error('#7: var obj = {}; obj.length = null; obj.unshift = Array.prototype.unshift; obj.unshift(-7) === 1. Actual: ' + (unshift));
}
-//CHECK#8
if (obj.length !== 1) {
throw new Test262Error('#8: var obj = {}; obj.length = null; obj.unshift = Array.prototype.unshift; obj.unshift(-7); obj.length === 1. Actual: ' + (obj.length));
}
-//CHECK#9
if (obj["0"] !== -7) {
throw new Test262Error('#9: var obj = {}; obj.length = null; obj.unshift = Array.prototype.unshift; obj.unshift(-7); obj["0"] === -7. Actual: ' + (obj["0"]));
}
diff --git a/js/src/tests/test262/built-ins/Array/prototype/unshift/S15.4.4.13_A2_T2.js b/js/src/tests/test262/built-ins/Array/prototype/unshift/S15.4.4.13_A2_T2.js
index 0f76bb2dc58a..152ab6e2478d 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/unshift/S15.4.4.13_A2_T2.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/unshift/S15.4.4.13_A2_T2.js
@@ -15,87 +15,72 @@ description: >
var obj = {};
obj.unshift = Array.prototype.unshift;
-//CHECK#1
obj.length = NaN;
var unshift = obj.unshift(-1);
if (unshift !== 1) {
throw new Test262Error('#1: var obj = {}; obj.length = NaN; obj.unshift = Array.prototype.unshift; obj.unshift(-1) === 1. Actual: ' + (unshift));
}
-//CHECK#2
if (obj.length !== 1) {
throw new Test262Error('#2: var obj = {}; obj.length = NaN; obj.unshift = Array.prototype.unshift; obj.unshift(-1); obj.length === 1. Actual: ' + (obj.length));
}
-//CHECK#3
if (obj["0"] !== -1) {
throw new Test262Error('#3: var obj = {}; obj.length = NaN; obj.unshift = Array.prototype.unshift; obj.unshift(-1); obj["0"] === -1. Actual: ' + (obj["0"]));
}
-//CHECK#7
obj.length = Number.NEGATIVE_INFINITY;
var unshift = obj.unshift(-7);
if (unshift !== 1) {
throw new Test262Error('#7: var obj = {}; obj.length = Number.NEGATIVE_INFINITY; obj.unshift = Array.prototype.unshift; obj.unshift(-7) === 1. Actual: ' + (unshift));
}
-//CHECK#8
if (obj.length !== 1) {
throw new Test262Error('#8: var obj = {}; obj.length = Number.NEGATIVE_INFINITY; obj.unshift = Array.prototype.unshift; obj.unshift(-7); obj.length === 1. Actual: ' + (obj.length));
}
-//CHECK#9
if (obj["0"] !== -7) {
throw new Test262Error('#9: var obj = {}; obj.length = Number.NEGATIVE_INFINITY; obj.unshift = Array.prototype.unshift; obj.unshift(-7); obj["0"] === -7. Actual: ' + (obj["0"]));
}
-//CHECK#10
obj.length = 0.5;
var unshift = obj.unshift(-10);
if (unshift !== 1) {
throw new Test262Error('#10: var obj = {}; obj.length = 0.5; obj.unshift = Array.prototype.unshift; obj.unshift(-10) === 1. Actual: ' + (unshift));
}
-//CHECK#11
if (obj.length !== 1) {
throw new Test262Error('#11: var obj = {}; obj.length = 0.5; obj.unshift = Array.prototype.unshift; obj.unshift(-10); obj.length === 1. Actual: ' + (obj.length));
}
-//CHECK#12
if (obj["0"] !== -10) {
throw new Test262Error('#12: var obj = {}; obj.length = 0.5; obj.unshift = Array.prototype.unshift; obj.unshift(-10); obj["0"] === -10. Actual: ' + (obj["0"]));
}
-//CHECK#13
obj.length = 1.5;
var unshift = obj.unshift(-13);
if (unshift !== 2) {
throw new Test262Error('#13: var obj = {}; obj.length = 1.5; obj.unshift = Array.prototype.unshift; obj.unshift(-13) === 2. Actual: ' + (unshift));
}
-//CHECK#14
if (obj.length !== 2) {
throw new Test262Error('#14: var obj = {}; obj.length = 1.5; obj.unshift = Array.prototype.unshift; obj.unshift(-13); obj.length === 2. Actual: ' + (obj.length));
}
-//CHECK#15
if (obj["0"] !== -13) {
throw new Test262Error('#15: var obj = {}; obj.length = 1.5; obj.unshift = Array.prototype.unshift; obj.unshift(-13); obj["0"] === -13. Actual: ' + (obj["0"]));
}
-//CHECK#16
obj.length = new Number(0);
var unshift = obj.unshift(-16);
if (unshift !== 1) {
throw new Test262Error('#16: var obj = {}; obj.length = new Number(0); obj.unshift = Array.prototype.unshift; obj.unshift(-16) === 1. Actual: ' + (unshift));
}
-//CHECK#17
if (obj.length !== 1) {
throw new Test262Error('#17: var obj = {}; obj.length = new Number(0); obj.unshift = Array.prototype.unshift; obj.unshift(-16); obj.length === 1. Actual: ' + (obj.length));
}
-//CHECK#18
if (obj["0"] !== -16) {
throw new Test262Error('#18: var obj = {}; obj.length = new Number(0); obj.unshift = Array.prototype.unshift; obj.unshift(-16); obj["0"] === -16. Actual: ' + (obj["0"]));
}
diff --git a/js/src/tests/test262/built-ins/Array/prototype/unshift/S15.4.4.13_A2_T3.js b/js/src/tests/test262/built-ins/Array/prototype/unshift/S15.4.4.13_A2_T3.js
index ec30e2f716df..8979724e9b88 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/unshift/S15.4.4.13_A2_T3.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/unshift/S15.4.4.13_A2_T3.js
@@ -14,131 +14,107 @@ description: >
var obj = {};
obj.unshift = Array.prototype.unshift;
-//CHECK#1
obj.length = {
- valueOf: function() {
+ valueOf() {
return 3
}
};
var unshift = obj.unshift();
-if (unshift !== 3) {
- throw new Test262Error('#1: obj.length = {valueOf: function() {return 3}} obj.unshift() === 3. Actual: ' + (unshift));
-}
+assert.sameValue(unshift, 3, 'The value of unshift is expected to be 3');
-//CHECK#2
obj.length = {
- valueOf: function() {
+ valueOf() {
return 3
},
- toString: function() {
+ toString() {
return 1
}
};
var unshift = obj.unshift();
-if (unshift !== 3) {
- throw new Test262Error('#0: obj.length = {valueOf: function() {return 3}, toString: function() {return 1}} obj.unshift() === 3. Actual: ' + (unshift));
-}
+assert.sameValue(unshift, 3, 'The value of unshift is expected to be 3');
-//CHECK#3
obj.length = {
- valueOf: function() {
+ valueOf() {
return 3
},
- toString: function() {
+ toString() {
return {}
}
};
var unshift = obj.unshift();
-if (unshift !== 3) {
- throw new Test262Error('#1: obj.length = {valueOf: function() {return 3}, toString: function() {return {}}} obj.unshift() === 3. Actual: ' + (unshift));
-}
+assert.sameValue(unshift, 3, 'The value of unshift is expected to be 3');
-//CHECK#4
try {
obj.length = {
- valueOf: function() {
+ valueOf() {
return 3
},
- toString: function() {
+ toString() {
throw "error"
}
};
var unshift = obj.unshift();
- if (unshift !== 3) {
- throw new Test262Error('#4.1: obj.length = {valueOf: function() {return 3}, toString: function() {throw "error"}}; obj.unshift() === ",". Actual: ' + (unshift));
- }
+ assert.sameValue(unshift, 3, 'The value of unshift is expected to be 3');
}
catch (e) {
- if (e === "error") {
- throw new Test262Error('#4.2: obj.length = {valueOf: function() {return 3}, toString: function() {throw "error"}}; obj.unshift() not throw "error"');
- } else {
- throw new Test262Error('#4.3: obj.length = {valueOf: function() {return 3}, toString: function() {throw "error"}}; obj.unshift() not throw Error. Actual: ' + (e));
- }
+ assert.notSameValue(e, "error", 'The value of e is not "error"');
}
-//CHECK#5
obj.length = {
- toString: function() {
+ toString() {
return 1
}
};
var unshift = obj.unshift();
-if (unshift !== 1) {
- throw new Test262Error('#5: obj.length = {toString: function() {return 1}} obj.unshift() === 1. Actual: ' + (unshift));
-}
+assert.sameValue(unshift, 1, 'The value of unshift is expected to be 1');
-//CHECK#6
obj.length = {
- valueOf: function() {
+ valueOf() {
return {}
},
- toString: function() {
+ toString() {
return 1
}
}
var unshift = obj.unshift();
-if (unshift !== 1) {
- throw new Test262Error('#6: obj.length = {valueOf: function() {return {}}, toString: function() {return 1}} obj.unshift() === 1. Actual: ' + (unshift));
-}
+assert.sameValue(unshift, 1, 'The value of unshift is expected to be 1');
-//CHECK#7
try {
obj.length = {
- valueOf: function() {
+ valueOf() {
throw "error"
},
- toString: function() {
+ toString() {
return 1
}
};
var unshift = obj.unshift();
- throw new Test262Error('#7.1: obj.length = {valueOf: function() {throw "error"}, toString: function() {return 1}}; obj.unshift() throw "error". Actual: ' + (unshift));
+ throw new Test262Error('#7.1: obj.length = {valueOf() {throw "error"}, toString() {return 1}}; obj.unshift() throw "error". Actual: ' + (unshift));
}
catch (e) {
- if (e !== "error") {
- throw new Test262Error('#7.2: obj.length = {valueOf: function() {throw "error"}, toString: function() {return 1}}; obj.unshift() throw "error". Actual: ' + (e));
- }
+ assert.sameValue(e, "error", 'The value of e is expected to be "error"');
}
-//CHECK#8
try {
obj.length = {
- valueOf: function() {
+ valueOf() {
return {}
},
- toString: function() {
+ toString() {
return {}
}
};
var unshift = obj.unshift();
- throw new Test262Error('#8.1: obj.length = {valueOf: function() {return {}}, toString: function() {return {}}} obj.unshift() throw TypeError. Actual: ' + (unshift));
+ throw new Test262Error('#8.1: obj.length = {valueOf() {return {}}, toString() {return {}}} obj.unshift() throw TypeError. Actual: ' + (unshift));
}
catch (e) {
- if ((e instanceof TypeError) !== true) {
- throw new Test262Error('#8.2: obj.length = {valueOf: function() {return {}}, toString: function() {return {}}} obj.unshift() throw TypeError. Actual: ' + (e));
- }
+ assert.sameValue(
+ e instanceof TypeError,
+ true,
+ 'The result of evaluating (e instanceof TypeError) is expected to be true'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Array/prototype/unshift/S15.4.4.13_A3_T2.js b/js/src/tests/test262/built-ins/Array/prototype/unshift/S15.4.4.13_A3_T2.js
index b38ab80704f8..1634da4c16fc 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/unshift/S15.4.4.13_A3_T2.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/unshift/S15.4.4.13_A3_T2.js
@@ -12,33 +12,27 @@ obj.unshift = Array.prototype.unshift;
obj[0] = "";
obj.length = -4294967295;
-//CHECK#1
var unshift = obj.unshift("x", "y", "z");
if (unshift !== 3) {
throw new Test262Error('#1: var obj = {}; obj.unshift = Array.prototype.unshift; obj[0] = ""; obj.length = -4294967295; obj.unshift("x", "y", "z") === 3. Actual: ' + (unshift));
}
-//CHECK#2
if (obj.length !== 3) {
throw new Test262Error('#2: var obj = {}; obj.unshift = Array.prototype.unshift; obj[0] = ""; obj.length = -4294967295; obj.unshift("x", "y", "z"); obj.length === 3. Actual: ' + (obj.length));
}
-//CHECK#3
if (obj[0] !== "x") {
throw new Test262Error('#3: var obj = {}; obj.unshift = Array.prototype.unshift; obj[0] = ""; obj.length = -4294967295; obj.unshift("x", "y", "z"); obj[0] === "x". Actual: ' + (obj[0]));
}
-//CHECK#4
if (obj[1] !== "y") {
throw new Test262Error('#4: var obj = {}; obj.unshift = Array.prototype.unshift; obj[0] = ""; obj.length = -4294967295; obj.unshift("x", "y", "z"); obj[1] === "y". Actual: ' + (obj[1]));
}
-//CHECK#5
if (obj[2] !== "z") {
throw new Test262Error('#5: var obj = {}; obj.unshift = Array.prototype.unshift; obj[0] = ""; obj.length = -4294967295; obj.unshift("x", "y", "z"); obj[2] === "z". Actual: ' + (obj[2]));
}
-//CHECK#6
if (obj[3] !== undefined) {
throw new Test262Error('#6: var obj = {}; obj.unshift = Array.prototype.unshift; obj[0] = ""; obj.length = -4294967295; obj.unshift("x", "y", "z"); obj[3] === undefined. Actual: ' + (obj[3]));
}
diff --git a/js/src/tests/test262/built-ins/Array/prototype/unshift/S15.4.4.13_A4_T1.js b/js/src/tests/test262/built-ins/Array/prototype/unshift/S15.4.4.13_A4_T1.js
index e090235854ce..fb0cdeb78e6c 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/unshift/S15.4.4.13_A4_T1.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/unshift/S15.4.4.13_A4_T1.js
@@ -13,25 +13,21 @@ Array.prototype[0] = -1;
var x = [1];
x.length = 1;
-//CHECK#1
var unshift = x.unshift(0);
if (unshift !== 2) {
throw new Test262Error('#1: Array.prototype[0] = -1; x = [1]; x.length = 1; x.unshift(0) === 2. Actual: ' + (unshift));
}
-//CHECK#2
if (x[0] !== 0) {
throw new Test262Error('#2: Array.prototype[0] = -1; x = [1]; x.length = 1; x.unshift(0); x[0] === 0. Actual: ' + (x[0]));
}
-//CHECK#3
if (x[1] !== 1) {
throw new Test262Error('#3: Array.prototype[0] = -1; x = [1]; x.length = 1; x.unshift(0); x[1] === 1. Actual: ' + (x[1]));
}
delete x[0];
-//CHECK#4
if (x[0] !== -1) {
throw new Test262Error('#4: Array.prototype[0] = -1; x = [1]; x.length = 1; x.unshift(0); delete x[0]; x[0] === -1. Actual: ' + (x[0]));
}
@@ -43,35 +39,29 @@ x = {
0: 1
};
-//CHECK#5
var unshift = x.unshift(0);
if (unshift !== 2) {
throw new Test262Error('#5: Object.prototype[0] = -1; Object.prototype.length = 1; Object.prototype.unshift = Array.prototype.unshift; x = {0:0}; x.unshift(0) === 2. Actual: ' + (unshift));
}
-//CHECK#6
if (x[0] !== 0) {
throw new Test262Error('#6: Object.prototype[0] = -1; Object.prototype.length = 1; Object.prototype.unshift = Array.prototype.unshift; x = {0:0}; x.unshift(0); x[0] === 0. Actual: ' + (x[0]));
}
-//CHECK#7
if (x[1] !== 1) {
throw new Test262Error('#7: Object.prototype[0] = -1; Object.prototype.length = 1; Object.prototype.unshift = Array.prototype.unshift; x = {0:0}; x.unshift(0); x[1] === 1. Actual: ' + (x[1]));
}
delete x[0];
-//CHECK#8
if (x[0] !== -1) {
throw new Test262Error('#8: Object.prototype[0] = -1; Object.prototype.length = 1; Object.prototype.unshift = Array.prototype.unshift; x = {0:0}; x.unshift(0); delete x[0]; x[0] === -1. Actual: ' + (x[0]));
}
-//CHECK#9
if (x.length !== 2) {
throw new Test262Error('#9: Object.prototype[0] = -1; Object.prototype.length = 1; Object.prototype.unshift = Array.prototype.unshift; x = {0:0}; x.unshift(0); x.length === 1. Actual: ' + (x.length));
}
-//CHECK#10
delete x.length;
if (x.length !== 1) {
throw new Test262Error('#10: Object.prototype[1] = -1; Object.prototype.length = 1; Object.prototype.unshift = Array.prototype.unshift; x = {0:0}; x.unshift(0); delete x; x.length === 1. Actual: ' + (x.length));
diff --git a/js/src/tests/test262/built-ins/Array/prototype/unshift/S15.4.4.13_A4_T2.js b/js/src/tests/test262/built-ins/Array/prototype/unshift/S15.4.4.13_A4_T2.js
index 2e945bb156c6..bc63e8cf668c 100644
--- a/js/src/tests/test262/built-ins/Array/prototype/unshift/S15.4.4.13_A4_T2.js
+++ b/js/src/tests/test262/built-ins/Array/prototype/unshift/S15.4.4.13_A4_T2.js
@@ -13,25 +13,21 @@ Array.prototype[0] = 1;
var x = [];
x.length = 1;
-//CHECK#1
var unshift = x.unshift(0);
if (unshift !== 2) {
throw new Test262Error('#1: Array.prototype[0] = 1; x = []; x.length = 1; x.unshift(0) === 2. Actual: ' + (unshift));
}
-//CHECK#2
if (x[0] !== 0) {
throw new Test262Error('#2: Array.prototype[0] = 1; x = []; x.length = 1; x.unshift(0); x[0] === 0. Actual: ' + (x[0]));
}
-//CHECK#3
if (x[1] !== 1) {
throw new Test262Error('#3: Array.prototype[0] = 1; x = []; x.length = 1; x.unshift(0); x[1] === 1. Actual: ' + (x[1]));
}
delete x[0];
-//CHECK#4
if (x[0] !== 1) {
throw new Test262Error('#4: Array.prototype[0] = 1; x = [1]; x.length = 1; x.unshift(0); delete x[0]; x[0] === 1. Actual: ' + (x[0]));
}
@@ -41,35 +37,29 @@ Object.prototype.length = 1;
Object.prototype.unshift = Array.prototype.unshift;
x = {};
-//CHECK#5
var unshift = x.unshift(0);
if (unshift !== 2) {
throw new Test262Error('#5: Object.prototype[0] = 1; Object.prototype.length = 1; Object.prototype.unshift = Array.prototype.unshift; x = {}; x.unshift(0) === 2. Actual: ' + (unshift));
}
-//CHECK#6
if (x[0] !== 0) {
throw new Test262Error('#6: Object.prototype[0] = 1; Object.prototype.length = 1; Object.prototype.unshift = Array.prototype.unshift; x = {}; x.unshift(0); x[0] === 0. Actual: ' + (x[0]));
}
-//CHECK#7
if (x[1] !== 1) {
throw new Test262Error('#7: Object.prototype[0] = 1; Object.prototype.length = 1; Object.prototype.unshift = Array.prototype.unshift; x = {}; x.unshift(0); x[1] === 1. Actual: ' + (x[1]));
}
delete x[0];
-//CHECK#8
if (x[0] !== 1) {
throw new Test262Error('#8: Object.prototype[0] = 1; Object.prototype.length = 1; Object.prototype.unshift = Array.prototype.unshift; x = {}; x.unshift(0); delete x[0]; x[0] === 1. Actual: ' + (x[0]));
}
-//CHECK#9
if (x.length !== 2) {
throw new Test262Error('#9: Object.prototype[0] = 1; Object.prototype.length = 1; Object.prototype.unshift = Array.prototype.unshift; x = {}; x.unshift(0); x.length === 1. Actual: ' + (x.length));
}
-//CHECK#10
delete x.length;
if (x.length !== 1) {
throw new Test262Error('#10: Object.prototype[1] = 1; Object.prototype.length = 1; Object.prototype.unshift = Array.prototype.unshift; x = {}; x.unshift(0); delete x; x.length === 1. Actual: ' + (x.length));
diff --git a/js/src/tests/test262/built-ins/Array/prototype/unshift/S15.4.4.13_A5.7.js b/js/src/tests/test262/built-ins/Array/prototype/unshift/S15.4.4.13_A5.7.js
deleted file mode 100644
index 278ad6ff253d..000000000000
--- a/js/src/tests/test262/built-ins/Array/prototype/unshift/S15.4.4.13_A5.7.js
+++ /dev/null
@@ -1,23 +0,0 @@
-// Copyright 2009 the Sputnik authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-info: The unshift property of Array can't be used as constructor
-esid: sec-array.prototype.unshift
-description: >
- If property does not implement the internal [[Construct]] method,
- throw a TypeError exception
----*/
-
-//CHECK#1
-
-try {
- new Array.prototype.unshift();
- throw new Test262Error('#1.1: new Array.prototype.unshift() throw TypeError. Actual: ' + (new Array.prototype.unshift()));
-} catch (e) {
- if ((e instanceof TypeError) !== true) {
- throw new Test262Error('#1.2: new Array.prototype.unshift() throw TypeError. Actual: ' + (e));
- }
-}
-
-reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Array/prototype/unshift/set-length-array-is-frozen.js b/js/src/tests/test262/built-ins/Array/prototype/unshift/set-length-array-is-frozen.js
new file mode 100644
index 000000000000..912e021aaafb
--- /dev/null
+++ b/js/src/tests/test262/built-ins/Array/prototype/unshift/set-length-array-is-frozen.js
@@ -0,0 +1,50 @@
+// Copyright (C) 2022 Apple Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-array.prototype.unshift
+description: >
+ A TypeError is thrown when "length" is [[Set]] on a frozen array.
+info: |
+ Array.prototype.unshift ( ...items )
+
+ [...]
+ 4. If argCount > 0, then
+ [...]
+ d. Let j be +0𝔽.
+ e. For each element E of items, do
+ i. Perform ? Set(O, ! ToString(j), E, true).
+ ii. Set j to j + 1𝔽.
+ 5. Perform ? Set(O, "length", 𝔽(len + argCount), true).
+
+ OrdinarySetWithOwnDescriptor ( O, P, V, Receiver, ownDesc )
+
+ [...]
+ 2. If IsDataDescriptor(ownDesc) is true, then
+ a. If ownDesc.[[Writable]] is false, return false.
+
+ Set ( O, P, V, Throw )
+
+ [...]
+ 1. Let success be ? O.[[Set]](P, V, O).
+ 2. If success is false and Throw is true, throw a TypeError exception.
+---*/
+
+var array = [];
+var arrayPrototypeSet0Calls = 0;
+
+Object.defineProperty(Array.prototype, "0", {
+ set(_val) {
+ Object.freeze(array);
+ arrayPrototypeSet0Calls++;
+ },
+});
+
+assert.throws(TypeError, function() {
+ array.unshift(1);
+});
+
+assert(!array.hasOwnProperty(0));
+assert.sameValue(array.length, 0);
+assert.sameValue(arrayPrototypeSet0Calls, 1);
+
+reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Array/prototype/unshift/set-length-array-length-is-non-writable.js b/js/src/tests/test262/built-ins/Array/prototype/unshift/set-length-array-length-is-non-writable.js
new file mode 100644
index 000000000000..9ce38b5d9364
--- /dev/null
+++ b/js/src/tests/test262/built-ins/Array/prototype/unshift/set-length-array-length-is-non-writable.js
@@ -0,0 +1,50 @@
+// Copyright (C) 2022 Apple Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-array.prototype.unshift
+description: >
+ A TypeError is thrown when "length" is [[Set]] on an array with non-writable "length".
+info: |
+ Array.prototype.unshift ( ...items )
+
+ [...]
+ 4. If argCount > 0, then
+ [...]
+ d. Let j be +0𝔽.
+ e. For each element E of items, do
+ i. Perform ? Set(O, ! ToString(j), E, true).
+ ii. Set j to j + 1𝔽.
+ 5. Perform ? Set(O, "length", 𝔽(len + argCount), true).
+
+ OrdinarySetWithOwnDescriptor ( O, P, V, Receiver, ownDesc )
+
+ [...]
+ 2. If IsDataDescriptor(ownDesc) is true, then
+ a. If ownDesc.[[Writable]] is false, return false.
+
+ Set ( O, P, V, Throw )
+
+ [...]
+ 1. Let success be ? O.[[Set]](P, V, O).
+ 2. If success is false and Throw is true, throw a TypeError exception.
+---*/
+
+var array = [];
+var arrayPrototypeSet0Calls = 0;
+
+Object.defineProperty(Array.prototype, "0", {
+ set(_val) {
+ Object.defineProperty(array, "length", { writable: false });
+ arrayPrototypeSet0Calls++;
+ },
+});
+
+assert.throws(TypeError, function() {
+ array.unshift(1);
+});
+
+assert(!array.hasOwnProperty(0));
+assert.sameValue(array.length, 0);
+assert.sameValue(arrayPrototypeSet0Calls, 1);
+
+reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Array/prototype/unshift/set-length-zero-array-is-frozen.js b/js/src/tests/test262/built-ins/Array/prototype/unshift/set-length-zero-array-is-frozen.js
new file mode 100644
index 000000000000..0896cb8a25b2
--- /dev/null
+++ b/js/src/tests/test262/built-ins/Array/prototype/unshift/set-length-zero-array-is-frozen.js
@@ -0,0 +1,38 @@
+// Copyright (C) 2022 Apple Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-array.prototype.unshift
+description: >
+ A TypeError is thrown when "length" is [[Set]] on an empty frozen array.
+info: |
+ Array.prototype.unshift ( ...items )
+
+ [...]
+ 2. Let len be ? LengthOfArrayLike(O).
+ [...]
+ 5. Perform ? Set(O, "length", 𝔽(len + argCount), true).
+
+ OrdinarySetWithOwnDescriptor ( O, P, V, Receiver, ownDesc )
+
+ [...]
+ 2. If IsDataDescriptor(ownDesc) is true, then
+ a. If ownDesc.[[Writable]] is false, return false.
+
+ Set ( O, P, V, Throw )
+
+ [...]
+ 1. Let success be ? O.[[Set]](P, V, O).
+ 2. If success is false and Throw is true, throw a TypeError exception.
+---*/
+
+var array = [];
+Object.freeze(array);
+
+assert.throws(TypeError, function() {
+ array.unshift();
+});
+
+assert(!array.hasOwnProperty(0));
+assert.sameValue(array.length, 0);
+
+reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Array/prototype/unshift/set-length-zero-array-length-is-non-writable.js b/js/src/tests/test262/built-ins/Array/prototype/unshift/set-length-zero-array-length-is-non-writable.js
new file mode 100644
index 000000000000..c6fa486c0390
--- /dev/null
+++ b/js/src/tests/test262/built-ins/Array/prototype/unshift/set-length-zero-array-length-is-non-writable.js
@@ -0,0 +1,38 @@
+// Copyright (C) 2022 Apple Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-array.prototype.unshift
+description: >
+ A TypeError is thrown when "length" is [[Set]] on an empty array with non-writable "length".
+info: |
+ Array.prototype.unshift ( ...items )
+
+ [...]
+ 2. Let len be ? LengthOfArrayLike(O).
+ [...]
+ 5. Perform ? Set(O, "length", 𝔽(len + argCount), true).
+
+ OrdinarySetWithOwnDescriptor ( O, P, V, Receiver, ownDesc )
+
+ [...]
+ 2. If IsDataDescriptor(ownDesc) is true, then
+ a. If ownDesc.[[Writable]] is false, return false.
+
+ Set ( O, P, V, Throw )
+
+ [...]
+ 1. Let success be ? O.[[Set]](P, V, O).
+ 2. If success is false and Throw is true, throw a TypeError exception.
+---*/
+
+var array = [];
+Object.defineProperty(array, "length", { writable: false });
+
+assert.throws(TypeError, function() {
+ array.unshift();
+});
+
+assert(!array.hasOwnProperty(0));
+assert.sameValue(array.length, 0);
+
+reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Boolean/S15.6.1.1_A1_T1.js b/js/src/tests/test262/built-ins/Boolean/S15.6.1.1_A1_T1.js
index b805099a620b..c55a7cc8669c 100644
--- a/js/src/tests/test262/built-ins/Boolean/S15.6.1.1_A1_T1.js
+++ b/js/src/tests/test262/built-ins/Boolean/S15.6.1.1_A1_T1.js
@@ -10,25 +10,19 @@ description: >
Used values 1, new String("1"), new Object(1) and called without
argument
---*/
+assert.sameValue(typeof Boolean(), "boolean", 'The value of `typeof Boolean()` is expected to be "boolean"');
+assert.sameValue(typeof Boolean(1), "boolean", 'The value of `typeof Boolean(1)` is expected to be "boolean"');
-//CHECK#1
-if (typeof Boolean() !== "boolean") {
- throw new Test262Error('#1: typeof Boolean() should be "boolean", actual is "' + typeof Boolean() + '"');
-}
+assert.sameValue(
+ typeof Boolean(new String("1")),
+ "boolean",
+ 'The value of `typeof Boolean(new String("1"))` is expected to be "boolean"'
+);
-//CHECK#2
-if (typeof Boolean(1) !== "boolean") {
- throw new Test262Error('#2: typeof Boolean(1) should be "boolean", actual is "' + typeof Boolean(1) + '"');
-}
-
-//CHECK#3
-if (typeof Boolean(new String("1")) !== "boolean") {
- throw new Test262Error('#3: typeof Boolean(new String("1")) should be "boolean", actual is "' + typeof Boolean(new String("1")) + '"');
-}
-
-//CHECK#4
-if (typeof Boolean(new Object(1)) !== "boolean") {
- throw new Test262Error('#4: typeof Boolean(new Object(1)) should be "boolean", actual is "' + typeof Boolean(new Object(1)) + '"');
-}
+assert.sameValue(
+ typeof Boolean(new Object(1)),
+ "boolean",
+ 'The value of `typeof Boolean(new Object(1))` is expected to be "boolean"'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Boolean/S15.6.1.1_A1_T2.js b/js/src/tests/test262/built-ins/Boolean/S15.6.1.1_A1_T2.js
index b72381aeaff0..83fd28fca6d5 100644
--- a/js/src/tests/test262/built-ins/Boolean/S15.6.1.1_A1_T2.js
+++ b/js/src/tests/test262/built-ins/Boolean/S15.6.1.1_A1_T2.js
@@ -8,37 +8,19 @@ info: |
esid: sec-terms-and-definitions-boolean-value
description: Used various number values as argument
---*/
+assert.sameValue(typeof Boolean(0), "boolean", 'The value of `typeof Boolean(0)` is expected to be "boolean"');
+assert.sameValue(Boolean(0), false, 'Boolean(0) must return false');
+assert.sameValue(typeof Boolean(-1), "boolean", 'The value of `typeof Boolean(-1)` is expected to be "boolean"');
+assert.sameValue(Boolean(-1), true, 'Boolean(-1) must return true');
-//CHECK#1
-if (typeof Boolean(0) !== "boolean") {
- throw new Test262Error('#1.1: typeof Boolean(0) should be "boolean", actual is "' + typeof Boolean(0) + '"');
-}
-if (Boolean(0) !== false) {
- throw new Test262Error('#1.2: Boolean(0) should be false, actual is ' + Boolean(0));
-}
+assert.sameValue(
+ typeof Boolean(-Infinity),
+ "boolean",
+ 'The value of `typeof Boolean(-Infinity)` is expected to be "boolean"'
+);
-//CHECK#2
-if (typeof Boolean(-1) !== "boolean") {
- throw new Test262Error('#2.1: typeof Boolean(-1) should be "boolean", actual is "' + typeof Boolean(-1) + '"');
-}
-if (Boolean(-1) !== true) {
- throw new Test262Error('#2.2: Boolean(-1) should be true, actual is ' + Boolean(-1));
-}
-
-//CHECK#3
-if (typeof Boolean(-Infinity) !== "boolean") {
- throw new Test262Error('#3.1: typeof Boolean(-Infinity) should be "boolean", actual is "' + typeof Boolean(-Infinity) + '"');
-}
-if (Boolean(-Infinity) !== true) {
- throw new Test262Error('#3.2: Boolean(-Infinity) should be true, actual is ' + Boolean(-Infinity));
-}
-
-//CHECK#4
-if (typeof Boolean(NaN) !== "boolean") {
- throw new Test262Error('#4.1: typeof Boolean(NaN) should be "boolean", actual is "' + typeof Boolean(NaN) + '"');
-}
-if (Boolean(NaN) !== false) {
- throw new Test262Error('#4.2: Boolean(NaN) should be false, actual is ' + Boolean(NaN));
-}
+assert.sameValue(Boolean(-Infinity), true, 'Boolean(-Infinity) must return true');
+assert.sameValue(typeof Boolean(NaN), "boolean", 'The value of `typeof Boolean(NaN)` is expected to be "boolean"');
+assert.sameValue(Boolean(NaN), false, 'Boolean(NaN) must return false');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Boolean/S15.6.1.1_A1_T3.js b/js/src/tests/test262/built-ins/Boolean/S15.6.1.1_A1_T3.js
index a26e03f56f75..08be621238c8 100644
--- a/js/src/tests/test262/built-ins/Boolean/S15.6.1.1_A1_T3.js
+++ b/js/src/tests/test262/built-ins/Boolean/S15.6.1.1_A1_T3.js
@@ -1,6 +1,5 @@
// Copyright 2009 the Sputnik authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
-
/*---
info: |
Returns a boolean value (not a Boolean object) computed by
@@ -9,44 +8,27 @@ esid: sec-terms-and-definitions-boolean-value
description: Used various string values as argument
---*/
-//CHECK#1
-if (typeof Boolean("0") !== "boolean") {
- throw new Test262Error('#1.1: typeof Boolean("0") should be "boolean", actual is "' + typeof Boolean("0") + '"');
-}
-if (Boolean("0") !== true) {
- throw new Test262Error('#1.2: Boolean("0") should be true');
-}
+assert.sameValue(typeof Boolean("0"), "boolean", 'The value of `typeof Boolean("0")` is expected to be "boolean"');
+assert.sameValue(Boolean("0"), true, 'Boolean("0") must return true');
+assert.sameValue(typeof Boolean("-1"), "boolean", 'The value of `typeof Boolean("-1")` is expected to be "boolean"');
+assert.sameValue(Boolean("-1"), true, 'Boolean("-1") must return true');
+assert.sameValue(typeof Boolean("1"), "boolean", 'The value of `typeof Boolean("1")` is expected to be "boolean"');
+assert.sameValue(Boolean("1"), true, 'Boolean("1") must return true');
-//CHECK#2
-if (typeof Boolean("-1") !== "boolean") {
- throw new Test262Error('#2.1: typeof Boolean("-1") should be "boolean", actual is "' + typeof Boolean("-1") + '"');
-}
-if (Boolean("-1") !== true) {
- throw new Test262Error('#2.2: Boolean("-1") should be true');
-}
+assert.sameValue(
+ typeof Boolean("false"),
+ "boolean",
+ 'The value of `typeof Boolean("false")` is expected to be "boolean"'
+);
-//CHECK#3
-if (typeof Boolean("1") !== "boolean") {
- throw new Test262Error('#3.1: typeof Boolean("1") should be "boolean", actual is "' + typeof Boolean("1") + '"');
-}
-if (Boolean("1") !== true) {
- throw new Test262Error('#3.2: Boolean("1") should be true');
-}
+assert.sameValue(Boolean("false"), true, 'Boolean("false") must return true');
-//CHECK#4
-if (typeof Boolean("false") !== "boolean") {
- throw new Test262Error('#4.1: typeof Boolean("false") should be "boolean", actual is "' + typeof Boolean("false") + '"');
-}
-if (Boolean("false") !== true) {
- throw new Test262Error('#4.2: Boolean("false") should be true');
-}
+assert.sameValue(
+ typeof Boolean("true"),
+ "boolean",
+ 'The value of `typeof Boolean("true")` is expected to be "boolean"'
+);
-//CHECK#5
-if (typeof Boolean("true") !== "boolean") {
- throw new Test262Error('#5.1: typeof Boolean("true") should be "boolean", actual is "' + typeof Boolean("true") + '"');
-}
-if (Boolean("true") !== true) {
- throw new Test262Error('#5.2: Boolean("true") should be true');
-}
+assert.sameValue(Boolean("true"), true, 'Boolean("true") must return true');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Boolean/S15.6.1.1_A1_T4.js b/js/src/tests/test262/built-ins/Boolean/S15.6.1.1_A1_T4.js
index 6931f30cddd0..d52fb031da08 100644
--- a/js/src/tests/test262/built-ins/Boolean/S15.6.1.1_A1_T4.js
+++ b/js/src/tests/test262/built-ins/Boolean/S15.6.1.1_A1_T4.js
@@ -9,45 +9,33 @@ esid: sec-terms-and-definitions-boolean-value
description: Used various undefined values and null as argument
---*/
-//CHECK#1
-if (typeof Boolean(undefined) !== "boolean") {
- throw new Test262Error('#1.1: typeof Boolean(undefined) should be "boolean", actual is "' + typeof Boolean(undefined) + '"');
-}
-if (Boolean(undefined) !== false) {
- throw new Test262Error('#1.2: Boolean(undefined) should be false');
-}
+assert.sameValue(
+ typeof Boolean(undefined),
+ "boolean",
+ 'The value of `typeof Boolean(undefined)` is expected to be "boolean"'
+);
-//CHECK#2
-if (typeof Boolean(void 0) !== "boolean") {
- throw new Test262Error('#2.1: typeof Boolean(void 0) should be "boolean", actual is "' + typeof Boolean(void 0) + '"');
-}
-if (Boolean(void 0) !== false) {
- throw new Test262Error('#2.2: Boolean(void 0) should be false');
-}
+assert.sameValue(Boolean(undefined), false, 'Boolean(undefined) must return false');
-//CHECK#3
-if (typeof Boolean(function() {}()) !== "boolean") {
- throw new Test262Error('#3.1: typeof Boolean(function(){}()) should be "boolean", actual is "' + typeof Boolean(function() {}()) + '"');
-}
-if (Boolean(function() {}()) !== false) {
- throw new Test262Error('#3.2: Boolean(function(){}()) should be false');
-}
+assert.sameValue(
+ typeof Boolean(void 0),
+ "boolean",
+ 'The value of `typeof Boolean(void 0)` is expected to be "boolean"'
+);
-//CHECK#4
-if (typeof Boolean(null) !== "boolean") {
- throw new Test262Error('#4.1: typeof Boolean(null) should be "boolean", actual is "' + typeof Boolean(null) + '"');
-}
-if (Boolean(null) !== false) {
- throw new Test262Error('#4.2: Boolean(null) should be false');
-}
+assert.sameValue(Boolean(void 0), false, 'Boolean(void 0) must return false');
-//CHECK#5
-if (typeof Boolean(x) !== "boolean") {
- throw new Test262Error('#5.1: var x; typeof Boolean(x) should be "boolean", actual is "' + typeof Boolean(x) + '"');
-}
-if (Boolean(x) !== false) {
- throw new Test262Error('#5.2: var x; Boolean(x) should be false');
-}
+assert.sameValue(
+ typeof Boolean(function() {}()),
+ "boolean",
+ 'The value of `typeof Boolean(function() {}())` is expected to be "boolean"'
+);
+
+assert.sameValue(Boolean(function() {}()), false, 'Boolean(function() {}()) must return false');
+assert.sameValue(typeof Boolean(null), "boolean", 'The value of `typeof Boolean(null)` is expected to be "boolean"');
+assert.sameValue(Boolean(null), false, 'Boolean(null) must return false');
+assert.sameValue(typeof Boolean(x), "boolean", 'The value of `typeof Boolean(x)` is expected to be "boolean"');
+assert.sameValue(Boolean(x), false, 'Boolean() must return false');
var x;
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Boolean/S15.6.1.1_A1_T5.js b/js/src/tests/test262/built-ins/Boolean/S15.6.1.1_A1_T5.js
index f2b3198ded26..0bb2c7f4970d 100644
--- a/js/src/tests/test262/built-ins/Boolean/S15.6.1.1_A1_T5.js
+++ b/js/src/tests/test262/built-ins/Boolean/S15.6.1.1_A1_T5.js
@@ -11,44 +11,33 @@ description: Used various assigning values to any variable as argument
var x;
-//CHECK#1
-if (typeof Boolean(x = 0) !== "boolean") {
- throw new Test262Error('#1.1: typeof Boolean(x=0) should be "boolean", actual is "' + typeof Boolean(x = 0) + '"');
-}
-if (Boolean(x = 0) !== false) {
- throw new Test262Error('#1.2: Boolean(x=0) should be false');
-}
+assert.sameValue(typeof Boolean(x = 0), "boolean", 'The value of `typeof Boolean(x = 0)` is expected to be "boolean"');
+assert.sameValue(Boolean(x = 0), false, 'Boolean(x = 0) must return false');
+assert.sameValue(typeof Boolean(x = 1), "boolean", 'The value of `typeof Boolean(x = 1)` is expected to be "boolean"');
+assert.sameValue(Boolean(x = 1), true, 'Boolean(x = 1) must return true');
-//CHECK#2
-if (typeof Boolean(x = 1) !== "boolean") {
- throw new Test262Error('#2.1: typeof Boolean(x=1) should be "boolean", actual is "' + typeof Boolean(x = 1) + '"');
-}
-if (Boolean(x = 1) !== true) {
- throw new Test262Error('#2.2: Boolean(x=1) should be true');
-}
+assert.sameValue(
+ typeof Boolean(x = false),
+ "boolean",
+ 'The value of `typeof Boolean(x = false)` is expected to be "boolean"'
+);
-//CHECK#3
-if (typeof Boolean(x = false) !== "boolean") {
- throw new Test262Error('#3.1: typeof Boolean(x=false) should be "boolean", actual is "' + typeof Boolean(x = false) + '"');
-}
-if (Boolean(x = false) !== false) {
- throw new Test262Error('#3.2: Boolean(x=false) should be false');
-}
+assert.sameValue(Boolean(x = false), false, 'Boolean(x = false) must return false');
-//CHECK#4
-if (typeof Boolean(x = true) !== "boolean") {
- throw new Test262Error('#4.1: typeof Boolean(x=true) should be "boolean", actual is "' + typeof Boolean(x = true) + '"');
-}
-if (Boolean(x = true) !== true) {
- throw new Test262Error('#4.2: Boolean(x=true) should be true');
-}
+assert.sameValue(
+ typeof Boolean(x = true),
+ "boolean",
+ 'The value of `typeof Boolean(x = true)` is expected to be "boolean"'
+);
-//CHECK#5
-if (typeof Boolean(x = null) !== "boolean") {
- throw new Test262Error('#5.1: typeof Boolean(x=null) should be "boolean", actual is "' + typeof Boolean(x = null) + '"');
-}
-if (Boolean(x = null) !== false) {
- throw new Test262Error('#5.2: Boolean(x=null) should be false');
-}
+assert.sameValue(Boolean(x = true), true, 'Boolean(x = true) must return true');
+
+assert.sameValue(
+ typeof Boolean(x = null),
+ "boolean",
+ 'The value of `typeof Boolean(x = null)` is expected to be "boolean"'
+);
+
+assert.sameValue(Boolean(x = null), false, 'Boolean(x = null) must return false');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Boolean/S15.6.1.1_A2.js b/js/src/tests/test262/built-ins/Boolean/S15.6.1.1_A2.js
index 0e845b86e3da..b5e504ce55bf 100644
--- a/js/src/tests/test262/built-ins/Boolean/S15.6.1.1_A2.js
+++ b/js/src/tests/test262/built-ins/Boolean/S15.6.1.1_A2.js
@@ -6,15 +6,7 @@ info: Boolean() returns false
esid: sec-terms-and-definitions-boolean-value
description: Call Boolean() and check result
---*/
-
-//CHECK#1
-if (typeof Boolean() !== "boolean") {
- throw new Test262Error('#1: typeof Boolean() should be "boolean", actual is "' + typeof Boolean() + '"');
-}
-
-//CHECK#2
-if (Boolean() !== false) {
- throw new Test262Error('#2: Boolean() should be false');
-}
+assert.sameValue(typeof Boolean(), "boolean", 'The value of `typeof Boolean()` is expected to be "boolean"');
+assert.sameValue(Boolean(), false, 'Boolean() must return false');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Boolean/S15.6.2.1_A1.js b/js/src/tests/test262/built-ins/Boolean/S15.6.2.1_A1.js
index 332943ed9938..d2de13687600 100644
--- a/js/src/tests/test262/built-ins/Boolean/S15.6.2.1_A1.js
+++ b/js/src/tests/test262/built-ins/Boolean/S15.6.2.1_A1.js
@@ -9,48 +9,21 @@ esid: sec-boolean-constructor
description: Checking type of the newly created object and it value
---*/
-//CHECK#1
-if (typeof new Boolean() !== "object") {
- throw new Test262Error("#1: typeof new Boolean() === 'object'");
-}
+assert.sameValue(typeof new Boolean(), "object", 'The value of `typeof new Boolean()` is expected to be "object"');
+assert.notSameValue(new Boolean(), undefined, 'new Boolean() is expected to not equal ``undefined``');
-//CHECK#2
-if (new Boolean() === undefined) {
- throw new Test262Error("#2: new Boolean() should not be undefined");
-}
-
-//CHECK#3
var x3 = new Boolean();
-if (typeof x3 !== "object") {
- throw new Test262Error("#3: typeof new Boolean() !== 'object'");
-}
+assert.sameValue(typeof x3, "object", 'The value of `typeof x3` is expected to be "object"');
-//CHECK#4
var x4 = new Boolean();
-if (x4 === undefined) {
- throw new Test262Error("#4: new Boolean() should not be undefined");
-}
+assert.notSameValue(x4, undefined, 'The value of x4 is expected to not equal ``undefined``');
+assert.sameValue(typeof new Boolean(1), "object", 'The value of `typeof new Boolean(1)` is expected to be "object"');
+assert.notSameValue(new Boolean(1), undefined, 'new Boolean(1) is expected to not equal ``undefined``');
-//CHECK#5
-if (typeof new Boolean(1) !== "object") {
- throw new Test262Error("#5: typeof new Boolean(10) === 'object'");
-}
-
-//CHECK#6
-if (new Boolean(1) === undefined) {
- throw new Test262Error("#6: new Boolean(1) should not be undefined");
-}
-
-//CHECK#7
var x7 = new Boolean(1);
-if (typeof x7 !== "object") {
- throw new Test262Error("#7: typeof new Boolean(1) !== 'object'");
-}
+assert.sameValue(typeof x7, "object", 'The value of `typeof x7` is expected to be "object"');
-//CHECK#8
var x8 = new Boolean(1);
-if (x8 === undefined) {
- throw new Test262Error("#8: new Boolean(1) should not be undefined");
-}
+assert.notSameValue(x8, undefined, 'The value of x8 is expected to not equal ``undefined``');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Boolean/S15.6.2.1_A2.js b/js/src/tests/test262/built-ins/Boolean/S15.6.2.1_A2.js
index b9351c4f216b..5a31cc11bb56 100644
--- a/js/src/tests/test262/built-ins/Boolean/S15.6.2.1_A2.js
+++ b/js/src/tests/test262/built-ins/Boolean/S15.6.2.1_A2.js
@@ -12,20 +12,22 @@ description: Checking prototype property of the newly created object
// CHECK#1
var x1 = new Boolean(1);
-if (typeof x1.constructor.prototype !== "object") {
- throw new Test262Error('#1: typeof x1.constructor.prototype === "object"');
-}
-//CHECK#2
+assert.sameValue(
+ typeof x1.constructor.prototype,
+ "object",
+ 'The value of `typeof x1.constructor.prototype` is expected to be "object"'
+);
+
var x2 = new Boolean(2);
-if (!Boolean.prototype.isPrototypeOf(x2)) {
- throw new Test262Error('#2: Boolean.prototype.isPrototypeOf(x2)');
-}
+assert(Boolean.prototype.isPrototypeOf(x2), 'Boolean.prototype.isPrototypeOf(x2) must return true');
-//CHECK#3
var x3 = new Boolean(3);
-if (Boolean.prototype !== x3.constructor.prototype) {
- throw new Test262Error('#3: Boolean.prototype === x3.constructor.prototype');
-}
+
+assert.sameValue(
+ Boolean.prototype,
+ x3.constructor.prototype,
+ 'The value of Boolean.prototype is expected to equal the value of x3.constructor.prototype'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Boolean/S15.6.2.1_A3.js b/js/src/tests/test262/built-ins/Boolean/S15.6.2.1_A3.js
index f9a94f0754c0..5776bd7a5a3e 100644
--- a/js/src/tests/test262/built-ins/Boolean/S15.6.2.1_A3.js
+++ b/js/src/tests/test262/built-ins/Boolean/S15.6.2.1_A3.js
@@ -11,26 +11,15 @@ description: Checking value of the newly created object
// CHECK#1
var x1 = new Boolean(1);
-if (x1.valueOf() !== true) {
- throw new Test262Error('#1: var x1 = new Boolean(1); x1.valueOf() === true');
-}
+assert.sameValue(x1.valueOf(), true, 'x1.valueOf() must return true');
-//CHECK#2
var x2 = new Boolean();
-if (x2.valueOf() !== false) {
- throw new Test262Error('#2: var x2 = new Boolean(); x2.valueOf() === false');
-}
+assert.sameValue(x2.valueOf(), false, 'x2.valueOf() must return false');
-//CHECK#3
var x2 = new Boolean(0);
-if (x2.valueOf() !== false) {
- throw new Test262Error('#3: var x2 = new Boolean(0); x2.valueOf() === false');
-}
+assert.sameValue(x2.valueOf(), false, 'x2.valueOf() must return false');
-//CHECK#4
var x2 = new Boolean(new Object());
-if (x2.valueOf() !== true) {
- throw new Test262Error('#4: var x2 = new Boolean(new Object()); x2.valueOf() === true');
-}
+assert.sameValue(x2.valueOf(), true, 'x2.valueOf() must return true');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Boolean/S15.6.2.1_A4.js b/js/src/tests/test262/built-ins/Boolean/S15.6.2.1_A4.js
index fea733f8cfa7..c2695184cb3a 100644
--- a/js/src/tests/test262/built-ins/Boolean/S15.6.2.1_A4.js
+++ b/js/src/tests/test262/built-ins/Boolean/S15.6.2.1_A4.js
@@ -13,9 +13,6 @@ delete Boolean.prototype.toString;
var obj = new Boolean();
-//CHECK#1
-if (obj.toString() !== "[object Boolean]") {
- throw new Test262Error('#1: The [[Class]] property of the newly constructed object is set to "Boolean"');
-}
+assert.sameValue(obj.toString(), "[object Boolean]", 'obj.toString() must return "[object Boolean]"');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Boolean/S15.6.3_A1.js b/js/src/tests/test262/built-ins/Boolean/S15.6.3_A1.js
index 235aa5e7fed6..2ea4b61e28ae 100644
--- a/js/src/tests/test262/built-ins/Boolean/S15.6.3_A1.js
+++ b/js/src/tests/test262/built-ins/Boolean/S15.6.3_A1.js
@@ -6,9 +6,6 @@ info: The Boolean constructor has the property "prototype"
esid: sec-boolean.prototype
description: Checking existence of the property "prototype"
---*/
-
-if (!Boolean.hasOwnProperty("prototype")) {
- throw new Test262Error('#1: The Boolean constructor has the property "prototype"');
-}
+assert(Boolean.hasOwnProperty("prototype"), 'Boolean.hasOwnProperty("prototype") must return true');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Boolean/S15.6.3_A2.js b/js/src/tests/test262/built-ins/Boolean/S15.6.3_A2.js
index c3c299feb979..a9017ef6dd7a 100644
--- a/js/src/tests/test262/built-ins/Boolean/S15.6.3_A2.js
+++ b/js/src/tests/test262/built-ins/Boolean/S15.6.3_A2.js
@@ -8,10 +8,9 @@ info: |
esid: sec-boolean.prototype
description: Checking prototype of the Boolean constructor
---*/
-
-//CHECK#1
-if (!(Function.prototype.isPrototypeOf(Boolean))) {
- throw new Test262Error('#1: the value of the internal [[Prototype]] property of the Boolean constructor is the Function prototype object.');
-}
+assert(
+ Function.prototype.isPrototypeOf(Boolean),
+ 'Function.prototype.isPrototypeOf(Boolean) must return true'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Boolean/S15.6.3_A3.js b/js/src/tests/test262/built-ins/Boolean/S15.6.3_A3.js
index e094f579aab5..8b84f5f7b108 100644
--- a/js/src/tests/test262/built-ins/Boolean/S15.6.3_A3.js
+++ b/js/src/tests/test262/built-ins/Boolean/S15.6.3_A3.js
@@ -6,15 +6,7 @@ info: Boolean constructor has length property whose value is 1
esid: sec-boolean.prototype
description: Checking Boolean.length property
---*/
-
-//CHECK#1
-if (!Boolean.hasOwnProperty("length")) {
- throw new Test262Error('#1: Boolean constructor has length property');
-}
-
-//CHECK#2
-if (Boolean.length !== 1) {
- throw new Test262Error('#2: Boolean constructor length property value is 1');
-}
+assert(Boolean.hasOwnProperty("length"), 'Boolean.hasOwnProperty("length") must return true');
+assert.sameValue(Boolean.length, 1, 'The value of Boolean.length is expected to be 1');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Boolean/S9.2_A1_T1.js b/js/src/tests/test262/built-ins/Boolean/S9.2_A1_T1.js
index 8516fbbba066..ef74e43f64b6 100644
--- a/js/src/tests/test262/built-ins/Boolean/S9.2_A1_T1.js
+++ b/js/src/tests/test262/built-ins/Boolean/S9.2_A1_T1.js
@@ -9,24 +9,9 @@ description: >
transformation
---*/
-// CHECK#1
-if (Boolean(undefined) !== false) {
- throw new Test262Error('#1: Boolean(undefined) === false. Actual: ' + (Boolean(undefined)));
-}
-
-// CHECK#2
-if (Boolean(void 0) !== false) {
- throw new Test262Error('#2: Boolean(undefined) === false. Actual: ' + (Boolean(undefined)));
-}
-
-// CHECK#3
-if (Boolean(eval("var x")) !== false) {
- throw new Test262Error('#3: Boolean(eval("var x")) === false. Actual: ' + (Boolean(eval("var x"))));
-}
-
-// CHECK#4
-if (Boolean() !== false) {
- throw new Test262Error('#4: Boolean() === false. Actual: ' + (Boolean()));
-}
+assert.sameValue(Boolean(undefined), false, 'Boolean(undefined) must return false');
+assert.sameValue(Boolean(void 0), false, 'Boolean(void 0) must return false');
+assert.sameValue(Boolean(eval("var x")), false, 'Boolean(eval("var x")) must return false');
+assert.sameValue(Boolean(), false, 'Boolean() must return false');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Boolean/S9.2_A2_T1.js b/js/src/tests/test262/built-ins/Boolean/S9.2_A2_T1.js
index d2d29d45c107..f35a62eb8f0b 100644
--- a/js/src/tests/test262/built-ins/Boolean/S9.2_A2_T1.js
+++ b/js/src/tests/test262/built-ins/Boolean/S9.2_A2_T1.js
@@ -6,10 +6,6 @@ info: Result of boolean conversion from null value is false
esid: sec-toboolean
description: null convert to Boolean by explicit transformation
---*/
-
-// CHECK#1
-if (Boolean(null) !== false) {
- throw new Test262Error('#1: Boolean(null) === false. Actual: ' + (Boolean(null)));
-}
+assert.sameValue(Boolean(null), false, 'Boolean(null) must return false');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Boolean/S9.2_A3_T1.js b/js/src/tests/test262/built-ins/Boolean/S9.2_A3_T1.js
index 13e305dd3086..478031caa41e 100644
--- a/js/src/tests/test262/built-ins/Boolean/S9.2_A3_T1.js
+++ b/js/src/tests/test262/built-ins/Boolean/S9.2_A3_T1.js
@@ -6,15 +6,7 @@ info: Result of boolean conversion from boolean value is no conversion
esid: sec-toboolean
description: true and false convert to Boolean by explicit transformation
---*/
-
-// CHECK#1
-if (Boolean(true) !== true) {
- throw new Test262Error('#1: Boolean(true) === true. Actual: ' + (Boolean(true)));
-}
-
-// CHECK#2
-if (Boolean(false) !== false) {
- throw new Test262Error('#2: Boolean(false) === false. Actual: ' + (Boolean(false)));
-}
+assert.sameValue(Boolean(true), true, 'Boolean(true) must return true');
+assert.sameValue(Boolean(false), false, 'Boolean(false) must return false');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Boolean/S9.2_A4_T1.js b/js/src/tests/test262/built-ins/Boolean/S9.2_A4_T1.js
index d40c68cd8a05..1c178f1fa0ae 100644
--- a/js/src/tests/test262/built-ins/Boolean/S9.2_A4_T1.js
+++ b/js/src/tests/test262/built-ins/Boolean/S9.2_A4_T1.js
@@ -8,20 +8,8 @@ info: |
esid: sec-toboolean
description: +0, -0 and NaN convert to Boolean by explicit transformation
---*/
-
-// CHECK#1
-if (Boolean(+0) !== false) {
- throw new Test262Error('#1: Boolean(+0) === false. Actual: ' + (Boolean(+0)));
-}
-
-// CHECK#2
-if (Boolean(-0) !== false) {
- throw new Test262Error('#2: Boolean(-0) === false. Actual: ' + (Boolean(-0)));
-}
-
-// CHECK#3
-if (Boolean(Number.NaN) !== false) {
- throw new Test262Error('#3: Boolean(Number.NaN) === false. Actual: ' + (Boolean(Number.NaN)));
-}
+assert.sameValue(Boolean(+0), false, 'Boolean(+0) must return false');
+assert.sameValue(Boolean(-0), false, 'Boolean(-0) must return false');
+assert.sameValue(Boolean(Number.NaN), false, 'Boolean(Number.NaN) must return false');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Boolean/S9.2_A4_T3.js b/js/src/tests/test262/built-ins/Boolean/S9.2_A4_T3.js
index 1f1f2e1b67ae..b357ab9052d8 100644
--- a/js/src/tests/test262/built-ins/Boolean/S9.2_A4_T3.js
+++ b/js/src/tests/test262/built-ins/Boolean/S9.2_A4_T3.js
@@ -11,45 +11,13 @@ description: >
Number.MAX_VALUE, Number.MIN_VALUE and some numbers convert to
Boolean by explicit transformation
---*/
-
-// CHECK#1
-if (Boolean(Number.POSITIVE_INFINITY) !== true) {
- throw new Test262Error('#1: Boolean(+Infinity) === true. Actual: ' + (Boolean(+Infinity)));
-}
-
-// CHECK#2;
-if (Boolean(Number.NEGATIVE_INFINITY) !== true) {
- throw new Test262Error('#2: Boolean(-Infinity) === true. Actual: ' + (Boolean(-Infinity)));
-}
-
-// CHECK#3
-if (Boolean(Number.MAX_VALUE) !== true) {
- throw new Test262Error('#3: Boolean(Number.MAX_VALUE) === true. Actual: ' + (Boolean(Number.MAX_VALUE)));
-}
-
-// CHECK#4
-if (Boolean(Number.MIN_VALUE) !== true) {
- throw new Test262Error('#4: Boolean(Number.MIN_VALUE) === true. Actual: ' + (Boolean(Number.MIN_VALUE)));
-}
-
-// CHECK#5
-if (Boolean(13) !== true) {
- throw new Test262Error('#5: Boolean(13) === true. Actual: ' + (Boolean(13)));
-}
-
-// CHECK#6
-if (Boolean(-13) !== true) {
- throw new Test262Error('#6: Boolean(-13) === true. Actual: ' + (Boolean(-13)));
-}
-
-// CHECK#7
-if (Boolean(1.3) !== true) {
- throw new Test262Error('#7: Boolean(1.3) === true. Actual: ' + (Boolean(1.3)));
-}
-
-// CHECK#8
-if (Boolean(-1.3) !== true) {
- throw new Test262Error('#8: Boolean(-1.3) === true. Actual: ' + (Boolean(-1.3)));
-}
+assert.sameValue(Boolean(Number.POSITIVE_INFINITY), true, 'Boolean(Number.POSITIVE_INFINITY) must return true');
+assert.sameValue(Boolean(Number.NEGATIVE_INFINITY), true, 'Boolean(Number.NEGATIVE_INFINITY) must return true');
+assert.sameValue(Boolean(Number.MAX_VALUE), true, 'Boolean(Number.MAX_VALUE) must return true');
+assert.sameValue(Boolean(Number.MIN_VALUE), true, 'Boolean(Number.MIN_VALUE) must return true');
+assert.sameValue(Boolean(13), true, 'Boolean(13) must return true');
+assert.sameValue(Boolean(-13), true, 'Boolean(-13) must return true');
+assert.sameValue(Boolean(1.3), true, 'Boolean(1.3) must return true');
+assert.sameValue(Boolean(-1.3), true, 'Boolean(-1.3) must return true');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Boolean/S9.2_A5_T1.js b/js/src/tests/test262/built-ins/Boolean/S9.2_A5_T1.js
index e0de21cac25b..78111566c99a 100644
--- a/js/src/tests/test262/built-ins/Boolean/S9.2_A5_T1.js
+++ b/js/src/tests/test262/built-ins/Boolean/S9.2_A5_T1.js
@@ -8,10 +8,6 @@ info: |
esid: sec-toboolean
description: "\"\" is converted to Boolean by explicit transformation"
---*/
-
-// CHECK#1
-if (Boolean("") !== false) {
- throw new Test262Error('#1: Boolean("") === false. Actual: ' + (Boolean("")));
-}
+assert.sameValue(Boolean(""), false, 'Boolean("") must return false');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Boolean/S9.2_A5_T3.js b/js/src/tests/test262/built-ins/Boolean/S9.2_A5_T3.js
index 58fcfc970b53..3122ff8eeda5 100644
--- a/js/src/tests/test262/built-ins/Boolean/S9.2_A5_T3.js
+++ b/js/src/tests/test262/built-ins/Boolean/S9.2_A5_T3.js
@@ -8,15 +8,7 @@ info: |
esid: sec-toboolean
description: Any nonempty string convert to Boolean by explicit transformation
---*/
-
-// CHECK#1
-if (Boolean(" ") !== true) {
- throw new Test262Error('#1: Boolean(" ") === true. Actual: ' + (Boolean(" ")));
-}
-
-// CHECK#2
-if (Boolean("Nonempty String") !== true) {
- throw new Test262Error('#2: Boolean("Nonempty String") === true. Actual: ' + (Boolean("Nonempty String")));
-}
+assert.sameValue(Boolean(" "), true, 'Boolean(" ") must return true');
+assert.sameValue(Boolean("Nonempty String"), true, 'Boolean("Nonempty String") must return true');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Boolean/S9.2_A6_T1.js b/js/src/tests/test262/built-ins/Boolean/S9.2_A6_T1.js
index 2ddc2df1815e..bfacbb758a70 100644
--- a/js/src/tests/test262/built-ins/Boolean/S9.2_A6_T1.js
+++ b/js/src/tests/test262/built-ins/Boolean/S9.2_A6_T1.js
@@ -7,99 +7,35 @@ esid: sec-toboolean
description: Different objects convert to Boolean by explicit transformation
---*/
-// CHECK#1
-if (Boolean(new Object()) !== true) {
- throw new Test262Error('#1: Boolean(new Object()) === true. Actual: ' + (Boolean(new Object())));
-}
+assert.sameValue(Boolean(new Object()), true, 'Boolean(new Object()) must return true');
+assert.sameValue(Boolean(new String("")), true, 'Boolean(new String("")) must return true');
+assert.sameValue(Boolean(new String()), true, 'Boolean(new String()) must return true');
+assert.sameValue(Boolean(new Boolean(true)), true, 'Boolean(new Boolean(true)) must return true');
+assert.sameValue(Boolean(new Boolean(false)), true, 'Boolean(new Boolean(false)) must return true');
+assert.sameValue(Boolean(new Boolean()), true, 'Boolean(new Boolean()) must return true');
+assert.sameValue(Boolean(new Array()), true, 'Boolean(new Array()) must return true');
+assert.sameValue(Boolean(new Number()), true, 'Boolean(new Number()) must return true');
+assert.sameValue(Boolean(new Number(-0)), true, 'Boolean(new Number(-0)) must return true');
+assert.sameValue(Boolean(new Number(0)), true, 'Boolean(new Number(0)) must return true');
+assert.sameValue(Boolean(new Number()), true, 'Boolean(new Number()) must return true');
+assert.sameValue(Boolean(new Number(Number.NaN)), true, 'Boolean(new Number(Number.NaN)) must return true');
+assert.sameValue(Boolean(new Number(-1)), true, 'Boolean(new Number(-1)) must return true');
+assert.sameValue(Boolean(new Number(1)), true, 'Boolean(new Number(1)) must return true');
-// CHECK#2
-if (Boolean(new String("")) !== true) {
- throw new Test262Error('#2: Boolean(new String("")) === true. Actual: ' + (Boolean(new String(""))));
-}
+assert.sameValue(
+ Boolean(new Number(Number.POSITIVE_INFINITY)),
+ true,
+ 'Boolean(new Number(Number.POSITIVE_INFINITY)) must return true'
+);
-// CHECK#3
-if (Boolean(new String()) !== true) {
- throw new Test262Error('#3: Boolean(new String()) === true. Actual: ' + (Boolean(new String())));
-}
+assert.sameValue(
+ Boolean(new Number(Number.NEGATIVE_INFINITY)),
+ true,
+ 'Boolean(new Number(Number.NEGATIVE_INFINITY)) must return true'
+);
-// CHECK#4
-if (Boolean(new Boolean(true)) !== true) {
- throw new Test262Error('#4: Boolean(new Boolean(true)) === true. Actual: ' + (Boolean(new Boolean(true))));
-}
-
-// CHECK#5
-if (Boolean(new Boolean(false)) !== true) {
- throw new Test262Error('#5: Boolean(new Boolean(false)) === true. Actual: ' + (Boolean(new Boolean(false))));
-}
-
-// CHECK#6
-if (Boolean(new Boolean()) !== true) {
- throw new Test262Error('#6: Boolean(new Boolean()) === true. Actual: ' + (Boolean(new Boolean())));
-}
-
-// CHECK#7
-if (Boolean(new Array()) !== true) {
- throw new Test262Error('#7: Boolean(new Array()) === true. Actual: ' + (Boolean(new Array())));
-}
-
-// CHECK#8
-if (Boolean(new Number()) !== true) {
- throw new Test262Error('#8: Boolean(new Number()) === true. Actual: ' + (Boolean(new Number())));
-}
-
-// CHECK#9
-if (Boolean(new Number(-0)) !== true) {
- throw new Test262Error('#9: Boolean(new Number(-0)) === true. Actual: ' + (Boolean(new Number(-0))));
-}
-
-// CHECK#10
-if (Boolean(new Number(0)) !== true) {
- throw new Test262Error('#10: Boolean(new Number(0)) === true. Actual: ' + (Boolean(new Number(0))));
-}
-
-// CHECK#11
-if (Boolean(new Number()) !== true) {
- throw new Test262Error('#11: Boolean(new Number()) === true. Actual: ' + (Boolean(new Number())));
-}
-
-// CHECK#12
-if (Boolean(new Number(Number.NaN)) !== true) {
- throw new Test262Error('#12: Boolean(new Number(Number.NaN)) === true. Actual: ' + (Boolean(new Number(Number.NaN))));
-}
-
-// CHECK#13
-if (Boolean(new Number(-1)) !== true) {
- throw new Test262Error('#13: Boolean(new Number(-1)) === true. Actual: ' + (Boolean(new Number(-1))));
-}
-
-// CHECK#14
-if (Boolean(new Number(1)) !== true) {
- throw new Test262Error('#14: Boolean(new Number(1)) === true. Actual: ' + (Boolean(new Number(1))));
-}
-
-// CHECK#15
-if (Boolean(new Number(Number.POSITIVE_INFINITY)) !== true) {
- throw new Test262Error('#15: Boolean(new Number(Number.POSITIVE_INFINITY)) === true. Actual: ' + (Boolean(new Number(Number.POSITIVE_INFINITY))));
-}
-
-// CHECK#16
-if (Boolean(new Number(Number.NEGATIVE_INFINITY)) !== true) {
- throw new Test262Error('#16: Boolean(new Number(Number.NEGATIVE_INFINITY)) === true. Actual: ' + (Boolean(new Number(Number.NEGATIVE_INFINITY))));
-}
-
-// CHECK#17
-if (Boolean(new Function()) !== true) {
- throw new Test262Error('#17: Boolean(new Function()) === true. Actual: ' + (Boolean(new Function())));
-}
-
-// CHECK#18
-if (Boolean(new Date()) !== true) {
- throw new Test262Error('#18: Boolean(new Date()) === true. Actual: ' + (Boolean(new Date())));
-}
-
-// CHECK#19
-if (Boolean(new Date(0)) !== true) {
- throw new Test262Error('#19: Boolean(new Date(0)) === true. Actual: ' + (Boolean(new Date(0))));
-}
+assert.sameValue(Boolean(new Function()), true, 'Boolean(new Function()) must return true');
+assert.sameValue(Boolean(new Date()), true, 'Boolean(new Date()) must return true');
+assert.sameValue(Boolean(new Date(0)), true, 'Boolean(new Date(0)) must return true');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Boolean/prototype/S15.6.3.1_A1.js b/js/src/tests/test262/built-ins/Boolean/prototype/S15.6.3.1_A1.js
index 08eedb4a3db8..506250ab6f09 100644
--- a/js/src/tests/test262/built-ins/Boolean/prototype/S15.6.3.1_A1.js
+++ b/js/src/tests/test262/built-ins/Boolean/prototype/S15.6.3.1_A1.js
@@ -9,20 +9,20 @@ esid: sec-boolean.prototype
description: Checking Boolean.prototype property
---*/
-//CHECK#1
-if (typeof Boolean.prototype !== "object") {
- throw new Test262Error('#1: typeof Boolean.prototype === "object"');
-}
+assert.sameValue(
+ typeof Boolean.prototype,
+ "object",
+ 'The value of `typeof Boolean.prototype` is expected to be "object"'
+);
-//CHECK#2
-if (Boolean.prototype != false) {
- throw new Test262Error('#2: Boolean.prototype == false');
-}
+assert(Boolean.prototype == false, 'The value of Boolean.prototype is expected to be false');
delete Boolean.prototype.toString;
-if (Boolean.prototype.toString() !== "[object Boolean]") {
- throw new Test262Error('#3: The [[Class]] property of the Boolean prototype object is set to "Boolean"');
-}
+assert.sameValue(
+ Boolean.prototype.toString(),
+ "[object Boolean]",
+ 'Boolean.prototype.toString() must return "[object Boolean]"'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Boolean/prototype/S15.6.3.1_A2.js b/js/src/tests/test262/built-ins/Boolean/prototype/S15.6.3.1_A2.js
index 7daf06c44780..712c4846ebd0 100644
--- a/js/src/tests/test262/built-ins/Boolean/prototype/S15.6.3.1_A2.js
+++ b/js/src/tests/test262/built-ins/Boolean/prototype/S15.6.3.1_A2.js
@@ -11,8 +11,6 @@ includes: [propertyHelper.js]
// CHECK#1
var x = Boolean.prototype;
verifyNotWritable(Boolean, "prototype", null, 1);
-if (Boolean.prototype !== x) {
- throw new Test262Error('#1: Boolean.prototype has the attribute ReadOnly');
-}
+assert.sameValue(Boolean.prototype, x, 'The value of Boolean.prototype is expected to equal the value of x');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Boolean/prototype/S15.6.3.1_A3.js b/js/src/tests/test262/built-ins/Boolean/prototype/S15.6.3.1_A3-strict.js
similarity index 64%
rename from js/src/tests/test262/built-ins/Boolean/prototype/S15.6.3.1_A3.js
rename to js/src/tests/test262/built-ins/Boolean/prototype/S15.6.3.1_A3-strict.js
index d7e76bdee229..9f4025f1602e 100644
--- a/js/src/tests/test262/built-ins/Boolean/prototype/S15.6.3.1_A3.js
+++ b/js/src/tests/test262/built-ins/Boolean/prototype/S15.6.3.1_A3-strict.js
@@ -1,3 +1,4 @@
+'use strict';
// Copyright 2009 the Sputnik authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
@@ -6,18 +7,14 @@ info: Boolean.prototype has the attribute DontDelete
esid: sec-boolean.prototype
description: Checking if deleting the Boolean.prototype property fails
includes: [propertyHelper.js]
+flags: [onlyStrict]
---*/
// CHECK#1
verifyNotConfigurable(Boolean, "prototype");
-try {
- if (delete Boolean.prototype !== false) {
- throw new Test262Error('#1: Boolean.prototype has the attribute DontDelete');
- }
-} catch (e) {
- if (e instanceof Test262Error) throw e;
- assert(e instanceof TypeError);
-}
+assert.throws(TypeError, () => {
+ delete Boolean.prototype;
+});
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Boolean/prototype/S15.6.3.1_A4.js b/js/src/tests/test262/built-ins/Boolean/prototype/S15.6.3.1_A4.js
index 10c91208bdf6..fb25477820fe 100644
--- a/js/src/tests/test262/built-ins/Boolean/prototype/S15.6.3.1_A4.js
+++ b/js/src/tests/test262/built-ins/Boolean/prototype/S15.6.3.1_A4.js
@@ -7,15 +7,13 @@ esid: sec-boolean.prototype
description: Checking if enumerating the Boolean.prototype property fails
---*/
-//CHECK#1
for (x in Boolean) {
- if (x === "prototype") {
- throw new Test262Error('#1: Boolean.prototype has the attribute DontEnum');
- }
+ assert.notSameValue(x, "prototype", 'The value of x is not "prototype"');
}
-if (Boolean.propertyIsEnumerable('prototype')) {
- throw new Test262Error('#2: Boolean.prototype has the attribute DontEnum');
-}
+assert(
+ !Boolean.propertyIsEnumerable('prototype'),
+ 'The value of !Boolean.propertyIsEnumerable(\'prototype\') is expected to be true'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Boolean/prototype/S15.6.4_A1.js b/js/src/tests/test262/built-ins/Boolean/prototype/S15.6.4_A1.js
deleted file mode 100644
index 549704b5c396..000000000000
--- a/js/src/tests/test262/built-ins/Boolean/prototype/S15.6.4_A1.js
+++ /dev/null
@@ -1,28 +0,0 @@
-// Copyright 2009 the Sputnik authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-info: |
- The Boolean prototype object is itself a Boolean object
- (its [[Class]] is "Boolean") whose value is false
-esid: sec-properties-of-the-boolean-prototype-object
-description: Checking type and value of Boolean.prototype
----*/
-
-//CHECK#1
-if (typeof Boolean.prototype !== "object") {
- throw new Test262Error('#1: typeof Boolean.prototype === "object"');
-}
-
-//CHECK#2
-if (Boolean.prototype != false) {
- throw new Test262Error('#2: Boolean.prototype == false');
-}
-
-delete Boolean.prototype.toString;
-
-if (Boolean.prototype.toString() !== "[object Boolean]") {
- throw new Test262Error('#3: The [[Class]] property of the Boolean prototype object is set to "Boolean"');
-}
-
-reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Boolean/prototype/S15.6.4_A2.js b/js/src/tests/test262/built-ins/Boolean/prototype/S15.6.4_A2.js
index edb578a89488..f5ce2c97cf1a 100644
--- a/js/src/tests/test262/built-ins/Boolean/prototype/S15.6.4_A2.js
+++ b/js/src/tests/test262/built-ins/Boolean/prototype/S15.6.4_A2.js
@@ -9,9 +9,9 @@ esid: sec-properties-of-the-boolean-prototype-object
description: Checking Object.prototype.isPrototypeOf(Boolean.prototype)
---*/
-//CHECK#1
-if (!Object.prototype.isPrototypeOf(Boolean.prototype)) {
- throw new Test262Error('#1: Object prototype object is the prototype of Boolean prototype object');
-}
+assert(
+ Object.prototype.isPrototypeOf(Boolean.prototype),
+ 'Object.prototype.isPrototypeOf(Boolean.prototype) must return true'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Boolean/prototype/constructor/S15.6.4.1_A1.js b/js/src/tests/test262/built-ins/Boolean/prototype/constructor/S15.6.4.1_A1.js
index e544a193e11e..cf579e869078 100644
--- a/js/src/tests/test262/built-ins/Boolean/prototype/constructor/S15.6.4.1_A1.js
+++ b/js/src/tests/test262/built-ins/Boolean/prototype/constructor/S15.6.4.1_A1.js
@@ -8,10 +8,10 @@ info: |
esid: sec-boolean-constructor
description: Compare Boolean.prototype.constructor with Boolean
---*/
-
-//CHECK#1
-if (Boolean.prototype.constructor !== Boolean) {
- throw new Test262Error('#1: Boolean.prototype.constructor === Boolean');
-}
+assert.sameValue(
+ Boolean.prototype.constructor,
+ Boolean,
+ 'The value of Boolean.prototype.constructor is expected to equal the value of Boolean'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Boolean/prototype/toString/S15.6.4.2_A1_T1.js b/js/src/tests/test262/built-ins/Boolean/prototype/toString/S15.6.4.2_A1_T1.js
index a99c350e5730..ddbefc221323 100644
--- a/js/src/tests/test262/built-ins/Boolean/prototype/toString/S15.6.4.2_A1_T1.js
+++ b/js/src/tests/test262/built-ins/Boolean/prototype/toString/S15.6.4.2_A1_T1.js
@@ -10,40 +10,17 @@ info: |
es5id: 15.6.4.2_A1_T1
description: no arguments
---*/
+assert.sameValue(Boolean.prototype.toString(), "false", 'Boolean.prototype.toString() must return "false"');
+assert.sameValue((new Boolean()).toString(), "false", '(new Boolean()).toString() must return "false"');
+assert.sameValue((new Boolean(false)).toString(), "false", '(new Boolean(false)).toString() must return "false"');
+assert.sameValue((new Boolean(true)).toString(), "true", '(new Boolean(true)).toString() must return "true"');
+assert.sameValue((new Boolean(1)).toString(), "true", '(new Boolean(1)).toString() must return "true"');
+assert.sameValue((new Boolean(0)).toString(), "false", '(new Boolean(0)).toString() must return "false"');
-//CHECK#1
-if (Boolean.prototype.toString() !== "false") {
- throw new Test262Error('#1: Boolean.prototype.toString() === "false"');
-}
-
-//CHECK#2
-if ((new Boolean()).toString() !== "false") {
- throw new Test262Error('#2: (new Boolean()).toString() === "false"');
-}
-
-//CHECK#3
-if ((new Boolean(false)).toString() !== "false") {
- throw new Test262Error('#3: (new Boolean(false)).toString() === "false"');
-}
-
-//CHECK#4
-if ((new Boolean(true)).toString() !== "true") {
- throw new Test262Error('#4: (new Boolean(true)).toString() === "true"');
-}
-
-//CHECK#5
-if ((new Boolean(1)).toString() !== "true") {
- throw new Test262Error('#5: (new Boolean(1)).toString() === "true"');
-}
-
-//CHECK#6
-if ((new Boolean(0)).toString() !== "false") {
- throw new Test262Error('#6: (new Boolean(0)).toString() === "false"');
-}
-
-//CHECK#7
-if ((new Boolean(new Object())).toString() !== "true") {
- throw new Test262Error('#7: (new Boolean(new Object())).toString() === "true"');
-}
+assert.sameValue(
+ (new Boolean(new Object())).toString(),
+ "true",
+ '(new Boolean(new Object())).toString() must return "true"'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Boolean/prototype/toString/S15.6.4.2_A1_T2.js b/js/src/tests/test262/built-ins/Boolean/prototype/toString/S15.6.4.2_A1_T2.js
index 262866839b8c..8f1cc3d22324 100644
--- a/js/src/tests/test262/built-ins/Boolean/prototype/toString/S15.6.4.2_A1_T2.js
+++ b/js/src/tests/test262/built-ins/Boolean/prototype/toString/S15.6.4.2_A1_T2.js
@@ -10,40 +10,28 @@ info: |
es5id: 15.6.4.2_A1_T2
description: with some argument
---*/
+assert.sameValue(Boolean.prototype.toString(true), "false", 'Boolean.prototype.toString(true) must return "false"');
+assert.sameValue((new Boolean()).toString(true), "false", '(new Boolean()).toString(true) must return "false"');
-//CHECK#1
-if (Boolean.prototype.toString(true) !== "false") {
- throw new Test262Error('#1: Boolean.prototype.toString(true) === "false"');
-}
+assert.sameValue(
+ (new Boolean(false)).toString(true),
+ "false",
+ '(new Boolean(false)).toString(true) must return "false"'
+);
-//CHECK#2
-if ((new Boolean()).toString(true) !== "false") {
- throw new Test262Error('#2: (new Boolean()).toString(true) === "false"');
-}
+assert.sameValue(
+ (new Boolean(true)).toString(false),
+ "true",
+ '(new Boolean(true)).toString(false) must return "true"'
+);
-//CHECK#3
-if ((new Boolean(false)).toString(true) !== "false") {
- throw new Test262Error('#3: (new Boolean(false)).toString(true) === "false"');
-}
+assert.sameValue((new Boolean(1)).toString(false), "true", '(new Boolean(1)).toString(false) must return "true"');
+assert.sameValue((new Boolean(0)).toString(true), "false", '(new Boolean(0)).toString(true) must return "false"');
-//CHECK#4
-if ((new Boolean(true)).toString(false) !== "true") {
- throw new Test262Error('#4: (new Boolean(true)).toString(false) === "true"');
-}
-
-//CHECK#5
-if ((new Boolean(1)).toString(false) !== "true") {
- throw new Test262Error('#5: (new Boolean(1)).toString(false) === "true"');
-}
-
-//CHECK#6
-if ((new Boolean(0)).toString(true) !== "false") {
- throw new Test262Error('#6: (new Boolean(0)).toString(true) === "false"');
-}
-
-//CHECK#7
-if ((new Boolean(new Object())).toString(false) !== "true") {
- throw new Test262Error('#7: (new Boolean(new Object())).toString(false) === "true"');
-}
+assert.sameValue(
+ (new Boolean(new Object())).toString(false),
+ "true",
+ '(new Boolean(new Object())).toString(false) must return "true"'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Boolean/prototype/toString/S15.6.4.2_A2_T1.js b/js/src/tests/test262/built-ins/Boolean/prototype/toString/S15.6.4.2_A2_T1.js
index 171ebbba1226..f1a849b32554 100644
--- a/js/src/tests/test262/built-ins/Boolean/prototype/toString/S15.6.4.2_A2_T1.js
+++ b/js/src/tests/test262/built-ins/Boolean/prototype/toString/S15.6.4.2_A2_T1.js
@@ -11,30 +11,16 @@ es5id: 15.6.4.2_A2_T1
description: transferring to the String objects
---*/
-//CHECK#1
-try {
+assert.throws(TypeError, () => {
var s1 = new String();
s1.toString = Boolean.prototype.toString;
var v1 = s1.toString();
- throw new Test262Error('#1: Boolean.prototype.toString on not a Boolean object should throw TypeError');
-}
-catch (e) {
- if (!(e instanceof TypeError)) {
- throw new Test262Error('#1: Boolean.prototype.toString on not a Boolean object should throw TypeError, not ' + e);
- }
-}
+});
-//CHECK#2
-try {
+assert.throws(TypeError, () => {
var s2 = new String();
s2.myToString = Boolean.prototype.toString;
var v2 = s2.myToString();
- throw new Test262Error('#2: Boolean.prototype.toString on not a Boolean object should throw TypeError');
-}
-catch (e) {
- if (!(e instanceof TypeError)) {
- throw new Test262Error('#2: Boolean.prototype.toString on not a Boolean object should throw TypeError, not ' + e);
- }
-}
+});
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Boolean/prototype/toString/S15.6.4.2_A2_T2.js b/js/src/tests/test262/built-ins/Boolean/prototype/toString/S15.6.4.2_A2_T2.js
index 159cb7ec126d..e4837f700f18 100644
--- a/js/src/tests/test262/built-ins/Boolean/prototype/toString/S15.6.4.2_A2_T2.js
+++ b/js/src/tests/test262/built-ins/Boolean/prototype/toString/S15.6.4.2_A2_T2.js
@@ -11,30 +11,16 @@ es5id: 15.6.4.2_A2_T2
description: transferring to the Number objects
---*/
-//CHECK#1
-try {
+assert.throws(TypeError, () => {
var s1 = new Number();
s1.toString = Boolean.prototype.toString;
- var v1 = s1.toString();
- throw new Test262Error('#1: Boolean.prototype.toString on not a Boolean object should throw TypeError');
-}
-catch (e) {
- if (!(e instanceof TypeError)) {
- throw new Test262Error('#1: Boolean.prototype.toString on not a Boolean object should throw TypeError, not ' + e);
- }
-}
+ s1.toString();
+});
-//CHECK#1
-try {
+assert.throws(TypeError, () => {
var s2 = new Number();
s2.myToString = Boolean.prototype.toString;
- var v2 = s2.myToString();
- throw new Test262Error('#2: Boolean.prototype.toString on not a Boolean object should throw TypeError');
-}
-catch (e) {
- if (!(e instanceof TypeError)) {
- throw new Test262Error('#2: Boolean.prototype.toString on not a Boolean object should throw TypeError, not ' + e);
- }
-}
+ s2.myToString();
+});
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Boolean/prototype/toString/S15.6.4.2_A2_T3.js b/js/src/tests/test262/built-ins/Boolean/prototype/toString/S15.6.4.2_A2_T3.js
index a8c9f56128f6..f6a6519a1b83 100644
--- a/js/src/tests/test262/built-ins/Boolean/prototype/toString/S15.6.4.2_A2_T3.js
+++ b/js/src/tests/test262/built-ins/Boolean/prototype/toString/S15.6.4.2_A2_T3.js
@@ -11,30 +11,16 @@ es5id: 15.6.4.2_A2_T3
description: transferring to the Date objects
---*/
-//CHECK#1
-try {
+assert.throws(TypeError, () => {
var s1 = new Date();
s1.toString = Boolean.prototype.toString;
- var v1 = s1.toString();
- throw new Test262Error('#1: Boolean.prototype.toString on not a Boolean object should throw TypeError');
-}
-catch (e) {
- if (!(e instanceof TypeError)) {
- throw new Test262Error('#1: Boolean.prototype.toString on not a Boolean object should throw TypeError, not ' + e);
- }
-}
+ s1.toString();
+});
-//CHECK#1
-try {
+assert.throws(TypeError, () => {
var s2 = new Date();
s2.myToString = Boolean.prototype.toString;
- var v2 = s2.myToString();
- throw new Test262Error('#2: Boolean.prototype.toString on not a Boolean object should throw TypeError');
-}
-catch (e) {
- if (!(e instanceof TypeError)) {
- throw new Test262Error('#2: Boolean.prototype.toString on not a Boolean object should throw TypeError, not ' + e);
- }
-}
+ s2.myToString();
+});
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Boolean/prototype/toString/S15.6.4.2_A2_T4.js b/js/src/tests/test262/built-ins/Boolean/prototype/toString/S15.6.4.2_A2_T4.js
index d5f7f7f2cffd..7b7bbfad108c 100644
--- a/js/src/tests/test262/built-ins/Boolean/prototype/toString/S15.6.4.2_A2_T4.js
+++ b/js/src/tests/test262/built-ins/Boolean/prototype/toString/S15.6.4.2_A2_T4.js
@@ -11,30 +11,17 @@ es5id: 15.6.4.2_A2_T4
description: transferring to the Object objects
---*/
-//CHECK#1
-try {
+
+assert.throws(TypeError, () => {
var s1 = new Object();
s1.toString = Boolean.prototype.toString;
- var v1 = s1.toString();
- throw new Test262Error('#1: Boolean.prototype.toString on not a Boolean object should throw TypeError');
-}
-catch (e) {
- if (!(e instanceof TypeError)) {
- throw new Test262Error('#1: Boolean.prototype.toString on not a Boolean object should throw TypeError, not ' + e);
- }
-}
+ s1.toString();
+});
-//CHECK#1
-try {
+assert.throws(TypeError, () => {
var s2 = new Object();
s2.myToString = Boolean.prototype.toString;
- var v2 = s2.myToString();
- throw new Test262Error('#2: Boolean.prototype.toString on not a Boolean object should throw TypeError');
-}
-catch (e) {
- if (!(e instanceof TypeError)) {
- throw new Test262Error('#2: Boolean.prototype.toString on not a Boolean object should throw TypeError, not ' + e);
- }
-}
+ s2.myToString();
+});
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Boolean/prototype/toString/S15.6.4.2_A2_T5.js b/js/src/tests/test262/built-ins/Boolean/prototype/toString/S15.6.4.2_A2_T5.js
index bf69a5c91d0c..a3fa1b565f5b 100644
--- a/js/src/tests/test262/built-ins/Boolean/prototype/toString/S15.6.4.2_A2_T5.js
+++ b/js/src/tests/test262/built-ins/Boolean/prototype/toString/S15.6.4.2_A2_T5.js
@@ -11,34 +11,20 @@ es5id: 15.6.4.2_A2_T5
description: transferring to the other objects
---*/
-//CHECK#1
-try {
+assert.throws(TypeError, () => {
var s1 = {
x: 1
};
s1.toString = Boolean.prototype.toString;
- var v1 = s1.toString();
- throw new Test262Error('#1: Boolean.prototype.toString on not a Boolean object should throw TypeError');
-}
-catch (e) {
- if (!(e instanceof TypeError)) {
- throw new Test262Error('#1: Boolean.prototype.toString on not a Boolean object should throw TypeError, not ' + e);
- }
-}
+ s1.toString();
+});
-//CHECK#1
-try {
+assert.throws(TypeError, () => {
var s2 = {
x: 1
};
s2.myToString = Boolean.prototype.toString;
- var v2 = s2.myToString();
- throw new Test262Error('#2: Boolean.prototype.toString on not a Boolean object should throw TypeError');
-}
-catch (e) {
- if (!(e instanceof TypeError)) {
- throw new Test262Error('#2: Boolean.prototype.toString on not a Boolean object should throw TypeError, not ' + e);
- }
-}
+ s2.myToString();
+});
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Boolean/prototype/valueOf/S15.6.4.3_A1_T1.js b/js/src/tests/test262/built-ins/Boolean/prototype/valueOf/S15.6.4.3_A1_T1.js
index 404951432873..e0edbaf6412f 100644
--- a/js/src/tests/test262/built-ins/Boolean/prototype/valueOf/S15.6.4.3_A1_T1.js
+++ b/js/src/tests/test262/built-ins/Boolean/prototype/valueOf/S15.6.4.3_A1_T1.js
@@ -6,35 +6,16 @@ info: Boolean.prototype.valueOf() returns this boolean value
esid: sec-boolean.prototype.valueof
description: no arguments
---*/
+assert.sameValue(Boolean.prototype.valueOf(), false, 'Boolean.prototype.valueOf() must return false');
+assert.sameValue((new Boolean()).valueOf(), false, '(new Boolean()).valueOf() must return false');
+assert.sameValue((new Boolean(0)).valueOf(), false, '(new Boolean(0)).valueOf() must return false');
+assert.sameValue((new Boolean(-1)).valueOf(), true, '(new Boolean(-1)).valueOf() must return true');
+assert.sameValue((new Boolean(1)).valueOf(), true, '(new Boolean(1)).valueOf() must return true');
-//CHECK#1
-if (Boolean.prototype.valueOf() !== false) {
- throw new Test262Error('#1: Boolean.prototype.valueOf() === false');
-}
-
-//CHECK#2
-if ((new Boolean()).valueOf() !== false) {
- throw new Test262Error('#2: (new Boolean()).valueOf() === false');
-}
-
-//CHECK#3
-if ((new Boolean(0)).valueOf() !== false) {
- throw new Test262Error('#3: (new Boolean(0)).valueOf() === false');
-}
-
-//CHECK#4
-if ((new Boolean(-1)).valueOf() !== true) {
- throw new Test262Error('#4: (new Boolean(-1)).valueOf() === true');
-}
-
-//CHECK#5
-if ((new Boolean(1)).valueOf() !== true) {
- throw new Test262Error('#5: (new Boolean(1)).valueOf() === true');
-}
-
-//CHECK#6
-if ((new Boolean(new Object())).valueOf() !== true) {
- throw new Test262Error('#6: (new Boolean(new Object())).valueOf() === true');
-}
+assert.sameValue(
+ (new Boolean(new Object())).valueOf(),
+ true,
+ '(new Boolean(new Object())).valueOf() must return true'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Boolean/prototype/valueOf/S15.6.4.3_A1_T2.js b/js/src/tests/test262/built-ins/Boolean/prototype/valueOf/S15.6.4.3_A1_T2.js
index 1a52f80ffc67..28d0045fb94b 100644
--- a/js/src/tests/test262/built-ins/Boolean/prototype/valueOf/S15.6.4.3_A1_T2.js
+++ b/js/src/tests/test262/built-ins/Boolean/prototype/valueOf/S15.6.4.3_A1_T2.js
@@ -6,35 +6,16 @@ info: Boolean.prototype.valueOf() returns this boolean value
esid: sec-boolean.prototype.valueof
description: calling with argument
---*/
+assert.sameValue(Boolean.prototype.valueOf(true), false, 'Boolean.prototype.valueOf(true) must return false');
+assert.sameValue((new Boolean()).valueOf(true), false, '(new Boolean()).valueOf(true) must return false');
+assert.sameValue((new Boolean(0)).valueOf(true), false, '(new Boolean(0)).valueOf(true) must return false');
+assert.sameValue((new Boolean(-1)).valueOf(false), true, '(new Boolean(-1)).valueOf(false) must return true');
+assert.sameValue((new Boolean(1)).valueOf(false), true, '(new Boolean(1)).valueOf(false) must return true');
-//CHECK#1
-if (Boolean.prototype.valueOf(true) !== false) {
- throw new Test262Error('#1: Boolean.prototype.valueOf(true) === false');
-}
-
-//CHECK#2
-if ((new Boolean()).valueOf(true) !== false) {
- throw new Test262Error('#2: (new Boolean()).valueOf(true) === false');
-}
-
-//CHECK#3
-if ((new Boolean(0)).valueOf(true) !== false) {
- throw new Test262Error('#3: (new Boolean(0)).valueOf(true) === false');
-}
-
-//CHECK#4
-if ((new Boolean(-1)).valueOf(false) !== true) {
- throw new Test262Error('#4: (new Boolean(-1)).valueOf(false) === true');
-}
-
-//CHECK#5
-if ((new Boolean(1)).valueOf(false) !== true) {
- throw new Test262Error('#5: (new Boolean(1)).valueOf(false) === true');
-}
-
-//CHECK#6
-if ((new Boolean(new Object())).valueOf(false) !== true) {
- throw new Test262Error('#6: (new Boolean(new Object())).valueOf(false) === true');
-}
+assert.sameValue(
+ (new Boolean(new Object())).valueOf(false),
+ true,
+ '(new Boolean(new Object())).valueOf(false) must return true'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Boolean/prototype/valueOf/S15.6.4.3_A2_T1.js b/js/src/tests/test262/built-ins/Boolean/prototype/valueOf/S15.6.4.3_A2_T1.js
index 6246169e0718..00e3caf52678 100644
--- a/js/src/tests/test262/built-ins/Boolean/prototype/valueOf/S15.6.4.3_A2_T1.js
+++ b/js/src/tests/test262/built-ins/Boolean/prototype/valueOf/S15.6.4.3_A2_T1.js
@@ -10,30 +10,16 @@ esid: sec-boolean.prototype.valueof
description: transferring to the String objects
---*/
-//CHECK#1
-try {
+assert.throws(TypeError, () => {
var s1 = new String();
s1.valueOf = Boolean.prototype.valueOf;
- var v1 = s1.valueOf();
- throw new Test262Error('#1: Boolean.prototype.valueOf on not a Boolean object should throw TypeError');
-}
-catch (e) {
- if (!(e instanceof TypeError)) {
- throw new Test262Error('#1: Boolean.prototype.valueOf on not a Boolean object should throw TypeError, not ' + e);
- }
-}
+ s1.valueOf();
+});
-//CHECK#1
-try {
+assert.throws(TypeError, () => {
var s2 = new String();
- s2.myValueOf = Boolean.prototype.valueOf;
- var v2 = s2.myValueOf();
- throw new Test262Error('#2: Boolean.prototype.valueOf on not a Boolean object should throw TypeError');
-}
-catch (e) {
- if (!(e instanceof TypeError)) {
- throw new Test262Error('#2: Boolean.prototype.valueOf on not a Boolean object should throw TypeError, not ' + e);
- }
-}
+ s2.myvalueOf = Boolean.prototype.valueOf;
+ s2.myvalueOf();
+});
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Boolean/prototype/valueOf/S15.6.4.3_A2_T2.js b/js/src/tests/test262/built-ins/Boolean/prototype/valueOf/S15.6.4.3_A2_T2.js
index 54e02525602b..129656b8889c 100644
--- a/js/src/tests/test262/built-ins/Boolean/prototype/valueOf/S15.6.4.3_A2_T2.js
+++ b/js/src/tests/test262/built-ins/Boolean/prototype/valueOf/S15.6.4.3_A2_T2.js
@@ -10,30 +10,16 @@ esid: sec-boolean.prototype.valueof
description: transferring to the Number objects
---*/
-//CHECK#1
-try {
+assert.throws(TypeError, () => {
var s1 = new Number();
s1.valueOf = Boolean.prototype.valueOf;
- var v1 = s1.valueOf();
- throw new Test262Error('#1: Boolean.prototype.valueOf on not a Boolean object should throw TypeError');
-}
-catch (e) {
- if (!(e instanceof TypeError)) {
- throw new Test262Error('#1: Boolean.prototype.valueOf on not a Boolean object should throw TypeError, not ' + e);
- }
-}
+ s1.valueOf();
+});
-//CHECK#1
-try {
+assert.throws(TypeError, () => {
var s2 = new Number();
- s2.myValueOf = Boolean.prototype.valueOf;
- var v2 = s2.myValueOf();
- throw new Test262Error('#2: Boolean.prototype.valueOf on not a Boolean object should throw TypeError');
-}
-catch (e) {
- if (!(e instanceof TypeError)) {
- throw new Test262Error('#2: Boolean.prototype.valueOf on not a Boolean object should throw TypeError, not ' + e);
- }
-}
+ s2.myvalueOf = Boolean.prototype.valueOf;
+ s2.myvalueOf();
+});
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Boolean/prototype/valueOf/S15.6.4.3_A2_T3.js b/js/src/tests/test262/built-ins/Boolean/prototype/valueOf/S15.6.4.3_A2_T3.js
index 7ae2bf3d62da..7782764edcdc 100644
--- a/js/src/tests/test262/built-ins/Boolean/prototype/valueOf/S15.6.4.3_A2_T3.js
+++ b/js/src/tests/test262/built-ins/Boolean/prototype/valueOf/S15.6.4.3_A2_T3.js
@@ -10,30 +10,16 @@ esid: sec-boolean.prototype.valueof
description: transferring to the Date objects
---*/
-//CHECK#1
-try {
+assert.throws(TypeError, () => {
var s1 = new Date();
s1.valueOf = Boolean.prototype.valueOf;
- var v1 = s1.valueOf();
- throw new Test262Error('#1: Boolean.prototype.valueOf on not a Boolean object should throw TypeError');
-}
-catch (e) {
- if (!(e instanceof TypeError)) {
- throw new Test262Error('#1: Boolean.prototype.valueOf on not a Boolean object should throw TypeError, not ' + e);
- }
-}
+ s1.valueOf();
+});
-//CHECK#1
-try {
+assert.throws(TypeError, () => {
var s2 = new Date();
- s2.myValueOf = Boolean.prototype.valueOf;
- var v2 = s2.myValueOf();
- throw new Test262Error('#2: Boolean.prototype.valueOf on not a Boolean object should throw TypeError');
-}
-catch (e) {
- if (!(e instanceof TypeError)) {
- throw new Test262Error('#2: Boolean.prototype.valueOf on not a Boolean object should throw TypeError, not ' + e);
- }
-}
+ s2.myvalueOf = Boolean.prototype.valueOf;
+ s2.myvalueOf();
+});
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Boolean/prototype/valueOf/S15.6.4.3_A2_T4.js b/js/src/tests/test262/built-ins/Boolean/prototype/valueOf/S15.6.4.3_A2_T4.js
index 58564f56b9f7..90d3c95ab745 100644
--- a/js/src/tests/test262/built-ins/Boolean/prototype/valueOf/S15.6.4.3_A2_T4.js
+++ b/js/src/tests/test262/built-ins/Boolean/prototype/valueOf/S15.6.4.3_A2_T4.js
@@ -10,30 +10,16 @@ esid: sec-boolean.prototype.valueof
description: transferring to the Object objects
---*/
-//CHECK#1
-try {
+assert.throws(TypeError, () => {
var s1 = new Object();
s1.valueOf = Boolean.prototype.valueOf;
- var v1 = s1.valueOf();
- throw new Test262Error('#1: Boolean.prototype.valueOf on not a Boolean object should throw TypeError');
-}
-catch (e) {
- if (!(e instanceof TypeError)) {
- throw new Test262Error('#1: Boolean.prototype.valueOf on not a Boolean object should throw TypeError, not ' + e);
- }
-}
+ s1.valueOf();
+});
-//CHECK#1
-try {
+assert.throws(TypeError, () => {
var s2 = new Object();
- s2.myValueOf = Boolean.prototype.valueOf;
- var v2 = s2.myValueOf();
- throw new Test262Error('#2: Boolean.prototype.valueOf on not a Boolean object should throw TypeError');
-}
-catch (e) {
- if (!(e instanceof TypeError)) {
- throw new Test262Error('#2: Boolean.prototype.valueOf on not a Boolean object should throw TypeError, not ' + e);
- }
-}
+ s2.myvalueOf = Boolean.prototype.valueOf;
+ s2.myvalueOf();
+});
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Boolean/prototype/valueOf/S15.6.4.3_A2_T5.js b/js/src/tests/test262/built-ins/Boolean/prototype/valueOf/S15.6.4.3_A2_T5.js
index ca7eb54d50da..6d51c076056b 100644
--- a/js/src/tests/test262/built-ins/Boolean/prototype/valueOf/S15.6.4.3_A2_T5.js
+++ b/js/src/tests/test262/built-ins/Boolean/prototype/valueOf/S15.6.4.3_A2_T5.js
@@ -10,34 +10,20 @@ esid: sec-boolean.prototype.valueof
description: transferring to the other objects
---*/
-//CHECK#1
-try {
+assert.throws(TypeError, () => {
var s1 = {
x: 1
};
s1.valueOf = Boolean.prototype.valueOf;
- var v1 = s1.valueOf();
- throw new Test262Error('#1: Boolean.prototype.valueOf on not a Boolean object should throw TypeError');
-}
-catch (e) {
- if (!(e instanceof TypeError)) {
- throw new Test262Error('#1: Boolean.prototype.valueOf on not a Boolean object should throw TypeError, not ' + e);
- }
-}
+ s1.valueOf();
+});
-//CHECK#1
-try {
+assert.throws(TypeError, () => {
var s2 = {
x: 1
};
- s2.myValueOf = Boolean.prototype.valueOf;
- var v2 = s2.myValueOf();
- throw new Test262Error('#2: Boolean.prototype.valueOf on not a Boolean object should throw TypeError');
-}
-catch (e) {
- if (!(e instanceof TypeError)) {
- throw new Test262Error('#2: Boolean.prototype.valueOf on not a Boolean object should throw TypeError, not ' + e);
- }
-}
+ s2.myvalueOf = Boolean.prototype.valueOf;
+ s2.myvalueOf();
+});
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/DataView/custom-proto-access-resizes-buffer-invalid-by-length.js b/js/src/tests/test262/built-ins/DataView/custom-proto-access-resizes-buffer-invalid-by-length.js
new file mode 100644
index 000000000000..7626720d2a5d
--- /dev/null
+++ b/js/src/tests/test262/built-ins/DataView/custom-proto-access-resizes-buffer-invalid-by-length.js
@@ -0,0 +1,43 @@
+// |reftest| skip -- resizable-arraybuffer is not supported
+// Copyright (C) 2021 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-dataview-buffer-byteoffset-bytelength
+description: >
+ The sum of the view's offset and byte length cannot exceed the underlying
+ buffer's byte length if it is modified during retrieval of the NewTarget's
+ prototype.
+features: [resizable-arraybuffer]
+---*/
+
+// If the host chooses to throw as allowed by the specification, the observed
+// behavior will be identical to the case where `ArrayBuffer.prototype.resize`
+// has not been implemented. The following assertion prevents this test from
+// passing in runtimes which have not implemented the method.
+assert.sameValue(typeof ArrayBuffer.prototype.resize, 'function');
+
+var buffer = new ArrayBuffer(3, {maxByteLength: 3});
+var expectedError;
+
+var newTarget = function() {}.bind(null);
+Object.defineProperty(newTarget, 'prototype', {
+ get: function() {
+ try {
+ buffer.resize(2);
+ expectedError = RangeError;
+ } catch (error) {
+ expectedError = null;
+ }
+ }
+});
+var error = null;
+
+try {
+ Reflect.construct(DataView, [buffer, 1, 2], newTarget);
+} catch (caught) {
+ error = caught.constructor;
+}
+
+assert.sameValue(error, expectedError);
+
+reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/DataView/custom-proto-access-resizes-buffer-invalid-by-offset.js b/js/src/tests/test262/built-ins/DataView/custom-proto-access-resizes-buffer-invalid-by-offset.js
new file mode 100644
index 000000000000..63cb6a2ef1b9
--- /dev/null
+++ b/js/src/tests/test262/built-ins/DataView/custom-proto-access-resizes-buffer-invalid-by-offset.js
@@ -0,0 +1,42 @@
+// |reftest| skip -- resizable-arraybuffer is not supported
+// Copyright (C) 2021 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-dataview-buffer-byteoffset-bytelength
+description: >
+ The view's offset cannot exceed the underlying buffer's byte length if it is
+ modified during retrieval of the NewTarget's prototype.
+features: [resizable-arraybuffer]
+---*/
+
+// If the host chooses to throw as allowed by the specification, the observed
+// behavior will be identical to the case where `ArrayBuffer.prototype.resize`
+// has not been implemented. The following assertion prevents this test from
+// passing in runtimes which have not implemented the method.
+assert.sameValue(typeof ArrayBuffer.prototype.resize, 'function');
+
+var buffer = new ArrayBuffer(3, {maxByteLength: 3});
+var expectedError;
+
+var newTarget = function() {}.bind(null);
+Object.defineProperty(newTarget, 'prototype', {
+ get: function() {
+ try {
+ buffer.resize(1);
+ expectedError = RangeError;
+ } catch (error) {
+ expectedError = null;
+ }
+ }
+});
+var error = null;
+
+try {
+ Reflect.construct(DataView, [buffer, 2], newTarget);
+} catch (caught) {
+ error = caught.constructor;
+}
+
+assert.sameValue(error, expectedError);
+
+reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/DataView/custom-proto-access-resizes-buffer-valid-by-length.js b/js/src/tests/test262/built-ins/DataView/custom-proto-access-resizes-buffer-valid-by-length.js
new file mode 100644
index 000000000000..3aacc841b4e4
--- /dev/null
+++ b/js/src/tests/test262/built-ins/DataView/custom-proto-access-resizes-buffer-valid-by-length.js
@@ -0,0 +1,35 @@
+// |reftest| skip -- resizable-arraybuffer is not supported
+// Copyright (C) 2021 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-dataview-buffer-byteoffset-bytelength
+description: >
+ The sum of the view's offset and byte length may equal the underlying
+ buffer's byte length if it is modified during retrieval of the NewTarget's
+ prototype.
+features: [resizable-arraybuffer]
+---*/
+
+// If the host chooses to throw as allowed by the specification, the observed
+// behavior will be identical to the case where `ArrayBuffer.prototype.resize`
+// has not been implemented. The following assertion prevents this test from
+// passing in runtimes which have not implemented the method.
+assert.sameValue(typeof ArrayBuffer.prototype.resize, 'function');
+
+var buffer = new ArrayBuffer(3, {maxByteLength: 3});
+
+var newTarget = function() {}.bind(null);
+Object.defineProperty(newTarget, 'prototype', {
+ get: function() {
+ try {
+ buffer.resize(2);
+ } catch (error) {}
+ }
+});
+
+var result = Reflect.construct(DataView, [buffer, 1, 1], newTarget);
+
+assert.sameValue(result.constructor, DataView);
+assert.sameValue(result.byteLength, 1);
+
+reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/DataView/custom-proto-access-resizes-buffer-valid-by-offset.js b/js/src/tests/test262/built-ins/DataView/custom-proto-access-resizes-buffer-valid-by-offset.js
new file mode 100644
index 000000000000..ba6b7e9eaa9d
--- /dev/null
+++ b/js/src/tests/test262/built-ins/DataView/custom-proto-access-resizes-buffer-valid-by-offset.js
@@ -0,0 +1,38 @@
+// |reftest| skip -- resizable-arraybuffer is not supported
+// Copyright (C) 2021 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-dataview-buffer-byteoffset-bytelength
+description: >
+ The view's offset may equal the underlying buffer's byte length if it is
+ modified during retrieval of the NewTarget's prototype.
+features: [resizable-arraybuffer]
+---*/
+
+// If the host chooses to throw as allowed by the specification, the observed
+// behavior will be identical to the case where `ArrayBuffer.prototype.resize`
+// has not been implemented. The following assertion prevents this test from
+// passing in runtimes which have not implemented the method.
+assert.sameValue(typeof ArrayBuffer.prototype.resize, 'function');
+
+var buffer = new ArrayBuffer(3, {maxByteLength: 3});
+var expectedByteLength;
+
+var newTarget = function() {}.bind(null);
+Object.defineProperty(newTarget, 'prototype', {
+ get: function() {
+ try {
+ buffer.resize(2);
+ expectedByteLength = 0;
+ } catch (error) {
+ expectedByteLength = 1;
+ }
+ }
+});
+
+var result = Reflect.construct(DataView, [buffer, 2], newTarget);
+
+assert.sameValue(result.constructor, DataView);
+assert.sameValue(result.byteLength, expectedByteLength);
+
+reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/DataView/prototype/Symbol.toStringTag.js b/js/src/tests/test262/built-ins/DataView/prototype/Symbol.toStringTag.js
index 30a7eb7c5b43..a6787061c550 100644
--- a/js/src/tests/test262/built-ins/DataView/prototype/Symbol.toStringTag.js
+++ b/js/src/tests/test262/built-ins/DataView/prototype/Symbol.toStringTag.js
@@ -14,7 +14,11 @@ includes: [propertyHelper.js]
features: [Symbol.toStringTag]
---*/
-assert.sameValue(DataView.prototype[Symbol.toStringTag], 'DataView');
+assert.sameValue(
+ DataView.prototype[Symbol.toStringTag],
+ 'DataView',
+ 'The value of DataView.prototype[Symbol.toStringTag] is expected to be "DataView"'
+);
verifyNotEnumerable(DataView.prototype, Symbol.toStringTag);
verifyNotWritable(DataView.prototype, Symbol.toStringTag);
diff --git a/js/src/tests/test262/built-ins/DataView/prototype/byteLength/resizable-array-buffer-auto.js b/js/src/tests/test262/built-ins/DataView/prototype/byteLength/resizable-array-buffer-auto.js
index 310c213bdb8d..6ff801c6efc8 100644
--- a/js/src/tests/test262/built-ins/DataView/prototype/byteLength/resizable-array-buffer-auto.js
+++ b/js/src/tests/test262/built-ins/DataView/prototype/byteLength/resizable-array-buffer-auto.js
@@ -37,6 +37,13 @@ assert.sameValue(dataView.byteLength, expected, "following shrink (within bounds
try {
ab.resize(1);
+ expected = 0;
+} catch (_) {}
+
+assert.sameValue(dataView.byteLength, expected, "following shrink (on boundary)");
+
+try {
+ ab.resize(0);
expected = TypeError;
} catch (_) {
expected = Test262Error;
diff --git a/js/src/tests/test262/built-ins/DataView/prototype/byteOffset/resizable-array-buffer-auto.js b/js/src/tests/test262/built-ins/DataView/prototype/byteOffset/resizable-array-buffer-auto.js
index 8d61fea36b9b..49d07780bfed 100644
--- a/js/src/tests/test262/built-ins/DataView/prototype/byteOffset/resizable-array-buffer-auto.js
+++ b/js/src/tests/test262/built-ins/DataView/prototype/byteOffset/resizable-array-buffer-auto.js
@@ -32,9 +32,15 @@ try {
assert.sameValue(dataView.byteOffset, 1, "following shrink (within bounds)");
-var expectedError;
try {
ab.resize(1);
+} catch (_) {}
+
+assert.sameValue(dataView.byteOffset, 1, "following shrink (on boundary)");
+
+var expectedError;
+try {
+ ab.resize(0);
expectedError = TypeError;
} catch (_) {
expectedError = Test262Error;
diff --git a/js/src/tests/test262/built-ins/Date/S15.9.2.1_A1.js b/js/src/tests/test262/built-ins/Date/S15.9.2.1_A1.js
index 5757ae8fb4b9..12f408a72314 100644
--- a/js/src/tests/test262/built-ins/Date/S15.9.2.1_A1.js
+++ b/js/src/tests/test262/built-ins/Date/S15.9.2.1_A1.js
@@ -9,75 +9,65 @@ info: |
es5id: 15.9.2.1_A1
description: Checking type of returned value
---*/
+assert.sameValue(typeof Date(), "string", 'The value of `typeof Date()` is expected to be "string"');
+assert.sameValue(typeof Date(1), "string", 'The value of `typeof Date(1)` is expected to be "string"');
+assert.sameValue(typeof Date(1970, 1), "string", 'The value of `typeof Date(1970, 1)` is expected to be "string"');
-//CHECK#1
-if (typeof Date() !== "string") {
- throw new Test262Error('#1: typeof Date() should be "string", actual is ' + (typeof Date()));
-}
+assert.sameValue(
+ typeof Date(1970, 1, 1),
+ "string",
+ 'The value of `typeof Date(1970, 1, 1)` is expected to be "string"'
+);
-//CHECK#2
-if (typeof Date(1) !== "string") {
- throw new Test262Error('#2: typeof Date(1) should be "string", actual is ' + (typeof Date(1)));
-}
+assert.sameValue(
+ typeof Date(1970, 1, 1, 1),
+ "string",
+ 'The value of `typeof Date(1970, 1, 1, 1)` is expected to be "string"'
+);
-//CHECK#3
-if (typeof Date(1970, 1) !== "string") {
- throw new Test262Error('#3: typeof Date(1970, 1) should be "string", actual is ' + (typeof Date(1970, 1)));
-}
+assert.sameValue(
+ typeof Date(1970, 1, 1, 1),
+ "string",
+ 'The value of `typeof Date(1970, 1, 1, 1)` is expected to be "string"'
+);
-//CHECK#4
-if (typeof Date(1970, 1, 1) !== "string") {
- throw new Test262Error('#4: typeof Date(1970, 1, 1) should be "string", actual is ' + (typeof Date(1970, 1, 1)));
-}
+assert.sameValue(
+ typeof Date(1970, 1, 1, 1, 0),
+ "string",
+ 'The value of `typeof Date(1970, 1, 1, 1, 0)` is expected to be "string"'
+);
-//CHECK#5
-if (typeof Date(1970, 1, 1, 1) !== "string") {
- throw new Test262Error('#5: typeof Date(1970, 1, 1, 1) should be "string", actual is ' + (typeof Date(1970, 1, 1, 1)));
-}
+assert.sameValue(
+ typeof Date(1970, 1, 1, 1, 0, 0),
+ "string",
+ 'The value of `typeof Date(1970, 1, 1, 1, 0, 0)` is expected to be "string"'
+);
-//CHECK#6
-if (typeof Date(1970, 1, 1, 1) !== "string") {
- throw new Test262Error('#7: typeof Date(1970, 1, 1, 1) should be "string", actual is ' + (typeof Date(1970, 1, 1, 1)));
-}
+assert.sameValue(
+ typeof Date(1970, 1, 1, 1, 0, 0, 0),
+ "string",
+ 'The value of `typeof Date(1970, 1, 1, 1, 0, 0, 0)` is expected to be "string"'
+);
-//CHECK#8
-if (typeof Date(1970, 1, 1, 1, 0) !== "string") {
- throw new Test262Error('#8: typeof Date(1970, 1, 1, 1, 0) should be "string", actual is ' + (typeof Date(1970, 1, 1, 1, 0)));
-}
+assert.sameValue(
+ typeof Date(Number.NaN),
+ "string",
+ 'The value of `typeof Date(Number.NaN)` is expected to be "string"'
+);
-//CHECK#9
-if (typeof Date(1970, 1, 1, 1, 0, 0) !== "string") {
- throw new Test262Error('#9: typeof Date(1970, 1, 1, 1, 0, 0) should be "string", actual is ' + (typeof Date(1970, 1, 1, 1, 0, 0)));
-}
+assert.sameValue(
+ typeof Date(Number.POSITIVE_INFINITY),
+ "string",
+ 'The value of `typeof Date(Number.POSITIVE_INFINITY)` is expected to be "string"'
+);
-//CHECK#10
-if (typeof Date(1970, 1, 1, 1, 0, 0, 0) !== "string") {
- throw new Test262Error('#10: typeof Date(1970, 1, 1, 1, 0, 0, 0) should be "string", actual is ' + (typeof Date(1970, 1, 1, 1, 0, 0, 0)));
-}
+assert.sameValue(
+ typeof Date(Number.NEGATIVE_INFINITY),
+ "string",
+ 'The value of `typeof Date(Number.NEGATIVE_INFINITY)` is expected to be "string"'
+);
-//CHECK#11
-if (typeof Date(Number.NaN) !== "string") {
- throw new Test262Error('#11: typeof Date(Number.NaN) should be "string", actual is ' + (typeof Date(Number.NaN)));
-}
-
-//CHECK#12
-if (typeof Date(Number.POSITIVE_INFINITY) !== "string") {
- throw new Test262Error('#12: typeof Date(Number.POSITIVE_INFINITY) should be "string", actual is ' + (typeof Date(Number.POSITIVE_INFINITY)));
-}
-
-//CHECK#13
-if (typeof Date(Number.NEGATIVE_INFINITY) !== "string") {
- throw new Test262Error('#13: typeof Date(Number.NEGATIVE_INFINITY) should be "string", actual is ' + (typeof Date(Number.NEGATIVE_INFINITY)));
-}
-
-//CHECK#14
-if (typeof Date(undefined) !== "string") {
- throw new Test262Error('#14: typeof Date(undefined) should be "string", actual is ' + (typeof Date(undefined)));
-}
-
-//CHECK#15
-if (typeof Date(null) !== "string") {
- throw new Test262Error('#15: typeof Date(null) should be "string", actual is ' + (typeof Date(null)));
-}
+assert.sameValue(typeof Date(undefined), "string", 'The value of `typeof Date(undefined)` is expected to be "string"');
+assert.sameValue(typeof Date(null), "string", 'The value of `typeof Date(null)` is expected to be "string"');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/S15.9.2.1_A2.js b/js/src/tests/test262/built-ins/Date/S15.9.2.1_A2.js
index a730d12e3e67..81b6bfc777a0 100644
--- a/js/src/tests/test262/built-ins/Date/S15.9.2.1_A2.js
+++ b/js/src/tests/test262/built-ins/Date/S15.9.2.1_A2.js
@@ -21,74 +21,74 @@ function isEqual(d1, d2) {
}
}
-//CHECK#1
-if (!isEqual(Date(), (new Date()).toString())) {
- throw new Test262Error('#1: Date() is equal to (new Date()).toString()');
-}
+assert(
+ isEqual(Date(), (new Date()).toString()),
+ 'isEqual(Date(), (new Date()).toString()) must return true'
+);
-//CHECK#2
-if (!isEqual(Date(1), (new Date()).toString())) {
- throw new Test262Error('#2: Date(1) is equal to (new Date()).toString()');
-}
+assert(
+ isEqual(Date(1), (new Date()).toString()),
+ 'isEqual(Date(1), (new Date()).toString()) must return true'
+);
-//CHECK#3
-if (!isEqual(Date(1970, 1), (new Date()).toString())) {
- throw new Test262Error('#3: Date(1970, 1) is equal to (new Date()).toString()');
-}
+assert(
+ isEqual(Date(1970, 1), (new Date()).toString()),
+ 'isEqual(Date(1970, 1), (new Date()).toString()) must return true'
+);
-//CHECK#4
-if (!isEqual(Date(1970, 1, 1), (new Date()).toString())) {
- throw new Test262Error('#4: Date(1970, 1, 1) is equal to (new Date()).toString()');
-}
+assert(
+ isEqual(Date(1970, 1, 1), (new Date()).toString()),
+ 'isEqual(Date(1970, 1, 1), (new Date()).toString()) must return true'
+);
-//CHECK#5
-if (!isEqual(Date(1970, 1, 1, 1), (new Date()).toString())) {
- throw new Test262Error('#5: Date(1970, 1, 1, 1) is equal to (new Date()).toString()');
-}
+assert(
+ isEqual(Date(1970, 1, 1, 1), (new Date()).toString()),
+ 'isEqual(Date(1970, 1, 1, 1), (new Date()).toString()) must return true'
+);
-//CHECK#6
-if (!isEqual(Date(1970, 1, 1, 1), (new Date()).toString())) {
- throw new Test262Error('#7: Date(1970, 1, 1, 1) is equal to (new Date()).toString()');
-}
+assert(
+ isEqual(Date(1970, 1, 1, 1), (new Date()).toString()),
+ 'isEqual(Date(1970, 1, 1, 1), (new Date()).toString()) must return true'
+);
-//CHECK#8
-if (!isEqual(Date(1970, 1, 1, 1, 0), (new Date()).toString())) {
- throw new Test262Error('#8: Date(1970, 1, 1, 1, 0) is equal to (new Date()).toString()');
-}
+assert(
+ isEqual(Date(1970, 1, 1, 1, 0), (new Date()).toString()),
+ 'isEqual(Date(1970, 1, 1, 1, 0), (new Date()).toString()) must return true'
+);
-//CHECK#9
-if (!isEqual(Date(1970, 1, 1, 1, 0, 0), (new Date()).toString())) {
- throw new Test262Error('#9: Date(1970, 1, 1, 1, 0, 0) is equal to (new Date()).toString()');
-}
+assert(
+ isEqual(Date(1970, 1, 1, 1, 0, 0), (new Date()).toString()),
+ 'isEqual(Date(1970, 1, 1, 1, 0, 0), (new Date()).toString()) must return true'
+);
-//CHECK#10
-if (!isEqual(Date(1970, 1, 1, 1, 0, 0, 0), (new Date()).toString())) {
- throw new Test262Error('#10: Date(1970, 1, 1, 1, 0, 0, 0) is equal to (new Date()).toString()');
-}
+assert(
+ isEqual(Date(1970, 1, 1, 1, 0, 0, 0), (new Date()).toString()),
+ 'isEqual(Date(1970, 1, 1, 1, 0, 0, 0), (new Date()).toString()) must return true'
+);
-//CHECK#11
-if (!isEqual(Date(Number.NaN), (new Date()).toString())) {
- throw new Test262Error('#11: Date(Number.NaN) is equal to (new Date()).toString()');
-}
+assert(
+ isEqual(Date(Number.NaN), (new Date()).toString()),
+ 'isEqual(Date(Number.NaN), (new Date()).toString()) must return true'
+);
-//CHECK#12
-if (!isEqual(Date(Number.POSITIVE_INFINITY), (new Date()).toString())) {
- throw new Test262Error('#12: Date(Number.POSITIVE_INFINITY) is equal to (new Date()).toString()');
-}
+assert(
+ isEqual(Date(Number.POSITIVE_INFINITY), (new Date()).toString()),
+ 'isEqual(Date(Number.POSITIVE_INFINITY), (new Date()).toString()) must return true'
+);
-//CHECK#13
-if (!isEqual(Date(Number.NEGATIVE_INFINITY), (new Date()).toString())) {
- throw new Test262Error('#13: Date(Number.NEGATIVE_INFINITY) is equal to (new Date()).toString()');
-}
+assert(
+ isEqual(Date(Number.NEGATIVE_INFINITY), (new Date()).toString()),
+ 'isEqual(Date(Number.NEGATIVE_INFINITY), (new Date()).toString()) must return true'
+);
-//CHECK#14
-if (!isEqual(Date(undefined), (new Date()).toString())) {
- throw new Test262Error('#14: Date(undefined) is equal to (new Date()).toString()');
-}
+assert(
+ isEqual(Date(undefined), (new Date()).toString()),
+ 'isEqual(Date(undefined), (new Date()).toString()) must return true'
+);
-//CHECK#15
-if (!isEqual(Date(null), (new Date()).toString())) {
- throw new Test262Error('#15: Date(null) is equal to (new Date()).toString()');
-}
+assert(
+ isEqual(Date(null), (new Date()).toString()),
+ 'isEqual(Date(null), (new Date()).toString()) must return true'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/S15.9.3.1_A1_T1.js b/js/src/tests/test262/built-ins/Date/S15.9.3.1_A1_T1.js
index 93dfb829670f..8f64633007c6 100644
--- a/js/src/tests/test262/built-ins/Date/S15.9.3.1_A1_T1.js
+++ b/js/src/tests/test262/built-ins/Date/S15.9.3.1_A1_T1.js
@@ -9,220 +9,172 @@ esid: sec-date-year-month-date-hours-minutes-seconds-ms
description: 2 arguments, (year, month)
---*/
-if (typeof new Date(1899, 11) !== "object") {
- throw new Test262Error("#1.1: typeof new Date(1899, 11) should be 'object'");
-}
+assert.sameValue(
+ typeof new Date(1899, 11),
+ "object",
+ 'The value of `typeof new Date(1899, 11)` is expected to be "object"'
+);
-if (new Date(1899, 11) === undefined) {
- throw new Test262Error("#1.2: new Date(1899, 11) should not be undefined");
-}
+assert.notSameValue(new Date(1899, 11), undefined, 'new Date(1899, 11) is expected to not equal ``undefined``');
var x13 = new Date(1899, 11);
-if (typeof x13 !== "object") {
- throw new Test262Error("#1.3: typeof new Date(1899, 11) should be 'object'");
-}
+assert.sameValue(typeof x13, "object", 'The value of `typeof x13` is expected to be "object"');
var x14 = new Date(1899, 11);
-if (x14 === undefined) {
- throw new Test262Error("#1.4: new Date(1899, 11) should not be undefined");
-}
+assert.notSameValue(x14, undefined, 'The value of x14 is expected to not equal ``undefined``');
-if (typeof new Date(1899, 12) !== "object") {
- throw new Test262Error("#2.1: typeof new Date(1899, 12) should be 'object'");
-}
+assert.sameValue(
+ typeof new Date(1899, 12),
+ "object",
+ 'The value of `typeof new Date(1899, 12)` is expected to be "object"'
+);
-if (new Date(1899, 12) === undefined) {
- throw new Test262Error("#2.2: new Date(1899, 12) should not be undefined");
-}
+assert.notSameValue(new Date(1899, 12), undefined, 'new Date(1899, 12) is expected to not equal ``undefined``');
var x23 = new Date(1899, 12);
-if (typeof x23 !== "object") {
- throw new Test262Error("#2.3: typeof new Date(1899, 12) should be 'object'");
-}
+assert.sameValue(typeof x23, "object", 'The value of `typeof x23` is expected to be "object"');
var x24 = new Date(1899, 12);
-if (x24 === undefined) {
- throw new Test262Error("#2.4: new Date(1899, 12) should not be undefined");
-}
+assert.notSameValue(x24, undefined, 'The value of x24 is expected to not equal ``undefined``');
-if (typeof new Date(1900, 0) !== "object") {
- throw new Test262Error("#3.1: typeof new Date(1900, 0) should be 'object'");
-}
+assert.sameValue(
+ typeof new Date(1900, 0),
+ "object",
+ 'The value of `typeof new Date(1900, 0)` is expected to be "object"'
+);
-if (new Date(1900, 0) === undefined) {
- throw new Test262Error("#3.2: new Date(1900, 0) should not be undefined");
-}
+assert.notSameValue(new Date(1900, 0), undefined, 'new Date(1900, 0) is expected to not equal ``undefined``');
var x33 = new Date(1900, 0);
-if (typeof x33 !== "object") {
- throw new Test262Error("#3.3: typeof new Date(1900, 0) should be 'object'");
-}
+assert.sameValue(typeof x33, "object", 'The value of `typeof x33` is expected to be "object"');
var x34 = new Date(1900, 0);
-if (x34 === undefined) {
- throw new Test262Error("#3.4: new Date(1900, 0) should not be undefined");
-}
+assert.notSameValue(x34, undefined, 'The value of x34 is expected to not equal ``undefined``');
-if (typeof new Date(1969, 11) !== "object") {
- throw new Test262Error("#4.1: typeof new Date(1969, 11) should be 'object'");
-}
+assert.sameValue(
+ typeof new Date(1969, 11),
+ "object",
+ 'The value of `typeof new Date(1969, 11)` is expected to be "object"'
+);
-if (new Date(1969, 11) === undefined) {
- throw new Test262Error("#4.2: new Date(1969, 11) should not be undefined");
-}
+assert.notSameValue(new Date(1969, 11), undefined, 'new Date(1969, 11) is expected to not equal ``undefined``');
var x43 = new Date(1969, 11);
-if (typeof x43 !== "object") {
- throw new Test262Error("#4.3: typeof new Date(1969, 11) should be 'object'");
-}
+assert.sameValue(typeof x43, "object", 'The value of `typeof x43` is expected to be "object"');
var x44 = new Date(1969, 11);
-if (x44 === undefined) {
- throw new Test262Error("#4.4: new Date(1969, 11) should not be undefined");
-}
+assert.notSameValue(x44, undefined, 'The value of x44 is expected to not equal ``undefined``');
-if (typeof new Date(1969, 12) !== "object") {
- throw new Test262Error("#5.1: typeof new Date(1969, 12) should be 'object'");
-}
+assert.sameValue(
+ typeof new Date(1969, 12),
+ "object",
+ 'The value of `typeof new Date(1969, 12)` is expected to be "object"'
+);
-if (new Date(1969, 12) === undefined) {
- throw new Test262Error("#5.2: new Date(1969, 12) should not be undefined");
-}
+assert.notSameValue(new Date(1969, 12), undefined, 'new Date(1969, 12) is expected to not equal ``undefined``');
var x53 = new Date(1969, 12);
-if (typeof x53 !== "object") {
- throw new Test262Error("#5.3: typeof new Date(1969, 12) should be 'object'");
-}
+assert.sameValue(typeof x53, "object", 'The value of `typeof x53` is expected to be "object"');
var x54 = new Date(1969, 12);
-if (x54 === undefined) {
- throw new Test262Error("#5.4: new Date(1969, 12) should not be undefined");
-}
+assert.notSameValue(x54, undefined, 'The value of x54 is expected to not equal ``undefined``');
-if (typeof new Date(1970, 0) !== "object") {
- throw new Test262Error("#6.1: typeof new Date(1970, 0) should be 'object'");
-}
+assert.sameValue(
+ typeof new Date(1970, 0),
+ "object",
+ 'The value of `typeof new Date(1970, 0)` is expected to be "object"'
+);
-if (new Date(1970, 0) === undefined) {
- throw new Test262Error("#6.2: new Date(1970, 0) should not be undefined");
-}
+assert.notSameValue(new Date(1970, 0), undefined, 'new Date(1970, 0) is expected to not equal ``undefined``');
var x63 = new Date(1970, 0);
-if (typeof x63 !== "object") {
- throw new Test262Error("#6.3: typeof new Date(1970, 0) should be 'object'");
-}
+assert.sameValue(typeof x63, "object", 'The value of `typeof x63` is expected to be "object"');
var x64 = new Date(1970, 0);
-if (x64 === undefined) {
- throw new Test262Error("#6.4: new Date(1970, 0) should not be undefined");
-}
+assert.notSameValue(x64, undefined, 'The value of x64 is expected to not equal ``undefined``');
-if (typeof new Date(1999, 11) !== "object") {
- throw new Test262Error("#7.1: typeof new Date(1999, 11) should be 'object'");
-}
+assert.sameValue(
+ typeof new Date(1999, 11),
+ "object",
+ 'The value of `typeof new Date(1999, 11)` is expected to be "object"'
+);
-if (new Date(1999, 11) === undefined) {
- throw new Test262Error("#7.2: new Date(1999, 11) should not be undefined");
-}
+assert.notSameValue(new Date(1999, 11), undefined, 'new Date(1999, 11) is expected to not equal ``undefined``');
var x73 = new Date(1999, 11);
-if (typeof x73 !== "object") {
- throw new Test262Error("#7.3: typeof new Date(1999, 11) should be 'object'");
-}
+assert.sameValue(typeof x73, "object", 'The value of `typeof x73` is expected to be "object"');
var x74 = new Date(1999, 11);
-if (x74 === undefined) {
- throw new Test262Error("#7.4: new Date(1999, 11) should not be undefined");
-}
+assert.notSameValue(x74, undefined, 'The value of x74 is expected to not equal ``undefined``');
-if (typeof new Date(1999, 12) !== "object") {
- throw new Test262Error("#8.1: typeof new Date(1999, 12) should be 'object'");
-}
+assert.sameValue(
+ typeof new Date(1999, 12),
+ "object",
+ 'The value of `typeof new Date(1999, 12)` is expected to be "object"'
+);
-if (new Date(1999, 12) === undefined) {
- throw new Test262Error("#8.2: new Date(1999, 12) should not be undefined");
-}
+assert.notSameValue(new Date(1999, 12), undefined, 'new Date(1999, 12) is expected to not equal ``undefined``');
var x83 = new Date(1999, 12);
-if (typeof x83 !== "object") {
- throw new Test262Error("#8.3: typeof new Date(1999, 12) should be 'object'");
-}
+assert.sameValue(typeof x83, "object", 'The value of `typeof x83` is expected to be "object"');
var x84 = new Date(1999, 12);
-if (x84 === undefined) {
- throw new Test262Error("#8.4: new Date(1999, 12) should not be undefined");
-}
+assert.notSameValue(x84, undefined, 'The value of x84 is expected to not equal ``undefined``');
-if (typeof new Date(2000, 0) !== "object") {
- throw new Test262Error("#9.1: typeof new Date(2000, 0) should be 'object'");
-}
+assert.sameValue(
+ typeof new Date(2000, 0),
+ "object",
+ 'The value of `typeof new Date(2000, 0)` is expected to be "object"'
+);
-if (new Date(2000, 0) === undefined) {
- throw new Test262Error("#9.2: new Date(2000, 0) should not be undefined");
-}
+assert.notSameValue(new Date(2000, 0), undefined, 'new Date(2000, 0) is expected to not equal ``undefined``');
var x93 = new Date(2000, 0);
-if (typeof x93 !== "object") {
- throw new Test262Error("#9.3: typeof new Date(2000, 0) should be 'object'");
-}
+assert.sameValue(typeof x93, "object", 'The value of `typeof x93` is expected to be "object"');
var x94 = new Date(2000, 0);
-if (x94 === undefined) {
- throw new Test262Error("#9.4: new Date(2000, 0) should not be undefined");
-}
+assert.notSameValue(x94, undefined, 'The value of x94 is expected to not equal ``undefined``');
-if (typeof new Date(2099, 11) !== "object") {
- throw new Test262Error("#10.1: typeof new Date(2099, 11) should be 'object'");
-}
+assert.sameValue(
+ typeof new Date(2099, 11),
+ "object",
+ 'The value of `typeof new Date(2099, 11)` is expected to be "object"'
+);
-if (new Date(2099, 11) === undefined) {
- throw new Test262Error("#10.2: new Date(2099, 11) should not be undefined");
-}
+assert.notSameValue(new Date(2099, 11), undefined, 'new Date(2099, 11) is expected to not equal ``undefined``');
var x103 = new Date(2099, 11);
-if (typeof x103 !== "object") {
- throw new Test262Error("#10.3: typeof new Date(2099, 11) should be 'object'");
-}
+assert.sameValue(typeof x103, "object", 'The value of `typeof x103` is expected to be "object"');
var x104 = new Date(2099, 11);
-if (x104 === undefined) {
- throw new Test262Error("#10.4: new Date(2099, 11) should not be undefined");
-}
+assert.notSameValue(x104, undefined, 'The value of x104 is expected to not equal ``undefined``');
-if (typeof new Date(2099, 12) !== "object") {
- throw new Test262Error("#11.1: typeof new Date(2099, 12) should be 'object'");
-}
+assert.sameValue(
+ typeof new Date(2099, 12),
+ "object",
+ 'The value of `typeof new Date(2099, 12)` is expected to be "object"'
+);
-if (new Date(2099, 12) === undefined) {
- throw new Test262Error("#11.2: new Date(2099, 12) should not be undefined");
-}
+assert.notSameValue(new Date(2099, 12), undefined, 'new Date(2099, 12) is expected to not equal ``undefined``');
var x113 = new Date(2099, 12);
-if (typeof x113 !== "object") {
- throw new Test262Error("#11.3: typeof new Date(2099, 12) should be 'object'");
-}
+assert.sameValue(typeof x113, "object", 'The value of `typeof x113` is expected to be "object"');
var x114 = new Date(2099, 12);
-if (x114 === undefined) {
- throw new Test262Error("#11.4: new Date(2099, 12) should not be undefined");
-}
+assert.notSameValue(x114, undefined, 'The value of x114 is expected to not equal ``undefined``');
-if (typeof new Date(2100, 0) !== "object") {
- throw new Test262Error("#12.1: typeof new Date(2100, 0) should be 'object'");
-}
+assert.sameValue(
+ typeof new Date(2100, 0),
+ "object",
+ 'The value of `typeof new Date(2100, 0)` is expected to be "object"'
+);
-if (new Date(2100, 0) === undefined) {
- throw new Test262Error("#12.2: new Date(2100, 0) should not be undefined");
-}
+assert.notSameValue(new Date(2100, 0), undefined, 'new Date(2100, 0) is expected to not equal ``undefined``');
var x123 = new Date(2100, 0);
-if (typeof x123 !== "object") {
- throw new Test262Error("#12.3: typeof new Date(2100, 0) should be 'object'");
-}
+assert.sameValue(typeof x123, "object", 'The value of `typeof x123` is expected to be "object"');
var x124 = new Date(2100, 0);
-if (x124 === undefined) {
- throw new Test262Error("#12.4: new Date(2100, 0) should not be undefined");
-}
+assert.notSameValue(x124, undefined, 'The value of x124 is expected to not equal ``undefined``');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/S15.9.3.1_A1_T2.js b/js/src/tests/test262/built-ins/Date/S15.9.3.1_A1_T2.js
index 0752d0e4aa6f..e2c91e81b377 100644
--- a/js/src/tests/test262/built-ins/Date/S15.9.3.1_A1_T2.js
+++ b/js/src/tests/test262/built-ins/Date/S15.9.3.1_A1_T2.js
@@ -9,220 +9,172 @@ esid: sec-date-year-month-date-hours-minutes-seconds-ms
description: 3 arguments, (year, month, date)
---*/
-if (typeof new Date(1899, 11, 31) !== "object") {
- throw new Test262Error("#1.1: typeof new Date(1899, 11, 31) should be 'object'");
-}
+assert.sameValue(
+ typeof new Date(1899, 11, 31),
+ "object",
+ 'The value of `typeof new Date(1899, 11, 31)` is expected to be "object"'
+);
-if (new Date(1899, 11, 31) === undefined) {
- throw new Test262Error("#1.2: new Date(1899, 11, 31) should not be undefined");
-}
+assert.notSameValue(new Date(1899, 11, 31), undefined, 'new Date(1899, 11, 31) is expected to not equal ``undefined``');
var x13 = new Date(1899, 11, 31);
-if (typeof x13 !== "object") {
- throw new Test262Error("#1.3: typeof new Date(1899, 11, 31) should be 'object'");
-}
+assert.sameValue(typeof x13, "object", 'The value of `typeof x13` is expected to be "object"');
var x14 = new Date(1899, 11, 31);
-if (x14 === undefined) {
- throw new Test262Error("#1.4: new Date(1899, 11, 31) should not be undefined");
-}
+assert.notSameValue(x14, undefined, 'The value of x14 is expected to not equal ``undefined``');
-if (typeof new Date(1899, 12, 1) !== "object") {
- throw new Test262Error("#2.1: typeof new Date(1899, 12, 1) should be 'object'");
-}
+assert.sameValue(
+ typeof new Date(1899, 12, 1),
+ "object",
+ 'The value of `typeof new Date(1899, 12, 1)` is expected to be "object"'
+);
-if (new Date(1899, 12, 1) === undefined) {
- throw new Test262Error("#2.2: new Date(1899, 12, 1) should not be undefined");
-}
+assert.notSameValue(new Date(1899, 12, 1), undefined, 'new Date(1899, 12, 1) is expected to not equal ``undefined``');
var x23 = new Date(1899, 12, 1);
-if (typeof x23 !== "object") {
- throw new Test262Error("#2.3: typeof new Date(1899, 12, 1) should be 'object'");
-}
+assert.sameValue(typeof x23, "object", 'The value of `typeof x23` is expected to be "object"');
var x24 = new Date(1899, 12, 1);
-if (x24 === undefined) {
- throw new Test262Error("#2.4: new Date(1899, 12, 1) should not be undefined");
-}
+assert.notSameValue(x24, undefined, 'The value of x24 is expected to not equal ``undefined``');
-if (typeof new Date(1900, 0, 1) !== "object") {
- throw new Test262Error("#3.1: typeof new Date(1900, 0, 1) should be 'object'");
-}
+assert.sameValue(
+ typeof new Date(1900, 0, 1),
+ "object",
+ 'The value of `typeof new Date(1900, 0, 1)` is expected to be "object"'
+);
-if (new Date(1900, 0, 1) === undefined) {
- throw new Test262Error("#3.2: new Date(1900, 0, 1) should not be undefined");
-}
+assert.notSameValue(new Date(1900, 0, 1), undefined, 'new Date(1900, 0, 1) is expected to not equal ``undefined``');
var x33 = new Date(1900, 0, 1);
-if (typeof x33 !== "object") {
- throw new Test262Error("#3.3: typeof new Date(1900, 0, 1) should be 'object'");
-}
+assert.sameValue(typeof x33, "object", 'The value of `typeof x33` is expected to be "object"');
var x34 = new Date(1900, 0, 1);
-if (x34 === undefined) {
- throw new Test262Error("#3.4: new Date(1900, 0, 1) should not be undefined");
-}
+assert.notSameValue(x34, undefined, 'The value of x34 is expected to not equal ``undefined``');
-if (typeof new Date(1969, 11, 31) !== "object") {
- throw new Test262Error("#4.1: typeof new Date(1969, 11, 31) should be 'object'");
-}
+assert.sameValue(
+ typeof new Date(1969, 11, 31),
+ "object",
+ 'The value of `typeof new Date(1969, 11, 31)` is expected to be "object"'
+);
-if (new Date(1969, 11, 31) === undefined) {
- throw new Test262Error("#4.2: new Date(1969, 11, 31) should not be undefined");
-}
+assert.notSameValue(new Date(1969, 11, 31), undefined, 'new Date(1969, 11, 31) is expected to not equal ``undefined``');
var x43 = new Date(1969, 11, 31);
-if (typeof x43 !== "object") {
- throw new Test262Error("#4.3: typeof new Date(1969, 11, 31) should be 'object'");
-}
+assert.sameValue(typeof x43, "object", 'The value of `typeof x43` is expected to be "object"');
var x44 = new Date(1969, 11, 31);
-if (x44 === undefined) {
- throw new Test262Error("#4.4: new Date(1969, 11, 31) should not be undefined");
-}
+assert.notSameValue(x44, undefined, 'The value of x44 is expected to not equal ``undefined``');
-if (typeof new Date(1969, 12, 1) !== "object") {
- throw new Test262Error("#5.1: typeof new Date(1969, 12, 1) should be 'object'");
-}
+assert.sameValue(
+ typeof new Date(1969, 12, 1),
+ "object",
+ 'The value of `typeof new Date(1969, 12, 1)` is expected to be "object"'
+);
-if (new Date(1969, 12, 1) === undefined) {
- throw new Test262Error("#5.2: new Date(1969, 12, 1) should not be undefined");
-}
+assert.notSameValue(new Date(1969, 12, 1), undefined, 'new Date(1969, 12, 1) is expected to not equal ``undefined``');
var x53 = new Date(1969, 12, 1);
-if (typeof x53 !== "object") {
- throw new Test262Error("#5.3: typeof new Date(1969, 12, 1) should be 'object'");
-}
+assert.sameValue(typeof x53, "object", 'The value of `typeof x53` is expected to be "object"');
var x54 = new Date(1969, 12, 1);
-if (x54 === undefined) {
- throw new Test262Error("#5.4: new Date(1969, 12, 1) should not be undefined");
-}
+assert.notSameValue(x54, undefined, 'The value of x54 is expected to not equal ``undefined``');
-if (typeof new Date(1970, 0, 1) !== "object") {
- throw new Test262Error("#6.1: typeof new Date(1970, 0, 1) should be 'object'");
-}
+assert.sameValue(
+ typeof new Date(1970, 0, 1),
+ "object",
+ 'The value of `typeof new Date(1970, 0, 1)` is expected to be "object"'
+);
-if (new Date(1970, 0, 1) === undefined) {
- throw new Test262Error("#6.2: new Date(1970, 0, 1) should not be undefined");
-}
+assert.notSameValue(new Date(1970, 0, 1), undefined, 'new Date(1970, 0, 1) is expected to not equal ``undefined``');
var x63 = new Date(1970, 0, 1);
-if (typeof x63 !== "object") {
- throw new Test262Error("#6.3: typeof new Date(1970, 0, 1) should be 'object'");
-}
+assert.sameValue(typeof x63, "object", 'The value of `typeof x63` is expected to be "object"');
var x64 = new Date(1970, 0, 1);
-if (x64 === undefined) {
- throw new Test262Error("#6.4: new Date(1970, 0, 1) should not be undefined");
-}
+assert.notSameValue(x64, undefined, 'The value of x64 is expected to not equal ``undefined``');
-if (typeof new Date(1999, 11, 31) !== "object") {
- throw new Test262Error("#7.1: typeof new Date(1999, 11, 31) should be 'object'");
-}
+assert.sameValue(
+ typeof new Date(1999, 11, 31),
+ "object",
+ 'The value of `typeof new Date(1999, 11, 31)` is expected to be "object"'
+);
-if (new Date(1999, 11, 31) === undefined) {
- throw new Test262Error("#7.2: new Date(1999, 11, 31) should not be undefined");
-}
+assert.notSameValue(new Date(1999, 11, 31), undefined, 'new Date(1999, 11, 31) is expected to not equal ``undefined``');
var x73 = new Date(1999, 11, 31);
-if (typeof x73 !== "object") {
- throw new Test262Error("#7.3: typeof new Date(1999, 11, 31) should be 'object'");
-}
+assert.sameValue(typeof x73, "object", 'The value of `typeof x73` is expected to be "object"');
var x74 = new Date(1999, 11, 31);
-if (x74 === undefined) {
- throw new Test262Error("#7.4: new Date(1999, 11, 31) should not be undefined");
-}
+assert.notSameValue(x74, undefined, 'The value of x74 is expected to not equal ``undefined``');
-if (typeof new Date(1999, 12, 1) !== "object") {
- throw new Test262Error("#8.1: typeof new Date(1999, 12, 1) should be 'object'");
-}
+assert.sameValue(
+ typeof new Date(1999, 12, 1),
+ "object",
+ 'The value of `typeof new Date(1999, 12, 1)` is expected to be "object"'
+);
-if (new Date(1999, 12, 1) === undefined) {
- throw new Test262Error("#8.2: new Date(1999, 12, 1) should not be undefined");
-}
+assert.notSameValue(new Date(1999, 12, 1), undefined, 'new Date(1999, 12, 1) is expected to not equal ``undefined``');
var x83 = new Date(1999, 12, 1);
-if (typeof x83 !== "object") {
- throw new Test262Error("#8.3: typeof new Date(1999, 12, 1) should be 'object'");
-}
+assert.sameValue(typeof x83, "object", 'The value of `typeof x83` is expected to be "object"');
var x84 = new Date(1999, 12, 1);
-if (x84 === undefined) {
- throw new Test262Error("#8.4: new Date(1999, 12, 1) should not be undefined");
-}
+assert.notSameValue(x84, undefined, 'The value of x84 is expected to not equal ``undefined``');
-if (typeof new Date(2000, 0, 1) !== "object") {
- throw new Test262Error("#9.1: typeof new Date(2000, 0, 1) should be 'object'");
-}
+assert.sameValue(
+ typeof new Date(2000, 0, 1),
+ "object",
+ 'The value of `typeof new Date(2000, 0, 1)` is expected to be "object"'
+);
-if (new Date(2000, 0, 1) === undefined) {
- throw new Test262Error("#9.2: new Date(2000, 0, 1) should not be undefined");
-}
+assert.notSameValue(new Date(2000, 0, 1), undefined, 'new Date(2000, 0, 1) is expected to not equal ``undefined``');
var x93 = new Date(2000, 0, 1);
-if (typeof x93 !== "object") {
- throw new Test262Error("#9.3: typeof new Date(2000, 0, 1) should be 'object'");
-}
+assert.sameValue(typeof x93, "object", 'The value of `typeof x93` is expected to be "object"');
var x94 = new Date(2000, 0, 1);
-if (x94 === undefined) {
- throw new Test262Error("#9.4: new Date(2000, 0, 1) should not be undefined");
-}
+assert.notSameValue(x94, undefined, 'The value of x94 is expected to not equal ``undefined``');
-if (typeof new Date(2099, 11, 31) !== "object") {
- throw new Test262Error("#10.1: typeof new Date(2099, 11, 31) should be 'object'");
-}
+assert.sameValue(
+ typeof new Date(2099, 11, 31),
+ "object",
+ 'The value of `typeof new Date(2099, 11, 31)` is expected to be "object"'
+);
-if (new Date(2099, 11, 31) === undefined) {
- throw new Test262Error("#10.2: new Date(2099, 11, 31) should not be undefined");
-}
+assert.notSameValue(new Date(2099, 11, 31), undefined, 'new Date(2099, 11, 31) is expected to not equal ``undefined``');
var x103 = new Date(2099, 11, 31);
-if (typeof x103 !== "object") {
- throw new Test262Error("#10.3: typeof new Date(2099, 11, 31) should be 'object'");
-}
+assert.sameValue(typeof x103, "object", 'The value of `typeof x103` is expected to be "object"');
var x104 = new Date(2099, 11, 31);
-if (x104 === undefined) {
- throw new Test262Error("#10.4: new Date(2099, 11, 31) should not be undefined");
-}
+assert.notSameValue(x104, undefined, 'The value of x104 is expected to not equal ``undefined``');
-if (typeof new Date(2099, 12, 1) !== "object") {
- throw new Test262Error("#11.1: typeof new Date(2099, 12, 1) should be 'object'");
-}
+assert.sameValue(
+ typeof new Date(2099, 12, 1),
+ "object",
+ 'The value of `typeof new Date(2099, 12, 1)` is expected to be "object"'
+);
-if (new Date(2099, 12, 1) === undefined) {
- throw new Test262Error("#11.2: new Date(2099, 12, 1) should not be undefined");
-}
+assert.notSameValue(new Date(2099, 12, 1), undefined, 'new Date(2099, 12, 1) is expected to not equal ``undefined``');
var x113 = new Date(2099, 12, 1);
-if (typeof x113 !== "object") {
- throw new Test262Error("#11.3: typeof new Date(2099, 12, 1) should be 'object'");
-}
+assert.sameValue(typeof x113, "object", 'The value of `typeof x113` is expected to be "object"');
var x114 = new Date(2099, 12, 1);
-if (x114 === undefined) {
- throw new Test262Error("#11.4: new Date(2099, 12, 1) should not be undefined");
-}
+assert.notSameValue(x114, undefined, 'The value of x114 is expected to not equal ``undefined``');
-if (typeof new Date(2100, 0, 1) !== "object") {
- throw new Test262Error("#12.1: typeof new Date(2100, 0, 1) should be 'object'");
-}
+assert.sameValue(
+ typeof new Date(2100, 0, 1),
+ "object",
+ 'The value of `typeof new Date(2100, 0, 1)` is expected to be "object"'
+);
-if (new Date(2100, 0, 1) === undefined) {
- throw new Test262Error("#12.2: new Date(2100, 0, 1) should not be undefined");
-}
+assert.notSameValue(new Date(2100, 0, 1), undefined, 'new Date(2100, 0, 1) is expected to not equal ``undefined``');
var x123 = new Date(2100, 0, 1);
-if (typeof x123 !== "object") {
- throw new Test262Error("#12.3: typeof new Date(2100, 0, 1) should be 'object'");
-}
+assert.sameValue(typeof x123, "object", 'The value of `typeof x123` is expected to be "object"');
var x124 = new Date(2100, 0, 1);
-if (x124 === undefined) {
- throw new Test262Error("#12.4: new Date(2100, 0, 1) should not be undefined");
-}
+assert.notSameValue(x124, undefined, 'The value of x124 is expected to not equal ``undefined``');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/S15.9.3.1_A1_T3.js b/js/src/tests/test262/built-ins/Date/S15.9.3.1_A1_T3.js
index 10039468b120..9494ea056ae7 100644
--- a/js/src/tests/test262/built-ins/Date/S15.9.3.1_A1_T3.js
+++ b/js/src/tests/test262/built-ins/Date/S15.9.3.1_A1_T3.js
@@ -8,221 +8,204 @@ info: |
esid: sec-date-year-month-date-hours-minutes-seconds-ms
description: 4 arguments, (year, month, date, hours)
---*/
+assert.sameValue(
+ typeof new Date(1899, 11, 31, 23),
+ "object",
+ 'The value of `typeof new Date(1899, 11, 31, 23)` is expected to be "object"'
+);
-if (typeof new Date(1899, 11, 31, 23) !== "object") {
- throw new Test262Error("#1.1: typeof new Date(1899, 11, 31, 23) should be 'object'");
-}
-
-if (new Date(1899, 11, 31, 23) === undefined) {
- throw new Test262Error("#1.2: new Date(1899, 11, 31, 23) should not be undefined");
-}
+assert.notSameValue(
+ new Date(1899, 11, 31, 23),
+ undefined,
+ 'new Date(1899, 11, 31, 23) is expected to not equal ``undefined``'
+);
var x13 = new Date(1899, 11, 31, 23);
-if (typeof x13 !== "object") {
- throw new Test262Error("#1.3: typeof new Date(1899, 11, 31, 23) should be 'object'");
-}
+assert.sameValue(typeof x13, "object", 'The value of `typeof x13` is expected to be "object"');
var x14 = new Date(1899, 11, 31, 23);
-if (x14 === undefined) {
- throw new Test262Error("#1.4: new Date(1899, 11, 31, 23) should not be undefined");
-}
+assert.notSameValue(x14, undefined, 'The value of x14 is expected to not equal ``undefined``');
-if (typeof new Date(1899, 12, 1, 0) !== "object") {
- throw new Test262Error("#2.1: typeof new Date(1899, 12, 1, 0) should be 'object'");
-}
+assert.sameValue(
+ typeof new Date(1899, 12, 1, 0),
+ "object",
+ 'The value of `typeof new Date(1899, 12, 1, 0)` is expected to be "object"'
+);
-if (new Date(1899, 12, 1, 0) === undefined) {
- throw new Test262Error("#2.2: new Date(1899, 12, 1, 0) should not be undefined");
-}
+assert.notSameValue(
+ new Date(1899, 12, 1, 0),
+ undefined,
+ 'new Date(1899, 12, 1, 0) is expected to not equal ``undefined``'
+);
var x23 = new Date(1899, 12, 1, 0);
-if (typeof x23 !== "object") {
- throw new Test262Error("#2.3: typeof new Date(1899, 12, 1, 0) should be 'object'");
-}
+assert.sameValue(typeof x23, "object", 'The value of `typeof x23` is expected to be "object"');
var x24 = new Date(1899, 12, 1, 0);
-if (x24 === undefined) {
- throw new Test262Error("#2.4: new Date(1899, 12, 1, 0) should not be undefined");
-}
+assert.notSameValue(x24, undefined, 'The value of x24 is expected to not equal ``undefined``');
-if (typeof new Date(1900, 0, 1, 0) !== "object") {
- throw new Test262Error("#3.1: typeof new Date(1900, 0, 1, 0) should be 'object'");
-}
+assert.sameValue(
+ typeof new Date(1900, 0, 1, 0),
+ "object",
+ 'The value of `typeof new Date(1900, 0, 1, 0)` is expected to be "object"'
+);
-if (new Date(1900, 0, 1, 0) === undefined) {
- throw new Test262Error("#3.2: new Date(1900, 0, 1, 0) should not be undefined");
-}
+assert.notSameValue(new Date(1900, 0, 1, 0), undefined, 'new Date(1900, 0, 1, 0) is expected to not equal ``undefined``');
var x33 = new Date(1900, 0, 1, 0);
-if (typeof x33 !== "object") {
- throw new Test262Error("#3.3: typeof new Date(1900, 0, 1, 0) should be 'object'");
-}
+assert.sameValue(typeof x33, "object", 'The value of `typeof x33` is expected to be "object"');
var x34 = new Date(1900, 0, 1, 0);
-if (x34 === undefined) {
- throw new Test262Error("#3.4: new Date(1900, 0, 1, 0) should not be undefined");
-}
+assert.notSameValue(x34, undefined, 'The value of x34 is expected to not equal ``undefined``');
-if (typeof new Date(1969, 11, 31, 23) !== "object") {
- throw new Test262Error("#4.1: typeof new Date(1969, 11, 31, 23) should be 'object'");
-}
+assert.sameValue(
+ typeof new Date(1969, 11, 31, 23),
+ "object",
+ 'The value of `typeof new Date(1969, 11, 31, 23)` is expected to be "object"'
+);
-if (new Date(1969, 11, 31, 23) === undefined) {
- throw new Test262Error("#4.2: new Date(1969, 11, 31, 23) should not be undefined");
-}
+assert.notSameValue(
+ new Date(1969, 11, 31, 23),
+ undefined,
+ 'new Date(1969, 11, 31, 23) is expected to not equal ``undefined``'
+);
var x43 = new Date(1969, 11, 31, 23);
-if (typeof x43 !== "object") {
- throw new Test262Error("#4.3: typeof new Date(1969, 11, 31, 23) should be 'object'");
-}
+assert.sameValue(typeof x43, "object", 'The value of `typeof x43` is expected to be "object"');
var x44 = new Date(1969, 11, 31, 23);
-if (x44 === undefined) {
- throw new Test262Error("#4.4: new Date(1969, 11, 31, 23) should not be undefined");
-}
+assert.notSameValue(x44, undefined, 'The value of x44 is expected to not equal ``undefined``');
-if (typeof new Date(1969, 12, 1, 0) !== "object") {
- throw new Test262Error("#5.1: typeof new Date(1969, 12, 1, 0) should be 'object'");
-}
+assert.sameValue(
+ typeof new Date(1969, 12, 1, 0),
+ "object",
+ 'The value of `typeof new Date(1969, 12, 1, 0)` is expected to be "object"'
+);
-if (new Date(1969, 12, 1, 0) === undefined) {
- throw new Test262Error("#5.2: new Date(1969, 12, 1, 0) should not be undefined");
-}
+assert.notSameValue(
+ new Date(1969, 12, 1, 0),
+ undefined,
+ 'new Date(1969, 12, 1, 0) is expected to not equal ``undefined``'
+);
var x53 = new Date(1969, 12, 1, 0);
-if (typeof x53 !== "object") {
- throw new Test262Error("#5.3: typeof new Date(1969, 12, 1, 0) should be 'object'");
-}
+assert.sameValue(typeof x53, "object", 'The value of `typeof x53` is expected to be "object"');
var x54 = new Date(1969, 12, 1, 0);
-if (x54 === undefined) {
- throw new Test262Error("#5.4: new Date(1969, 12, 1, 0) should not be undefined");
-}
+assert.notSameValue(x54, undefined, 'The value of x54 is expected to not equal ``undefined``');
-if (typeof new Date(1970, 0, 1, 0) !== "object") {
- throw new Test262Error("#6.1: typeof new Date(1970, 0, 1, 0) should be 'object'");
-}
+assert.sameValue(
+ typeof new Date(1970, 0, 1, 0),
+ "object",
+ 'The value of `typeof new Date(1970, 0, 1, 0)` is expected to be "object"'
+);
-if (new Date(1970, 0, 1, 0) === undefined) {
- throw new Test262Error("#6.2: new Date(1970, 0, 1, 0) should not be undefined");
-}
+assert.notSameValue(new Date(1970, 0, 1, 0), undefined, 'new Date(1970, 0, 1, 0) is expected to not equal ``undefined``');
var x63 = new Date(1970, 0, 1, 0);
-if (typeof x63 !== "object") {
- throw new Test262Error("#6.3: typeof new Date(1970, 0, 1, 0) should be 'object'");
-}
+assert.sameValue(typeof x63, "object", 'The value of `typeof x63` is expected to be "object"');
var x64 = new Date(1970, 0, 1, 0);
-if (x64 === undefined) {
- throw new Test262Error("#6.4: new Date(1970, 0, 1, 0) should not be undefined");
-}
+assert.notSameValue(x64, undefined, 'The value of x64 is expected to not equal ``undefined``');
-if (typeof new Date(1999, 11, 31, 23) !== "object") {
- throw new Test262Error("#7.1: typeof new Date(1999, 11, 31, 23) should be 'object'");
-}
+assert.sameValue(
+ typeof new Date(1999, 11, 31, 23),
+ "object",
+ 'The value of `typeof new Date(1999, 11, 31, 23)` is expected to be "object"'
+);
-if (new Date(1999, 11, 31, 23) === undefined) {
- throw new Test262Error("#7.2: new Date(1999, 11, 31, 23) should not be undefined");
-}
+assert.notSameValue(
+ new Date(1999, 11, 31, 23),
+ undefined,
+ 'new Date(1999, 11, 31, 23) is expected to not equal ``undefined``'
+);
var x73 = new Date(1999, 11, 31, 23);
-if (typeof x73 !== "object") {
- throw new Test262Error("#7.3: typeof new Date(1999, 11, 31, 23) should be 'object'");
-}
+assert.sameValue(typeof x73, "object", 'The value of `typeof x73` is expected to be "object"');
var x74 = new Date(1999, 11, 31, 23);
-if (x74 === undefined) {
- throw new Test262Error("#7.4: new Date(1999, 11, 31, 23) should not be undefined");
-}
+assert.notSameValue(x74, undefined, 'The value of x74 is expected to not equal ``undefined``');
-if (typeof new Date(1999, 12, 1, 0) !== "object") {
- throw new Test262Error("#8.1: typeof new Date(1999, 12, 1, 0) should be 'object'");
-}
+assert.sameValue(
+ typeof new Date(1999, 12, 1, 0),
+ "object",
+ 'The value of `typeof new Date(1999, 12, 1, 0)` is expected to be "object"'
+);
-if (new Date(1999, 12, 1, 0) === undefined) {
- throw new Test262Error("#8.2: new Date(1999, 12, 1, 0) should not be undefined");
-}
+assert.notSameValue(
+ new Date(1999, 12, 1, 0),
+ undefined,
+ 'new Date(1999, 12, 1, 0) is expected to not equal ``undefined``'
+);
var x83 = new Date(1999, 12, 1, 0);
-if (typeof x83 !== "object") {
- throw new Test262Error("#8.3: typeof new Date(1999, 12, 1, 0) should be 'object'");
-}
+assert.sameValue(typeof x83, "object", 'The value of `typeof x83` is expected to be "object"');
var x84 = new Date(1999, 12, 1, 0);
-if (x84 === undefined) {
- throw new Test262Error("#8.4: new Date(1999, 12, 1, 0) should not be undefined");
-}
+assert.notSameValue(x84, undefined, 'The value of x84 is expected to not equal ``undefined``');
-if (typeof new Date(2000, 0, 1, 0) !== "object") {
- throw new Test262Error("#9.1: typeof new Date(2000, 0, 1, 0) should be 'object'");
-}
+assert.sameValue(
+ typeof new Date(2000, 0, 1, 0),
+ "object",
+ 'The value of `typeof new Date(2000, 0, 1, 0)` is expected to be "object"'
+);
-if (new Date(2000, 0, 1, 0) === undefined) {
- throw new Test262Error("#9.2: new Date(2000, 0, 1, 0) should not be undefined");
-}
+assert.notSameValue(new Date(2000, 0, 1, 0), undefined, 'new Date(2000, 0, 1, 0) is expected to not equal ``undefined``');
var x93 = new Date(2000, 0, 1, 0);
-if (typeof x93 !== "object") {
- throw new Test262Error("#9.3: typeof new Date(2000, 0, 1, 0) should be 'object'");
-}
+assert.sameValue(typeof x93, "object", 'The value of `typeof x93` is expected to be "object"');
var x94 = new Date(2000, 0, 1, 0);
-if (x94 === undefined) {
- throw new Test262Error("#9.4: new Date(2000, 0, 1, 0) should not be undefined");
-}
+assert.notSameValue(x94, undefined, 'The value of x94 is expected to not equal ``undefined``');
-if (typeof new Date(2099, 11, 31, 23) !== "object") {
- throw new Test262Error("#10.1: typeof new Date(2099, 11, 31, 23) should be 'object'");
-}
+assert.sameValue(
+ typeof new Date(2099, 11, 31, 23),
+ "object",
+ 'The value of `typeof new Date(2099, 11, 31, 23)` is expected to be "object"'
+);
-if (new Date(2099, 11, 31, 23) === undefined) {
- throw new Test262Error("#10.2: new Date(2099, 11, 31, 23) should not be undefined");
-}
+assert.notSameValue(
+ new Date(2099, 11, 31, 23),
+ undefined,
+ 'new Date(2099, 11, 31, 23) is expected to not equal ``undefined``'
+);
var x103 = new Date(2099, 11, 31, 23);
-if (typeof x103 !== "object") {
- throw new Test262Error("#10.3: typeof new Date(2099, 11, 31, 23) should be 'object'");
-}
+assert.sameValue(typeof x103, "object", 'The value of `typeof x103` is expected to be "object"');
var x104 = new Date(2099, 11, 31, 23);
-if (x104 === undefined) {
- throw new Test262Error("#10.4: new Date(2099, 11, 31, 23) should not be undefined");
-}
+assert.notSameValue(x104, undefined, 'The value of x104 is expected to not equal ``undefined``');
-if (typeof new Date(2099, 12, 1, 0) !== "object") {
- throw new Test262Error("#11.1: typeof new Date(2099, 12, 1, 0) should be 'object'");
-}
+assert.sameValue(
+ typeof new Date(2099, 12, 1, 0),
+ "object",
+ 'The value of `typeof new Date(2099, 12, 1, 0)` is expected to be "object"'
+);
-if (new Date(2099, 12, 1, 0) === undefined) {
- throw new Test262Error("#11.2: new Date(2099, 12, 1, 0) should not be undefined");
-}
+assert.notSameValue(
+ new Date(2099, 12, 1, 0),
+ undefined,
+ 'new Date(2099, 12, 1, 0) is expected to not equal ``undefined``'
+);
var x113 = new Date(2099, 12, 1, 0);
-if (typeof x113 !== "object") {
- throw new Test262Error("#11.3: typeof new Date(2099, 12, 1, 0) should be 'object'");
-}
+assert.sameValue(typeof x113, "object", 'The value of `typeof x113` is expected to be "object"');
var x114 = new Date(2099, 12, 1, 0);
-if (x114 === undefined) {
- throw new Test262Error("#11.4: new Date(2099, 12, 1, 0) should not be undefined");
-}
+assert.notSameValue(x114, undefined, 'The value of x114 is expected to not equal ``undefined``');
-if (typeof new Date(2100, 0, 1, 0) !== "object") {
- throw new Test262Error("#12.1: typeof new Date(2100, 0, 1, 0) should be 'object'");
-}
+assert.sameValue(
+ typeof new Date(2100, 0, 1, 0),
+ "object",
+ 'The value of `typeof new Date(2100, 0, 1, 0)` is expected to be "object"'
+);
-if (new Date(2100, 0, 1, 0) === undefined) {
- throw new Test262Error("#12.2: new Date(2100, 0, 1, 0) should not be undefined");
-}
+assert.notSameValue(new Date(2100, 0, 1, 0), undefined, 'new Date(2100, 0, 1, 0) is expected to not equal ``undefined``');
var x123 = new Date(2100, 0, 1, 0);
-if (typeof x123 !== "object") {
- throw new Test262Error("#12.3: typeof new Date(2100, 0, 1, 0) should be 'object'");
-}
+assert.sameValue(typeof x123, "object", 'The value of `typeof x123` is expected to be "object"');
var x124 = new Date(2100, 0, 1, 0);
-if (x124 === undefined) {
- throw new Test262Error("#12.4: new Date(2100, 0, 1, 0) should not be undefined");
-}
+assert.notSameValue(x124, undefined, 'The value of x124 is expected to not equal ``undefined``');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/S15.9.3.1_A1_T4.js b/js/src/tests/test262/built-ins/Date/S15.9.3.1_A1_T4.js
index e9e85b1f32fc..a0bc64f510af 100644
--- a/js/src/tests/test262/built-ins/Date/S15.9.3.1_A1_T4.js
+++ b/js/src/tests/test262/built-ins/Date/S15.9.3.1_A1_T4.js
@@ -8,221 +8,220 @@ info: |
esid: sec-date-year-month-date-hours-minutes-seconds-ms
description: 5 arguments, (year, month, date, hours, minutes)
---*/
+assert.sameValue(
+ typeof new Date(1899, 11, 31, 23, 59),
+ "object",
+ 'The value of `typeof new Date(1899, 11, 31, 23, 59)` is expected to be "object"'
+);
-if (typeof new Date(1899, 11, 31, 23, 59) !== "object") {
- throw new Test262Error("#1.1: typeof new Date(1899, 11, 31, 23, 59) should be 'object'");
-}
-
-if (new Date(1899, 11, 31, 23, 59) === undefined) {
- throw new Test262Error("#1.2: new Date(1899, 11, 31, 23, 59) should not be undefined");
-}
+assert.notSameValue(
+ new Date(1899, 11, 31, 23, 59),
+ undefined,
+ 'new Date(1899, 11, 31, 23, 59) is expected to not equal ``undefined``'
+);
var x13 = new Date(1899, 11, 31, 23, 59);
-if (typeof x13 !== "object") {
- throw new Test262Error("#1.3: typeof new Date(1899, 11, 31, 23, 59) should be 'object'");
-}
+assert.sameValue(typeof x13, "object", 'The value of `typeof x13` is expected to be "object"');
var x14 = new Date(1899, 11, 31, 23, 59);
-if (x14 === undefined) {
- throw new Test262Error("#1.4: new Date(1899, 11, 31, 23, 59) should not be undefined");
-}
+assert.notSameValue(x14, undefined, 'The value of x14 is expected to not equal ``undefined``');
-if (typeof new Date(1899, 12, 1, 0, 0) !== "object") {
- throw new Test262Error("#2.1: typeof new Date(1899, 12, 1, 0, 0) should be 'object'");
-}
+assert.sameValue(
+ typeof new Date(1899, 12, 1, 0, 0),
+ "object",
+ 'The value of `typeof new Date(1899, 12, 1, 0, 0)` is expected to be "object"'
+);
-if (new Date(1899, 12, 1, 0, 0) === undefined) {
- throw new Test262Error("#2.2: new Date(1899, 12, 1, 0, 0) should not be undefined");
-}
+assert.notSameValue(
+ new Date(1899, 12, 1, 0, 0),
+ undefined,
+ 'new Date(1899, 12, 1, 0, 0) is expected to not equal ``undefined``'
+);
var x23 = new Date(1899, 12, 1, 0, 0);
-if (typeof x23 !== "object") {
- throw new Test262Error("#2.3: typeof new Date(1899, 12, 1, 0, 0) should be 'object'");
-}
+assert.sameValue(typeof x23, "object", 'The value of `typeof x23` is expected to be "object"');
var x24 = new Date(1899, 12, 1, 0, 0);
-if (x24 === undefined) {
- throw new Test262Error("#2.4: new Date(1899, 12, 1, 0, 0) should not be undefined");
-}
+assert.notSameValue(x24, undefined, 'The value of x24 is expected to not equal ``undefined``');
-if (typeof new Date(1900, 0, 1, 0, 0) !== "object") {
- throw new Test262Error("#3.1: typeof new Date(1900, 0, 1, 0, 0) should be 'object'");
-}
+assert.sameValue(
+ typeof new Date(1900, 0, 1, 0, 0),
+ "object",
+ 'The value of `typeof new Date(1900, 0, 1, 0, 0)` is expected to be "object"'
+);
-if (new Date(1900, 0, 1, 0, 0) === undefined) {
- throw new Test262Error("#3.2: new Date(1900, 0, 1, 0, 0) should not be undefined");
-}
+assert.notSameValue(
+ new Date(1900, 0, 1, 0, 0),
+ undefined,
+ 'new Date(1900, 0, 1, 0, 0) is expected to not equal ``undefined``'
+);
var x33 = new Date(1900, 0, 1, 0, 0);
-if (typeof x33 !== "object") {
- throw new Test262Error("#3.3: typeof new Date(1900, 0, 1, 0, 0) should be 'object'");
-}
+assert.sameValue(typeof x33, "object", 'The value of `typeof x33` is expected to be "object"');
var x34 = new Date(1900, 0, 1, 0, 0);
-if (x34 === undefined) {
- throw new Test262Error("#3.4: new Date(1900, 0, 1, 0, 0) should not be undefined");
-}
+assert.notSameValue(x34, undefined, 'The value of x34 is expected to not equal ``undefined``');
-if (typeof new Date(1969, 11, 31, 23, 59) !== "object") {
- throw new Test262Error("#4.1: typeof new Date(1969, 11, 31, 23, 59) should be 'object'");
-}
+assert.sameValue(
+ typeof new Date(1969, 11, 31, 23, 59),
+ "object",
+ 'The value of `typeof new Date(1969, 11, 31, 23, 59)` is expected to be "object"'
+);
-if (new Date(1969, 11, 31, 23, 59) === undefined) {
- throw new Test262Error("#4.2: new Date(1969, 11, 31, 23, 59) should not be undefined");
-}
+assert.notSameValue(
+ new Date(1969, 11, 31, 23, 59),
+ undefined,
+ 'new Date(1969, 11, 31, 23, 59) is expected to not equal ``undefined``'
+);
var x43 = new Date(1969, 11, 31, 23, 59);
-if (typeof x43 !== "object") {
- throw new Test262Error("#4.3: typeof new Date(1969, 11, 31, 23, 59) should be 'object'");
-}
+assert.sameValue(typeof x43, "object", 'The value of `typeof x43` is expected to be "object"');
var x44 = new Date(1969, 11, 31, 23, 59);
-if (x44 === undefined) {
- throw new Test262Error("#4.4: new Date(1969, 11, 31, 23, 59) should not be undefined");
-}
+assert.notSameValue(x44, undefined, 'The value of x44 is expected to not equal ``undefined``');
-if (typeof new Date(1969, 12, 1, 0, 0) !== "object") {
- throw new Test262Error("#5.1: typeof new Date(1969, 12, 1, 0, 0) should be 'object'");
-}
+assert.sameValue(
+ typeof new Date(1969, 12, 1, 0, 0),
+ "object",
+ 'The value of `typeof new Date(1969, 12, 1, 0, 0)` is expected to be "object"'
+);
-if (new Date(1969, 12, 1, 0, 0) === undefined) {
- throw new Test262Error("#5.2: new Date(1969, 12, 1, 0, 0) should not be undefined");
-}
+assert.notSameValue(
+ new Date(1969, 12, 1, 0, 0),
+ undefined,
+ 'new Date(1969, 12, 1, 0, 0) is expected to not equal ``undefined``'
+);
var x53 = new Date(1969, 12, 1, 0, 0);
-if (typeof x53 !== "object") {
- throw new Test262Error("#5.3: typeof new Date(1969, 12, 1, 0, 0) should be 'object'");
-}
+assert.sameValue(typeof x53, "object", 'The value of `typeof x53` is expected to be "object"');
var x54 = new Date(1969, 12, 1, 0, 0);
-if (x54 === undefined) {
- throw new Test262Error("#5.4: new Date(1969, 12, 1, 0, 0) should not be undefined");
-}
+assert.notSameValue(x54, undefined, 'The value of x54 is expected to not equal ``undefined``');
-if (typeof new Date(1970, 0, 1, 0, 0) !== "object") {
- throw new Test262Error("#6.1: typeof new Date(1970, 0, 1, 0, 0) should be 'object'");
-}
+assert.sameValue(
+ typeof new Date(1970, 0, 1, 0, 0),
+ "object",
+ 'The value of `typeof new Date(1970, 0, 1, 0, 0)` is expected to be "object"'
+);
-if (new Date(1970, 0, 1, 0, 0) === undefined) {
- throw new Test262Error("#6.2: new Date(1970, 0, 1, 0, 0) should not be undefined");
-}
+assert.notSameValue(
+ new Date(1970, 0, 1, 0, 0),
+ undefined,
+ 'new Date(1970, 0, 1, 0, 0) is expected to not equal ``undefined``'
+);
var x63 = new Date(1970, 0, 1, 0, 0);
-if (typeof x63 !== "object") {
- throw new Test262Error("#6.3: typeof new Date(1970, 0, 1, 0, 0) should be 'object'");
-}
+assert.sameValue(typeof x63, "object", 'The value of `typeof x63` is expected to be "object"');
var x64 = new Date(1970, 0, 1, 0, 0);
-if (x64 === undefined) {
- throw new Test262Error("#6.4: new Date(1970, 0, 1, 0, 0) should not be undefined");
-}
+assert.notSameValue(x64, undefined, 'The value of x64 is expected to not equal ``undefined``');
-if (typeof new Date(1999, 11, 31, 23, 59) !== "object") {
- throw new Test262Error("#7.1: typeof new Date(1999, 11, 31, 23, 59) should be 'object'");
-}
+assert.sameValue(
+ typeof new Date(1999, 11, 31, 23, 59),
+ "object",
+ 'The value of `typeof new Date(1999, 11, 31, 23, 59)` is expected to be "object"'
+);
-if (new Date(1999, 11, 31, 23, 59) === undefined) {
- throw new Test262Error("#7.2: new Date(1999, 11, 31, 23, 59) should not be undefined");
-}
+assert.notSameValue(
+ new Date(1999, 11, 31, 23, 59),
+ undefined,
+ 'new Date(1999, 11, 31, 23, 59) is expected to not equal ``undefined``'
+);
var x73 = new Date(1999, 11, 31, 23, 59);
-if (typeof x73 !== "object") {
- throw new Test262Error("#7.3: typeof new Date(1999, 11, 31, 23, 59) should be 'object'");
-}
+assert.sameValue(typeof x73, "object", 'The value of `typeof x73` is expected to be "object"');
var x74 = new Date(1999, 11, 31, 23, 59);
-if (x74 === undefined) {
- throw new Test262Error("#7.4: new Date(1999, 11, 31, 23, 59) should not be undefined");
-}
+assert.notSameValue(x74, undefined, 'The value of x74 is expected to not equal ``undefined``');
-if (typeof new Date(1999, 12, 1, 0, 0) !== "object") {
- throw new Test262Error("#8.1: typeof new Date(1999, 12, 1, 0, 0) should be 'object'");
-}
+assert.sameValue(
+ typeof new Date(1999, 12, 1, 0, 0),
+ "object",
+ 'The value of `typeof new Date(1999, 12, 1, 0, 0)` is expected to be "object"'
+);
-if (new Date(1999, 12, 1, 0, 0) === undefined) {
- throw new Test262Error("#8.2: new Date(1999, 12, 1, 0, 0) should not be undefined");
-}
+assert.notSameValue(
+ new Date(1999, 12, 1, 0, 0),
+ undefined,
+ 'new Date(1999, 12, 1, 0, 0) is expected to not equal ``undefined``'
+);
var x83 = new Date(1999, 12, 1, 0, 0);
-if (typeof x83 !== "object") {
- throw new Test262Error("#8.3: typeof new Date(1999, 12, 1, 0, 0) should be 'object'");
-}
+assert.sameValue(typeof x83, "object", 'The value of `typeof x83` is expected to be "object"');
var x84 = new Date(1999, 12, 1, 0, 0);
-if (x84 === undefined) {
- throw new Test262Error("#8.4: new Date(1999, 12, 1, 0, 0) should not be undefined");
-}
+assert.notSameValue(x84, undefined, 'The value of x84 is expected to not equal ``undefined``');
-if (typeof new Date(2000, 0, 1, 0, 0) !== "object") {
- throw new Test262Error("#9.1: typeof new Date(2000, 0, 1, 0, 0) should be 'object'");
-}
+assert.sameValue(
+ typeof new Date(2000, 0, 1, 0, 0),
+ "object",
+ 'The value of `typeof new Date(2000, 0, 1, 0, 0)` is expected to be "object"'
+);
-if (new Date(2000, 0, 1, 0, 0) === undefined) {
- throw new Test262Error("#9.2: new Date(2000, 0, 1, 0, 0) should not be undefined");
-}
+assert.notSameValue(
+ new Date(2000, 0, 1, 0, 0),
+ undefined,
+ 'new Date(2000, 0, 1, 0, 0) is expected to not equal ``undefined``'
+);
var x93 = new Date(2000, 0, 1, 0, 0);
-if (typeof x93 !== "object") {
- throw new Test262Error("#9.3: typeof new Date(2000, 0, 1, 0, 0) should be 'object'");
-}
+assert.sameValue(typeof x93, "object", 'The value of `typeof x93` is expected to be "object"');
var x94 = new Date(2000, 0, 1, 0, 0);
-if (x94 === undefined) {
- throw new Test262Error("#9.4: new Date(2000, 0, 1, 0, 0) should not be undefined");
-}
+assert.notSameValue(x94, undefined, 'The value of x94 is expected to not equal ``undefined``');
-if (typeof new Date(2099, 11, 31, 23, 59) !== "object") {
- throw new Test262Error("#10.1: typeof new Date(2099, 11, 31, 23, 59) should be 'object'");
-}
+assert.sameValue(
+ typeof new Date(2099, 11, 31, 23, 59),
+ "object",
+ 'The value of `typeof new Date(2099, 11, 31, 23, 59)` is expected to be "object"'
+);
-if (new Date(2099, 11, 31, 23, 59) === undefined) {
- throw new Test262Error("#10.2: new Date(2099, 11, 31, 23, 59) should not be undefined");
-}
+assert.notSameValue(
+ new Date(2099, 11, 31, 23, 59),
+ undefined,
+ 'new Date(2099, 11, 31, 23, 59) is expected to not equal ``undefined``'
+);
var x103 = new Date(2099, 11, 31, 23, 59);
-if (typeof x103 !== "object") {
- throw new Test262Error("#10.3: typeof new Date(2099, 11, 31, 23, 59) should be 'object'");
-}
+assert.sameValue(typeof x103, "object", 'The value of `typeof x103` is expected to be "object"');
var x104 = new Date(2099, 11, 31, 23, 59);
-if (x104 === undefined) {
- throw new Test262Error("#10.4: new Date(2099, 11, 31, 23, 59) should not be undefined");
-}
+assert.notSameValue(x104, undefined, 'The value of x104 is expected to not equal ``undefined``');
-if (typeof new Date(2099, 12, 1, 0, 0) !== "object") {
- throw new Test262Error("#11.1: typeof new Date(2099, 12, 1, 0, 0) should be 'object'");
-}
+assert.sameValue(
+ typeof new Date(2099, 12, 1, 0, 0),
+ "object",
+ 'The value of `typeof new Date(2099, 12, 1, 0, 0)` is expected to be "object"'
+);
-if (new Date(2099, 12, 1, 0, 0) === undefined) {
- throw new Test262Error("#11.2: new Date(2099, 12, 1, 0, 0) should not be undefined");
-}
+assert.notSameValue(
+ new Date(2099, 12, 1, 0, 0),
+ undefined,
+ 'new Date(2099, 12, 1, 0, 0) is expected to not equal ``undefined``'
+);
var x113 = new Date(2099, 12, 1, 0, 0);
-if (typeof x113 !== "object") {
- throw new Test262Error("#11.3: typeof new Date(2099, 12, 1, 0, 0) should be 'object'");
-}
+assert.sameValue(typeof x113, "object", 'The value of `typeof x113` is expected to be "object"');
var x114 = new Date(2099, 12, 1, 0, 0);
-if (x114 === undefined) {
- throw new Test262Error("#11.4: new Date(2099, 12, 1, 0, 0) should not be undefined");
-}
+assert.notSameValue(x114, undefined, 'The value of x114 is expected to not equal ``undefined``');
-if (typeof new Date(2100, 0, 1, 0, 0) !== "object") {
- throw new Test262Error("#12.1: typeof new Date(2100, 0, 1, 0, 0) should be 'object'");
-}
+assert.sameValue(
+ typeof new Date(2100, 0, 1, 0, 0),
+ "object",
+ 'The value of `typeof new Date(2100, 0, 1, 0, 0)` is expected to be "object"'
+);
-if (new Date(2100, 0, 1, 0, 0) === undefined) {
- throw new Test262Error("#12.2: new Date(2100, 0, 1, 0, 0) should not be undefined");
-}
+assert.notSameValue(
+ new Date(2100, 0, 1, 0, 0),
+ undefined,
+ 'new Date(2100, 0, 1, 0, 0) is expected to not equal ``undefined``'
+);
var x123 = new Date(2100, 0, 1, 0, 0);
-if (typeof x123 !== "object") {
- throw new Test262Error("#12.3: typeof new Date(2100, 0, 1, 0, 0) should be 'object'");
-}
+assert.sameValue(typeof x123, "object", 'The value of `typeof x123` is expected to be "object"');
var x124 = new Date(2100, 0, 1, 0, 0);
-if (x124 === undefined) {
- throw new Test262Error("#12.4: new Date(2100, 0, 1, 0, 0) should not be undefined");
-}
+assert.notSameValue(x124, undefined, 'The value of x124 is expected to not equal ``undefined``');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/S15.9.3.1_A1_T5.js b/js/src/tests/test262/built-ins/Date/S15.9.3.1_A1_T5.js
index 10d847c40233..440c5cea98ea 100644
--- a/js/src/tests/test262/built-ins/Date/S15.9.3.1_A1_T5.js
+++ b/js/src/tests/test262/built-ins/Date/S15.9.3.1_A1_T5.js
@@ -8,221 +8,220 @@ info: |
esid: sec-date-year-month-date-hours-minutes-seconds-ms
description: 6 arguments, (year, month, date, hours, minutes, seconds)
---*/
+assert.sameValue(
+ typeof new Date(1899, 11, 31, 23, 59, 59),
+ "object",
+ 'The value of `typeof new Date(1899, 11, 31, 23, 59, 59)` is expected to be "object"'
+);
-if (typeof new Date(1899, 11, 31, 23, 59, 59) !== "object") {
- throw new Test262Error("#1.1: typeof new Date(1899, 11, 31, 23, 59, 59) should be 'object'");
-}
-
-if (new Date(1899, 11, 31, 23, 59, 59) === undefined) {
- throw new Test262Error("#1.2: new Date(1899, 11, 31, 23, 59, 59) should not be undefined");
-}
+assert.notSameValue(
+ new Date(1899, 11, 31, 23, 59, 59),
+ undefined,
+ 'new Date(1899, 11, 31, 23, 59, 59) is expected to not equal ``undefined``'
+);
var x13 = new Date(1899, 11, 31, 23, 59, 59);
-if (typeof x13 !== "object") {
- throw new Test262Error("#1.3: typeof new Date(1899, 11, 31, 23, 59, 59) should be 'object'");
-}
+assert.sameValue(typeof x13, "object", 'The value of `typeof x13` is expected to be "object"');
var x14 = new Date(1899, 11, 31, 23, 59, 59);
-if (x14 === undefined) {
- throw new Test262Error("#1.4: new Date(1899, 11, 31, 23, 59, 59) should not be undefined");
-}
+assert.notSameValue(x14, undefined, 'The value of x14 is expected to not equal ``undefined``');
-if (typeof new Date(1899, 12, 1, 0, 0, 0) !== "object") {
- throw new Test262Error("#2.1: typeof new Date(1899, 12, 1, 0, 0, 0) should be 'object'");
-}
+assert.sameValue(
+ typeof new Date(1899, 12, 1, 0, 0, 0),
+ "object",
+ 'The value of `typeof new Date(1899, 12, 1, 0, 0, 0)` is expected to be "object"'
+);
-if (new Date(1899, 12, 1, 0, 0, 0) === undefined) {
- throw new Test262Error("#2.2: new Date(1899, 12, 1, 0, 0, 0) should not be undefined");
-}
+assert.notSameValue(
+ new Date(1899, 12, 1, 0, 0, 0),
+ undefined,
+ 'new Date(1899, 12, 1, 0, 0, 0) is expected to not equal ``undefined``'
+);
var x23 = new Date(1899, 12, 1, 0, 0, 0);
-if (typeof x23 !== "object") {
- throw new Test262Error("#2.3: typeof new Date(1899, 12, 1, 0, 0, 0) should be 'object'");
-}
+assert.sameValue(typeof x23, "object", 'The value of `typeof x23` is expected to be "object"');
var x24 = new Date(1899, 12, 1, 0, 0, 0);
-if (x24 === undefined) {
- throw new Test262Error("#2.4: new Date(1899, 12, 1, 0, 0, 0) should not be undefined");
-}
+assert.notSameValue(x24, undefined, 'The value of x24 is expected to not equal ``undefined``');
-if (typeof new Date(1900, 0, 1, 0, 0, 0) !== "object") {
- throw new Test262Error("#3.1: typeof new Date(1900, 0, 1, 0, 0, 0) should be 'object'");
-}
+assert.sameValue(
+ typeof new Date(1900, 0, 1, 0, 0, 0),
+ "object",
+ 'The value of `typeof new Date(1900, 0, 1, 0, 0, 0)` is expected to be "object"'
+);
-if (new Date(1900, 0, 1, 0, 0, 0) === undefined) {
- throw new Test262Error("#3.2: new Date(1900, 0, 1, 0, 0, 0) should not be undefined");
-}
+assert.notSameValue(
+ new Date(1900, 0, 1, 0, 0, 0),
+ undefined,
+ 'new Date(1900, 0, 1, 0, 0, 0) is expected to not equal ``undefined``'
+);
var x33 = new Date(1900, 0, 1, 0, 0, 0);
-if (typeof x33 !== "object") {
- throw new Test262Error("#3.3: typeof new Date(1900, 0, 1, 0, 0, 0) should be 'object'");
-}
+assert.sameValue(typeof x33, "object", 'The value of `typeof x33` is expected to be "object"');
var x34 = new Date(1900, 0, 1, 0, 0, 0);
-if (x34 === undefined) {
- throw new Test262Error("#3.4: new Date(1900, 0, 1, 0, 0, 0) should not be undefined");
-}
+assert.notSameValue(x34, undefined, 'The value of x34 is expected to not equal ``undefined``');
-if (typeof new Date(1969, 11, 31, 23, 59, 59) !== "object") {
- throw new Test262Error("#4.1: typeof new Date(1969, 11, 31, 23, 59, 59) should be 'object'");
-}
+assert.sameValue(
+ typeof new Date(1969, 11, 31, 23, 59, 59),
+ "object",
+ 'The value of `typeof new Date(1969, 11, 31, 23, 59, 59)` is expected to be "object"'
+);
-if (new Date(1969, 11, 31, 23, 59, 59) === undefined) {
- throw new Test262Error("#4.2: new Date(1969, 11, 31, 23, 59, 59) should not be undefined");
-}
+assert.notSameValue(
+ new Date(1969, 11, 31, 23, 59, 59),
+ undefined,
+ 'new Date(1969, 11, 31, 23, 59, 59) is expected to not equal ``undefined``'
+);
var x43 = new Date(1969, 11, 31, 23, 59, 59);
-if (typeof x43 !== "object") {
- throw new Test262Error("#4.3: typeof new Date(1969, 11, 31, 23, 59, 59) should be 'object'");
-}
+assert.sameValue(typeof x43, "object", 'The value of `typeof x43` is expected to be "object"');
var x44 = new Date(1969, 11, 31, 23, 59, 59);
-if (x44 === undefined) {
- throw new Test262Error("#4.4: new Date(1969, 11, 31, 23, 59, 59) should not be undefined");
-}
+assert.notSameValue(x44, undefined, 'The value of x44 is expected to not equal ``undefined``');
-if (typeof new Date(1969, 12, 1, 0, 0, 0) !== "object") {
- throw new Test262Error("#5.1: typeof new Date(1969, 12, 1, 0, 0, 0) should be 'object'");
-}
+assert.sameValue(
+ typeof new Date(1969, 12, 1, 0, 0, 0),
+ "object",
+ 'The value of `typeof new Date(1969, 12, 1, 0, 0, 0)` is expected to be "object"'
+);
-if (new Date(1969, 12, 1, 0, 0, 0) === undefined) {
- throw new Test262Error("#5.2: new Date(1969, 12, 1, 0, 0, 0) should not be undefined");
-}
+assert.notSameValue(
+ new Date(1969, 12, 1, 0, 0, 0),
+ undefined,
+ 'new Date(1969, 12, 1, 0, 0, 0) is expected to not equal ``undefined``'
+);
var x53 = new Date(1969, 12, 1, 0, 0, 0);
-if (typeof x53 !== "object") {
- throw new Test262Error("#5.3: typeof new Date(1969, 12, 1, 0, 0, 0) should be 'object'");
-}
+assert.sameValue(typeof x53, "object", 'The value of `typeof x53` is expected to be "object"');
var x54 = new Date(1969, 12, 1, 0, 0, 0);
-if (x54 === undefined) {
- throw new Test262Error("#5.4: new Date(1969, 12, 1, 0, 0, 0) should not be undefined");
-}
+assert.notSameValue(x54, undefined, 'The value of x54 is expected to not equal ``undefined``');
-if (typeof new Date(1970, 0, 1, 0, 0, 0) !== "object") {
- throw new Test262Error("#6.1: typeof new Date(1970, 0, 1, 0, 0, 0) should be 'object'");
-}
+assert.sameValue(
+ typeof new Date(1970, 0, 1, 0, 0, 0),
+ "object",
+ 'The value of `typeof new Date(1970, 0, 1, 0, 0, 0)` is expected to be "object"'
+);
-if (new Date(1970, 0, 1, 0, 0, 0) === undefined) {
- throw new Test262Error("#6.2: new Date(1970, 0, 1, 0, 0, 0) should not be undefined");
-}
+assert.notSameValue(
+ new Date(1970, 0, 1, 0, 0, 0),
+ undefined,
+ 'new Date(1970, 0, 1, 0, 0, 0) is expected to not equal ``undefined``'
+);
var x63 = new Date(1970, 0, 1, 0, 0, 0);
-if (typeof x63 !== "object") {
- throw new Test262Error("#6.3: typeof new Date(1970, 0, 1, 0, 0, 0) should be 'object'");
-}
+assert.sameValue(typeof x63, "object", 'The value of `typeof x63` is expected to be "object"');
var x64 = new Date(1970, 0, 1, 0, 0, 0);
-if (x64 === undefined) {
- throw new Test262Error("#6.4: new Date(1970, 0, 1, 0, 0, 0) should not be undefined");
-}
+assert.notSameValue(x64, undefined, 'The value of x64 is expected to not equal ``undefined``');
-if (typeof new Date(1999, 11, 31, 23, 59, 59) !== "object") {
- throw new Test262Error("#7.1: typeof new Date(1999, 11, 31, 23, 59, 59) should be 'object'");
-}
+assert.sameValue(
+ typeof new Date(1999, 11, 31, 23, 59, 59),
+ "object",
+ 'The value of `typeof new Date(1999, 11, 31, 23, 59, 59)` is expected to be "object"'
+);
-if (new Date(1999, 11, 31, 23, 59, 59) === undefined) {
- throw new Test262Error("#7.2: new Date(1999, 11, 31, 23, 59, 59) should not be undefined");
-}
+assert.notSameValue(
+ new Date(1999, 11, 31, 23, 59, 59),
+ undefined,
+ 'new Date(1999, 11, 31, 23, 59, 59) is expected to not equal ``undefined``'
+);
var x73 = new Date(1999, 11, 31, 23, 59, 59);
-if (typeof x73 !== "object") {
- throw new Test262Error("#7.3: typeof new Date(1999, 11, 31, 23, 59, 59) should be 'object'");
-}
+assert.sameValue(typeof x73, "object", 'The value of `typeof x73` is expected to be "object"');
var x74 = new Date(1999, 11, 31, 23, 59, 59);
-if (x74 === undefined) {
- throw new Test262Error("#7.4: new Date(1999, 11, 31, 23, 59, 59) should not be undefined");
-}
+assert.notSameValue(x74, undefined, 'The value of x74 is expected to not equal ``undefined``');
-if (typeof new Date(1999, 12, 1, 0, 0, 0) !== "object") {
- throw new Test262Error("#8.1: typeof new Date(1999, 12, 1, 0, 0, 0) should be 'object'");
-}
+assert.sameValue(
+ typeof new Date(1999, 12, 1, 0, 0, 0),
+ "object",
+ 'The value of `typeof new Date(1999, 12, 1, 0, 0, 0)` is expected to be "object"'
+);
-if (new Date(1999, 12, 1, 0, 0, 0) === undefined) {
- throw new Test262Error("#8.2: new Date(1999, 12, 1, 0, 0, 0) should not be undefined");
-}
+assert.notSameValue(
+ new Date(1999, 12, 1, 0, 0, 0),
+ undefined,
+ 'new Date(1999, 12, 1, 0, 0, 0) is expected to not equal ``undefined``'
+);
var x83 = new Date(1999, 12, 1, 0, 0, 0);
-if (typeof x83 !== "object") {
- throw new Test262Error("#8.3: typeof new Date(1999, 12, 1, 0, 0, 0) should be 'object'");
-}
+assert.sameValue(typeof x83, "object", 'The value of `typeof x83` is expected to be "object"');
var x84 = new Date(1999, 12, 1, 0, 0, 0);
-if (x84 === undefined) {
- throw new Test262Error("#8.4: new Date(1999, 12, 1, 0, 0, 0) should not be undefined");
-}
+assert.notSameValue(x84, undefined, 'The value of x84 is expected to not equal ``undefined``');
-if (typeof new Date(2000, 0, 1, 0, 0, 0) !== "object") {
- throw new Test262Error("#9.1: typeof new Date(2000, 0, 1, 0, 0, 0) should be 'object'");
-}
+assert.sameValue(
+ typeof new Date(2000, 0, 1, 0, 0, 0),
+ "object",
+ 'The value of `typeof new Date(2000, 0, 1, 0, 0, 0)` is expected to be "object"'
+);
-if (new Date(2000, 0, 1, 0, 0, 0) === undefined) {
- throw new Test262Error("#9.2: new Date(2000, 0, 1, 0, 0, 0) should not be undefined");
-}
+assert.notSameValue(
+ new Date(2000, 0, 1, 0, 0, 0),
+ undefined,
+ 'new Date(2000, 0, 1, 0, 0, 0) is expected to not equal ``undefined``'
+);
var x93 = new Date(2000, 0, 1, 0, 0, 0);
-if (typeof x93 !== "object") {
- throw new Test262Error("#9.3: typeof new Date(2000, 0, 1, 0, 0, 0) should be 'object'");
-}
+assert.sameValue(typeof x93, "object", 'The value of `typeof x93` is expected to be "object"');
var x94 = new Date(2000, 0, 1, 0, 0, 0);
-if (x94 === undefined) {
- throw new Test262Error("#9.4: new Date(2000, 0, 1, 0, 0, 0) should not be undefined");
-}
+assert.notSameValue(x94, undefined, 'The value of x94 is expected to not equal ``undefined``');
-if (typeof new Date(2099, 11, 31, 23, 59, 59) !== "object") {
- throw new Test262Error("#10.1: typeof new Date(2099, 11, 31, 23, 59, 59) should be 'object'");
-}
+assert.sameValue(
+ typeof new Date(2099, 11, 31, 23, 59, 59),
+ "object",
+ 'The value of `typeof new Date(2099, 11, 31, 23, 59, 59)` is expected to be "object"'
+);
-if (new Date(2099, 11, 31, 23, 59, 59) === undefined) {
- throw new Test262Error("#10.2: new Date(2099, 11, 31, 23, 59, 59) should not be undefined");
-}
+assert.notSameValue(
+ new Date(2099, 11, 31, 23, 59, 59),
+ undefined,
+ 'new Date(2099, 11, 31, 23, 59, 59) is expected to not equal ``undefined``'
+);
var x103 = new Date(2099, 11, 31, 23, 59, 59);
-if (typeof x103 !== "object") {
- throw new Test262Error("#10.3: typeof new Date(2099, 11, 31, 23, 59, 59) should be 'object'");
-}
+assert.sameValue(typeof x103, "object", 'The value of `typeof x103` is expected to be "object"');
var x104 = new Date(2099, 11, 31, 23, 59, 59);
-if (x104 === undefined) {
- throw new Test262Error("#10.4: new Date(2099, 11, 31, 23, 59, 59) should not be undefined");
-}
+assert.notSameValue(x104, undefined, 'The value of x104 is expected to not equal ``undefined``');
-if (typeof new Date(2099, 12, 1, 0, 0, 0) !== "object") {
- throw new Test262Error("#11.1: typeof new Date(2099, 12, 1, 0, 0, 0) should be 'object'");
-}
+assert.sameValue(
+ typeof new Date(2099, 12, 1, 0, 0, 0),
+ "object",
+ 'The value of `typeof new Date(2099, 12, 1, 0, 0, 0)` is expected to be "object"'
+);
-if (new Date(2099, 12, 1, 0, 0, 0) === undefined) {
- throw new Test262Error("#11.2: new Date(2099, 12, 1, 0, 0, 0) should not be undefined");
-}
+assert.notSameValue(
+ new Date(2099, 12, 1, 0, 0, 0),
+ undefined,
+ 'new Date(2099, 12, 1, 0, 0, 0) is expected to not equal ``undefined``'
+);
var x113 = new Date(2099, 12, 1, 0, 0, 0);
-if (typeof x113 !== "object") {
- throw new Test262Error("#11.3: typeof new Date(2099, 12, 1, 0, 0, 0) should be 'object'");
-}
+assert.sameValue(typeof x113, "object", 'The value of `typeof x113` is expected to be "object"');
var x114 = new Date(2099, 12, 1, 0, 0, 0);
-if (x114 === undefined) {
- throw new Test262Error("#11.4: new Date(2099, 12, 1, 0, 0, 0) should not be undefined");
-}
+assert.notSameValue(x114, undefined, 'The value of x114 is expected to not equal ``undefined``');
-if (typeof new Date(2100, 0, 1, 0, 0, 0) !== "object") {
- throw new Test262Error("#12.1: typeof new Date(2100, 0, 1, 0, 0, 0) should be 'object'");
-}
+assert.sameValue(
+ typeof new Date(2100, 0, 1, 0, 0, 0),
+ "object",
+ 'The value of `typeof new Date(2100, 0, 1, 0, 0, 0)` is expected to be "object"'
+);
-if (new Date(2100, 0, 1, 0, 0, 0) === undefined) {
- throw new Test262Error("#12.2: new Date(2100, 0, 1, 0, 0, 0) should not be undefined");
-}
+assert.notSameValue(
+ new Date(2100, 0, 1, 0, 0, 0),
+ undefined,
+ 'new Date(2100, 0, 1, 0, 0, 0) is expected to not equal ``undefined``'
+);
var x123 = new Date(2100, 0, 1, 0, 0, 0);
-if (typeof x123 !== "object") {
- throw new Test262Error("#12.3: typeof new Date(2100, 0, 1, 0, 0, 0) should be 'object'");
-}
+assert.sameValue(typeof x123, "object", 'The value of `typeof x123` is expected to be "object"');
var x124 = new Date(2100, 0, 1, 0, 0, 0);
-if (x124 === undefined) {
- throw new Test262Error("#12.4: new Date(2100, 0, 1, 0, 0, 0) should not be undefined");
-}
+assert.notSameValue(x124, undefined, 'The value of x124 is expected to not equal ``undefined``');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/S15.9.3.1_A1_T6.js b/js/src/tests/test262/built-ins/Date/S15.9.3.1_A1_T6.js
index f13df330142f..51b960e152fa 100644
--- a/js/src/tests/test262/built-ins/Date/S15.9.3.1_A1_T6.js
+++ b/js/src/tests/test262/built-ins/Date/S15.9.3.1_A1_T6.js
@@ -8,221 +8,220 @@ info: |
esid: sec-date-year-month-date-hours-minutes-seconds-ms
description: 7 arguments, (year, month, date, hours, minutes, seconds, ms)
---*/
+assert.sameValue(
+ typeof new Date(1899, 11, 31, 23, 59, 59, 999),
+ "object",
+ 'The value of `typeof new Date(1899, 11, 31, 23, 59, 59, 999)` is expected to be "object"'
+);
-if (typeof new Date(1899, 11, 31, 23, 59, 59, 999) !== "object") {
- throw new Test262Error("#1.1: typeof new Date(1899, 11, 31, 23, 59, 59, 999) should be 'object'");
-}
-
-if (new Date(1899, 11, 31, 23, 59, 59, 999) === undefined) {
- throw new Test262Error("#1.2: new Date(1899, 11, 31, 23, 59, 59, 999) should not be undefined");
-}
+assert.notSameValue(
+ new Date(1899, 11, 31, 23, 59, 59, 999),
+ undefined,
+ 'new Date(1899, 11, 31, 23, 59, 59, 999) is expected to not equal ``undefined``'
+);
var x13 = new Date(1899, 11, 31, 23, 59, 59, 999);
-if (typeof x13 !== "object") {
- throw new Test262Error("#1.3: typeof new Date(1899, 11, 31, 23, 59, 59, 999) should be 'object'");
-}
+assert.sameValue(typeof x13, "object", 'The value of `typeof x13` is expected to be "object"');
var x14 = new Date(1899, 11, 31, 23, 59, 59, 999);
-if (x14 === undefined) {
- throw new Test262Error("#1.4: new Date(1899, 11, 31, 23, 59, 59, 999) should not be undefined");
-}
+assert.notSameValue(x14, undefined, 'The value of x14 is expected to not equal ``undefined``');
-if (typeof new Date(1899, 12, 1, 0, 0, 0, 0) !== "object") {
- throw new Test262Error("#2.1: typeof new Date(1899, 12, 1, 0, 0, 0, 0) should be 'object'");
-}
+assert.sameValue(
+ typeof new Date(1899, 12, 1, 0, 0, 0, 0),
+ "object",
+ 'The value of `typeof new Date(1899, 12, 1, 0, 0, 0, 0)` is expected to be "object"'
+);
-if (new Date(1899, 12, 1, 0, 0, 0, 0) === undefined) {
- throw new Test262Error("#2.2: new Date(1899, 12, 1, 0, 0, 0, 0) should not be undefined");
-}
+assert.notSameValue(
+ new Date(1899, 12, 1, 0, 0, 0, 0),
+ undefined,
+ 'new Date(1899, 12, 1, 0, 0, 0, 0) is expected to not equal ``undefined``'
+);
var x23 = new Date(1899, 12, 1, 0, 0, 0, 0);
-if (typeof x23 !== "object") {
- throw new Test262Error("#2.3: typeof new Date(1899, 12, 1, 0, 0, 0, 0) should be 'object'");
-}
+assert.sameValue(typeof x23, "object", 'The value of `typeof x23` is expected to be "object"');
var x24 = new Date(1899, 12, 1, 0, 0, 0, 0);
-if (x24 === undefined) {
- throw new Test262Error("#2.4: new Date(1899, 12, 1, 0, 0, 0, 0) should not be undefined");
-}
+assert.notSameValue(x24, undefined, 'The value of x24 is expected to not equal ``undefined``');
-if (typeof new Date(1900, 0, 1, 0, 0, 0, 0) !== "object") {
- throw new Test262Error("#3.1: typeof new Date(1900, 0, 1, 0, 0, 0, 0) should be 'object'");
-}
+assert.sameValue(
+ typeof new Date(1900, 0, 1, 0, 0, 0, 0),
+ "object",
+ 'The value of `typeof new Date(1900, 0, 1, 0, 0, 0, 0)` is expected to be "object"'
+);
-if (new Date(1900, 0, 1, 0, 0, 0, 0) === undefined) {
- throw new Test262Error("#3.2: new Date(1900, 0, 1, 0, 0, 0, 0) should not be undefined");
-}
+assert.notSameValue(
+ new Date(1900, 0, 1, 0, 0, 0, 0),
+ undefined,
+ 'new Date(1900, 0, 1, 0, 0, 0, 0) is expected to not equal ``undefined``'
+);
var x33 = new Date(1900, 0, 1, 0, 0, 0, 0);
-if (typeof x33 !== "object") {
- throw new Test262Error("#3.3: typeof new Date(1900, 0, 1, 0, 0, 0, 0) should be 'object'");
-}
+assert.sameValue(typeof x33, "object", 'The value of `typeof x33` is expected to be "object"');
var x34 = new Date(1900, 0, 1, 0, 0, 0, 0);
-if (x34 === undefined) {
- throw new Test262Error("#3.4: new Date(1900, 0, 1, 0, 0, 0, 0) should not be undefined");
-}
+assert.notSameValue(x34, undefined, 'The value of x34 is expected to not equal ``undefined``');
-if (typeof new Date(1969, 11, 31, 23, 59, 59, 999) !== "object") {
- throw new Test262Error("#4.1: typeof new Date(1969, 11, 31, 23, 59, 59, 999) should be 'object'");
-}
+assert.sameValue(
+ typeof new Date(1969, 11, 31, 23, 59, 59, 999),
+ "object",
+ 'The value of `typeof new Date(1969, 11, 31, 23, 59, 59, 999)` is expected to be "object"'
+);
-if (new Date(1969, 11, 31, 23, 59, 59, 999) === undefined) {
- throw new Test262Error("#4.2: new Date(1969, 11, 31, 23, 59, 59, 999) should not be undefined");
-}
+assert.notSameValue(
+ new Date(1969, 11, 31, 23, 59, 59, 999),
+ undefined,
+ 'new Date(1969, 11, 31, 23, 59, 59, 999) is expected to not equal ``undefined``'
+);
var x43 = new Date(1969, 11, 31, 23, 59, 59, 999);
-if (typeof x43 !== "object") {
- throw new Test262Error("#4.3: typeof new Date(1969, 11, 31, 23, 59, 59, 999) should be 'object'");
-}
+assert.sameValue(typeof x43, "object", 'The value of `typeof x43` is expected to be "object"');
var x44 = new Date(1969, 11, 31, 23, 59, 59, 999);
-if (x44 === undefined) {
- throw new Test262Error("#4.4: new Date(1969, 11, 31, 23, 59, 59, 999) should not be undefined");
-}
+assert.notSameValue(x44, undefined, 'The value of x44 is expected to not equal ``undefined``');
-if (typeof new Date(1969, 12, 1, 0, 0, 0, 0) !== "object") {
- throw new Test262Error("#5.1: typeof new Date(1969, 12, 1, 0, 0, 0, 0) should be 'object'");
-}
+assert.sameValue(
+ typeof new Date(1969, 12, 1, 0, 0, 0, 0),
+ "object",
+ 'The value of `typeof new Date(1969, 12, 1, 0, 0, 0, 0)` is expected to be "object"'
+);
-if (new Date(1969, 12, 1, 0, 0, 0, 0) === undefined) {
- throw new Test262Error("#5.2: new Date(1969, 12, 1, 0, 0, 0, 0) should not be undefined");
-}
+assert.notSameValue(
+ new Date(1969, 12, 1, 0, 0, 0, 0),
+ undefined,
+ 'new Date(1969, 12, 1, 0, 0, 0, 0) is expected to not equal ``undefined``'
+);
var x53 = new Date(1969, 12, 1, 0, 0, 0, 0);
-if (typeof x53 !== "object") {
- throw new Test262Error("#5.3: typeof new Date(1969, 12, 1, 0, 0, 0, 0) should be 'object'");
-}
+assert.sameValue(typeof x53, "object", 'The value of `typeof x53` is expected to be "object"');
var x54 = new Date(1969, 12, 1, 0, 0, 0, 0);
-if (x54 === undefined) {
- throw new Test262Error("#5.4: new Date(1969, 12, 1, 0, 0, 0, 0) should not be undefined");
-}
+assert.notSameValue(x54, undefined, 'The value of x54 is expected to not equal ``undefined``');
-if (typeof new Date(1970, 0, 1, 0, 0, 0, 0) !== "object") {
- throw new Test262Error("#6.1: typeof new Date(1970, 0, 1, 0, 0, 0, 0) should be 'object'");
-}
+assert.sameValue(
+ typeof new Date(1970, 0, 1, 0, 0, 0, 0),
+ "object",
+ 'The value of `typeof new Date(1970, 0, 1, 0, 0, 0, 0)` is expected to be "object"'
+);
-if (new Date(1970, 0, 1, 0, 0, 0, 0) === undefined) {
- throw new Test262Error("#6.2: new Date(1970, 0, 1, 0, 0, 0, 0) should not be undefined");
-}
+assert.notSameValue(
+ new Date(1970, 0, 1, 0, 0, 0, 0),
+ undefined,
+ 'new Date(1970, 0, 1, 0, 0, 0, 0) is expected to not equal ``undefined``'
+);
var x63 = new Date(1970, 0, 1, 0, 0, 0, 0);
-if (typeof x63 !== "object") {
- throw new Test262Error("#6.3: typeof new Date(1970, 0, 1, 0, 0, 0, 0) should be 'object'");
-}
+assert.sameValue(typeof x63, "object", 'The value of `typeof x63` is expected to be "object"');
var x64 = new Date(1970, 0, 1, 0, 0, 0, 0);
-if (x64 === undefined) {
- throw new Test262Error("#6.4: new Date(1970, 0, 1, 0, 0, 0, 0) should not be undefined");
-}
+assert.notSameValue(x64, undefined, 'The value of x64 is expected to not equal ``undefined``');
-if (typeof new Date(1999, 11, 31, 23, 59, 59, 999) !== "object") {
- throw new Test262Error("#7.1: typeof new Date(1999, 11, 31, 23, 59, 59, 999) should be 'object'");
-}
+assert.sameValue(
+ typeof new Date(1999, 11, 31, 23, 59, 59, 999),
+ "object",
+ 'The value of `typeof new Date(1999, 11, 31, 23, 59, 59, 999)` is expected to be "object"'
+);
-if (new Date(1999, 11, 31, 23, 59, 59, 999) === undefined) {
- throw new Test262Error("#7.2: new Date(1999, 11, 31, 23, 59, 59, 999) should not be undefined");
-}
+assert.notSameValue(
+ new Date(1999, 11, 31, 23, 59, 59, 999),
+ undefined,
+ 'new Date(1999, 11, 31, 23, 59, 59, 999) is expected to not equal ``undefined``'
+);
var x73 = new Date(1999, 11, 31, 23, 59, 59, 999);
-if (typeof x73 !== "object") {
- throw new Test262Error("#7.3: typeof new Date(1999, 11, 31, 23, 59, 59, 999) should be 'object'");
-}
+assert.sameValue(typeof x73, "object", 'The value of `typeof x73` is expected to be "object"');
var x74 = new Date(1999, 11, 31, 23, 59, 59, 999);
-if (x74 === undefined) {
- throw new Test262Error("#7.4: new Date(1999, 11, 31, 23, 59, 59, 999) should not be undefined");
-}
+assert.notSameValue(x74, undefined, 'The value of x74 is expected to not equal ``undefined``');
-if (typeof new Date(1999, 12, 1, 0, 0, 0, 0) !== "object") {
- throw new Test262Error("#8.1: typeof new Date(1999, 12, 1, 0, 0, 0, 0) should be 'object'");
-}
+assert.sameValue(
+ typeof new Date(1999, 12, 1, 0, 0, 0, 0),
+ "object",
+ 'The value of `typeof new Date(1999, 12, 1, 0, 0, 0, 0)` is expected to be "object"'
+);
-if (new Date(1999, 12, 1, 0, 0, 0, 0) === undefined) {
- throw new Test262Error("#8.2: new Date(1999, 12, 1, 0, 0, 0, 0) should not be undefined");
-}
+assert.notSameValue(
+ new Date(1999, 12, 1, 0, 0, 0, 0),
+ undefined,
+ 'new Date(1999, 12, 1, 0, 0, 0, 0) is expected to not equal ``undefined``'
+);
var x83 = new Date(1999, 12, 1, 0, 0, 0, 0);
-if (typeof x83 !== "object") {
- throw new Test262Error("#8.3: typeof new Date(1999, 12, 1, 0, 0, 0, 0) should be 'object'");
-}
+assert.sameValue(typeof x83, "object", 'The value of `typeof x83` is expected to be "object"');
var x84 = new Date(1999, 12, 1, 0, 0, 0, 0);
-if (x84 === undefined) {
- throw new Test262Error("#8.4: new Date(1999, 12, 1, 0, 0, 0, 0) should not be undefined");
-}
+assert.notSameValue(x84, undefined, 'The value of x84 is expected to not equal ``undefined``');
-if (typeof new Date(2000, 0, 1, 0, 0, 0, 0) !== "object") {
- throw new Test262Error("#9.1: typeof new Date(2000, 0, 1, 0, 0, 0, 0) should be 'object'");
-}
+assert.sameValue(
+ typeof new Date(2000, 0, 1, 0, 0, 0, 0),
+ "object",
+ 'The value of `typeof new Date(2000, 0, 1, 0, 0, 0, 0)` is expected to be "object"'
+);
-if (new Date(2000, 0, 1, 0, 0, 0, 0) === undefined) {
- throw new Test262Error("#9.2: new Date(2000, 0, 1, 0, 0, 0, 0) should not be undefined");
-}
+assert.notSameValue(
+ new Date(2000, 0, 1, 0, 0, 0, 0),
+ undefined,
+ 'new Date(2000, 0, 1, 0, 0, 0, 0) is expected to not equal ``undefined``'
+);
var x93 = new Date(2000, 0, 1, 0, 0, 0, 0);
-if (typeof x93 !== "object") {
- throw new Test262Error("#9.3: typeof new Date(2000, 0, 1, 0, 0, 0, 0) should be 'object'");
-}
+assert.sameValue(typeof x93, "object", 'The value of `typeof x93` is expected to be "object"');
var x94 = new Date(2000, 0, 1, 0, 0, 0, 0);
-if (x94 === undefined) {
- throw new Test262Error("#9.4: new Date(2000, 0, 1, 0, 0, 0, 0) should not be undefined");
-}
+assert.notSameValue(x94, undefined, 'The value of x94 is expected to not equal ``undefined``');
-if (typeof new Date(2099, 11, 31, 23, 59, 59, 999) !== "object") {
- throw new Test262Error("#10.1: typeof new Date(2099, 11, 31, 23, 59, 59, 999) should be 'object'");
-}
+assert.sameValue(
+ typeof new Date(2099, 11, 31, 23, 59, 59, 999),
+ "object",
+ 'The value of `typeof new Date(2099, 11, 31, 23, 59, 59, 999)` is expected to be "object"'
+);
-if (new Date(2099, 11, 31, 23, 59, 59, 999) === undefined) {
- throw new Test262Error("#10.2: new Date(2099, 11, 31, 23, 59, 59, 999) should not be undefined");
-}
+assert.notSameValue(
+ new Date(2099, 11, 31, 23, 59, 59, 999),
+ undefined,
+ 'new Date(2099, 11, 31, 23, 59, 59, 999) is expected to not equal ``undefined``'
+);
var x103 = new Date(2099, 11, 31, 23, 59, 59, 999);
-if (typeof x103 !== "object") {
- throw new Test262Error("#10.3: typeof new Date(2099, 11, 31, 23, 59, 59, 999) should be 'object'");
-}
+assert.sameValue(typeof x103, "object", 'The value of `typeof x103` is expected to be "object"');
var x104 = new Date(2099, 11, 31, 23, 59, 59, 999);
-if (x104 === undefined) {
- throw new Test262Error("#10.4: new Date(2099, 11, 31, 23, 59, 59, 999) should not be undefined");
-}
+assert.notSameValue(x104, undefined, 'The value of x104 is expected to not equal ``undefined``');
-if (typeof new Date(2099, 12, 1, 0, 0, 0, 0) !== "object") {
- throw new Test262Error("#11.1: typeof new Date(2099, 12, 1, 0, 0, 0, 0) should be 'object'");
-}
+assert.sameValue(
+ typeof new Date(2099, 12, 1, 0, 0, 0, 0),
+ "object",
+ 'The value of `typeof new Date(2099, 12, 1, 0, 0, 0, 0)` is expected to be "object"'
+);
-if (new Date(2099, 12, 1, 0, 0, 0, 0) === undefined) {
- throw new Test262Error("#11.2: new Date(2099, 12, 1, 0, 0, 0, 0) should not be undefined");
-}
+assert.notSameValue(
+ new Date(2099, 12, 1, 0, 0, 0, 0),
+ undefined,
+ 'new Date(2099, 12, 1, 0, 0, 0, 0) is expected to not equal ``undefined``'
+);
var x113 = new Date(2099, 12, 1, 0, 0, 0, 0);
-if (typeof x113 !== "object") {
- throw new Test262Error("#11.3: typeof new Date(2099, 12, 1, 0, 0, 0, 0) should be 'object'");
-}
+assert.sameValue(typeof x113, "object", 'The value of `typeof x113` is expected to be "object"');
var x114 = new Date(2099, 12, 1, 0, 0, 0, 0);
-if (x114 === undefined) {
- throw new Test262Error("#11.4: new Date(2099, 12, 1, 0, 0, 0, 0) should not be undefined");
-}
+assert.notSameValue(x114, undefined, 'The value of x114 is expected to not equal ``undefined``');
-if (typeof new Date(2100, 0, 1, 0, 0, 0, 0) !== "object") {
- throw new Test262Error("#12.1: typeof new Date(2100, 0, 1, 0, 0, 0, 0) should be 'object'");
-}
+assert.sameValue(
+ typeof new Date(2100, 0, 1, 0, 0, 0, 0),
+ "object",
+ 'The value of `typeof new Date(2100, 0, 1, 0, 0, 0, 0)` is expected to be "object"'
+);
-if (new Date(2100, 0, 1, 0, 0, 0, 0) === undefined) {
- throw new Test262Error("#12.2: new Date(2100, 0, 1, 0, 0, 0, 0) should not be undefined");
-}
+assert.notSameValue(
+ new Date(2100, 0, 1, 0, 0, 0, 0),
+ undefined,
+ 'new Date(2100, 0, 1, 0, 0, 0, 0) is expected to not equal ``undefined``'
+);
var x123 = new Date(2100, 0, 1, 0, 0, 0, 0);
-if (typeof x123 !== "object") {
- throw new Test262Error("#12.3: typeof new Date(2100, 0, 1, 0, 0, 0, 0) should be 'object'");
-}
+assert.sameValue(typeof x123, "object", 'The value of `typeof x123` is expected to be "object"');
var x124 = new Date(2100, 0, 1, 0, 0, 0, 0);
-if (x124 === undefined) {
- throw new Test262Error("#12.4: new Date(2100, 0, 1, 0, 0, 0, 0) should not be undefined");
-}
+assert.notSameValue(x124, undefined, 'The value of x124 is expected to not equal ``undefined``');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/S15.9.3.1_A2_T1.js b/js/src/tests/test262/built-ins/Date/S15.9.3.1_A2_T1.js
index 46cf90d13a2d..54e4ea72f22e 100644
--- a/js/src/tests/test262/built-ins/Date/S15.9.3.1_A2_T1.js
+++ b/js/src/tests/test262/built-ins/Date/S15.9.3.1_A2_T1.js
@@ -11,183 +11,231 @@ description: 2 arguments, (year, month)
---*/
var x11 = new Date(1899, 11);
-if (typeof x11.constructor.prototype !== "object") {
- throw new Test262Error("#1.1: typeof x11.constructor.prototype === 'object'");
-}
+
+assert.sameValue(
+ typeof x11.constructor.prototype,
+ "object",
+ 'The value of `typeof x11.constructor.prototype` is expected to be "object"'
+);
var x12 = new Date(1899, 11);
-if (!Date.prototype.isPrototypeOf(x12)) {
- throw new Test262Error('#1.2: Date.prototype.isPrototypeOf(x12)');
-}
+assert(Date.prototype.isPrototypeOf(x12), 'Date.prototype.isPrototypeOf(x12) must return true');
var x13 = new Date(1899, 11);
-if (Date.prototype !== x13.constructor.prototype) {
- throw new Test262Error("#1.3: Date.prototype === x13.constructor.prototype");
-}
+
+assert.sameValue(
+ Date.prototype,
+ x13.constructor.prototype,
+ 'The value of Date.prototype is expected to equal the value of x13.constructor.prototype'
+);
var x21 = new Date(1899, 12);
-if (typeof x21.constructor.prototype !== "object") {
- throw new Test262Error("#2.1: typeof x11.constructor.prototype === 'object'");
-}
+
+assert.sameValue(
+ typeof x21.constructor.prototype,
+ "object",
+ 'The value of `typeof x21.constructor.prototype` is expected to be "object"'
+);
var x22 = new Date(1899, 12);
-if (!Date.prototype.isPrototypeOf(x22)) {
- throw new Test262Error('#2.2: Date.prototype.isPrototypeOf(x22)');
-}
+assert(Date.prototype.isPrototypeOf(x22), 'Date.prototype.isPrototypeOf(x22) must return true');
var x23 = new Date(1899, 12);
-if (Date.prototype !== x23.constructor.prototype) {
- throw new Test262Error("#2.3: Date.prototype === x23.constructor.prototype");
-}
+
+assert.sameValue(
+ Date.prototype,
+ x23.constructor.prototype,
+ 'The value of Date.prototype is expected to equal the value of x23.constructor.prototype'
+);
var x31 = new Date(1900, 0);
-if (typeof x31.constructor.prototype !== "object") {
- throw new Test262Error("#3.1: typeof x31.constructor.prototype === 'object'");
-}
+
+assert.sameValue(
+ typeof x31.constructor.prototype,
+ "object",
+ 'The value of `typeof x31.constructor.prototype` is expected to be "object"'
+);
var x32 = new Date(1900, 0);
-if (!Date.prototype.isPrototypeOf(x32)) {
- throw new Test262Error('#3.2: Date.prototype.isPrototypeOf(x32)');
-}
+assert(Date.prototype.isPrototypeOf(x32), 'Date.prototype.isPrototypeOf(x32) must return true');
var x33 = new Date(1900, 0);
-if (Date.prototype !== x33.constructor.prototype) {
- throw new Test262Error("#3.3: Date.prototype === x33.constructor.prototype");
-}
+
+assert.sameValue(
+ Date.prototype,
+ x33.constructor.prototype,
+ 'The value of Date.prototype is expected to equal the value of x33.constructor.prototype'
+);
var x41 = new Date(1969, 11);
-if (typeof x41.constructor.prototype !== "object") {
- throw new Test262Error("#4.1: typeof x41.constructor.prototype === 'object'");
-}
+
+assert.sameValue(
+ typeof x41.constructor.prototype,
+ "object",
+ 'The value of `typeof x41.constructor.prototype` is expected to be "object"'
+);
var x42 = new Date(1969, 11);
-if (!Date.prototype.isPrototypeOf(x42)) {
- throw new Test262Error('#4.2: Date.prototype.isPrototypeOf(x42)');
-}
+assert(Date.prototype.isPrototypeOf(x42), 'Date.prototype.isPrototypeOf(x42) must return true');
var x43 = new Date(1969, 11);
-if (Date.prototype !== x43.constructor.prototype) {
- throw new Test262Error("#4.3: Date.prototype === x43.constructor.prototype");
-}
+
+assert.sameValue(
+ Date.prototype,
+ x43.constructor.prototype,
+ 'The value of Date.prototype is expected to equal the value of x43.constructor.prototype'
+);
var x51 = new Date(1969, 12);
-if (typeof x51.constructor.prototype !== "object") {
- throw new Test262Error("#5.1: typeof x51.constructor.prototype === 'object'");
-}
+
+assert.sameValue(
+ typeof x51.constructor.prototype,
+ "object",
+ 'The value of `typeof x51.constructor.prototype` is expected to be "object"'
+);
var x52 = new Date(1969, 12);
-if (!Date.prototype.isPrototypeOf(x52)) {
- throw new Test262Error('#5.2: Date.prototype.isPrototypeOf(x52)');
-}
+assert(Date.prototype.isPrototypeOf(x52), 'Date.prototype.isPrototypeOf(x52) must return true');
var x53 = new Date(1969, 12);
-if (Date.prototype !== x53.constructor.prototype) {
- throw new Test262Error("#5.3: Date.prototype === x53.constructor.prototype");
-}
+
+assert.sameValue(
+ Date.prototype,
+ x53.constructor.prototype,
+ 'The value of Date.prototype is expected to equal the value of x53.constructor.prototype'
+);
var x61 = new Date(1970, 0);
-if (typeof x61.constructor.prototype !== "object") {
- throw new Test262Error("#6.1: typeof x61.constructor.prototype === 'object'");
-}
+
+assert.sameValue(
+ typeof x61.constructor.prototype,
+ "object",
+ 'The value of `typeof x61.constructor.prototype` is expected to be "object"'
+);
var x62 = new Date(1970, 0);
-if (!Date.prototype.isPrototypeOf(x62)) {
- throw new Test262Error('#6.2: Date.prototype.isPrototypeOf(x62)');
-}
+assert(Date.prototype.isPrototypeOf(x62), 'Date.prototype.isPrototypeOf(x62) must return true');
var x63 = new Date(1970, 0);
-if (Date.prototype !== x63.constructor.prototype) {
- throw new Test262Error("#6.3: Date.prototype === x63.constructor.prototype");
-}
+
+assert.sameValue(
+ Date.prototype,
+ x63.constructor.prototype,
+ 'The value of Date.prototype is expected to equal the value of x63.constructor.prototype'
+);
var x71 = new Date(1999, 11);
-if (typeof x71.constructor.prototype !== "object") {
- throw new Test262Error("#7.1: typeof x71.constructor.prototype === 'object'");
-}
+
+assert.sameValue(
+ typeof x71.constructor.prototype,
+ "object",
+ 'The value of `typeof x71.constructor.prototype` is expected to be "object"'
+);
var x72 = new Date(1999, 11);
-if (!Date.prototype.isPrototypeOf(x72)) {
- throw new Test262Error('#7.2: Date.prototype.isPrototypeOf(x72)');
-}
+assert(Date.prototype.isPrototypeOf(x72), 'Date.prototype.isPrototypeOf(x72) must return true');
var x73 = new Date(1999, 11);
-if (Date.prototype !== x73.constructor.prototype) {
- throw new Test262Error("#7.3: Date.prototype === x73.constructor.prototype");
-}
+
+assert.sameValue(
+ Date.prototype,
+ x73.constructor.prototype,
+ 'The value of Date.prototype is expected to equal the value of x73.constructor.prototype'
+);
var x81 = new Date(1999, 12);
-if (typeof x81.constructor.prototype !== "object") {
- throw new Test262Error("#8.1: typeof x81.constructor.prototype === 'object'");
-}
+
+assert.sameValue(
+ typeof x81.constructor.prototype,
+ "object",
+ 'The value of `typeof x81.constructor.prototype` is expected to be "object"'
+);
var x82 = new Date(1999, 12);
-if (!Date.prototype.isPrototypeOf(x82)) {
- throw new Test262Error('#8.2: Date.prototype.isPrototypeOf(x82)');
-}
+assert(Date.prototype.isPrototypeOf(x82), 'Date.prototype.isPrototypeOf(x82) must return true');
var x83 = new Date(1999, 12);
-if (Date.prototype !== x83.constructor.prototype) {
- throw new Test262Error("#8.3: Date.prototype === x83.constructor.prototype");
-}
+
+assert.sameValue(
+ Date.prototype,
+ x83.constructor.prototype,
+ 'The value of Date.prototype is expected to equal the value of x83.constructor.prototype'
+);
var x91 = new Date(2000, 0);
-if (typeof x91.constructor.prototype !== "object") {
- throw new Test262Error("#9.1: typeof x91.constructor.prototype === 'object'");
-}
+
+assert.sameValue(
+ typeof x91.constructor.prototype,
+ "object",
+ 'The value of `typeof x91.constructor.prototype` is expected to be "object"'
+);
var x92 = new Date(2000, 0);
-if (!Date.prototype.isPrototypeOf(x92)) {
- throw new Test262Error('#9.2: Date.prototype.isPrototypeOf(x92)');
-}
+assert(Date.prototype.isPrototypeOf(x92), 'Date.prototype.isPrototypeOf(x92) must return true');
var x93 = new Date(2000, 0);
-if (Date.prototype !== x93.constructor.prototype) {
- throw new Test262Error("#9.3: Date.prototype === x93.constructor.prototype");
-}
+
+assert.sameValue(
+ Date.prototype,
+ x93.constructor.prototype,
+ 'The value of Date.prototype is expected to equal the value of x93.constructor.prototype'
+);
var x101 = new Date(2099, 11);
-if (typeof x101.constructor.prototype !== "object") {
- throw new Test262Error("#10.1: typeof x101.constructor.prototype === 'object'");
-}
+
+assert.sameValue(
+ typeof x101.constructor.prototype,
+ "object",
+ 'The value of `typeof x101.constructor.prototype` is expected to be "object"'
+);
var x102 = new Date(2099, 11);
-if (!Date.prototype.isPrototypeOf(x102)) {
- throw new Test262Error('#10.2: Date.prototype.isPrototypeOf(x102)');
-}
+assert(Date.prototype.isPrototypeOf(x102), 'Date.prototype.isPrototypeOf(x102) must return true');
var x103 = new Date(2099, 11);
-if (Date.prototype !== x103.constructor.prototype) {
- throw new Test262Error("#10.3: Date.prototype === x103.constructor.prototype");
-}
+
+assert.sameValue(
+ Date.prototype,
+ x103.constructor.prototype,
+ 'The value of Date.prototype is expected to equal the value of x103.constructor.prototype'
+);
var x111 = new Date(2099, 12);
-if (typeof x111.constructor.prototype !== "object") {
- throw new Test262Error("#11.1: typeof x111.constructor.prototype === 'object'");
-}
+
+assert.sameValue(
+ typeof x111.constructor.prototype,
+ "object",
+ 'The value of `typeof x111.constructor.prototype` is expected to be "object"'
+);
var x112 = new Date(2099, 12);
-if (!Date.prototype.isPrototypeOf(x112)) {
- throw new Test262Error('#11.2: Date.prototype.isPrototypeOf(x112)');
-}
+assert(Date.prototype.isPrototypeOf(x112), 'Date.prototype.isPrototypeOf(x112) must return true');
var x113 = new Date(2099, 12);
-if (Date.prototype !== x113.constructor.prototype) {
- throw new Test262Error("#11.3: Date.prototype === x113.constructor.prototype");
-}
+
+assert.sameValue(
+ Date.prototype,
+ x113.constructor.prototype,
+ 'The value of Date.prototype is expected to equal the value of x113.constructor.prototype'
+);
var x121 = new Date(2100, 0);
-if (typeof x121.constructor.prototype !== "object") {
- throw new Test262Error("#12.1: typeof x121.constructor.prototype === 'object'");
-}
+
+assert.sameValue(
+ typeof x121.constructor.prototype,
+ "object",
+ 'The value of `typeof x121.constructor.prototype` is expected to be "object"'
+);
var x122 = new Date(2100, 0);
-if (!Date.prototype.isPrototypeOf(x122)) {
- throw new Test262Error('#12.2: Date.prototype.isPrototypeOf(x122)');
-}
+assert(Date.prototype.isPrototypeOf(x122), 'Date.prototype.isPrototypeOf(x122) must return true');
var x123 = new Date(2100, 0);
-if (Date.prototype !== x123.constructor.prototype) {
- throw new Test262Error("#12.3: Date.prototype === x123.constructor.prototype");
-}
+
+assert.sameValue(
+ Date.prototype,
+ x123.constructor.prototype,
+ 'The value of Date.prototype is expected to equal the value of x123.constructor.prototype'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/S15.9.3.1_A2_T2.js b/js/src/tests/test262/built-ins/Date/S15.9.3.1_A2_T2.js
index 523b749bff04..442fe547bca1 100644
--- a/js/src/tests/test262/built-ins/Date/S15.9.3.1_A2_T2.js
+++ b/js/src/tests/test262/built-ins/Date/S15.9.3.1_A2_T2.js
@@ -11,183 +11,231 @@ description: 3 arguments, (year, month, date)
---*/
var x11 = new Date(1899, 11, 31);
-if (typeof x11.constructor.prototype !== "object") {
- throw new Test262Error("#1.1: typeof x11.constructor.prototype === 'object'");
-}
+
+assert.sameValue(
+ typeof x11.constructor.prototype,
+ "object",
+ 'The value of `typeof x11.constructor.prototype` is expected to be "object"'
+);
var x12 = new Date(1899, 11, 31);
-if (!Date.prototype.isPrototypeOf(x12)) {
- throw new Test262Error('#1.2: Date.prototype.isPrototypeOf(x12)');
-}
+assert(Date.prototype.isPrototypeOf(x12), 'Date.prototype.isPrototypeOf(x12) must return true');
var x13 = new Date(1899, 11, 31);
-if (Date.prototype !== x13.constructor.prototype) {
- throw new Test262Error("#1.3: Date.prototype === x13.constructor.prototype");
-}
+
+assert.sameValue(
+ Date.prototype,
+ x13.constructor.prototype,
+ 'The value of Date.prototype is expected to equal the value of x13.constructor.prototype'
+);
var x21 = new Date(1899, 12, 1);
-if (typeof x21.constructor.prototype !== "object") {
- throw new Test262Error("#2.1: typeof x21.constructor.prototype === 'object'");
-}
+
+assert.sameValue(
+ typeof x21.constructor.prototype,
+ "object",
+ 'The value of `typeof x21.constructor.prototype` is expected to be "object"'
+);
var x22 = new Date(1899, 12, 1);
-if (!Date.prototype.isPrototypeOf(x22)) {
- throw new Test262Error('#2.2: Date.prototype.isPrototypeOf(x22)');
-}
+assert(Date.prototype.isPrototypeOf(x22), 'Date.prototype.isPrototypeOf(x22) must return true');
var x23 = new Date(1899, 12, 1);
-if (Date.prototype !== x23.constructor.prototype) {
- throw new Test262Error("#2.3: Date.prototype === x23.constructor.prototype");
-}
+
+assert.sameValue(
+ Date.prototype,
+ x23.constructor.prototype,
+ 'The value of Date.prototype is expected to equal the value of x23.constructor.prototype'
+);
var x31 = new Date(1900, 0, 1);
-if (typeof x31.constructor.prototype !== "object") {
- throw new Test262Error("#3.1: typeof x31.constructor.prototype === 'object'");
-}
+
+assert.sameValue(
+ typeof x31.constructor.prototype,
+ "object",
+ 'The value of `typeof x31.constructor.prototype` is expected to be "object"'
+);
var x32 = new Date(1900, 0, 1);
-if (!Date.prototype.isPrototypeOf(x32)) {
- throw new Test262Error('#3.2: Date.prototype.isPrototypeOf(x32)');
-}
+assert(Date.prototype.isPrototypeOf(x32), 'Date.prototype.isPrototypeOf(x32) must return true');
var x33 = new Date(1900, 0, 1);
-if (Date.prototype !== x33.constructor.prototype) {
- throw new Test262Error("#3.3: Date.prototype === x33.constructor.prototype");
-}
+
+assert.sameValue(
+ Date.prototype,
+ x33.constructor.prototype,
+ 'The value of Date.prototype is expected to equal the value of x33.constructor.prototype'
+);
var x41 = new Date(1969, 11, 31);
-if (typeof x41.constructor.prototype !== "object") {
- throw new Test262Error("#4.1: typeof x41.constructor.prototype === 'object'");
-}
+
+assert.sameValue(
+ typeof x41.constructor.prototype,
+ "object",
+ 'The value of `typeof x41.constructor.prototype` is expected to be "object"'
+);
var x42 = new Date(1969, 11, 31);
-if (!Date.prototype.isPrototypeOf(x42)) {
- throw new Test262Error('#4.2: Date.prototype.isPrototypeOf(x42)');
-}
+assert(Date.prototype.isPrototypeOf(x42), 'Date.prototype.isPrototypeOf(x42) must return true');
var x43 = new Date(1969, 11, 31);
-if (Date.prototype !== x43.constructor.prototype) {
- throw new Test262Error("#4.3: Date.prototype === x43.constructor.prototype");
-}
+
+assert.sameValue(
+ Date.prototype,
+ x43.constructor.prototype,
+ 'The value of Date.prototype is expected to equal the value of x43.constructor.prototype'
+);
var x51 = new Date(1969, 12, 1);
-if (typeof x51.constructor.prototype !== "object") {
- throw new Test262Error("#5.1: typeof x51.constructor.prototype === 'object'");
-}
+
+assert.sameValue(
+ typeof x51.constructor.prototype,
+ "object",
+ 'The value of `typeof x51.constructor.prototype` is expected to be "object"'
+);
var x52 = new Date(1969, 12, 1);
-if (!Date.prototype.isPrototypeOf(x52)) {
- throw new Test262Error('#5.2: Date.prototype.isPrototypeOf(x52)');
-}
+assert(Date.prototype.isPrototypeOf(x52), 'Date.prototype.isPrototypeOf(x52) must return true');
var x53 = new Date(1969, 12, 1);
-if (Date.prototype !== x53.constructor.prototype) {
- throw new Test262Error("#5.3: Date.prototype === x53.constructor.prototype");
-}
+
+assert.sameValue(
+ Date.prototype,
+ x53.constructor.prototype,
+ 'The value of Date.prototype is expected to equal the value of x53.constructor.prototype'
+);
var x61 = new Date(1970, 0, 1);
-if (typeof x61.constructor.prototype !== "object") {
- throw new Test262Error("#6.1: typeof x61.constructor.prototype === 'object'");
-}
+
+assert.sameValue(
+ typeof x61.constructor.prototype,
+ "object",
+ 'The value of `typeof x61.constructor.prototype` is expected to be "object"'
+);
var x62 = new Date(1970, 0, 1);
-if (!Date.prototype.isPrototypeOf(x62)) {
- throw new Test262Error('#6.2: Date.prototype.isPrototypeOf(x62)');
-}
+assert(Date.prototype.isPrototypeOf(x62), 'Date.prototype.isPrototypeOf(x62) must return true');
var x63 = new Date(1970, 0, 1);
-if (Date.prototype !== x63.constructor.prototype) {
- throw new Test262Error("#6.3: Date.prototype === x63.constructor.prototype");
-}
+
+assert.sameValue(
+ Date.prototype,
+ x63.constructor.prototype,
+ 'The value of Date.prototype is expected to equal the value of x63.constructor.prototype'
+);
var x71 = new Date(1999, 11, 31);
-if (typeof x71.constructor.prototype !== "object") {
- throw new Test262Error("#7.1: typeof x71.constructor.prototype === 'object'");
-}
+
+assert.sameValue(
+ typeof x71.constructor.prototype,
+ "object",
+ 'The value of `typeof x71.constructor.prototype` is expected to be "object"'
+);
var x72 = new Date(1999, 11, 31);
-if (!Date.prototype.isPrototypeOf(x72)) {
- throw new Test262Error('#7.2: Date.prototype.isPrototypeOf(x72)');
-}
+assert(Date.prototype.isPrototypeOf(x72), 'Date.prototype.isPrototypeOf(x72) must return true');
var x73 = new Date(1999, 11, 31);
-if (Date.prototype !== x73.constructor.prototype) {
- throw new Test262Error("#7.3: Date.prototype === x73.constructor.prototype");
-}
+
+assert.sameValue(
+ Date.prototype,
+ x73.constructor.prototype,
+ 'The value of Date.prototype is expected to equal the value of x73.constructor.prototype'
+);
var x81 = new Date(1999, 12, 1);
-if (typeof x81.constructor.prototype !== "object") {
- throw new Test262Error("#8.1: typeof x81.constructor.prototype === 'object'");
-}
+
+assert.sameValue(
+ typeof x81.constructor.prototype,
+ "object",
+ 'The value of `typeof x81.constructor.prototype` is expected to be "object"'
+);
var x82 = new Date(1999, 12, 1);
-if (!Date.prototype.isPrototypeOf(x82)) {
- throw new Test262Error('#8.2: Date.prototype.isPrototypeOf(x82)');
-}
+assert(Date.prototype.isPrototypeOf(x82), 'Date.prototype.isPrototypeOf(x82) must return true');
var x83 = new Date(1999, 12, 1);
-if (Date.prototype !== x83.constructor.prototype) {
- throw new Test262Error("#8.3: Date.prototype === x83.constructor.prototype");
-}
+
+assert.sameValue(
+ Date.prototype,
+ x83.constructor.prototype,
+ 'The value of Date.prototype is expected to equal the value of x83.constructor.prototype'
+);
var x91 = new Date(2000, 0, 1);
-if (typeof x91.constructor.prototype !== "object") {
- throw new Test262Error("#9.1: typeof x91.constructor.prototype === 'object'");
-}
+
+assert.sameValue(
+ typeof x91.constructor.prototype,
+ "object",
+ 'The value of `typeof x91.constructor.prototype` is expected to be "object"'
+);
var x92 = new Date(2000, 0, 1);
-if (!Date.prototype.isPrototypeOf(x92)) {
- throw new Test262Error('#9.2: Date.prototype.isPrototypeOf(x92)');
-}
+assert(Date.prototype.isPrototypeOf(x92), 'Date.prototype.isPrototypeOf(x92) must return true');
var x93 = new Date(2000, 0, 1);
-if (Date.prototype !== x93.constructor.prototype) {
- throw new Test262Error("#9.3: Date.prototype === x93.constructor.prototype");
-}
+
+assert.sameValue(
+ Date.prototype,
+ x93.constructor.prototype,
+ 'The value of Date.prototype is expected to equal the value of x93.constructor.prototype'
+);
var x101 = new Date(2099, 11, 31);
-if (typeof x101.constructor.prototype !== "object") {
- throw new Test262Error("#10.1: typeof x101.constructor.prototype === 'object'");
-}
+
+assert.sameValue(
+ typeof x101.constructor.prototype,
+ "object",
+ 'The value of `typeof x101.constructor.prototype` is expected to be "object"'
+);
var x102 = new Date(2099, 11, 31);
-if (!Date.prototype.isPrototypeOf(x102)) {
- throw new Test262Error('#10.2: Date.prototype.isPrototypeOf(x102)');
-}
+assert(Date.prototype.isPrototypeOf(x102), 'Date.prototype.isPrototypeOf(x102) must return true');
var x103 = new Date(2099, 11, 31);
-if (Date.prototype !== x103.constructor.prototype) {
- throw new Test262Error("#10.3: Date.prototype === x103.constructor.prototype");
-}
+
+assert.sameValue(
+ Date.prototype,
+ x103.constructor.prototype,
+ 'The value of Date.prototype is expected to equal the value of x103.constructor.prototype'
+);
var x111 = new Date(2099, 12, 1);
-if (typeof x111.constructor.prototype !== "object") {
- throw new Test262Error("#11.1: typeof x111.constructor.prototype === 'object'");
-}
+
+assert.sameValue(
+ typeof x111.constructor.prototype,
+ "object",
+ 'The value of `typeof x111.constructor.prototype` is expected to be "object"'
+);
var x112 = new Date(2099, 12, 1);
-if (!Date.prototype.isPrototypeOf(x112)) {
- throw new Test262Error('#11.2: Date.prototype.isPrototypeOf(x112)');
-}
+assert(Date.prototype.isPrototypeOf(x112), 'Date.prototype.isPrototypeOf(x112) must return true');
var x113 = new Date(2099, 12, 1);
-if (Date.prototype !== x113.constructor.prototype) {
- throw new Test262Error("#11.3: Date.prototype === x113.constructor.prototype");
-}
+
+assert.sameValue(
+ Date.prototype,
+ x113.constructor.prototype,
+ 'The value of Date.prototype is expected to equal the value of x113.constructor.prototype'
+);
var x121 = new Date(2100, 0, 1);
-if (typeof x121.constructor.prototype !== "object") {
- throw new Test262Error("#12.1: typeof x121.constructor.prototype === 'object'");
-}
+
+assert.sameValue(
+ typeof x121.constructor.prototype,
+ "object",
+ 'The value of `typeof x121.constructor.prototype` is expected to be "object"'
+);
var x122 = new Date(2100, 0, 1);
-if (!Date.prototype.isPrototypeOf(x122)) {
- throw new Test262Error('#12.2: Date.prototype.isPrototypeOf(x122)');
-}
+assert(Date.prototype.isPrototypeOf(x122), 'Date.prototype.isPrototypeOf(x122) must return true');
var x123 = new Date(2100, 0, 1);
-if (Date.prototype !== x123.constructor.prototype) {
- throw new Test262Error("#12.3: Date.prototype === x123.constructor.prototype");
-}
+
+assert.sameValue(
+ Date.prototype,
+ x123.constructor.prototype,
+ 'The value of Date.prototype is expected to equal the value of x123.constructor.prototype'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/S15.9.3.1_A2_T3.js b/js/src/tests/test262/built-ins/Date/S15.9.3.1_A2_T3.js
index 550bb48b0b12..4e720182c78e 100644
--- a/js/src/tests/test262/built-ins/Date/S15.9.3.1_A2_T3.js
+++ b/js/src/tests/test262/built-ins/Date/S15.9.3.1_A2_T3.js
@@ -11,183 +11,231 @@ description: 4 arguments, (year, month, date, hours)
---*/
var x11 = new Date(1899, 11, 31, 23);
-if (typeof x11.constructor.prototype !== "object") {
- throw new Test262Error("#1.1: typeof x11.constructor.prototype === 'object'");
-}
+
+assert.sameValue(
+ typeof x11.constructor.prototype,
+ "object",
+ 'The value of `typeof x11.constructor.prototype` is expected to be "object"'
+);
var x12 = new Date(1899, 11, 31, 23);
-if (!Date.prototype.isPrototypeOf(x12)) {
- throw new Test262Error('#1.2: Date.prototype.isPrototypeOf(x12)');
-}
+assert(Date.prototype.isPrototypeOf(x12), 'Date.prototype.isPrototypeOf(x12) must return true');
var x13 = new Date(1899, 11, 31, 23);
-if (Date.prototype !== x13.constructor.prototype) {
- throw new Test262Error("#1.3: Date.prototype === x13.constructor.prototype");
-}
+
+assert.sameValue(
+ Date.prototype,
+ x13.constructor.prototype,
+ 'The value of Date.prototype is expected to equal the value of x13.constructor.prototype'
+);
var x21 = new Date(1899, 12, 1, 0);
-if (typeof x21.constructor.prototype !== "object") {
- throw new Test262Error("#2.1: typeof x21.constructor.prototype === 'object'");
-}
+
+assert.sameValue(
+ typeof x21.constructor.prototype,
+ "object",
+ 'The value of `typeof x21.constructor.prototype` is expected to be "object"'
+);
var x22 = new Date(1899, 12, 1, 0);
-if (!Date.prototype.isPrototypeOf(x22)) {
- throw new Test262Error('#2.2: Date.prototype.isPrototypeOf(x22)');
-}
+assert(Date.prototype.isPrototypeOf(x22), 'Date.prototype.isPrototypeOf(x22) must return true');
var x23 = new Date(1899, 12, 1, 0);
-if (Date.prototype !== x23.constructor.prototype) {
- throw new Test262Error("#2.3: Date.prototype === x23.constructor.prototype");
-}
+
+assert.sameValue(
+ Date.prototype,
+ x23.constructor.prototype,
+ 'The value of Date.prototype is expected to equal the value of x23.constructor.prototype'
+);
var x31 = new Date(1900, 0, 1, 0);
-if (typeof x31.constructor.prototype !== "object") {
- throw new Test262Error("#3.1: typeof x31.constructor.prototype === 'object'");
-}
+
+assert.sameValue(
+ typeof x31.constructor.prototype,
+ "object",
+ 'The value of `typeof x31.constructor.prototype` is expected to be "object"'
+);
var x32 = new Date(1900, 0, 1, 0);
-if (!Date.prototype.isPrototypeOf(x32)) {
- throw new Test262Error('#3.2: Date.prototype.isPrototypeOf(x32)');
-}
+assert(Date.prototype.isPrototypeOf(x32), 'Date.prototype.isPrototypeOf(x32) must return true');
var x33 = new Date(1900, 0, 1, 0);
-if (Date.prototype !== x33.constructor.prototype) {
- throw new Test262Error("#3.3: Date.prototype === x33.constructor.prototype");
-}
+
+assert.sameValue(
+ Date.prototype,
+ x33.constructor.prototype,
+ 'The value of Date.prototype is expected to equal the value of x33.constructor.prototype'
+);
var x41 = new Date(1969, 11, 31, 23);
-if (typeof x41.constructor.prototype !== "object") {
- throw new Test262Error("#4.1: typeof x41.constructor.prototype === 'object'");
-}
+
+assert.sameValue(
+ typeof x41.constructor.prototype,
+ "object",
+ 'The value of `typeof x41.constructor.prototype` is expected to be "object"'
+);
var x42 = new Date(1969, 11, 31, 23);
-if (!Date.prototype.isPrototypeOf(x42)) {
- throw new Test262Error('#4.2: Date.prototype.isPrototypeOf(x42)');
-}
+assert(Date.prototype.isPrototypeOf(x42), 'Date.prototype.isPrototypeOf(x42) must return true');
var x43 = new Date(1969, 11, 31, 23);
-if (Date.prototype !== x43.constructor.prototype) {
- throw new Test262Error("#4.3: Date.prototype === x43.constructor.prototype");
-}
+
+assert.sameValue(
+ Date.prototype,
+ x43.constructor.prototype,
+ 'The value of Date.prototype is expected to equal the value of x43.constructor.prototype'
+);
var x51 = new Date(1969, 12, 1, 0);
-if (typeof x51.constructor.prototype !== "object") {
- throw new Test262Error("#5.1: typeof x51.constructor.prototype === 'object'");
-}
+
+assert.sameValue(
+ typeof x51.constructor.prototype,
+ "object",
+ 'The value of `typeof x51.constructor.prototype` is expected to be "object"'
+);
var x52 = new Date(1969, 12, 1, 0);
-if (!Date.prototype.isPrototypeOf(x52)) {
- throw new Test262Error('#5.2: Date.prototype.isPrototypeOf(x52)');
-}
+assert(Date.prototype.isPrototypeOf(x52), 'Date.prototype.isPrototypeOf(x52) must return true');
var x53 = new Date(1969, 12, 1, 0);
-if (Date.prototype !== x53.constructor.prototype) {
- throw new Test262Error("#5.3: Date.prototype === x53.constructor.prototype");
-}
+
+assert.sameValue(
+ Date.prototype,
+ x53.constructor.prototype,
+ 'The value of Date.prototype is expected to equal the value of x53.constructor.prototype'
+);
var x61 = new Date(1970, 0, 1, 0);
-if (typeof x61.constructor.prototype !== "object") {
- throw new Test262Error("#6.1: typeof x61.constructor.prototype === 'object'");
-}
+
+assert.sameValue(
+ typeof x61.constructor.prototype,
+ "object",
+ 'The value of `typeof x61.constructor.prototype` is expected to be "object"'
+);
var x62 = new Date(1970, 0, 1, 0);
-if (!Date.prototype.isPrototypeOf(x62)) {
- throw new Test262Error('#6.2: Date.prototype.isPrototypeOf(x62)');
-}
+assert(Date.prototype.isPrototypeOf(x62), 'Date.prototype.isPrototypeOf(x62) must return true');
var x63 = new Date(1970, 0, 1, 0);
-if (Date.prototype !== x63.constructor.prototype) {
- throw new Test262Error("#6.3: Date.prototype === x63.constructor.prototype");
-}
+
+assert.sameValue(
+ Date.prototype,
+ x63.constructor.prototype,
+ 'The value of Date.prototype is expected to equal the value of x63.constructor.prototype'
+);
var x71 = new Date(1999, 11, 31, 23);
-if (typeof x71.constructor.prototype !== "object") {
- throw new Test262Error("#7.1: typeof x71.constructor.prototype === 'object'");
-}
+
+assert.sameValue(
+ typeof x71.constructor.prototype,
+ "object",
+ 'The value of `typeof x71.constructor.prototype` is expected to be "object"'
+);
var x72 = new Date(1999, 11, 31, 23);
-if (!Date.prototype.isPrototypeOf(x72)) {
- throw new Test262Error('#7.2: Date.prototype.isPrototypeOf(x72)');
-}
+assert(Date.prototype.isPrototypeOf(x72), 'Date.prototype.isPrototypeOf(x72) must return true');
var x73 = new Date(1999, 11, 31, 23);
-if (Date.prototype !== x73.constructor.prototype) {
- throw new Test262Error("#7.3: Date.prototype === x73.constructor.prototype");
-}
+
+assert.sameValue(
+ Date.prototype,
+ x73.constructor.prototype,
+ 'The value of Date.prototype is expected to equal the value of x73.constructor.prototype'
+);
var x81 = new Date(1999, 12, 1, 0);
-if (typeof x81.constructor.prototype !== "object") {
- throw new Test262Error("#8.1: typeof x81.constructor.prototype === 'object'");
-}
+
+assert.sameValue(
+ typeof x81.constructor.prototype,
+ "object",
+ 'The value of `typeof x81.constructor.prototype` is expected to be "object"'
+);
var x82 = new Date(1999, 12, 1, 0);
-if (!Date.prototype.isPrototypeOf(x82)) {
- throw new Test262Error('#8.2: Date.prototype.isPrototypeOf(x82)');
-}
+assert(Date.prototype.isPrototypeOf(x82), 'Date.prototype.isPrototypeOf(x82) must return true');
var x83 = new Date(1999, 12, 1, 0);
-if (Date.prototype !== x83.constructor.prototype) {
- throw new Test262Error("#8.3: Date.prototype === x83.constructor.prototype");
-}
+
+assert.sameValue(
+ Date.prototype,
+ x83.constructor.prototype,
+ 'The value of Date.prototype is expected to equal the value of x83.constructor.prototype'
+);
var x91 = new Date(2000, 0, 1, 0);
-if (typeof x91.constructor.prototype !== "object") {
- throw new Test262Error("#9.1: typeof x91.constructor.prototype === 'object'");
-}
+
+assert.sameValue(
+ typeof x91.constructor.prototype,
+ "object",
+ 'The value of `typeof x91.constructor.prototype` is expected to be "object"'
+);
var x92 = new Date(2000, 0, 1, 0);
-if (!Date.prototype.isPrototypeOf(x92)) {
- throw new Test262Error('#9.2: Date.prototype.isPrototypeOf(x92)');
-}
+assert(Date.prototype.isPrototypeOf(x92), 'Date.prototype.isPrototypeOf(x92) must return true');
var x93 = new Date(2000, 0, 1, 0);
-if (Date.prototype !== x93.constructor.prototype) {
- throw new Test262Error("#9.3: Date.prototype === x93.constructor.prototype");
-}
+
+assert.sameValue(
+ Date.prototype,
+ x93.constructor.prototype,
+ 'The value of Date.prototype is expected to equal the value of x93.constructor.prototype'
+);
var x101 = new Date(2099, 11, 31, 23);
-if (typeof x101.constructor.prototype !== "object") {
- throw new Test262Error("#10.1: typeof x101.constructor.prototype === 'object'");
-}
+
+assert.sameValue(
+ typeof x101.constructor.prototype,
+ "object",
+ 'The value of `typeof x101.constructor.prototype` is expected to be "object"'
+);
var x102 = new Date(2099, 11, 31, 23);
-if (!Date.prototype.isPrototypeOf(x102)) {
- throw new Test262Error('#10.2: Date.prototype.isPrototypeOf(x102)');
-}
+assert(Date.prototype.isPrototypeOf(x102), 'Date.prototype.isPrototypeOf(x102) must return true');
var x103 = new Date(2099, 11, 31, 23);
-if (Date.prototype !== x103.constructor.prototype) {
- throw new Test262Error("#10.3: Date.prototype === x103.constructor.prototype");
-}
+
+assert.sameValue(
+ Date.prototype,
+ x103.constructor.prototype,
+ 'The value of Date.prototype is expected to equal the value of x103.constructor.prototype'
+);
var x111 = new Date(2099, 12, 1, 0);
-if (typeof x111.constructor.prototype !== "object") {
- throw new Test262Error("#11.1: typeof x111.constructor.prototype === 'object'");
-}
+
+assert.sameValue(
+ typeof x111.constructor.prototype,
+ "object",
+ 'The value of `typeof x111.constructor.prototype` is expected to be "object"'
+);
var x112 = new Date(2099, 12, 1, 0);
-if (!Date.prototype.isPrototypeOf(x112)) {
- throw new Test262Error('#11.2: Date.prototype.isPrototypeOf(x112)');
-}
+assert(Date.prototype.isPrototypeOf(x112), 'Date.prototype.isPrototypeOf(x112) must return true');
var x113 = new Date(2099, 12, 1, 0);
-if (Date.prototype !== x113.constructor.prototype) {
- throw new Test262Error("#11.3: Date.prototype === x113.constructor.prototype");
-}
+
+assert.sameValue(
+ Date.prototype,
+ x113.constructor.prototype,
+ 'The value of Date.prototype is expected to equal the value of x113.constructor.prototype'
+);
var x121 = new Date(2100, 0, 1, 0);
-if (typeof x121.constructor.prototype !== "object") {
- throw new Test262Error("#12.1: typeof x121.constructor.prototype === 'object'");
-}
+
+assert.sameValue(
+ typeof x121.constructor.prototype,
+ "object",
+ 'The value of `typeof x121.constructor.prototype` is expected to be "object"'
+);
var x122 = new Date(2100, 0, 1, 0);
-if (!Date.prototype.isPrototypeOf(x122)) {
- throw new Test262Error('#12.2: Date.prototype.isPrototypeOf(x122)');
-}
+assert(Date.prototype.isPrototypeOf(x122), 'Date.prototype.isPrototypeOf(x122) must return true');
var x123 = new Date(2100, 0, 1, 0);
-if (Date.prototype !== x123.constructor.prototype) {
- throw new Test262Error("#12.3: Date.prototype === x123.constructor.prototype");
-}
+
+assert.sameValue(
+ Date.prototype,
+ x123.constructor.prototype,
+ 'The value of Date.prototype is expected to equal the value of x123.constructor.prototype'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/S15.9.3.1_A2_T4.js b/js/src/tests/test262/built-ins/Date/S15.9.3.1_A2_T4.js
index 32722d50d5b6..74f6c89a8546 100644
--- a/js/src/tests/test262/built-ins/Date/S15.9.3.1_A2_T4.js
+++ b/js/src/tests/test262/built-ins/Date/S15.9.3.1_A2_T4.js
@@ -11,183 +11,231 @@ description: 5 arguments, (year, month, date, hours, minutes)
---*/
var x11 = new Date(1899, 11, 31, 23, 59);
-if (typeof x11.constructor.prototype !== "object") {
- throw new Test262Error("#1.1: typeof x11.constructor.prototype === 'object'");
-}
+
+assert.sameValue(
+ typeof x11.constructor.prototype,
+ "object",
+ 'The value of `typeof x11.constructor.prototype` is expected to be "object"'
+);
var x12 = new Date(1899, 11, 31, 23, 59);
-if (!Date.prototype.isPrototypeOf(x12)) {
- throw new Test262Error('#1.2: Date.prototype.isPrototypeOf(x12)');
-}
+assert(Date.prototype.isPrototypeOf(x12), 'Date.prototype.isPrototypeOf(x12) must return true');
var x13 = new Date(1899, 11, 31, 23, 59);
-if (Date.prototype !== x13.constructor.prototype) {
- throw new Test262Error("#1.3: Date.prototype === x13.constructor.prototype");
-}
+
+assert.sameValue(
+ Date.prototype,
+ x13.constructor.prototype,
+ 'The value of Date.prototype is expected to equal the value of x13.constructor.prototype'
+);
var x21 = new Date(1899, 12, 1, 0, 0);
-if (typeof x21.constructor.prototype !== "object") {
- throw new Test262Error("#2.1: typeof x21.constructor.prototype === 'object'");
-}
+
+assert.sameValue(
+ typeof x21.constructor.prototype,
+ "object",
+ 'The value of `typeof x21.constructor.prototype` is expected to be "object"'
+);
var x22 = new Date(1899, 12, 1, 0, 0);
-if (!Date.prototype.isPrototypeOf(x22)) {
- throw new Test262Error('#2.2: Date.prototype.isPrototypeOf(x22)');
-}
+assert(Date.prototype.isPrototypeOf(x22), 'Date.prototype.isPrototypeOf(x22) must return true');
var x23 = new Date(1899, 12, 1, 0, 0);
-if (Date.prototype !== x23.constructor.prototype) {
- throw new Test262Error("#2.3: Date.prototype === x23.constructor.prototype");
-}
+
+assert.sameValue(
+ Date.prototype,
+ x23.constructor.prototype,
+ 'The value of Date.prototype is expected to equal the value of x23.constructor.prototype'
+);
var x31 = new Date(1900, 0, 1, 0, 0);
-if (typeof x31.constructor.prototype !== "object") {
- throw new Test262Error("#3.1: typeof x31.constructor.prototype === 'object'");
-}
+
+assert.sameValue(
+ typeof x31.constructor.prototype,
+ "object",
+ 'The value of `typeof x31.constructor.prototype` is expected to be "object"'
+);
var x32 = new Date(1900, 0, 1, 0, 0);
-if (!Date.prototype.isPrototypeOf(x32)) {
- throw new Test262Error('#3.2: Date.prototype.isPrototypeOf(x32)');
-}
+assert(Date.prototype.isPrototypeOf(x32), 'Date.prototype.isPrototypeOf(x32) must return true');
var x33 = new Date(1900, 0, 1, 0, 0);
-if (Date.prototype !== x33.constructor.prototype) {
- throw new Test262Error("#3.3: Date.prototype === x33.constructor.prototype");
-}
+
+assert.sameValue(
+ Date.prototype,
+ x33.constructor.prototype,
+ 'The value of Date.prototype is expected to equal the value of x33.constructor.prototype'
+);
var x41 = new Date(1969, 11, 31, 23, 59);
-if (typeof x41.constructor.prototype !== "object") {
- throw new Test262Error("#4.1: typeof x41.constructor.prototype === 'object'");
-}
+
+assert.sameValue(
+ typeof x41.constructor.prototype,
+ "object",
+ 'The value of `typeof x41.constructor.prototype` is expected to be "object"'
+);
var x42 = new Date(1969, 11, 31, 23, 59);
-if (!Date.prototype.isPrototypeOf(x42)) {
- throw new Test262Error('#4.2: Date.prototype.isPrototypeOf(x42)');
-}
+assert(Date.prototype.isPrototypeOf(x42), 'Date.prototype.isPrototypeOf(x42) must return true');
var x43 = new Date(1969, 11, 31, 23, 59);
-if (Date.prototype !== x43.constructor.prototype) {
- throw new Test262Error("#4.3: Date.prototype === x43.constructor.prototype");
-}
+
+assert.sameValue(
+ Date.prototype,
+ x43.constructor.prototype,
+ 'The value of Date.prototype is expected to equal the value of x43.constructor.prototype'
+);
var x51 = new Date(1969, 12, 1, 0, 0);
-if (typeof x51.constructor.prototype !== "object") {
- throw new Test262Error("#5.1: typeof x51.constructor.prototype === 'object'");
-}
+
+assert.sameValue(
+ typeof x51.constructor.prototype,
+ "object",
+ 'The value of `typeof x51.constructor.prototype` is expected to be "object"'
+);
var x52 = new Date(1969, 12, 1, 0, 0);
-if (!Date.prototype.isPrototypeOf(x52)) {
- throw new Test262Error('#5.2: Date.prototype.isPrototypeOf(x52)');
-}
+assert(Date.prototype.isPrototypeOf(x52), 'Date.prototype.isPrototypeOf(x52) must return true');
var x53 = new Date(1969, 12, 1, 0, 0);
-if (Date.prototype !== x53.constructor.prototype) {
- throw new Test262Error("#5.3: Date.prototype === x53.constructor.prototype");
-}
+
+assert.sameValue(
+ Date.prototype,
+ x53.constructor.prototype,
+ 'The value of Date.prototype is expected to equal the value of x53.constructor.prototype'
+);
var x61 = new Date(1970, 0, 1, 0, 0);
-if (typeof x61.constructor.prototype !== "object") {
- throw new Test262Error("#6.1: typeof x61.constructor.prototype === 'object'");
-}
+
+assert.sameValue(
+ typeof x61.constructor.prototype,
+ "object",
+ 'The value of `typeof x61.constructor.prototype` is expected to be "object"'
+);
var x62 = new Date(1970, 0, 1, 0, 0);
-if (!Date.prototype.isPrototypeOf(x62)) {
- throw new Test262Error('#6.2: Date.prototype.isPrototypeOf(x62)');
-}
+assert(Date.prototype.isPrototypeOf(x62), 'Date.prototype.isPrototypeOf(x62) must return true');
var x63 = new Date(1970, 0, 1, 0, 0);
-if (Date.prototype !== x63.constructor.prototype) {
- throw new Test262Error("#6.3: Date.prototype === x63.constructor.prototype");
-}
+
+assert.sameValue(
+ Date.prototype,
+ x63.constructor.prototype,
+ 'The value of Date.prototype is expected to equal the value of x63.constructor.prototype'
+);
var x71 = new Date(1999, 11, 31, 23, 59);
-if (typeof x71.constructor.prototype !== "object") {
- throw new Test262Error("#7.1: typeof x71.constructor.prototype === 'object'");
-}
+
+assert.sameValue(
+ typeof x71.constructor.prototype,
+ "object",
+ 'The value of `typeof x71.constructor.prototype` is expected to be "object"'
+);
var x72 = new Date(1999, 11, 31, 23, 59);
-if (!Date.prototype.isPrototypeOf(x72)) {
- throw new Test262Error('#7.2: Date.prototype.isPrototypeOf(x72)');
-}
+assert(Date.prototype.isPrototypeOf(x72), 'Date.prototype.isPrototypeOf(x72) must return true');
var x73 = new Date(1999, 11, 31, 23, 59);
-if (Date.prototype !== x73.constructor.prototype) {
- throw new Test262Error("#7.3: Date.prototype === x73.constructor.prototype");
-}
+
+assert.sameValue(
+ Date.prototype,
+ x73.constructor.prototype,
+ 'The value of Date.prototype is expected to equal the value of x73.constructor.prototype'
+);
var x81 = new Date(1999, 12, 1, 0, 0);
-if (typeof x81.constructor.prototype !== "object") {
- throw new Test262Error("#8.1: typeof x81.constructor.prototype === 'object'");
-}
+
+assert.sameValue(
+ typeof x81.constructor.prototype,
+ "object",
+ 'The value of `typeof x81.constructor.prototype` is expected to be "object"'
+);
var x82 = new Date(1999, 12, 1, 0, 0);
-if (!Date.prototype.isPrototypeOf(x82)) {
- throw new Test262Error('#8.2: Date.prototype.isPrototypeOf(x82)');
-}
+assert(Date.prototype.isPrototypeOf(x82), 'Date.prototype.isPrototypeOf(x82) must return true');
var x83 = new Date(1999, 12, 1, 0, 0);
-if (Date.prototype !== x83.constructor.prototype) {
- throw new Test262Error("#8.3: Date.prototype === x83.constructor.prototype");
-}
+
+assert.sameValue(
+ Date.prototype,
+ x83.constructor.prototype,
+ 'The value of Date.prototype is expected to equal the value of x83.constructor.prototype'
+);
var x91 = new Date(2000, 0, 1, 0, 0);
-if (typeof x91.constructor.prototype !== "object") {
- throw new Test262Error("#9.1: typeof x91.constructor.prototype === 'object'");
-}
+
+assert.sameValue(
+ typeof x91.constructor.prototype,
+ "object",
+ 'The value of `typeof x91.constructor.prototype` is expected to be "object"'
+);
var x92 = new Date(2000, 0, 1, 0, 0);
-if (!Date.prototype.isPrototypeOf(x92)) {
- throw new Test262Error('#9.2: Date.prototype.isPrototypeOf(x92)');
-}
+assert(Date.prototype.isPrototypeOf(x92), 'Date.prototype.isPrototypeOf(x92) must return true');
var x93 = new Date(2000, 0, 1, 0, 0);
-if (Date.prototype !== x93.constructor.prototype) {
- throw new Test262Error("#9.3: Date.prototype === x93.constructor.prototype");
-}
+
+assert.sameValue(
+ Date.prototype,
+ x93.constructor.prototype,
+ 'The value of Date.prototype is expected to equal the value of x93.constructor.prototype'
+);
var x101 = new Date(2099, 11, 31, 23, 59);
-if (typeof x101.constructor.prototype !== "object") {
- throw new Test262Error("#10.1: typeof x101.constructor.prototype === 'object'");
-}
+
+assert.sameValue(
+ typeof x101.constructor.prototype,
+ "object",
+ 'The value of `typeof x101.constructor.prototype` is expected to be "object"'
+);
var x102 = new Date(2099, 11, 31, 23, 59);
-if (!Date.prototype.isPrototypeOf(x102)) {
- throw new Test262Error('#10.2: Date.prototype.isPrototypeOf(x102)');
-}
+assert(Date.prototype.isPrototypeOf(x102), 'Date.prototype.isPrototypeOf(x102) must return true');
var x103 = new Date(2099, 11, 31, 23, 59);
-if (Date.prototype !== x103.constructor.prototype) {
- throw new Test262Error("#10.3: Date.prototype === x103.constructor.prototype");
-}
+
+assert.sameValue(
+ Date.prototype,
+ x103.constructor.prototype,
+ 'The value of Date.prototype is expected to equal the value of x103.constructor.prototype'
+);
var x111 = new Date(2099, 12, 1, 0, 0);
-if (typeof x111.constructor.prototype !== "object") {
- throw new Test262Error("#11.1: typeof x111.constructor.prototype === 'object'");
-}
+
+assert.sameValue(
+ typeof x111.constructor.prototype,
+ "object",
+ 'The value of `typeof x111.constructor.prototype` is expected to be "object"'
+);
var x112 = new Date(2099, 12, 1, 0, 0);
-if (!Date.prototype.isPrototypeOf(x112)) {
- throw new Test262Error('#11.2: Date.prototype.isPrototypeOf(x112)');
-}
+assert(Date.prototype.isPrototypeOf(x112), 'Date.prototype.isPrototypeOf(x112) must return true');
var x113 = new Date(2099, 12, 1, 0, 0);
-if (Date.prototype !== x113.constructor.prototype) {
- throw new Test262Error("#11.3: Date.prototype === x113.constructor.prototype");
-}
+
+assert.sameValue(
+ Date.prototype,
+ x113.constructor.prototype,
+ 'The value of Date.prototype is expected to equal the value of x113.constructor.prototype'
+);
var x121 = new Date(2100, 0, 1, 0, 0);
-if (typeof x121.constructor.prototype !== "object") {
- throw new Test262Error("#12.1: typeof x121.constructor.prototype === 'object'");
-}
+
+assert.sameValue(
+ typeof x121.constructor.prototype,
+ "object",
+ 'The value of `typeof x121.constructor.prototype` is expected to be "object"'
+);
var x122 = new Date(2100, 0, 1, 0, 0);
-if (!Date.prototype.isPrototypeOf(x122)) {
- throw new Test262Error('#12.2: Date.prototype.isPrototypeOf(x122)');
-}
+assert(Date.prototype.isPrototypeOf(x122), 'Date.prototype.isPrototypeOf(x122) must return true');
var x123 = new Date(2100, 0, 1, 0, 0);
-if (Date.prototype !== x123.constructor.prototype) {
- throw new Test262Error("#12.3: Date.prototype === x123.constructor.prototype");
-}
+
+assert.sameValue(
+ Date.prototype,
+ x123.constructor.prototype,
+ 'The value of Date.prototype is expected to equal the value of x123.constructor.prototype'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/S15.9.3.1_A2_T5.js b/js/src/tests/test262/built-ins/Date/S15.9.3.1_A2_T5.js
index 22bea50e3e68..047f8a7077d2 100644
--- a/js/src/tests/test262/built-ins/Date/S15.9.3.1_A2_T5.js
+++ b/js/src/tests/test262/built-ins/Date/S15.9.3.1_A2_T5.js
@@ -11,183 +11,231 @@ description: 6 arguments, (year, month, date, hours, minutes, seconds)
---*/
var x11 = new Date(1899, 11, 31, 23, 59, 59);
-if (typeof x11.constructor.prototype !== "object") {
- throw new Test262Error("#1.1: typeof x11.constructor.prototype === 'object'");
-}
+
+assert.sameValue(
+ typeof x11.constructor.prototype,
+ "object",
+ 'The value of `typeof x11.constructor.prototype` is expected to be "object"'
+);
var x12 = new Date(1899, 11, 31, 23, 59, 59);
-if (!Date.prototype.isPrototypeOf(x12)) {
- throw new Test262Error('#1.2: Date.prototype.isPrototypeOf(x12)');
-}
+assert(Date.prototype.isPrototypeOf(x12), 'Date.prototype.isPrototypeOf(x12) must return true');
var x13 = new Date(1899, 11, 31, 23, 59, 59);
-if (Date.prototype !== x13.constructor.prototype) {
- throw new Test262Error("#1.3: Date.prototype === x13.constructor.prototype");
-}
+
+assert.sameValue(
+ Date.prototype,
+ x13.constructor.prototype,
+ 'The value of Date.prototype is expected to equal the value of x13.constructor.prototype'
+);
var x21 = new Date(1899, 12, 1, 0, 0, 0);
-if (typeof x21.constructor.prototype !== "object") {
- throw new Test262Error("#2.1: typeof x21.constructor.prototype === 'object'");
-}
+
+assert.sameValue(
+ typeof x21.constructor.prototype,
+ "object",
+ 'The value of `typeof x21.constructor.prototype` is expected to be "object"'
+);
var x22 = new Date(1899, 12, 1, 0, 0, 0);
-if (!Date.prototype.isPrototypeOf(x22)) {
- throw new Test262Error('#2.2: Date.prototype.isPrototypeOf(x22)');
-}
+assert(Date.prototype.isPrototypeOf(x22), 'Date.prototype.isPrototypeOf(x22) must return true');
var x23 = new Date(1899, 12, 1, 0, 0, 0);
-if (Date.prototype !== x23.constructor.prototype) {
- throw new Test262Error("#2.3: Date.prototype === x23.constructor.prototype");
-}
+
+assert.sameValue(
+ Date.prototype,
+ x23.constructor.prototype,
+ 'The value of Date.prototype is expected to equal the value of x23.constructor.prototype'
+);
var x31 = new Date(1900, 0, 1, 0, 0, 0);
-if (typeof x31.constructor.prototype !== "object") {
- throw new Test262Error("#3.1: typeof x31.constructor.prototype === 'object'");
-}
+
+assert.sameValue(
+ typeof x31.constructor.prototype,
+ "object",
+ 'The value of `typeof x31.constructor.prototype` is expected to be "object"'
+);
var x32 = new Date(1900, 0, 1, 0, 0, 0);
-if (!Date.prototype.isPrototypeOf(x32)) {
- throw new Test262Error('#3.2: Date.prototype.isPrototypeOf(x32)');
-}
+assert(Date.prototype.isPrototypeOf(x32), 'Date.prototype.isPrototypeOf(x32) must return true');
var x33 = new Date(1900, 0, 1, 0, 0, 0);
-if (Date.prototype !== x33.constructor.prototype) {
- throw new Test262Error("#3.3: Date.prototype === x33.constructor.prototype");
-}
+
+assert.sameValue(
+ Date.prototype,
+ x33.constructor.prototype,
+ 'The value of Date.prototype is expected to equal the value of x33.constructor.prototype'
+);
var x41 = new Date(1969, 11, 31, 23, 59, 59);
-if (typeof x41.constructor.prototype !== "object") {
- throw new Test262Error("#4.1: typeof x41.constructor.prototype === 'object'");
-}
+
+assert.sameValue(
+ typeof x41.constructor.prototype,
+ "object",
+ 'The value of `typeof x41.constructor.prototype` is expected to be "object"'
+);
var x42 = new Date(1969, 11, 31, 23, 59, 59);
-if (!Date.prototype.isPrototypeOf(x42)) {
- throw new Test262Error('#4.2: Date.prototype.isPrototypeOf(x42)');
-}
+assert(Date.prototype.isPrototypeOf(x42), 'Date.prototype.isPrototypeOf(x42) must return true');
var x43 = new Date(1969, 11, 31, 23, 59, 59);
-if (Date.prototype !== x43.constructor.prototype) {
- throw new Test262Error("#4.3: Date.prototype === x43.constructor.prototype");
-}
+
+assert.sameValue(
+ Date.prototype,
+ x43.constructor.prototype,
+ 'The value of Date.prototype is expected to equal the value of x43.constructor.prototype'
+);
var x51 = new Date(1969, 12, 1, 0, 0, 0);
-if (typeof x51.constructor.prototype !== "object") {
- throw new Test262Error("#5.1: typeof x51.constructor.prototype === 'object'");
-}
+
+assert.sameValue(
+ typeof x51.constructor.prototype,
+ "object",
+ 'The value of `typeof x51.constructor.prototype` is expected to be "object"'
+);
var x52 = new Date(1969, 12, 1, 0, 0, 0);
-if (!Date.prototype.isPrototypeOf(x52)) {
- throw new Test262Error('#5.2: Date.prototype.isPrototypeOf(x52)');
-}
+assert(Date.prototype.isPrototypeOf(x52), 'Date.prototype.isPrototypeOf(x52) must return true');
var x53 = new Date(1969, 12, 1, 0, 0, 0);
-if (Date.prototype !== x53.constructor.prototype) {
- throw new Test262Error("#5.3: Date.prototype === x53.constructor.prototype");
-}
+
+assert.sameValue(
+ Date.prototype,
+ x53.constructor.prototype,
+ 'The value of Date.prototype is expected to equal the value of x53.constructor.prototype'
+);
var x61 = new Date(1970, 0, 1, 0, 0, 0);
-if (typeof x61.constructor.prototype !== "object") {
- throw new Test262Error("#6.1: typeof x61.constructor.prototype === 'object'");
-}
+
+assert.sameValue(
+ typeof x61.constructor.prototype,
+ "object",
+ 'The value of `typeof x61.constructor.prototype` is expected to be "object"'
+);
var x62 = new Date(1970, 0, 1, 0, 0, 0);
-if (!Date.prototype.isPrototypeOf(x62)) {
- throw new Test262Error('#6.2: Date.prototype.isPrototypeOf(x62)');
-}
+assert(Date.prototype.isPrototypeOf(x62), 'Date.prototype.isPrototypeOf(x62) must return true');
var x63 = new Date(1970, 0, 1, 0, 0, 0);
-if (Date.prototype !== x63.constructor.prototype) {
- throw new Test262Error("#6.3: Date.prototype === x63.constructor.prototype");
-}
+
+assert.sameValue(
+ Date.prototype,
+ x63.constructor.prototype,
+ 'The value of Date.prototype is expected to equal the value of x63.constructor.prototype'
+);
var x71 = new Date(1999, 11, 31, 23, 59, 59);
-if (typeof x71.constructor.prototype !== "object") {
- throw new Test262Error("#7.1: typeof x71.constructor.prototype === 'object'");
-}
+
+assert.sameValue(
+ typeof x71.constructor.prototype,
+ "object",
+ 'The value of `typeof x71.constructor.prototype` is expected to be "object"'
+);
var x72 = new Date(1999, 11, 31, 23, 59, 59);
-if (!Date.prototype.isPrototypeOf(x72)) {
- throw new Test262Error('#7.2: Date.prototype.isPrototypeOf(x72)');
-}
+assert(Date.prototype.isPrototypeOf(x72), 'Date.prototype.isPrototypeOf(x72) must return true');
var x73 = new Date(1999, 11, 31, 23, 59, 59);
-if (Date.prototype !== x73.constructor.prototype) {
- throw new Test262Error("#7.3: Date.prototype === x73.constructor.prototype");
-}
+
+assert.sameValue(
+ Date.prototype,
+ x73.constructor.prototype,
+ 'The value of Date.prototype is expected to equal the value of x73.constructor.prototype'
+);
var x81 = new Date(1999, 12, 1, 0, 0, 0);
-if (typeof x81.constructor.prototype !== "object") {
- throw new Test262Error("#8.1: typeof x81.constructor.prototype === 'object'");
-}
+
+assert.sameValue(
+ typeof x81.constructor.prototype,
+ "object",
+ 'The value of `typeof x81.constructor.prototype` is expected to be "object"'
+);
var x82 = new Date(1999, 12, 1, 0, 0, 0);
-if (!Date.prototype.isPrototypeOf(x82)) {
- throw new Test262Error('#8.2: Date.prototype.isPrototypeOf(x82)');
-}
+assert(Date.prototype.isPrototypeOf(x82), 'Date.prototype.isPrototypeOf(x82) must return true');
var x83 = new Date(1999, 12, 1, 0, 0, 0);
-if (Date.prototype !== x83.constructor.prototype) {
- throw new Test262Error("#8.3: Date.prototype === x83.constructor.prototype");
-}
+
+assert.sameValue(
+ Date.prototype,
+ x83.constructor.prototype,
+ 'The value of Date.prototype is expected to equal the value of x83.constructor.prototype'
+);
var x91 = new Date(2000, 0, 1, 0, 0, 0);
-if (typeof x91.constructor.prototype !== "object") {
- throw new Test262Error("#9.1: typeof x91.constructor.prototype === 'object'");
-}
+
+assert.sameValue(
+ typeof x91.constructor.prototype,
+ "object",
+ 'The value of `typeof x91.constructor.prototype` is expected to be "object"'
+);
var x92 = new Date(2000, 0, 1, 0, 0, 0);
-if (!Date.prototype.isPrototypeOf(x92)) {
- throw new Test262Error('#9.2: Date.prototype.isPrototypeOf(x92)');
-}
+assert(Date.prototype.isPrototypeOf(x92), 'Date.prototype.isPrototypeOf(x92) must return true');
var x93 = new Date(2000, 0, 1, 0, 0, 0);
-if (Date.prototype !== x93.constructor.prototype) {
- throw new Test262Error("#9.3: Date.prototype === x93.constructor.prototype");
-}
+
+assert.sameValue(
+ Date.prototype,
+ x93.constructor.prototype,
+ 'The value of Date.prototype is expected to equal the value of x93.constructor.prototype'
+);
var x101 = new Date(2099, 11, 31, 23, 59, 59);
-if (typeof x101.constructor.prototype !== "object") {
- throw new Test262Error("#10.1: typeof x101.constructor.prototype === 'object'");
-}
+
+assert.sameValue(
+ typeof x101.constructor.prototype,
+ "object",
+ 'The value of `typeof x101.constructor.prototype` is expected to be "object"'
+);
var x102 = new Date(2099, 11, 31, 23, 59, 59);
-if (!Date.prototype.isPrototypeOf(x102)) {
- throw new Test262Error('#10.2: Date.prototype.isPrototypeOf(x102)');
-}
+assert(Date.prototype.isPrototypeOf(x102), 'Date.prototype.isPrototypeOf(x102) must return true');
var x103 = new Date(2099, 11, 31, 23, 59, 59);
-if (Date.prototype !== x103.constructor.prototype) {
- throw new Test262Error("#10.3: Date.prototype === x103.constructor.prototype");
-}
+
+assert.sameValue(
+ Date.prototype,
+ x103.constructor.prototype,
+ 'The value of Date.prototype is expected to equal the value of x103.constructor.prototype'
+);
var x111 = new Date(2099, 12, 1, 0, 0, 0);
-if (typeof x111.constructor.prototype !== "object") {
- throw new Test262Error("#11.1: typeof x111.constructor.prototype === 'object'");
-}
+
+assert.sameValue(
+ typeof x111.constructor.prototype,
+ "object",
+ 'The value of `typeof x111.constructor.prototype` is expected to be "object"'
+);
var x112 = new Date(2099, 12, 1, 0, 0, 0);
-if (!Date.prototype.isPrototypeOf(x112)) {
- throw new Test262Error('#11.2: Date.prototype.isPrototypeOf(x112)');
-}
+assert(Date.prototype.isPrototypeOf(x112), 'Date.prototype.isPrototypeOf(x112) must return true');
var x113 = new Date(2099, 12, 1, 0, 0, 0);
-if (Date.prototype !== x113.constructor.prototype) {
- throw new Test262Error("#11.3: Date.prototype === x113.constructor.prototype");
-}
+
+assert.sameValue(
+ Date.prototype,
+ x113.constructor.prototype,
+ 'The value of Date.prototype is expected to equal the value of x113.constructor.prototype'
+);
var x121 = new Date(2100, 0, 1, 0, 0, 0);
-if (typeof x121.constructor.prototype !== "object") {
- throw new Test262Error("#12.1: typeof x121.constructor.prototype === 'object'");
-}
+
+assert.sameValue(
+ typeof x121.constructor.prototype,
+ "object",
+ 'The value of `typeof x121.constructor.prototype` is expected to be "object"'
+);
var x122 = new Date(2100, 0, 1, 0, 0, 0);
-if (!Date.prototype.isPrototypeOf(x122)) {
- throw new Test262Error('#12.2: Date.prototype.isPrototypeOf(x122)');
-}
+assert(Date.prototype.isPrototypeOf(x122), 'Date.prototype.isPrototypeOf(x122) must return true');
var x123 = new Date(2100, 0, 1, 0, 0, 0);
-if (Date.prototype !== x123.constructor.prototype) {
- throw new Test262Error("#12.3: Date.prototype === x123.constructor.prototype");
-}
+
+assert.sameValue(
+ Date.prototype,
+ x123.constructor.prototype,
+ 'The value of Date.prototype is expected to equal the value of x123.constructor.prototype'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/S15.9.3.1_A2_T6.js b/js/src/tests/test262/built-ins/Date/S15.9.3.1_A2_T6.js
index ca1d2916a3e3..526c1f9d4242 100644
--- a/js/src/tests/test262/built-ins/Date/S15.9.3.1_A2_T6.js
+++ b/js/src/tests/test262/built-ins/Date/S15.9.3.1_A2_T6.js
@@ -11,183 +11,231 @@ description: 7 arguments, (year, month, date, hours, minutes, seconds, ms)
---*/
var x11 = new Date(1899, 11, 31, 23, 59, 59, 999);
-if (typeof x11.constructor.prototype !== "object") {
- throw new Test262Error("#1.1: typeof x11.constructor.prototype === 'object'");
-}
+
+assert.sameValue(
+ typeof x11.constructor.prototype,
+ "object",
+ 'The value of `typeof x11.constructor.prototype` is expected to be "object"'
+);
var x12 = new Date(1899, 11, 31, 23, 59, 59, 999);
-if (!Date.prototype.isPrototypeOf(x12)) {
- throw new Test262Error('#1.2: Date.prototype.isPrototypeOf(x12)');
-}
+assert(Date.prototype.isPrototypeOf(x12), 'Date.prototype.isPrototypeOf(x12) must return true');
var x13 = new Date(1899, 11, 31, 23, 59, 59, 999);
-if (Date.prototype !== x13.constructor.prototype) {
- throw new Test262Error("#1.3: Date.prototype === x13.constructor.prototype");
-}
+
+assert.sameValue(
+ Date.prototype,
+ x13.constructor.prototype,
+ 'The value of Date.prototype is expected to equal the value of x13.constructor.prototype'
+);
var x21 = new Date(1899, 12, 1, 0, 0, 0, 0);
-if (typeof x21.constructor.prototype !== "object") {
- throw new Test262Error("#2.1: typeof x21.constructor.prototype === 'object'");
-}
+
+assert.sameValue(
+ typeof x21.constructor.prototype,
+ "object",
+ 'The value of `typeof x21.constructor.prototype` is expected to be "object"'
+);
var x22 = new Date(1899, 12, 1, 0, 0, 0, 0);
-if (!Date.prototype.isPrototypeOf(x22)) {
- throw new Test262Error('#2.2: Date.prototype.isPrototypeOf(x22)');
-}
+assert(Date.prototype.isPrototypeOf(x22), 'Date.prototype.isPrototypeOf(x22) must return true');
var x23 = new Date(1899, 12, 1, 0, 0, 0, 0);
-if (Date.prototype !== x23.constructor.prototype) {
- throw new Test262Error("#2.3: Date.prototype === x23.constructor.prototype");
-}
+
+assert.sameValue(
+ Date.prototype,
+ x23.constructor.prototype,
+ 'The value of Date.prototype is expected to equal the value of x23.constructor.prototype'
+);
var x31 = new Date(1900, 0, 1, 0, 0, 0, 0);
-if (typeof x31.constructor.prototype !== "object") {
- throw new Test262Error("#3.1: typeof x31.constructor.prototype === 'object'");
-}
+
+assert.sameValue(
+ typeof x31.constructor.prototype,
+ "object",
+ 'The value of `typeof x31.constructor.prototype` is expected to be "object"'
+);
var x32 = new Date(1900, 0, 1, 0, 0, 0, 0);
-if (!Date.prototype.isPrototypeOf(x32)) {
- throw new Test262Error('#3.2: Date.prototype.isPrototypeOf(x32)');
-}
+assert(Date.prototype.isPrototypeOf(x32), 'Date.prototype.isPrototypeOf(x32) must return true');
var x33 = new Date(1900, 0, 1, 0, 0, 0, 0);
-if (Date.prototype !== x33.constructor.prototype) {
- throw new Test262Error("#3.3: Date.prototype === x33.constructor.prototype");
-}
+
+assert.sameValue(
+ Date.prototype,
+ x33.constructor.prototype,
+ 'The value of Date.prototype is expected to equal the value of x33.constructor.prototype'
+);
var x41 = new Date(1969, 11, 31, 23, 59, 59, 999);
-if (typeof x41.constructor.prototype !== "object") {
- throw new Test262Error("#4.1: typeof x41.constructor.prototype === 'object'");
-}
+
+assert.sameValue(
+ typeof x41.constructor.prototype,
+ "object",
+ 'The value of `typeof x41.constructor.prototype` is expected to be "object"'
+);
var x42 = new Date(1969, 11, 31, 23, 59, 59, 999);
-if (!Date.prototype.isPrototypeOf(x42)) {
- throw new Test262Error('#4.2: Date.prototype.isPrototypeOf(x42)');
-}
+assert(Date.prototype.isPrototypeOf(x42), 'Date.prototype.isPrototypeOf(x42) must return true');
var x43 = new Date(1969, 11, 31, 23, 59, 59, 999);
-if (Date.prototype !== x43.constructor.prototype) {
- throw new Test262Error("#4.3: Date.prototype === x43.constructor.prototype");
-}
+
+assert.sameValue(
+ Date.prototype,
+ x43.constructor.prototype,
+ 'The value of Date.prototype is expected to equal the value of x43.constructor.prototype'
+);
var x51 = new Date(1969, 12, 1, 0, 0, 0, 0);
-if (typeof x51.constructor.prototype !== "object") {
- throw new Test262Error("#5.1: typeof x51.constructor.prototype === 'object'");
-}
+
+assert.sameValue(
+ typeof x51.constructor.prototype,
+ "object",
+ 'The value of `typeof x51.constructor.prototype` is expected to be "object"'
+);
var x52 = new Date(1969, 12, 1, 0, 0, 0, 0);
-if (!Date.prototype.isPrototypeOf(x52)) {
- throw new Test262Error('#5.2: Date.prototype.isPrototypeOf(x52)');
-}
+assert(Date.prototype.isPrototypeOf(x52), 'Date.prototype.isPrototypeOf(x52) must return true');
var x53 = new Date(1969, 12, 1, 0, 0, 0, 0);
-if (Date.prototype !== x53.constructor.prototype) {
- throw new Test262Error("#5.3: Date.prototype === x53.constructor.prototype");
-}
+
+assert.sameValue(
+ Date.prototype,
+ x53.constructor.prototype,
+ 'The value of Date.prototype is expected to equal the value of x53.constructor.prototype'
+);
var x61 = new Date(1970, 0, 1, 0, 0, 0, 0);
-if (typeof x61.constructor.prototype !== "object") {
- throw new Test262Error("#6.1: typeof x61.constructor.prototype === 'object'");
-}
+
+assert.sameValue(
+ typeof x61.constructor.prototype,
+ "object",
+ 'The value of `typeof x61.constructor.prototype` is expected to be "object"'
+);
var x62 = new Date(1970, 0, 1, 0, 0, 0, 0);
-if (!Date.prototype.isPrototypeOf(x62)) {
- throw new Test262Error('#6.2: Date.prototype.isPrototypeOf(x62)');
-}
+assert(Date.prototype.isPrototypeOf(x62), 'Date.prototype.isPrototypeOf(x62) must return true');
var x63 = new Date(1970, 0, 1, 0, 0, 0, 0);
-if (Date.prototype !== x63.constructor.prototype) {
- throw new Test262Error("#6.3: Date.prototype === x63.constructor.prototype");
-}
+
+assert.sameValue(
+ Date.prototype,
+ x63.constructor.prototype,
+ 'The value of Date.prototype is expected to equal the value of x63.constructor.prototype'
+);
var x71 = new Date(1999, 11, 31, 23, 59, 59, 999);
-if (typeof x71.constructor.prototype !== "object") {
- throw new Test262Error("#7.1: typeof x71.constructor.prototype === 'object'");
-}
+
+assert.sameValue(
+ typeof x71.constructor.prototype,
+ "object",
+ 'The value of `typeof x71.constructor.prototype` is expected to be "object"'
+);
var x72 = new Date(1999, 11, 31, 23, 59, 59, 999);
-if (!Date.prototype.isPrototypeOf(x72)) {
- throw new Test262Error('#7.2: Date.prototype.isPrototypeOf(x72)');
-}
+assert(Date.prototype.isPrototypeOf(x72), 'Date.prototype.isPrototypeOf(x72) must return true');
var x73 = new Date(1999, 11, 31, 23, 59, 59, 999);
-if (Date.prototype !== x73.constructor.prototype) {
- throw new Test262Error("#7.3: Date.prototype === x73.constructor.prototype");
-}
+
+assert.sameValue(
+ Date.prototype,
+ x73.constructor.prototype,
+ 'The value of Date.prototype is expected to equal the value of x73.constructor.prototype'
+);
var x81 = new Date(1999, 12, 1, 0, 0, 0, 0);
-if (typeof x81.constructor.prototype !== "object") {
- throw new Test262Error("#8.1: typeof x81.constructor.prototype === 'object'");
-}
+
+assert.sameValue(
+ typeof x81.constructor.prototype,
+ "object",
+ 'The value of `typeof x81.constructor.prototype` is expected to be "object"'
+);
var x82 = new Date(1999, 12, 1, 0, 0, 0, 0);
-if (!Date.prototype.isPrototypeOf(x82)) {
- throw new Test262Error('#8.2: Date.prototype.isPrototypeOf(x82)');
-}
+assert(Date.prototype.isPrototypeOf(x82), 'Date.prototype.isPrototypeOf(x82) must return true');
var x83 = new Date(1999, 12, 1, 0, 0, 0, 0);
-if (Date.prototype !== x83.constructor.prototype) {
- throw new Test262Error("#8.3: Date.prototype === x83.constructor.prototype");
-}
+
+assert.sameValue(
+ Date.prototype,
+ x83.constructor.prototype,
+ 'The value of Date.prototype is expected to equal the value of x83.constructor.prototype'
+);
var x91 = new Date(2000, 0, 1, 0, 0, 0, 0);
-if (typeof x91.constructor.prototype !== "object") {
- throw new Test262Error("#9.1: typeof x91.constructor.prototype === 'object'");
-}
+
+assert.sameValue(
+ typeof x91.constructor.prototype,
+ "object",
+ 'The value of `typeof x91.constructor.prototype` is expected to be "object"'
+);
var x92 = new Date(2000, 0, 1, 0, 0, 0, 0);
-if (!Date.prototype.isPrototypeOf(x92)) {
- throw new Test262Error('#9.2: Date.prototype.isPrototypeOf(x92)');
-}
+assert(Date.prototype.isPrototypeOf(x92), 'Date.prototype.isPrototypeOf(x92) must return true');
var x93 = new Date(2000, 0, 1, 0, 0, 0, 0);
-if (Date.prototype !== x93.constructor.prototype) {
- throw new Test262Error("#9.3: Date.prototype === x93.constructor.prototype");
-}
+
+assert.sameValue(
+ Date.prototype,
+ x93.constructor.prototype,
+ 'The value of Date.prototype is expected to equal the value of x93.constructor.prototype'
+);
var x101 = new Date(2099, 11, 31, 23, 59, 59, 999);
-if (typeof x101.constructor.prototype !== "object") {
- throw new Test262Error("#10.1: typeof x101.constructor.prototype === 'object'");
-}
+
+assert.sameValue(
+ typeof x101.constructor.prototype,
+ "object",
+ 'The value of `typeof x101.constructor.prototype` is expected to be "object"'
+);
var x102 = new Date(2099, 11, 31, 23, 59, 59, 999);
-if (!Date.prototype.isPrototypeOf(x102)) {
- throw new Test262Error('#10.2: Date.prototype.isPrototypeOf(x102)');
-}
+assert(Date.prototype.isPrototypeOf(x102), 'Date.prototype.isPrototypeOf(x102) must return true');
var x103 = new Date(2099, 11, 31, 23, 59, 59, 999);
-if (Date.prototype !== x103.constructor.prototype) {
- throw new Test262Error("#10.3: Date.prototype === x103.constructor.prototype");
-}
+
+assert.sameValue(
+ Date.prototype,
+ x103.constructor.prototype,
+ 'The value of Date.prototype is expected to equal the value of x103.constructor.prototype'
+);
var x111 = new Date(2099, 12, 1, 0, 0, 0, 0);
-if (typeof x111.constructor.prototype !== "object") {
- throw new Test262Error("#11.1: typeof x111.constructor.prototype === 'object'");
-}
+
+assert.sameValue(
+ typeof x111.constructor.prototype,
+ "object",
+ 'The value of `typeof x111.constructor.prototype` is expected to be "object"'
+);
var x112 = new Date(2099, 12, 1, 0, 0, 0, 0);
-if (!Date.prototype.isPrototypeOf(x112)) {
- throw new Test262Error('#11.2: Date.prototype.isPrototypeOf(x112)');
-}
+assert(Date.prototype.isPrototypeOf(x112), 'Date.prototype.isPrototypeOf(x112) must return true');
var x113 = new Date(2099, 12, 1, 0, 0, 0, 0);
-if (Date.prototype !== x113.constructor.prototype) {
- throw new Test262Error("#11.3: Date.prototype === x113.constructor.prototype");
-}
+
+assert.sameValue(
+ Date.prototype,
+ x113.constructor.prototype,
+ 'The value of Date.prototype is expected to equal the value of x113.constructor.prototype'
+);
var x121 = new Date(2100, 0, 1, 0, 0, 0, 0);
-if (typeof x121.constructor.prototype !== "object") {
- throw new Test262Error("#12.1: typeof x121.constructor.prototype === 'object'");
-}
+
+assert.sameValue(
+ typeof x121.constructor.prototype,
+ "object",
+ 'The value of `typeof x121.constructor.prototype` is expected to be "object"'
+);
var x122 = new Date(2100, 0, 1, 0, 0, 0, 0);
-if (!Date.prototype.isPrototypeOf(x122)) {
- throw new Test262Error('#12.2: Date.prototype.isPrototypeOf(x122)');
-}
+assert(Date.prototype.isPrototypeOf(x122), 'Date.prototype.isPrototypeOf(x122) must return true');
var x123 = new Date(2100, 0, 1, 0, 0, 0, 0);
-if (Date.prototype !== x123.constructor.prototype) {
- throw new Test262Error("#12.3: Date.prototype === x123.constructor.prototype");
-}
+
+assert.sameValue(
+ Date.prototype,
+ x123.constructor.prototype,
+ 'The value of Date.prototype is expected to equal the value of x123.constructor.prototype'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/S15.9.3.1_A3_T1.1.js b/js/src/tests/test262/built-ins/Date/S15.9.3.1_A3_T1.1.js
index 9f009232cc24..34eef009a298 100644
--- a/js/src/tests/test262/built-ins/Date/S15.9.3.1_A3_T1.1.js
+++ b/js/src/tests/test262/built-ins/Date/S15.9.3.1_A3_T1.1.js
@@ -12,63 +12,99 @@ description: >
---*/
var x1 = new Date(1899, 11);
-if (Object.prototype.toString.call(x1) !== "[object Date]") {
- throw new Test262Error("#1: The [[Class]] property of the newly constructed object is set to 'Date'");
-}
+
+assert.sameValue(
+ Object.prototype.toString.call(x1),
+ "[object Date]",
+ 'Object.prototype.toString.call(new Date(1899, 11)) must return "[object Date]"'
+);
var x2 = new Date(1899, 12);
-if (Object.prototype.toString.call(x2) !== "[object Date]") {
- throw new Test262Error("#2: The [[Class]] property of the newly constructed object is set to 'Date'");
-}
+
+assert.sameValue(
+ Object.prototype.toString.call(x2),
+ "[object Date]",
+ 'Object.prototype.toString.call(new Date(1899, 12)) must return "[object Date]"'
+);
var x3 = new Date(1900, 0);
-if (Object.prototype.toString.call(x3) !== "[object Date]") {
- throw new Test262Error("#3: The [[Class]] property of the newly constructed object is set to 'Date'");
-}
+
+assert.sameValue(
+ Object.prototype.toString.call(x3),
+ "[object Date]",
+ 'Object.prototype.toString.call(new Date(1900, 0)) must return "[object Date]"'
+);
var x4 = new Date(1969, 11);
-if (Object.prototype.toString.call(x4) !== "[object Date]") {
- throw new Test262Error("#4: The [[Class]] property of the newly constructed object is set to 'Date'");
-}
+
+assert.sameValue(
+ Object.prototype.toString.call(x4),
+ "[object Date]",
+ 'Object.prototype.toString.call(new Date(1969, 11)) must return "[object Date]"'
+);
var x5 = new Date(1969, 12);
-if (Object.prototype.toString.call(x5) !== "[object Date]") {
- throw new Test262Error("#5: The [[Class]] property of the newly constructed object is set to 'Date'");
-}
+
+assert.sameValue(
+ Object.prototype.toString.call(x5),
+ "[object Date]",
+ 'Object.prototype.toString.call(new Date(1969, 12)) must return "[object Date]"'
+);
var x6 = new Date(1970, 0);
-if (Object.prototype.toString.call(x6) !== "[object Date]") {
- throw new Test262Error("#6: The [[Class]] property of the newly constructed object is set to 'Date'");
-}
+
+assert.sameValue(
+ Object.prototype.toString.call(x6),
+ "[object Date]",
+ 'Object.prototype.toString.call(new Date(1970, 0)) must return "[object Date]"'
+);
var x7 = new Date(1999, 11);
-if (Object.prototype.toString.call(x7) !== "[object Date]") {
- throw new Test262Error("#7: The [[Class]] property of the newly constructed object is set to 'Date'");
-}
+
+assert.sameValue(
+ Object.prototype.toString.call(x7),
+ "[object Date]",
+ 'Object.prototype.toString.call(new Date(1999, 11)) must return "[object Date]"'
+);
var x8 = new Date(1999, 12);
-if (Object.prototype.toString.call(x8) !== "[object Date]") {
- throw new Test262Error("#8: The [[Class]] property of the newly constructed object is set to 'Date'");
-}
+
+assert.sameValue(
+ Object.prototype.toString.call(x8),
+ "[object Date]",
+ 'Object.prototype.toString.call(new Date(1999, 12)) must return "[object Date]"'
+);
var x9 = new Date(2000, 0);
-if (Object.prototype.toString.call(x9) !== "[object Date]") {
- throw new Test262Error("#9: The [[Class]] property of the newly constructed object is set to 'Date'");
-}
+
+assert.sameValue(
+ Object.prototype.toString.call(x9),
+ "[object Date]",
+ 'Object.prototype.toString.call(new Date(2000, 0)) must return "[object Date]"'
+);
var x10 = new Date(2099, 11);
-if (Object.prototype.toString.call(x10) !== "[object Date]") {
- throw new Test262Error("#10: The [[Class]] property of the newly constructed object is set to 'Date'");
-}
+
+assert.sameValue(
+ Object.prototype.toString.call(x10),
+ "[object Date]",
+ 'Object.prototype.toString.call(new Date(2099, 11)) must return "[object Date]"'
+);
var x11 = new Date(2099, 12);
-if (Object.prototype.toString.call(x11) !== "[object Date]") {
- throw new Test262Error("#11: The [[Class]] property of the newly constructed object is set to 'Date'");
-}
+
+assert.sameValue(
+ Object.prototype.toString.call(x11),
+ "[object Date]",
+ 'Object.prototype.toString.call(new Date(2099, 12)) must return "[object Date]"'
+);
var x12 = new Date(2100, 0);
-if (Object.prototype.toString.call(x12) !== "[object Date]") {
- throw new Test262Error("#12: The [[Class]] property of the newly constructed object is set to 'Date'");
-}
+
+assert.sameValue(
+ Object.prototype.toString.call(x12),
+ "[object Date]",
+ 'Object.prototype.toString.call(new Date(2100, 0)) must return "[object Date]"'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/S15.9.3.1_A3_T1.2.js b/js/src/tests/test262/built-ins/Date/S15.9.3.1_A3_T1.2.js
index 39bd022eb405..abc6e7a2f4e7 100644
--- a/js/src/tests/test262/built-ins/Date/S15.9.3.1_A3_T1.2.js
+++ b/js/src/tests/test262/built-ins/Date/S15.9.3.1_A3_T1.2.js
@@ -14,63 +14,39 @@ description: >
Date.prototype.toString = Object.prototype.toString;
var x1 = new Date(1899, 11);
-if (x1.toString() !== "[object Date]") {
- throw new Test262Error("#1: The [[Class]] property of the newly constructed object is set to 'Date'");
-}
+assert.sameValue(x1.toString(), "[object Date]", 'x1.toString() must return "[object Date]"');
var x2 = new Date(1899, 12);
-if (x2.toString() !== "[object Date]") {
- throw new Test262Error("#2: The [[Class]] property of the newly constructed object is set to 'Date'");
-}
+assert.sameValue(x2.toString(), "[object Date]", 'x2.toString() must return "[object Date]"');
var x3 = new Date(1900, 0);
-if (x3.toString() !== "[object Date]") {
- throw new Test262Error("#3: The [[Class]] property of the newly constructed object is set to 'Date'");
-}
+assert.sameValue(x3.toString(), "[object Date]", 'x3.toString() must return "[object Date]"');
var x4 = new Date(1969, 11);
-if (x4.toString() !== "[object Date]") {
- throw new Test262Error("#4: The [[Class]] property of the newly constructed object is set to 'Date'");
-}
+assert.sameValue(x4.toString(), "[object Date]", 'x4.toString() must return "[object Date]"');
var x5 = new Date(1969, 12);
-if (x5.toString() !== "[object Date]") {
- throw new Test262Error("#5: The [[Class]] property of the newly constructed object is set to 'Date'");
-}
+assert.sameValue(x5.toString(), "[object Date]", 'x5.toString() must return "[object Date]"');
var x6 = new Date(1970, 0);
-if (x6.toString() !== "[object Date]") {
- throw new Test262Error("#6: The [[Class]] property of the newly constructed object is set to 'Date'");
-}
+assert.sameValue(x6.toString(), "[object Date]", 'x6.toString() must return "[object Date]"');
var x7 = new Date(1999, 11);
-if (x7.toString() !== "[object Date]") {
- throw new Test262Error("#7: The [[Class]] property of the newly constructed object is set to 'Date'");
-}
+assert.sameValue(x7.toString(), "[object Date]", 'x7.toString() must return "[object Date]"');
var x8 = new Date(1999, 12);
-if (x8.toString() !== "[object Date]") {
- throw new Test262Error("#8: The [[Class]] property of the newly constructed object is set to 'Date'");
-}
+assert.sameValue(x8.toString(), "[object Date]", 'x8.toString() must return "[object Date]"');
var x9 = new Date(2000, 0);
-if (x9.toString() !== "[object Date]") {
- throw new Test262Error("#9: The [[Class]] property of the newly constructed object is set to 'Date'");
-}
+assert.sameValue(x9.toString(), "[object Date]", 'x9.toString() must return "[object Date]"');
var x10 = new Date(2099, 11);
-if (x10.toString() !== "[object Date]") {
- throw new Test262Error("#10: The [[Class]] property of the newly constructed object is set to 'Date'");
-}
+assert.sameValue(x10.toString(), "[object Date]", 'x10.toString() must return "[object Date]"');
var x11 = new Date(2099, 12);
-if (x11.toString() !== "[object Date]") {
- throw new Test262Error("#11: The [[Class]] property of the newly constructed object is set to 'Date'");
-}
+assert.sameValue(x11.toString(), "[object Date]", 'x11.toString() must return "[object Date]"');
var x12 = new Date(2100, 0);
-if (x12.toString() !== "[object Date]") {
- throw new Test262Error("#12: The [[Class]] property of the newly constructed object is set to 'Date'");
-}
+assert.sameValue(x12.toString(), "[object Date]", 'x12.toString() must return "[object Date]"');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/S15.9.3.1_A3_T2.1.js b/js/src/tests/test262/built-ins/Date/S15.9.3.1_A3_T2.1.js
index 776aa2099d67..97bdfc01d16f 100644
--- a/js/src/tests/test262/built-ins/Date/S15.9.3.1_A3_T2.1.js
+++ b/js/src/tests/test262/built-ins/Date/S15.9.3.1_A3_T2.1.js
@@ -12,63 +12,99 @@ description: >
---*/
var x1 = new Date(1899, 11, 31);
-if (Object.prototype.toString.call(x1) !== "[object Date]") {
- throw new Test262Error("#1: The [[Class]] property of the newly constructed object is set to 'Date'");
-}
+
+assert.sameValue(
+ Object.prototype.toString.call(x1),
+ "[object Date]",
+ 'Object.prototype.toString.call(new Date(1899, 11, 31)) must return "[object Date]"'
+);
var x2 = new Date(1899, 12, 1);
-if (Object.prototype.toString.call(x2) !== "[object Date]") {
- throw new Test262Error("#2: The [[Class]] property of the newly constructed object is set to 'Date'");
-}
+
+assert.sameValue(
+ Object.prototype.toString.call(x2),
+ "[object Date]",
+ 'Object.prototype.toString.call(new Date(1899, 12, 1)) must return "[object Date]"'
+);
var x3 = new Date(1900, 0, 1);
-if (Object.prototype.toString.call(x3) !== "[object Date]") {
- throw new Test262Error("#3: The [[Class]] property of the newly constructed object is set to 'Date'");
-}
+
+assert.sameValue(
+ Object.prototype.toString.call(x3),
+ "[object Date]",
+ 'Object.prototype.toString.call(new Date(1900, 0, 1)) must return "[object Date]"'
+);
var x4 = new Date(1969, 11, 31);
-if (Object.prototype.toString.call(x4) !== "[object Date]") {
- throw new Test262Error("#4: The [[Class]] property of the newly constructed object is set to 'Date'");
-}
+
+assert.sameValue(
+ Object.prototype.toString.call(x4),
+ "[object Date]",
+ 'Object.prototype.toString.call(new Date(1969, 11, 31)) must return "[object Date]"'
+);
var x5 = new Date(1969, 12, 1);
-if (Object.prototype.toString.call(x5) !== "[object Date]") {
- throw new Test262Error("#5: The [[Class]] property of the newly constructed object is set to 'Date'");
-}
+
+assert.sameValue(
+ Object.prototype.toString.call(x5),
+ "[object Date]",
+ 'Object.prototype.toString.call(new Date(1969, 12, 1)) must return "[object Date]"'
+);
var x6 = new Date(1970, 0, 1);
-if (Object.prototype.toString.call(x6) !== "[object Date]") {
- throw new Test262Error("#6: The [[Class]] property of the newly constructed object is set to 'Date'");
-}
+
+assert.sameValue(
+ Object.prototype.toString.call(x6),
+ "[object Date]",
+ 'Object.prototype.toString.call(new Date(1970, 0, 1)) must return "[object Date]"'
+);
var x7 = new Date(1999, 11, 31);
-if (Object.prototype.toString.call(x7) !== "[object Date]") {
- throw new Test262Error("#7: The [[Class]] property of the newly constructed object is set to 'Date'");
-}
+
+assert.sameValue(
+ Object.prototype.toString.call(x7),
+ "[object Date]",
+ 'Object.prototype.toString.call(new Date(1999, 11, 31)) must return "[object Date]"'
+);
var x8 = new Date(1999, 12, 1);
-if (Object.prototype.toString.call(x8) !== "[object Date]") {
- throw new Test262Error("#8: The [[Class]] property of the newly constructed object is set to 'Date'");
-}
+
+assert.sameValue(
+ Object.prototype.toString.call(x8),
+ "[object Date]",
+ 'Object.prototype.toString.call(new Date(1999, 12, 1)) must return "[object Date]"'
+);
var x9 = new Date(2000, 0, 1);
-if (Object.prototype.toString.call(x9) !== "[object Date]") {
- throw new Test262Error("#9: The [[Class]] property of the newly constructed object is set to 'Date'");
-}
+
+assert.sameValue(
+ Object.prototype.toString.call(x9),
+ "[object Date]",
+ 'Object.prototype.toString.call(new Date(2000, 0, 1)) must return "[object Date]"'
+);
var x10 = new Date(2099, 11, 31);
-if (Object.prototype.toString.call(x10) !== "[object Date]") {
- throw new Test262Error("#10: The [[Class]] property of the newly constructed object is set to 'Date'");
-}
+
+assert.sameValue(
+ Object.prototype.toString.call(x10),
+ "[object Date]",
+ 'Object.prototype.toString.call(new Date(2099, 11, 31)) must return "[object Date]"'
+);
var x11 = new Date(2099, 12, 1);
-if (Object.prototype.toString.call(x11) !== "[object Date]") {
- throw new Test262Error("#11: The [[Class]] property of the newly constructed object is set to 'Date'");
-}
+
+assert.sameValue(
+ Object.prototype.toString.call(x11),
+ "[object Date]",
+ 'Object.prototype.toString.call(new Date(2099, 12, 1)) must return "[object Date]"'
+);
var x12 = new Date(2100, 0, 1);
-if (Object.prototype.toString.call(x12) !== "[object Date]") {
- throw new Test262Error("#12: The [[Class]] property of the newly constructed object is set to 'Date'");
-}
+
+assert.sameValue(
+ Object.prototype.toString.call(x12),
+ "[object Date]",
+ 'Object.prototype.toString.call(new Date(2100, 0, 1)) must return "[object Date]"'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/S15.9.3.1_A3_T2.2.js b/js/src/tests/test262/built-ins/Date/S15.9.3.1_A3_T2.2.js
index 20acdb4bfaca..6720987a6880 100644
--- a/js/src/tests/test262/built-ins/Date/S15.9.3.1_A3_T2.2.js
+++ b/js/src/tests/test262/built-ins/Date/S15.9.3.1_A3_T2.2.js
@@ -14,63 +14,39 @@ description: >
Date.prototype.toString = Object.prototype.toString;
var x1 = new Date(1899, 11, 31);
-if (x1.toString() !== "[object Date]") {
- throw new Test262Error("#1: The [[Class]] property of the newly constructed object is set to 'Date'");
-}
+assert.sameValue(x1.toString(), "[object Date]", 'x1.toString() must return "[object Date]"');
var x2 = new Date(1899, 12, 1);
-if (x2.toString() !== "[object Date]") {
- throw new Test262Error("#2: The [[Class]] property of the newly constructed object is set to 'Date'");
-}
+assert.sameValue(x2.toString(), "[object Date]", 'x2.toString() must return "[object Date]"');
var x3 = new Date(1900, 0, 1);
-if (x3.toString() !== "[object Date]") {
- throw new Test262Error("#3: The [[Class]] property of the newly constructed object is set to 'Date'");
-}
+assert.sameValue(x3.toString(), "[object Date]", 'x3.toString() must return "[object Date]"');
var x4 = new Date(1969, 11, 31);
-if (x4.toString() !== "[object Date]") {
- throw new Test262Error("#4: The [[Class]] property of the newly constructed object is set to 'Date'");
-}
+assert.sameValue(x4.toString(), "[object Date]", 'x4.toString() must return "[object Date]"');
var x5 = new Date(1969, 12, 1);
-if (x5.toString() !== "[object Date]") {
- throw new Test262Error("#5: The [[Class]] property of the newly constructed object is set to 'Date'");
-}
+assert.sameValue(x5.toString(), "[object Date]", 'x5.toString() must return "[object Date]"');
var x6 = new Date(1970, 0, 1);
-if (x6.toString() !== "[object Date]") {
- throw new Test262Error("#6: The [[Class]] property of the newly constructed object is set to 'Date'");
-}
+assert.sameValue(x6.toString(), "[object Date]", 'x6.toString() must return "[object Date]"');
var x7 = new Date(1999, 11, 31);
-if (x7.toString() !== "[object Date]") {
- throw new Test262Error("#7: The [[Class]] property of the newly constructed object is set to 'Date'");
-}
+assert.sameValue(x7.toString(), "[object Date]", 'x7.toString() must return "[object Date]"');
var x8 = new Date(1999, 12, 1);
-if (x8.toString() !== "[object Date]") {
- throw new Test262Error("#8: The [[Class]] property of the newly constructed object is set to 'Date'");
-}
+assert.sameValue(x8.toString(), "[object Date]", 'x8.toString() must return "[object Date]"');
var x9 = new Date(2000, 0, 1);
-if (x9.toString() !== "[object Date]") {
- throw new Test262Error("#9: The [[Class]] property of the newly constructed object is set to 'Date'");
-}
+assert.sameValue(x9.toString(), "[object Date]", 'x9.toString() must return "[object Date]"');
var x10 = new Date(2099, 11, 31);
-if (x10.toString() !== "[object Date]") {
- throw new Test262Error("#10: The [[Class]] property of the newly constructed object is set to 'Date'");
-}
+assert.sameValue(x10.toString(), "[object Date]", 'x10.toString() must return "[object Date]"');
var x11 = new Date(2099, 12, 1);
-if (x11.toString() !== "[object Date]") {
- throw new Test262Error("#11: The [[Class]] property of the newly constructed object is set to 'Date'");
-}
+assert.sameValue(x11.toString(), "[object Date]", 'x11.toString() must return "[object Date]"');
var x12 = new Date(2100, 0, 1);
-if (x12.toString() !== "[object Date]") {
- throw new Test262Error("#12: The [[Class]] property of the newly constructed object is set to 'Date'");
-}
+assert.sameValue(x12.toString(), "[object Date]", 'x12.toString() must return "[object Date]"');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/S15.9.3.1_A3_T3.1.js b/js/src/tests/test262/built-ins/Date/S15.9.3.1_A3_T3.1.js
index 1b2f60f77104..6d647529313e 100644
--- a/js/src/tests/test262/built-ins/Date/S15.9.3.1_A3_T3.1.js
+++ b/js/src/tests/test262/built-ins/Date/S15.9.3.1_A3_T3.1.js
@@ -12,63 +12,99 @@ description: >
---*/
var x1 = new Date(1899, 11, 31, 23);
-if (Object.prototype.toString.call(x1) !== "[object Date]") {
- throw new Test262Error("#1: The [[Class]] property of the newly constructed object is set to 'Date'");
-}
+
+assert.sameValue(
+ Object.prototype.toString.call(x1),
+ "[object Date]",
+ 'Object.prototype.toString.call(new Date(1899, 11, 31, 23)) must return "[object Date]"'
+);
var x2 = new Date(1899, 12, 1, 0);
-if (Object.prototype.toString.call(x2) !== "[object Date]") {
- throw new Test262Error("#2: The [[Class]] property of the newly constructed object is set to 'Date'");
-}
+
+assert.sameValue(
+ Object.prototype.toString.call(x2),
+ "[object Date]",
+ 'Object.prototype.toString.call(new Date(1899, 12, 1, 0)) must return "[object Date]"'
+);
var x3 = new Date(1900, 0, 1, 0);
-if (Object.prototype.toString.call(x3) !== "[object Date]") {
- throw new Test262Error("#3: The [[Class]] property of the newly constructed object is set to 'Date'");
-}
+
+assert.sameValue(
+ Object.prototype.toString.call(x3),
+ "[object Date]",
+ 'Object.prototype.toString.call(new Date(1900, 0, 1, 0)) must return "[object Date]"'
+);
var x4 = new Date(1969, 11, 31, 23);
-if (Object.prototype.toString.call(x4) !== "[object Date]") {
- throw new Test262Error("#4: The [[Class]] property of the newly constructed object is set to 'Date'");
-}
+
+assert.sameValue(
+ Object.prototype.toString.call(x4),
+ "[object Date]",
+ 'Object.prototype.toString.call(new Date(1969, 11, 31, 23)) must return "[object Date]"'
+);
var x5 = new Date(1969, 12, 1, 0);
-if (Object.prototype.toString.call(x5) !== "[object Date]") {
- throw new Test262Error("#5: The [[Class]] property of the newly constructed object is set to 'Date'");
-}
+
+assert.sameValue(
+ Object.prototype.toString.call(x5),
+ "[object Date]",
+ 'Object.prototype.toString.call(new Date(1969, 12, 1, 0)) must return "[object Date]"'
+);
var x6 = new Date(1970, 0, 1, 0);
-if (Object.prototype.toString.call(x6) !== "[object Date]") {
- throw new Test262Error("#6: The [[Class]] property of the newly constructed object is set to 'Date'");
-}
+
+assert.sameValue(
+ Object.prototype.toString.call(x6),
+ "[object Date]",
+ 'Object.prototype.toString.call(new Date(1970, 0, 1, 0)) must return "[object Date]"'
+);
var x7 = new Date(1999, 11, 31, 23);
-if (Object.prototype.toString.call(x7) !== "[object Date]") {
- throw new Test262Error("#7: The [[Class]] property of the newly constructed object is set to 'Date'");
-}
+
+assert.sameValue(
+ Object.prototype.toString.call(x7),
+ "[object Date]",
+ 'Object.prototype.toString.call(new Date(1999, 11, 31, 23)) must return "[object Date]"'
+);
var x8 = new Date(1999, 12, 1, 0);
-if (Object.prototype.toString.call(x8) !== "[object Date]") {
- throw new Test262Error("#8: The [[Class]] property of the newly constructed object is set to 'Date'");
-}
+
+assert.sameValue(
+ Object.prototype.toString.call(x8),
+ "[object Date]",
+ 'Object.prototype.toString.call(new Date(1999, 12, 1, 0)) must return "[object Date]"'
+);
var x9 = new Date(2000, 0, 1, 0);
-if (Object.prototype.toString.call(x9) !== "[object Date]") {
- throw new Test262Error("#9: The [[Class]] property of the newly constructed object is set to 'Date'");
-}
+
+assert.sameValue(
+ Object.prototype.toString.call(x9),
+ "[object Date]",
+ 'Object.prototype.toString.call(new Date(2000, 0, 1, 0)) must return "[object Date]"'
+);
var x10 = new Date(2099, 11, 31, 23);
-if (Object.prototype.toString.call(x10) !== "[object Date]") {
- throw new Test262Error("#10: The [[Class]] property of the newly constructed object is set to 'Date'");
-}
+
+assert.sameValue(
+ Object.prototype.toString.call(x10),
+ "[object Date]",
+ 'Object.prototype.toString.call(new Date(2099, 11, 31, 23)) must return "[object Date]"'
+);
var x11 = new Date(2099, 12, 1, 0);
-if (Object.prototype.toString.call(x11) !== "[object Date]") {
- throw new Test262Error("#11: The [[Class]] property of the newly constructed object is set to 'Date'");
-}
+
+assert.sameValue(
+ Object.prototype.toString.call(x11),
+ "[object Date]",
+ 'Object.prototype.toString.call(new Date(2099, 12, 1, 0)) must return "[object Date]"'
+);
var x12 = new Date(2100, 0, 1, 0);
-if (Object.prototype.toString.call(x12) !== "[object Date]") {
- throw new Test262Error("#12: The [[Class]] property of the newly constructed object is set to 'Date'");
-}
+
+assert.sameValue(
+ Object.prototype.toString.call(x12),
+ "[object Date]",
+ 'Object.prototype.toString.call(new Date(2100, 0, 1, 0)) must return "[object Date]"'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/S15.9.3.1_A3_T3.2.js b/js/src/tests/test262/built-ins/Date/S15.9.3.1_A3_T3.2.js
index 23e72dbe4f37..25cf161728c2 100644
--- a/js/src/tests/test262/built-ins/Date/S15.9.3.1_A3_T3.2.js
+++ b/js/src/tests/test262/built-ins/Date/S15.9.3.1_A3_T3.2.js
@@ -14,63 +14,39 @@ description: >
Date.prototype.toString = Object.prototype.toString;
var x1 = new Date(1899, 11, 31, 23);
-if (x1.toString() !== "[object Date]") {
- throw new Test262Error("#1: The [[Class]] property of the newly constructed object is set to 'Date'");
-}
+assert.sameValue(x1.toString(), "[object Date]", 'x1.toString() must return "[object Date]"');
var x2 = new Date(1899, 12, 1, 0);
-if (x2.toString() !== "[object Date]") {
- throw new Test262Error("#2: The [[Class]] property of the newly constructed object is set to 'Date'");
-}
+assert.sameValue(x2.toString(), "[object Date]", 'x2.toString() must return "[object Date]"');
var x3 = new Date(1900, 0, 1, 0);
-if (x3.toString() !== "[object Date]") {
- throw new Test262Error("#3: The [[Class]] property of the newly constructed object is set to 'Date'");
-}
+assert.sameValue(x3.toString(), "[object Date]", 'x3.toString() must return "[object Date]"');
var x4 = new Date(1969, 11, 31, 23);
-if (x4.toString() !== "[object Date]") {
- throw new Test262Error("#4: The [[Class]] property of the newly constructed object is set to 'Date'");
-}
+assert.sameValue(x4.toString(), "[object Date]", 'x4.toString() must return "[object Date]"');
var x5 = new Date(1969, 12, 1, 0);
-if (x5.toString() !== "[object Date]") {
- throw new Test262Error("#5: The [[Class]] property of the newly constructed object is set to 'Date'");
-}
+assert.sameValue(x5.toString(), "[object Date]", 'x5.toString() must return "[object Date]"');
var x6 = new Date(1970, 0, 1, 0);
-if (x6.toString() !== "[object Date]") {
- throw new Test262Error("#6: The [[Class]] property of the newly constructed object is set to 'Date'");
-}
+assert.sameValue(x6.toString(), "[object Date]", 'x6.toString() must return "[object Date]"');
var x7 = new Date(1999, 11, 31, 23);
-if (x7.toString() !== "[object Date]") {
- throw new Test262Error("#7: The [[Class]] property of the newly constructed object is set to 'Date'");
-}
+assert.sameValue(x7.toString(), "[object Date]", 'x7.toString() must return "[object Date]"');
var x8 = new Date(1999, 12, 1, 0);
-if (x8.toString() !== "[object Date]") {
- throw new Test262Error("#8: The [[Class]] property of the newly constructed object is set to 'Date'");
-}
+assert.sameValue(x8.toString(), "[object Date]", 'x8.toString() must return "[object Date]"');
var x9 = new Date(2000, 0, 1, 0);
-if (x9.toString() !== "[object Date]") {
- throw new Test262Error("#9: The [[Class]] property of the newly constructed object is set to 'Date'");
-}
+assert.sameValue(x9.toString(), "[object Date]", 'x9.toString() must return "[object Date]"');
var x10 = new Date(2099, 11, 31, 23);
-if (x10.toString() !== "[object Date]") {
- throw new Test262Error("#10: The [[Class]] property of the newly constructed object is set to 'Date'");
-}
+assert.sameValue(x10.toString(), "[object Date]", 'x10.toString() must return "[object Date]"');
var x11 = new Date(2099, 12, 1, 0);
-if (x11.toString() !== "[object Date]") {
- throw new Test262Error("#11: The [[Class]] property of the newly constructed object is set to 'Date'");
-}
+assert.sameValue(x11.toString(), "[object Date]", 'x11.toString() must return "[object Date]"');
var x12 = new Date(2100, 0, 1, 0);
-if (x12.toString() !== "[object Date]") {
- throw new Test262Error("#12: The [[Class]] property of the newly constructed object is set to 'Date'");
-}
+assert.sameValue(x12.toString(), "[object Date]", 'x12.toString() must return "[object Date]"');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/S15.9.3.1_A3_T4.1.js b/js/src/tests/test262/built-ins/Date/S15.9.3.1_A3_T4.1.js
index d9673add07af..35c92fe30ba3 100644
--- a/js/src/tests/test262/built-ins/Date/S15.9.3.1_A3_T4.1.js
+++ b/js/src/tests/test262/built-ins/Date/S15.9.3.1_A3_T4.1.js
@@ -12,63 +12,99 @@ description: >
---*/
var x1 = new Date(1899, 11, 31, 23, 59);
-if (Object.prototype.toString.call(x1) !== "[object Date]") {
- throw new Test262Error("#1: The [[Class]] property of the newly constructed object is set to 'Date'");
-}
+
+assert.sameValue(
+ Object.prototype.toString.call(x1),
+ "[object Date]",
+ 'Object.prototype.toString.call(new Date(1899, 11, 31, 23, 59)) must return "[object Date]"'
+);
var x2 = new Date(1899, 12, 1, 0, 0);
-if (Object.prototype.toString.call(x2) !== "[object Date]") {
- throw new Test262Error("#2: The [[Class]] property of the newly constructed object is set to 'Date'");
-}
+
+assert.sameValue(
+ Object.prototype.toString.call(x2),
+ "[object Date]",
+ 'Object.prototype.toString.call(new Date(1899, 12, 1, 0, 0)) must return "[object Date]"'
+);
var x3 = new Date(1900, 0, 1, 0, 0);
-if (Object.prototype.toString.call(x3) !== "[object Date]") {
- throw new Test262Error("#3: The [[Class]] property of the newly constructed object is set to 'Date'");
-}
+
+assert.sameValue(
+ Object.prototype.toString.call(x3),
+ "[object Date]",
+ 'Object.prototype.toString.call(new Date(1900, 0, 1, 0, 0)) must return "[object Date]"'
+);
var x4 = new Date(1969, 11, 31, 23, 59);
-if (Object.prototype.toString.call(x4) !== "[object Date]") {
- throw new Test262Error("#4: The [[Class]] property of the newly constructed object is set to 'Date'");
-}
+
+assert.sameValue(
+ Object.prototype.toString.call(x4),
+ "[object Date]",
+ 'Object.prototype.toString.call(new Date(1969, 11, 31, 23, 59)) must return "[object Date]"'
+);
var x5 = new Date(1969, 12, 1, 0, 0);
-if (Object.prototype.toString.call(x5) !== "[object Date]") {
- throw new Test262Error("#5: The [[Class]] property of the newly constructed object is set to 'Date'");
-}
+
+assert.sameValue(
+ Object.prototype.toString.call(x5),
+ "[object Date]",
+ 'Object.prototype.toString.call(new Date(1969, 12, 1, 0, 0)) must return "[object Date]"'
+);
var x6 = new Date(1970, 0, 1, 0, 0);
-if (Object.prototype.toString.call(x6) !== "[object Date]") {
- throw new Test262Error("#6: The [[Class]] property of the newly constructed object is set to 'Date'");
-}
+
+assert.sameValue(
+ Object.prototype.toString.call(x6),
+ "[object Date]",
+ 'Object.prototype.toString.call(new Date(1970, 0, 1, 0, 0)) must return "[object Date]"'
+);
var x7 = new Date(1999, 11, 31, 23, 59);
-if (Object.prototype.toString.call(x7) !== "[object Date]") {
- throw new Test262Error("#7: The [[Class]] property of the newly constructed object is set to 'Date'");
-}
+
+assert.sameValue(
+ Object.prototype.toString.call(x7),
+ "[object Date]",
+ 'Object.prototype.toString.call(new Date(1999, 11, 31, 23, 59)) must return "[object Date]"'
+);
var x8 = new Date(1999, 12, 1, 0, 0);
-if (Object.prototype.toString.call(x8) !== "[object Date]") {
- throw new Test262Error("#8: The [[Class]] property of the newly constructed object is set to 'Date'");
-}
+
+assert.sameValue(
+ Object.prototype.toString.call(x8),
+ "[object Date]",
+ 'Object.prototype.toString.call(new Date(1999, 12, 1, 0, 0)) must return "[object Date]"'
+);
var x9 = new Date(2000, 0, 1, 0, 0);
-if (Object.prototype.toString.call(x9) !== "[object Date]") {
- throw new Test262Error("#9: The [[Class]] property of the newly constructed object is set to 'Date'");
-}
+
+assert.sameValue(
+ Object.prototype.toString.call(x9),
+ "[object Date]",
+ 'Object.prototype.toString.call(new Date(2000, 0, 1, 0, 0)) must return "[object Date]"'
+);
var x10 = new Date(2099, 11, 31, 23, 59);
-if (Object.prototype.toString.call(x10) !== "[object Date]") {
- throw new Test262Error("#10: The [[Class]] property of the newly constructed object is set to 'Date'");
-}
+
+assert.sameValue(
+ Object.prototype.toString.call(x10),
+ "[object Date]",
+ 'Object.prototype.toString.call(new Date(2099, 11, 31, 23, 59)) must return "[object Date]"'
+);
var x11 = new Date(2099, 12, 1, 0, 0);
-if (Object.prototype.toString.call(x11) !== "[object Date]") {
- throw new Test262Error("#11: The [[Class]] property of the newly constructed object is set to 'Date'");
-}
+
+assert.sameValue(
+ Object.prototype.toString.call(x11),
+ "[object Date]",
+ 'Object.prototype.toString.call(new Date(2099, 12, 1, 0, 0)) must return "[object Date]"'
+);
var x12 = new Date(2100, 0, 1, 0, 0);
-if (Object.prototype.toString.call(x12) !== "[object Date]") {
- throw new Test262Error("#12: The [[Class]] property of the newly constructed object is set to 'Date'");
-}
+
+assert.sameValue(
+ Object.prototype.toString.call(x12),
+ "[object Date]",
+ 'Object.prototype.toString.call(new Date(2100, 0, 1, 0, 0)) must return "[object Date]"'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/S15.9.3.1_A3_T4.2.js b/js/src/tests/test262/built-ins/Date/S15.9.3.1_A3_T4.2.js
index ccdc85feed3f..455e1dde8fd4 100644
--- a/js/src/tests/test262/built-ins/Date/S15.9.3.1_A3_T4.2.js
+++ b/js/src/tests/test262/built-ins/Date/S15.9.3.1_A3_T4.2.js
@@ -14,63 +14,39 @@ description: >
Date.prototype.toString = Object.prototype.toString;
var x1 = new Date(1899, 11, 31, 23, 59);
-if (x1.toString() !== "[object Date]") {
- throw new Test262Error("#1: The [[Class]] property of the newly constructed object is set to 'Date'");
-}
+assert.sameValue(x1.toString(), "[object Date]", 'x1.toString() must return "[object Date]"');
var x2 = new Date(1899, 12, 1, 0, 0);
-if (x2.toString() !== "[object Date]") {
- throw new Test262Error("#2: The [[Class]] property of the newly constructed object is set to 'Date'");
-}
+assert.sameValue(x2.toString(), "[object Date]", 'x2.toString() must return "[object Date]"');
var x3 = new Date(1900, 0, 1, 0, 0);
-if (x3.toString() !== "[object Date]") {
- throw new Test262Error("#3: The [[Class]] property of the newly constructed object is set to 'Date'");
-}
+assert.sameValue(x3.toString(), "[object Date]", 'x3.toString() must return "[object Date]"');
var x4 = new Date(1969, 11, 31, 23, 59);
-if (x4.toString() !== "[object Date]") {
- throw new Test262Error("#4: The [[Class]] property of the newly constructed object is set to 'Date'");
-}
+assert.sameValue(x4.toString(), "[object Date]", 'x4.toString() must return "[object Date]"');
var x5 = new Date(1969, 12, 1, 0, 0);
-if (x5.toString() !== "[object Date]") {
- throw new Test262Error("#5: The [[Class]] property of the newly constructed object is set to 'Date'");
-}
+assert.sameValue(x5.toString(), "[object Date]", 'x5.toString() must return "[object Date]"');
var x6 = new Date(1970, 0, 1, 0, 0);
-if (x6.toString() !== "[object Date]") {
- throw new Test262Error("#6: The [[Class]] property of the newly constructed object is set to 'Date'");
-}
+assert.sameValue(x6.toString(), "[object Date]", 'x6.toString() must return "[object Date]"');
var x7 = new Date(1999, 11, 31, 23, 59);
-if (x7.toString() !== "[object Date]") {
- throw new Test262Error("#7: The [[Class]] property of the newly constructed object is set to 'Date'");
-}
+assert.sameValue(x7.toString(), "[object Date]", 'x7.toString() must return "[object Date]"');
var x8 = new Date(1999, 12, 1, 0, 0);
-if (x8.toString() !== "[object Date]") {
- throw new Test262Error("#8: The [[Class]] property of the newly constructed object is set to 'Date'");
-}
+assert.sameValue(x8.toString(), "[object Date]", 'x8.toString() must return "[object Date]"');
var x9 = new Date(2000, 0, 1, 0, 0);
-if (x9.toString() !== "[object Date]") {
- throw new Test262Error("#9: The [[Class]] property of the newly constructed object is set to 'Date'");
-}
+assert.sameValue(x9.toString(), "[object Date]", 'x9.toString() must return "[object Date]"');
var x10 = new Date(2099, 11, 31, 23, 59);
-if (x10.toString() !== "[object Date]") {
- throw new Test262Error("#10: The [[Class]] property of the newly constructed object is set to 'Date'");
-}
+assert.sameValue(x10.toString(), "[object Date]", 'x10.toString() must return "[object Date]"');
var x11 = new Date(2099, 12, 1, 0, 0);
-if (x11.toString() !== "[object Date]") {
- throw new Test262Error("#11: The [[Class]] property of the newly constructed object is set to 'Date'");
-}
+assert.sameValue(x11.toString(), "[object Date]", 'x11.toString() must return "[object Date]"');
var x12 = new Date(2100, 0, 1, 0, 0);
-if (x12.toString() !== "[object Date]") {
- throw new Test262Error("#12: The [[Class]] property of the newly constructed object is set to 'Date'");
-}
+assert.sameValue(x12.toString(), "[object Date]", 'x12.toString() must return "[object Date]"');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/S15.9.3.1_A3_T5.1.js b/js/src/tests/test262/built-ins/Date/S15.9.3.1_A3_T5.1.js
index 8918637b1a28..ce501bf066d8 100644
--- a/js/src/tests/test262/built-ins/Date/S15.9.3.1_A3_T5.1.js
+++ b/js/src/tests/test262/built-ins/Date/S15.9.3.1_A3_T5.1.js
@@ -10,63 +10,99 @@ description: 6 arguments, (year, month, date, hours, minutes, seconds)
---*/
var x1 = new Date(1899, 11, 31, 23, 59, 59);
-if (Object.prototype.toString.call(x1) !== "[object Date]") {
- throw new Test262Error("#1: The [[Class]] property of the newly constructed object is set to 'Date'");
-}
+
+assert.sameValue(
+ Object.prototype.toString.call(x1),
+ "[object Date]",
+ 'Object.prototype.toString.call(new Date(1899, 11, 31, 23, 59, 59)) must return "[object Date]"'
+);
var x2 = new Date(1899, 12, 1, 0, 0, 0);
-if (Object.prototype.toString.call(x2) !== "[object Date]") {
- throw new Test262Error("#2: The [[Class]] property of the newly constructed object is set to 'Date'");
-}
+
+assert.sameValue(
+ Object.prototype.toString.call(x2),
+ "[object Date]",
+ 'Object.prototype.toString.call(new Date(1899, 12, 1, 0, 0, 0)) must return "[object Date]"'
+);
var x3 = new Date(1900, 0, 1, 0, 0, 0);
-if (Object.prototype.toString.call(x3) !== "[object Date]") {
- throw new Test262Error("#3: The [[Class]] property of the newly constructed object is set to 'Date'");
-}
+
+assert.sameValue(
+ Object.prototype.toString.call(x3),
+ "[object Date]",
+ 'Object.prototype.toString.call(new Date(1900, 0, 1, 0, 0, 0)) must return "[object Date]"'
+);
var x4 = new Date(1969, 11, 31, 23, 59, 59);
-if (Object.prototype.toString.call(x4) !== "[object Date]") {
- throw new Test262Error("#4: The [[Class]] property of the newly constructed object is set to 'Date'");
-}
+
+assert.sameValue(
+ Object.prototype.toString.call(x4),
+ "[object Date]",
+ 'Object.prototype.toString.call(new Date(1969, 11, 31, 23, 59, 59)) must return "[object Date]"'
+);
var x5 = new Date(1969, 12, 1, 0, 0, 0);
-if (Object.prototype.toString.call(x5) !== "[object Date]") {
- throw new Test262Error("#5: The [[Class]] property of the newly constructed object is set to 'Date'");
-}
+
+assert.sameValue(
+ Object.prototype.toString.call(x5),
+ "[object Date]",
+ 'Object.prototype.toString.call(new Date(1969, 12, 1, 0, 0, 0)) must return "[object Date]"'
+);
var x6 = new Date(1970, 0, 1, 0, 0, 0);
-if (Object.prototype.toString.call(x6) !== "[object Date]") {
- throw new Test262Error("#6: The [[Class]] property of the newly constructed object is set to 'Date'");
-}
+
+assert.sameValue(
+ Object.prototype.toString.call(x6),
+ "[object Date]",
+ 'Object.prototype.toString.call(new Date(1970, 0, 1, 0, 0, 0)) must return "[object Date]"'
+);
var x7 = new Date(1999, 11, 31, 23, 59, 59);
-if (Object.prototype.toString.call(x7) !== "[object Date]") {
- throw new Test262Error("#7: The [[Class]] property of the newly constructed object is set to 'Date'");
-}
+
+assert.sameValue(
+ Object.prototype.toString.call(x7),
+ "[object Date]",
+ 'Object.prototype.toString.call(new Date(1999, 11, 31, 23, 59, 59)) must return "[object Date]"'
+);
var x8 = new Date(1999, 12, 1, 0, 0, 0);
-if (Object.prototype.toString.call(x8) !== "[object Date]") {
- throw new Test262Error("#8: The [[Class]] property of the newly constructed object is set to 'Date'");
-}
+
+assert.sameValue(
+ Object.prototype.toString.call(x8),
+ "[object Date]",
+ 'Object.prototype.toString.call(new Date(1999, 12, 1, 0, 0, 0)) must return "[object Date]"'
+);
var x9 = new Date(2000, 0, 1, 0, 0, 0);
-if (Object.prototype.toString.call(x9) !== "[object Date]") {
- throw new Test262Error("#9: The [[Class]] property of the newly constructed object is set to 'Date'");
-}
+
+assert.sameValue(
+ Object.prototype.toString.call(x9),
+ "[object Date]",
+ 'Object.prototype.toString.call(new Date(2000, 0, 1, 0, 0, 0)) must return "[object Date]"'
+);
var x10 = new Date(2099, 11, 31, 23, 59, 59);
-if (Object.prototype.toString.call(x10) !== "[object Date]") {
- throw new Test262Error("#10: The [[Class]] property of the newly constructed object is set to 'Date'");
-}
+
+assert.sameValue(
+ Object.prototype.toString.call(x10),
+ "[object Date]",
+ 'Object.prototype.toString.call(new Date(2099, 11, 31, 23, 59, 59)) must return "[object Date]"'
+);
var x11 = new Date(2099, 12, 1, 0, 0, 0);
-if (Object.prototype.toString.call(x11) !== "[object Date]") {
- throw new Test262Error("#11: The [[Class]] property of the newly constructed object is set to 'Date'");
-}
+
+assert.sameValue(
+ Object.prototype.toString.call(x11),
+ "[object Date]",
+ 'Object.prototype.toString.call(new Date(2099, 12, 1, 0, 0, 0)) must return "[object Date]"'
+);
var x12 = new Date(2100, 0, 1, 0, 0, 0);
-if (Object.prototype.toString.call(x12) !== "[object Date]") {
- throw new Test262Error("#12: The [[Class]] property of the newly constructed object is set to 'Date'");
-}
+
+assert.sameValue(
+ Object.prototype.toString.call(x12),
+ "[object Date]",
+ 'Object.prototype.toString.call(new Date(2100, 0, 1, 0, 0, 0)) must return "[object Date]"'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/S15.9.3.1_A3_T5.2.js b/js/src/tests/test262/built-ins/Date/S15.9.3.1_A3_T5.2.js
index fa0318c15a85..3be5840ac2e9 100644
--- a/js/src/tests/test262/built-ins/Date/S15.9.3.1_A3_T5.2.js
+++ b/js/src/tests/test262/built-ins/Date/S15.9.3.1_A3_T5.2.js
@@ -14,63 +14,39 @@ description: >
Date.prototype.toString = Object.prototype.toString;
var x1 = new Date(1899, 11, 31, 23, 59, 59);
-if (x1.toString() !== "[object Date]") {
- throw new Test262Error("#1: The [[Class]] property of the newly constructed object is set to 'Date'");
-}
+assert.sameValue(x1.toString(), "[object Date]", 'x1.toString() must return "[object Date]"');
var x2 = new Date(1899, 12, 1, 0, 0, 0);
-if (x2.toString() !== "[object Date]") {
- throw new Test262Error("#2: The [[Class]] property of the newly constructed object is set to 'Date'");
-}
+assert.sameValue(x2.toString(), "[object Date]", 'x2.toString() must return "[object Date]"');
var x3 = new Date(1900, 0, 1, 0, 0, 0);
-if (x3.toString() !== "[object Date]") {
- throw new Test262Error("#3: The [[Class]] property of the newly constructed object is set to 'Date'");
-}
+assert.sameValue(x3.toString(), "[object Date]", 'x3.toString() must return "[object Date]"');
var x4 = new Date(1969, 11, 31, 23, 59, 59);
-if (x4.toString() !== "[object Date]") {
- throw new Test262Error("#4: The [[Class]] property of the newly constructed object is set to 'Date'");
-}
+assert.sameValue(x4.toString(), "[object Date]", 'x4.toString() must return "[object Date]"');
var x5 = new Date(1969, 12, 1, 0, 0, 0);
-if (x5.toString() !== "[object Date]") {
- throw new Test262Error("#5: The [[Class]] property of the newly constructed object is set to 'Date'");
-}
+assert.sameValue(x5.toString(), "[object Date]", 'x5.toString() must return "[object Date]"');
var x6 = new Date(1970, 0, 1, 0, 0, 0);
-if (x6.toString() !== "[object Date]") {
- throw new Test262Error("#6: The [[Class]] property of the newly constructed object is set to 'Date'");
-}
+assert.sameValue(x6.toString(), "[object Date]", 'x6.toString() must return "[object Date]"');
var x7 = new Date(1999, 11, 31, 23, 59, 59);
-if (x7.toString() !== "[object Date]") {
- throw new Test262Error("#7: The [[Class]] property of the newly constructed object is set to 'Date'");
-}
+assert.sameValue(x7.toString(), "[object Date]", 'x7.toString() must return "[object Date]"');
var x8 = new Date(1999, 12, 1, 0, 0, 0);
-if (x8.toString() !== "[object Date]") {
- throw new Test262Error("#8: The [[Class]] property of the newly constructed object is set to 'Date'");
-}
+assert.sameValue(x8.toString(), "[object Date]", 'x8.toString() must return "[object Date]"');
var x9 = new Date(2000, 0, 1, 0, 0, 0);
-if (x9.toString() !== "[object Date]") {
- throw new Test262Error("#9: The [[Class]] property of the newly constructed object is set to 'Date'");
-}
+assert.sameValue(x9.toString(), "[object Date]", 'x9.toString() must return "[object Date]"');
var x10 = new Date(2099, 11, 31, 23, 59, 59);
-if (x10.toString() !== "[object Date]") {
- throw new Test262Error("#10: The [[Class]] property of the newly constructed object is set to 'Date'");
-}
+assert.sameValue(x10.toString(), "[object Date]", 'x10.toString() must return "[object Date]"');
var x11 = new Date(2099, 12, 1, 0, 0, 0);
-if (x11.toString() !== "[object Date]") {
- throw new Test262Error("#11: The [[Class]] property of the newly constructed object is set to 'Date'");
-}
+assert.sameValue(x11.toString(), "[object Date]", 'x11.toString() must return "[object Date]"');
var x12 = new Date(2100, 0, 1, 0, 0, 0);
-if (x12.toString() !== "[object Date]") {
- throw new Test262Error("#12: The [[Class]] property of the newly constructed object is set to 'Date'");
-}
+assert.sameValue(x12.toString(), "[object Date]", 'x12.toString() must return "[object Date]"');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/S15.9.3.1_A3_T6.1.js b/js/src/tests/test262/built-ins/Date/S15.9.3.1_A3_T6.1.js
index 39cd7a20977b..64e23c493c95 100644
--- a/js/src/tests/test262/built-ins/Date/S15.9.3.1_A3_T6.1.js
+++ b/js/src/tests/test262/built-ins/Date/S15.9.3.1_A3_T6.1.js
@@ -10,63 +10,99 @@ description: 7 arguments, (year, month, date, hours, minutes, seconds, ms)
---*/
var x1 = new Date(1899, 11, 31, 23, 59, 59, 999);
-if (Object.prototype.toString.call(x1) !== "[object Date]") {
- throw new Test262Error("#1: The [[Class]] property of the newly constructed object is set to 'Date'");
-}
+
+assert.sameValue(
+ Object.prototype.toString.call(x1),
+ "[object Date]",
+ 'Object.prototype.toString.call(new Date(1899, 11, 31, 23, 59, 59, 999)) must return "[object Date]"'
+);
var x2 = new Date(1899, 12, 1, 0, 0, 0, 0);
-if (Object.prototype.toString.call(x2) !== "[object Date]") {
- throw new Test262Error("#2: The [[Class]] property of the newly constructed object is set to 'Date'");
-}
+
+assert.sameValue(
+ Object.prototype.toString.call(x2),
+ "[object Date]",
+ 'Object.prototype.toString.call(new Date(1899, 12, 1, 0, 0, 0, 0)) must return "[object Date]"'
+);
var x3 = new Date(1900, 0, 1, 0, 0, 0, 0);
-if (Object.prototype.toString.call(x3) !== "[object Date]") {
- throw new Test262Error("#3: The [[Class]] property of the newly constructed object is set to 'Date'");
-}
+
+assert.sameValue(
+ Object.prototype.toString.call(x3),
+ "[object Date]",
+ 'Object.prototype.toString.call(new Date(1900, 0, 1, 0, 0, 0, 0)) must return "[object Date]"'
+);
var x4 = new Date(1969, 11, 31, 23, 59, 59, 999);
-if (Object.prototype.toString.call(x4) !== "[object Date]") {
- throw new Test262Error("#4: The [[Class]] property of the newly constructed object is set to 'Date'");
-}
+
+assert.sameValue(
+ Object.prototype.toString.call(x4),
+ "[object Date]",
+ 'Object.prototype.toString.call(new Date(1969, 11, 31, 23, 59, 59, 999)) must return "[object Date]"'
+);
var x5 = new Date(1969, 12, 1, 0, 0, 0, 0);
-if (Object.prototype.toString.call(x5) !== "[object Date]") {
- throw new Test262Error("#5: The [[Class]] property of the newly constructed object is set to 'Date'");
-}
+
+assert.sameValue(
+ Object.prototype.toString.call(x5),
+ "[object Date]",
+ 'Object.prototype.toString.call(new Date(1969, 12, 1, 0, 0, 0, 0)) must return "[object Date]"'
+);
var x6 = new Date(1970, 0, 1, 0, 0, 0, 0);
-if (Object.prototype.toString.call(x6) !== "[object Date]") {
- throw new Test262Error("#6: The [[Class]] property of the newly constructed object is set to 'Date'");
-}
+
+assert.sameValue(
+ Object.prototype.toString.call(x6),
+ "[object Date]",
+ 'Object.prototype.toString.call(new Date(1970, 0, 1, 0, 0, 0, 0)) must return "[object Date]"'
+);
var x7 = new Date(1999, 11, 31, 23, 59, 59, 999);
-if (Object.prototype.toString.call(x7) !== "[object Date]") {
- throw new Test262Error("#7: The [[Class]] property of the newly constructed object is set to 'Date'");
-}
+
+assert.sameValue(
+ Object.prototype.toString.call(x7),
+ "[object Date]",
+ 'Object.prototype.toString.call(new Date(1999, 11, 31, 23, 59, 59, 999)) must return "[object Date]"'
+);
var x8 = new Date(1999, 12, 1, 0, 0, 0, 0);
-if (Object.prototype.toString.call(x8) !== "[object Date]") {
- throw new Test262Error("#8: The [[Class]] property of the newly constructed object is set to 'Date'");
-}
+
+assert.sameValue(
+ Object.prototype.toString.call(x8),
+ "[object Date]",
+ 'Object.prototype.toString.call(new Date(1999, 12, 1, 0, 0, 0, 0)) must return "[object Date]"'
+);
var x9 = new Date(2000, 0, 1, 0, 0, 0, 0);
-if (Object.prototype.toString.call(x9) !== "[object Date]") {
- throw new Test262Error("#9: The [[Class]] property of the newly constructed object is set to 'Date'");
-}
+
+assert.sameValue(
+ Object.prototype.toString.call(x9),
+ "[object Date]",
+ 'Object.prototype.toString.call(new Date(2000, 0, 1, 0, 0, 0, 0)) must return "[object Date]"'
+);
var x10 = new Date(2099, 11, 31, 23, 59, 59, 999);
-if (Object.prototype.toString.call(x10) !== "[object Date]") {
- throw new Test262Error("#10: The [[Class]] property of the newly constructed object is set to 'Date'");
-}
+
+assert.sameValue(
+ Object.prototype.toString.call(x10),
+ "[object Date]",
+ 'Object.prototype.toString.call(new Date(2099, 11, 31, 23, 59, 59, 999)) must return "[object Date]"'
+);
var x11 = new Date(2099, 12, 1, 0, 0, 0, 0);
-if (Object.prototype.toString.call(x11) !== "[object Date]") {
- throw new Test262Error("#11: The [[Class]] property of the newly constructed object is set to 'Date'");
-}
+
+assert.sameValue(
+ Object.prototype.toString.call(x11),
+ "[object Date]",
+ 'Object.prototype.toString.call(new Date(2099, 12, 1, 0, 0, 0, 0)) must return "[object Date]"'
+);
var x12 = new Date(2100, 0, 1, 0, 0, 0, 0);
-if (Object.prototype.toString.call(x12) !== "[object Date]") {
- throw new Test262Error("#12: The [[Class]] property of the newly constructed object is set to 'Date'");
-}
+
+assert.sameValue(
+ Object.prototype.toString.call(x12),
+ "[object Date]",
+ 'Object.prototype.toString.call(new Date(2100, 0, 1, 0, 0, 0, 0)) must return "[object Date]"'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/S15.9.3.1_A3_T6.2.js b/js/src/tests/test262/built-ins/Date/S15.9.3.1_A3_T6.2.js
index c169f0023c18..2948d766ab9c 100644
--- a/js/src/tests/test262/built-ins/Date/S15.9.3.1_A3_T6.2.js
+++ b/js/src/tests/test262/built-ins/Date/S15.9.3.1_A3_T6.2.js
@@ -14,63 +14,39 @@ description: >
Date.prototype.toString = Object.prototype.toString;
var x1 = new Date(1899, 11, 31, 23, 59, 59, 999);
-if (x1.toString() !== "[object Date]") {
- throw new Test262Error("#1: The [[Class]] property of the newly constructed object is set to 'Date'");
-}
+assert.sameValue(x1.toString(), "[object Date]", 'x1.toString() must return "[object Date]"');
var x2 = new Date(1899, 12, 1, 0, 0, 0, 0);
-if (x2.toString() !== "[object Date]") {
- throw new Test262Error("#2: The [[Class]] property of the newly constructed object is set to 'Date'");
-}
+assert.sameValue(x2.toString(), "[object Date]", 'x2.toString() must return "[object Date]"');
var x3 = new Date(1900, 0, 1, 0, 0, 0, 0);
-if (x3.toString() !== "[object Date]") {
- throw new Test262Error("#3: The [[Class]] property of the newly constructed object is set to 'Date'");
-}
+assert.sameValue(x3.toString(), "[object Date]", 'x3.toString() must return "[object Date]"');
var x4 = new Date(1969, 11, 31, 23, 59, 59, 999);
-if (x4.toString() !== "[object Date]") {
- throw new Test262Error("#4: The [[Class]] property of the newly constructed object is set to 'Date'");
-}
+assert.sameValue(x4.toString(), "[object Date]", 'x4.toString() must return "[object Date]"');
var x5 = new Date(1969, 12, 1, 0, 0, 0, 0);
-if (x5.toString() !== "[object Date]") {
- throw new Test262Error("#5: The [[Class]] property of the newly constructed object is set to 'Date'");
-}
+assert.sameValue(x5.toString(), "[object Date]", 'x5.toString() must return "[object Date]"');
var x6 = new Date(1970, 0, 1, 0, 0, 0, 0);
-if (x6.toString() !== "[object Date]") {
- throw new Test262Error("#6: The [[Class]] property of the newly constructed object is set to 'Date'");
-}
+assert.sameValue(x6.toString(), "[object Date]", 'x6.toString() must return "[object Date]"');
var x7 = new Date(1999, 11, 31, 23, 59, 59, 999);
-if (x7.toString() !== "[object Date]") {
- throw new Test262Error("#7: The [[Class]] property of the newly constructed object is set to 'Date'");
-}
+assert.sameValue(x7.toString(), "[object Date]", 'x7.toString() must return "[object Date]"');
var x8 = new Date(1999, 12, 1, 0, 0, 0, 0);
-if (x8.toString() !== "[object Date]") {
- throw new Test262Error("#8: The [[Class]] property of the newly constructed object is set to 'Date'");
-}
+assert.sameValue(x8.toString(), "[object Date]", 'x8.toString() must return "[object Date]"');
var x9 = new Date(2000, 0, 1, 0, 0, 0, 0);
-if (x9.toString() !== "[object Date]") {
- throw new Test262Error("#9: The [[Class]] property of the newly constructed object is set to 'Date'");
-}
+assert.sameValue(x9.toString(), "[object Date]", 'x9.toString() must return "[object Date]"');
var x10 = new Date(2099, 11, 31, 23, 59, 59, 999);
-if (x10.toString() !== "[object Date]") {
- throw new Test262Error("#10: The [[Class]] property of the newly constructed object is set to 'Date'");
-}
+assert.sameValue(x10.toString(), "[object Date]", 'x10.toString() must return "[object Date]"');
var x11 = new Date(2099, 12, 1, 0, 0, 0, 0);
-if (x11.toString() !== "[object Date]") {
- throw new Test262Error("#11: The [[Class]] property of the newly constructed object is set to 'Date'");
-}
+assert.sameValue(x11.toString(), "[object Date]", 'x11.toString() must return "[object Date]"');
var x12 = new Date(2100, 0, 1, 0, 0, 0, 0);
-if (x12.toString() !== "[object Date]") {
- throw new Test262Error("#12: The [[Class]] property of the newly constructed object is set to 'Date'");
-}
+assert.sameValue(x12.toString(), "[object Date]", 'x12.toString() must return "[object Date]"');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/S15.9.3.1_A4_T0.js b/js/src/tests/test262/built-ins/Date/S15.9.3.1_A4_T0.js
new file mode 100644
index 000000000000..240edee3ed54
--- /dev/null
+++ b/js/src/tests/test262/built-ins/Date/S15.9.3.1_A4_T0.js
@@ -0,0 +1,31 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+info: |
+ The [[Value]] property of the newly constructed object
+ is set by following steps:
+ 1. Call ToNumber(year)
+ 2. Call ToNumber(month)
+ 3. If date is supplied use ToNumber(date)
+ 4. If hours is supplied use ToNumber(hours)
+ 5. If minutes is supplied use ToNumber(minutes)
+ 6. If seconds is supplied use ToNumber(seconds)
+ 7. If ms is supplied use ToNumber(ms)
+esid: sec-date-year-month-date-hours-minutes-seconds-ms
+description: 1 argument (year)
+---*/
+
+function PoisonedValueOf(val) {
+ this.value = val;
+ this.valueOf = function() {
+ throw new Test262Error();
+ };
+ this.toString = function() {};
+}
+
+assert.throws(Test262Error, () => {
+ new Date(new PoisonedValueOf(1));
+}, '`new Date(new PoisonedValueOf(1))` throws a Test262Error exception');
+
+reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/S15.9.3.1_A4_T1.js b/js/src/tests/test262/built-ins/Date/S15.9.3.1_A4_T1.js
index 471ae606d00f..1614b8cc86d8 100644
--- a/js/src/tests/test262/built-ins/Date/S15.9.3.1_A4_T1.js
+++ b/js/src/tests/test262/built-ins/Date/S15.9.3.1_A4_T1.js
@@ -16,36 +16,20 @@ esid: sec-date-year-month-date-hours-minutes-seconds-ms
description: 2 arguments, (year, month)
---*/
-var myObj = function(val) {
+function PoisonedValueOf(val) {
this.value = val;
this.valueOf = function() {
- throw "valueOf-" + this.value;
+ throw new Test262Error();
};
- this.toString = function() {
- throw "toString-" + this.value;
- };
-};
-
-//CHECK#1
-try {
- var x1 = new Date(new myObj(1), new myObj(2));
- throw new Test262Error("#1: The 1st step is calling ToNumber(year)");
-}
-catch (e) {
- if (e !== "valueOf-1") {
- throw new Test262Error("#1: The 1st step is calling ToNumber(year)");
- }
+ this.toString = function() {};
}
-//CHECK#2
-try {
- var x2 = new Date(1, new myObj(2));
- throw new Test262Error("#2: The 2nd step is calling ToNumber(month)");
-}
-catch (e) {
- if (e !== "valueOf-2") {
- throw new Test262Error("#2: The 2nd step is calling ToNumber(month)");
- }
-}
+assert.throws(Test262Error, () => {
+ new Date(new PoisonedValueOf(1), new PoisonedValueOf(2));
+}, '`new Date(new PoisonedValueOf(1), new PoisonedValueOf(2))` throws a Test262Error exception');
+
+assert.throws(Test262Error, () => {
+ new Date(1, new PoisonedValueOf(2));
+}, '`new Date(1, new PoisonedValueOf(2))` throws a Test262Error exception');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/S15.9.3.1_A4_T2.js b/js/src/tests/test262/built-ins/Date/S15.9.3.1_A4_T2.js
index ccf92ef01528..8b8d4a9dd406 100644
--- a/js/src/tests/test262/built-ins/Date/S15.9.3.1_A4_T2.js
+++ b/js/src/tests/test262/built-ins/Date/S15.9.3.1_A4_T2.js
@@ -16,47 +16,24 @@ esid: sec-date-year-month-date-hours-minutes-seconds-ms
description: 3 arguments, (year, month, date)
---*/
-var myObj = function(val) {
+function PoisonedValueOf(val) {
this.value = val;
this.valueOf = function() {
- throw "valueOf-" + this.value;
+ throw new Test262Error();
};
- this.toString = function() {
- throw "toString-" + this.value;
- };
-};
-
-//CHECK#1
-try {
- var x1 = new Date(new myObj(1), new myObj(2), new myObj(3));
- throw new Test262Error("#1: The 1st step is calling ToNumber(year)");
-}
-catch (e) {
- if (e !== "valueOf-1") {
- throw new Test262Error("#1: The 1st step is calling ToNumber(year)");
- }
+ this.toString = function() {};
}
-//CHECK#2
-try {
- var x2 = new Date(1, new myObj(2), new myObj(3));
- throw new Test262Error("#2: The 2nd step is calling ToNumber(month)");
-}
-catch (e) {
- if (e !== "valueOf-2") {
- throw new Test262Error("#2: The 2nd step is calling ToNumber(month)");
- }
-}
+assert.throws(Test262Error, () => {
+ new Date(new PoisonedValueOf(1), new PoisonedValueOf(2), new PoisonedValueOf(3));
+}, '`new Date(new PoisonedValueOf(1), new PoisonedValueOf(2), new PoisonedValueOf(3))` throws a Test262Error exception');
-//CHECK#3
-try {
- var x3 = new Date(1, 2, new myObj(3));
- throw new Test262Error("#3: The 3rd step is calling ToNumber(date)");
-}
-catch (e) {
- if (e !== "valueOf-3") {
- throw new Test262Error("#3: The 3rd step is calling ToNumber(date)");
- }
-}
+assert.throws(Test262Error, () => {
+ new Date(1, new PoisonedValueOf(2), new PoisonedValueOf(3));
+}, '`new Date(1, new PoisonedValueOf(2), new PoisonedValueOf(3))` throws a Test262Error exception');
+
+assert.throws(Test262Error, () => {
+ new Date(1, 2, new PoisonedValueOf(3));
+}, '`new Date(1, 2, new PoisonedValueOf(3))` throws a Test262Error exception');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/S15.9.3.1_A4_T3.js b/js/src/tests/test262/built-ins/Date/S15.9.3.1_A4_T3.js
index 6272351543ca..99b3cc076ab6 100644
--- a/js/src/tests/test262/built-ins/Date/S15.9.3.1_A4_T3.js
+++ b/js/src/tests/test262/built-ins/Date/S15.9.3.1_A4_T3.js
@@ -16,58 +16,28 @@ esid: sec-date-year-month-date-hours-minutes-seconds-ms
description: 4 arguments, (year, month, date, hours)
---*/
-var myObj = function(val) {
+function PoisonedValueOf(val) {
this.value = val;
this.valueOf = function() {
- throw "valueOf-" + this.value;
+ throw new Test262Error();
};
- this.toString = function() {
- throw "toString-" + this.value;
- };
-};
-
-//CHECK#1
-try {
- var x1 = new Date(new myObj(1), new myObj(2), new myObj(3), new myObj(4));
- throw new Test262Error("#1: The 1st step is calling ToNumber(year)");
-}
-catch (e) {
- if (e !== "valueOf-1") {
- throw new Test262Error("#1: The 1st step is calling ToNumber(year)");
- }
+ this.toString = function() {};
}
-//CHECK#2
-try {
- var x2 = new Date(1, new myObj(2), new myObj(3), new myObj(4));
- throw new Test262Error("#2: The 2nd step is calling ToNumber(month)");
-}
-catch (e) {
- if (e !== "valueOf-2") {
- throw new Test262Error("#2: The 2nd step is calling ToNumber(month)");
- }
-}
+assert.throws(Test262Error, () => {
+ new Date(new PoisonedValueOf(1), new PoisonedValueOf(2), new PoisonedValueOf(3), new PoisonedValueOf(4));
+}, '`new Date(new PoisonedValueOf(1), new PoisonedValueOf(2), new PoisonedValueOf(3), new PoisonedValueOf(4))` throws a Test262Error exception');
-//CHECK#3
-try {
- var x3 = new Date(1, 2, new myObj(3), new myObj(4));
- throw new Test262Error("#3: The 3rd step is calling ToNumber(date)");
-}
-catch (e) {
- if (e !== "valueOf-3") {
- throw new Test262Error("#3: The 3rd step is calling ToNumber(date)");
- }
-}
+assert.throws(Test262Error, () => {
+ new Date(1, new PoisonedValueOf(2), new PoisonedValueOf(3), new PoisonedValueOf(4));
+}, '`new Date(1, new PoisonedValueOf(2), new PoisonedValueOf(3), new PoisonedValueOf(4))` throws a Test262Error exception');
-//CHECK#4
-try {
- var x4 = new Date(1, 2, 3, new myObj(4));
- throw new Test262Error("#4: The 4th step is calling ToNumber(hours)");
-}
-catch (e) {
- if (e !== "valueOf-4") {
- throw new Test262Error("#4: The 4th step is calling ToNumber(hours)");
- }
-}
+assert.throws(Test262Error, () => {
+ new Date(1, 2, new PoisonedValueOf(3), new PoisonedValueOf(4));
+}, '`new Date(1, 2, new PoisonedValueOf(3), new PoisonedValueOf(4))` throws a Test262Error exception');
+
+assert.throws(Test262Error, () => {
+ new Date(1, 2, 3, new PoisonedValueOf(4));
+}, '`new Date(1, 2, 3, new PoisonedValueOf(4))` throws a Test262Error exception');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/S15.9.3.1_A4_T4.js b/js/src/tests/test262/built-ins/Date/S15.9.3.1_A4_T4.js
index bab7809c0382..2decd9834877 100644
--- a/js/src/tests/test262/built-ins/Date/S15.9.3.1_A4_T4.js
+++ b/js/src/tests/test262/built-ins/Date/S15.9.3.1_A4_T4.js
@@ -16,69 +16,32 @@ esid: sec-date-year-month-date-hours-minutes-seconds-ms
description: 5 arguments, (year, month, date, hours, minutes)
---*/
-var myObj = function(val) {
+function PoisonedValueOf(val) {
this.value = val;
this.valueOf = function() {
- throw "valueOf-" + this.value;
+ throw new Test262Error();
};
- this.toString = function() {
- throw "toString-" + this.value;
- };
-};
-
-//CHECK#1
-try {
- var x1 = new Date(new myObj(1), new myObj(2), new myObj(3), new myObj(4), new myObj(5));
- throw new Test262Error("#1: The 1st step is calling ToNumber(year)");
-}
-catch (e) {
- if (e !== "valueOf-1") {
- throw new Test262Error("#1: The 1st step is calling ToNumber(year)");
- }
+ this.toString = function() {};
}
-//CHECK#2
-try {
- var x2 = new Date(1, new myObj(2), new myObj(3), new myObj(4), new myObj(5));
- throw new Test262Error("#2: The 2nd step is calling ToNumber(month)");
-}
-catch (e) {
- if (e !== "valueOf-2") {
- throw new Test262Error("#2: The 2nd step is calling ToNumber(month)");
- }
-}
+assert.throws(Test262Error, () => {
+ new Date(new PoisonedValueOf(1), new PoisonedValueOf(2), new PoisonedValueOf(3), new PoisonedValueOf(4), new PoisonedValueOf(5));
+}, '`new Date(new PoisonedValueOf(1), new PoisonedValueOf(2), new PoisonedValueOf(3), new PoisonedValueOf(4), new PoisonedValueOf(5))` throws a Test262Error exception');
-//CHECK#3
-try {
- var x3 = new Date(1, 2, new myObj(3), new myObj(4), new myObj(5));
- throw new Test262Error("#3: The 3rd step is calling ToNumber(date)");
-}
-catch (e) {
- if (e !== "valueOf-3") {
- throw new Test262Error("#3: The 3rd step is calling ToNumber(date)");
- }
-}
+assert.throws(Test262Error, () => {
+ new Date(1, new PoisonedValueOf(2), new PoisonedValueOf(3), new PoisonedValueOf(4), new PoisonedValueOf(5));
+}, '`new Date(1, new PoisonedValueOf(2), new PoisonedValueOf(3), new PoisonedValueOf(4), new PoisonedValueOf(5))` throws a Test262Error exception');
-//CHECK#4
-try {
- var x4 = new Date(1, 2, 3, new myObj(4), new myObj(5));
- throw new Test262Error("#4: The 4th step is calling ToNumber(hours)");
-}
-catch (e) {
- if (e !== "valueOf-4") {
- throw new Test262Error("#4: The 4th step is calling ToNumber(hours)");
- }
-}
+assert.throws(Test262Error, () => {
+ new Date(1, 2, new PoisonedValueOf(3), new PoisonedValueOf(4), new PoisonedValueOf(5));
+}, '`new Date(1, 2, new PoisonedValueOf(3), new PoisonedValueOf(4), new PoisonedValueOf(5))` throws a Test262Error exception');
-//CHECK#5
-try {
- var x5 = new Date(1, 2, 3, 4, new myObj(5));
- throw new Test262Error("#5: The 5th step is calling ToNumber(minutes)");
-}
-catch (e) {
- if (e !== "valueOf-5") {
- throw new Test262Error("#5: The 5th step is calling ToNumber(minutes)");
- }
-}
+assert.throws(Test262Error, () => {
+ new Date(1, 2, 3, new PoisonedValueOf(4), new PoisonedValueOf(5));
+}, '`new Date(1, 2, 3, new PoisonedValueOf(4), new PoisonedValueOf(5))` throws a Test262Error exception');
+
+assert.throws(Test262Error, () => {
+ new Date(1, 2, 3, 4, new PoisonedValueOf(5));
+}, '`new Date(1, 2, 3, 4, new PoisonedValueOf(5))` throws a Test262Error exception');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/S15.9.3.1_A4_T5.js b/js/src/tests/test262/built-ins/Date/S15.9.3.1_A4_T5.js
index 116d8107c527..6908797a6835 100644
--- a/js/src/tests/test262/built-ins/Date/S15.9.3.1_A4_T5.js
+++ b/js/src/tests/test262/built-ins/Date/S15.9.3.1_A4_T5.js
@@ -16,80 +16,36 @@ esid: sec-date-year-month-date-hours-minutes-seconds-ms
description: 6 arguments, (year, month, date, hours, minutes, seconds)
---*/
-var myObj = function(val) {
+function PoisonedValueOf(val) {
this.value = val;
this.valueOf = function() {
- throw "valueOf-" + this.value;
+ throw new Test262Error();
};
- this.toString = function() {
- throw "toString-" + this.value;
- };
-};
-
-//CHECK#1
-try {
- var x1 = new Date(new myObj(1), new myObj(2), new myObj(3), new myObj(4), new myObj(5), new myObj(6));
- throw new Test262Error("#1: The 1st step is calling ToNumber(year)");
-}
-catch (e) {
- if (e !== "valueOf-1") {
- throw new Test262Error("#1: The 1st step is calling ToNumber(year)");
- }
+ this.toString = function() {};
}
-//CHECK#2
-try {
- var x2 = new Date(1, new myObj(2), new myObj(3), new myObj(4), new myObj(5), new myObj(6));
- throw new Test262Error("#2: The 2nd step is calling ToNumber(month)");
-}
-catch (e) {
- if (e !== "valueOf-2") {
- throw new Test262Error("#2: The 2nd step is calling ToNumber(month)");
- }
-}
+assert.throws(Test262Error, () => {
+ new Date(new PoisonedValueOf(1), new PoisonedValueOf(2), new PoisonedValueOf(3), new PoisonedValueOf(4), new PoisonedValueOf(5), new PoisonedValueOf(6));
+}, '`new Date(new PoisonedValueOf(1), new PoisonedValueOf(2), new PoisonedValueOf(3), new PoisonedValueOf(4), new PoisonedValueOf(5), new PoisonedValueOf(6))` throws a Test262Error exception');
-//CHECK#3
-try {
- var x3 = new Date(1, 2, new myObj(3), new myObj(4), new myObj(5), new myObj(6));
- throw new Test262Error("#3: The 3rd step is calling ToNumber(date)");
-}
-catch (e) {
- if (e !== "valueOf-3") {
- throw new Test262Error("#3: The 3rd step is calling ToNumber(date)");
- }
-}
+assert.throws(Test262Error, () => {
+ new Date(1, new PoisonedValueOf(2), new PoisonedValueOf(3), new PoisonedValueOf(4), new PoisonedValueOf(5), new PoisonedValueOf(6));
+}, '`new Date(1, new PoisonedValueOf(2), new PoisonedValueOf(3), new PoisonedValueOf(4), new PoisonedValueOf(5), new PoisonedValueOf(6))` throws a Test262Error exception');
-//CHECK#4
-try {
- var x4 = new Date(1, 2, 3, new myObj(4), new myObj(5), new myObj(6));
- throw new Test262Error("#4: The 4th step is calling ToNumber(hours)");
-}
-catch (e) {
- if (e !== "valueOf-4") {
- throw new Test262Error("#4: The 4th step is calling ToNumber(hours)");
- }
-}
+assert.throws(Test262Error, () => {
+ new Date(1, 2, new PoisonedValueOf(3), new PoisonedValueOf(4), new PoisonedValueOf(5), new PoisonedValueOf(6));
+}, '`new Date(1, 2, new PoisonedValueOf(3), new PoisonedValueOf(4), new PoisonedValueOf(5), new PoisonedValueOf(6))` throws a Test262Error exception');
-//CHECK#5
-try {
- var x5 = new Date(1, 2, 3, 4, new myObj(5), new myObj(6));
- throw new Test262Error("#5: The 5th step is calling ToNumber(minutes)");
-}
-catch (e) {
- if (e !== "valueOf-5") {
- throw new Test262Error("#5: The 5th step is calling ToNumber(minutes)");
- }
-}
+assert.throws(Test262Error, () => {
+ new Date(1, 2, 3, new PoisonedValueOf(4), new PoisonedValueOf(5), new PoisonedValueOf(6));
+}, '`new Date(1, 2, 3, new PoisonedValueOf(4), new PoisonedValueOf(5), new PoisonedValueOf(6))` throws a Test262Error exception');
-//CHECK#6
-try {
- var x6 = new Date(1, 2, 3, 4, 5, new myObj(6));
- throw new Test262Error("#6: The 6th step is calling ToNumber(seconds)");
-}
-catch (e) {
- if (e !== "valueOf-6") {
- throw new Test262Error("#6: The 6th step is calling ToNumber(seconds)");
- }
-}
+assert.throws(Test262Error, () => {
+ new Date(1, 2, 3, 4, new PoisonedValueOf(5), new PoisonedValueOf(6));
+}, '`new Date(1, 2, 3, 4, new PoisonedValueOf(5), new PoisonedValueOf(6))` throws a Test262Error exception');
+
+assert.throws(Test262Error, () => {
+ new Date(1, 2, 3, 4, 5, new PoisonedValueOf(6));
+}, '`new Date(1, 2, 3, 4, 5, new PoisonedValueOf(6))` throws a Test262Error exception');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/S15.9.3.1_A4_T6.js b/js/src/tests/test262/built-ins/Date/S15.9.3.1_A4_T6.js
index b396d00ed679..bc0de6ac5c82 100644
--- a/js/src/tests/test262/built-ins/Date/S15.9.3.1_A4_T6.js
+++ b/js/src/tests/test262/built-ins/Date/S15.9.3.1_A4_T6.js
@@ -16,91 +16,40 @@ esid: sec-date-year-month-date-hours-minutes-seconds-ms
description: 7 arguments, (year, month, date, hours, minutes, seconds, ms)
---*/
-var myObj = function(val) {
+function PoisonedValueOf(val) {
this.value = val;
this.valueOf = function() {
- throw "valueOf-" + this.value;
+ throw new Test262Error();
};
- this.toString = function() {
- throw "toString-" + this.value;
- };
-};
-
-//CHECK#1
-try {
- var x1 = new Date(new myObj(1), new myObj(2), new myObj(3), new myObj(4), new myObj(5), new myObj(6), new myObj(7));
- throw new Test262Error("#1: The 1st step is calling ToNumber(year)");
-}
-catch (e) {
- if (e !== "valueOf-1") {
- throw new Test262Error("#1: The 1st step is calling ToNumber(year)");
- }
+ this.toString = function() {};
}
-//CHECK#2
-try {
- var x2 = new Date(1, new myObj(2), new myObj(3), new myObj(4), new myObj(5), new myObj(6), new myObj(7));
- throw new Test262Error("#2: The 2nd step is calling ToNumber(month)");
-}
-catch (e) {
- if (e !== "valueOf-2") {
- throw new Test262Error("#2: The 2nd step is calling ToNumber(month)");
- }
-}
+assert.throws(Test262Error, () => {
+ new Date(new PoisonedValueOf(1), new PoisonedValueOf(2), new PoisonedValueOf(3), new PoisonedValueOf(4), new PoisonedValueOf(5), new PoisonedValueOf(6), new PoisonedValueOf(7));
+}, '`new Date(new PoisonedValueOf(1), new PoisonedValueOf(2), new PoisonedValueOf(3), new PoisonedValueOf(4), new PoisonedValueOf(5), new PoisonedValueOf(6), new PoisonedValueOf(7))` throws a Test262Error exception');
-//CHECK#3
-try {
- var x3 = new Date(1, 2, new myObj(3), new myObj(4), new myObj(5), new myObj(6), new myObj(7));
- throw new Test262Error("#3: The 3rd step is calling ToNumber(date)");
-}
-catch (e) {
- if (e !== "valueOf-3") {
- throw new Test262Error("#3: The 3rd step is calling ToNumber(date)");
- }
-}
+assert.throws(Test262Error, () => {
+ new Date(1, new PoisonedValueOf(2), new PoisonedValueOf(3), new PoisonedValueOf(4), new PoisonedValueOf(5), new PoisonedValueOf(6), new PoisonedValueOf(7));
+}, '`new Date(1, new PoisonedValueOf(2), new PoisonedValueOf(3), new PoisonedValueOf(4), new PoisonedValueOf(5), new PoisonedValueOf(6), new PoisonedValueOf(7))` throws a Test262Error exception');
-//CHECK#4
-try {
- var x4 = new Date(1, 2, 3, new myObj(4), new myObj(5), new myObj(6), new myObj(7));
- throw new Test262Error("#4: The 4th step is calling ToNumber(hours)");
-}
-catch (e) {
- if (e !== "valueOf-4") {
- throw new Test262Error("#4: The 4th step is calling ToNumber(hours)");
- }
-}
+assert.throws(Test262Error, () => {
+ new Date(1, 2, new PoisonedValueOf(3), new PoisonedValueOf(4), new PoisonedValueOf(5), new PoisonedValueOf(6), new PoisonedValueOf(7));
+}, '`new Date(1, 2, new PoisonedValueOf(3), new PoisonedValueOf(4), new PoisonedValueOf(5), new PoisonedValueOf(6), new PoisonedValueOf(7))` throws a Test262Error exception');
-//CHECK#5
-try {
- var x5 = new Date(1, 2, 3, 4, new myObj(5), new myObj(6), new myObj(7));
- throw new Test262Error("#5: The 5th step is calling ToNumber(minutes)");
-}
-catch (e) {
- if (e !== "valueOf-5") {
- throw new Test262Error("#5: The 5th step is calling ToNumber(minutes)");
- }
-}
+assert.throws(Test262Error, () => {
+ new Date(1, 2, 3, new PoisonedValueOf(4), new PoisonedValueOf(5), new PoisonedValueOf(6), new PoisonedValueOf(7));
+}, '`new Date(1, 2, 3, new PoisonedValueOf(4), new PoisonedValueOf(5), new PoisonedValueOf(6), new PoisonedValueOf(7))` throws a Test262Error exception');
-//CHECK#6
-try {
- var x6 = new Date(1, 2, 3, 4, 5, new myObj(6), new myObj(7));
- throw new Test262Error("#6: The 6th step is calling ToNumber(seconds)");
-}
-catch (e) {
- if (e !== "valueOf-6") {
- throw new Test262Error("#6: The 6th step is calling ToNumber(seconds)");
- }
-}
+assert.throws(Test262Error, () => {
+ new Date(1, 2, 3, 4, new PoisonedValueOf(5), new PoisonedValueOf(6), new PoisonedValueOf(7));
+}, '`new Date(1, 2, 3, 4, new PoisonedValueOf(5), new PoisonedValueOf(6), new PoisonedValueOf(7))` throws a Test262Error exception');
-//CHECK#7
-try {
- var x7 = new Date(1, 2, 3, 4, 5, 6, new myObj(7));
- throw new Test262Error("#7: The 7th step is calling ToNumber(ms)");
-}
-catch (e) {
- if (e !== "valueOf-7") {
- throw new Test262Error("#7: The 7th step is calling ToNumber(ms)");
- }
-}
+assert.throws(Test262Error, () => {
+ new Date(1, 2, 3, 4, 5, new PoisonedValueOf(6), new PoisonedValueOf(7));
+}, '`new Date(1, 2, 3, 4, 5, new PoisonedValueOf(6), new PoisonedValueOf(7))` throws a Test262Error exception');
+
+assert.throws(Test262Error, () => {
+ new Date(1, 2, 3, 4, 5, 6, new PoisonedValueOf(7));
+}, '`new Date(1, 2, 3, 4, 5, 6, new PoisonedValueOf(7))` throws a Test262Error exception');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/S15.9.3.1_A6_T1.js b/js/src/tests/test262/built-ins/Date/S15.9.3.1_A6_T1.js
index 580277d79bcd..9b0baad700aa 100644
--- a/js/src/tests/test262/built-ins/Date/S15.9.3.1_A6_T1.js
+++ b/js/src/tests/test262/built-ins/Date/S15.9.3.1_A6_T1.js
@@ -15,39 +15,39 @@ function DateValue(year, month, date, hours, minutes, seconds, ms) {
var x;
x = DateValue(1899, 11);
-assert.sameValue(x, NaN, "(1899, 11)");
+assert.sameValue(x, NaN, 'The value of x is expected to equal NaN');
x = DateValue(1899, 12);
-assert.sameValue(x, NaN, "(1899, 12)");
+assert.sameValue(x, NaN, 'The value of x is expected to equal NaN');
x = DateValue(1900, 0);
-assert.sameValue(x, NaN, "(1900, 0)");
+assert.sameValue(x, NaN, 'The value of x is expected to equal NaN');
x = DateValue(1969, 11);
-assert.sameValue(x, NaN, "(1969, 11)");
+assert.sameValue(x, NaN, 'The value of x is expected to equal NaN');
x = DateValue(1969, 12);
-assert.sameValue(x, NaN, "(1969, 12)");
+assert.sameValue(x, NaN, 'The value of x is expected to equal NaN');
x = DateValue(1970, 0);
-assert.sameValue(x, NaN, "(1970, 0)");
+assert.sameValue(x, NaN, 'The value of x is expected to equal NaN');
x = DateValue(1999, 11);
-assert.sameValue(x, NaN, "(1999, 11)");
+assert.sameValue(x, NaN, 'The value of x is expected to equal NaN');
x = DateValue(1999, 12);
-assert.sameValue(x, NaN, "(1999, 12)");
+assert.sameValue(x, NaN, 'The value of x is expected to equal NaN');
x = DateValue(2000, 0);
-assert.sameValue(x, NaN, "(2000, 0)");
+assert.sameValue(x, NaN, 'The value of x is expected to equal NaN');
x = DateValue(2099, 11);
-assert.sameValue(x, NaN, "(2099, 11)");
+assert.sameValue(x, NaN, 'The value of x is expected to equal NaN');
x = DateValue(2099, 12);
-assert.sameValue(x, NaN, "(2099, 12)");
+assert.sameValue(x, NaN, 'The value of x is expected to equal NaN');
x = DateValue(2100, 0);
-assert.sameValue(x, NaN, "(2100, 0)");
+assert.sameValue(x, NaN, 'The value of x is expected to equal NaN');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/S15.9.3.1_A6_T2.js b/js/src/tests/test262/built-ins/Date/S15.9.3.1_A6_T2.js
index 57400f61bd64..c5c181361ab5 100644
--- a/js/src/tests/test262/built-ins/Date/S15.9.3.1_A6_T2.js
+++ b/js/src/tests/test262/built-ins/Date/S15.9.3.1_A6_T2.js
@@ -15,39 +15,39 @@ function DateValue(year, month, date, hours, minutes, seconds, ms) {
var x;
x = DateValue(1899, 11, 31);
-assert.sameValue(x, NaN, "(1899, 11, 31)");
+assert.sameValue(x, NaN, 'The value of x is expected to equal NaN');
x = DateValue(1899, 12, 1);
-assert.sameValue(x, NaN, "(1899, 12, 1)");
+assert.sameValue(x, NaN, 'The value of x is expected to equal NaN');
x = DateValue(1900, 0, 1);
-assert.sameValue(x, NaN, "(1900, 0, 1)");
+assert.sameValue(x, NaN, 'The value of x is expected to equal NaN');
x = DateValue(1969, 11, 31);
-assert.sameValue(x, NaN, "(1969, 11, 31)");
+assert.sameValue(x, NaN, 'The value of x is expected to equal NaN');
x = DateValue(1969, 12, 1);
-assert.sameValue(x, NaN, "(1969, 12, 1)");
+assert.sameValue(x, NaN, 'The value of x is expected to equal NaN');
x = DateValue(1970, 0, 1);
-assert.sameValue(x, NaN, "(1970, 0, 1)");
+assert.sameValue(x, NaN, 'The value of x is expected to equal NaN');
x = DateValue(1999, 11, 31);
-assert.sameValue(x, NaN, "(1999, 11, 31)");
+assert.sameValue(x, NaN, 'The value of x is expected to equal NaN');
x = DateValue(1999, 12, 1);
-assert.sameValue(x, NaN, "(1999, 12, 1)");
+assert.sameValue(x, NaN, 'The value of x is expected to equal NaN');
x = DateValue(2000, 0, 1);
-assert.sameValue(x, NaN, "(2000, 0, 1)");
+assert.sameValue(x, NaN, 'The value of x is expected to equal NaN');
x = DateValue(2099, 11, 31);
-assert.sameValue(x, NaN, "(2099, 11, 31)");
+assert.sameValue(x, NaN, 'The value of x is expected to equal NaN');
x = DateValue(2099, 12, 1);
-assert.sameValue(x, NaN, "(2099, 12, 1)");
+assert.sameValue(x, NaN, 'The value of x is expected to equal NaN');
x = DateValue(2100, 0, 1);
-assert.sameValue(x, NaN, "(2100, 0, 1)");
+assert.sameValue(x, NaN, 'The value of x is expected to equal NaN');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/S15.9.3.1_A6_T3.js b/js/src/tests/test262/built-ins/Date/S15.9.3.1_A6_T3.js
index fa91428df691..b011be91efb1 100644
--- a/js/src/tests/test262/built-ins/Date/S15.9.3.1_A6_T3.js
+++ b/js/src/tests/test262/built-ins/Date/S15.9.3.1_A6_T3.js
@@ -15,39 +15,39 @@ function DateValue(year, month, date, hours, minutes, seconds, ms) {
var x;
x = DateValue(1899, 11, 31, 23);
-assert.sameValue(x, NaN, "(1899, 11, 31, 23)");
+assert.sameValue(x, NaN, 'The value of x is expected to equal NaN');
x = DateValue(1899, 12, 1, 0);
-assert.sameValue(x, NaN, "(1899, 12, 1, 0)");
+assert.sameValue(x, NaN, 'The value of x is expected to equal NaN');
x = DateValue(1900, 0, 1, 0);
-assert.sameValue(x, NaN, "(1900, 0, 1, 0)");
+assert.sameValue(x, NaN, 'The value of x is expected to equal NaN');
x = DateValue(1969, 11, 31, 23);
-assert.sameValue(x, NaN, "(1969, 11, 31, 23)");
+assert.sameValue(x, NaN, 'The value of x is expected to equal NaN');
x = DateValue(1969, 12, 1, 0);
-assert.sameValue(x, NaN, "(1969, 12, 1, 0)");
+assert.sameValue(x, NaN, 'The value of x is expected to equal NaN');
x = DateValue(1970, 0, 1, 0);
-assert.sameValue(x, NaN, "(1970, 0, 1, 0)");
+assert.sameValue(x, NaN, 'The value of x is expected to equal NaN');
x = DateValue(1999, 11, 31, 23);
-assert.sameValue(x, NaN, "(1999, 11, 31, 23)");
+assert.sameValue(x, NaN, 'The value of x is expected to equal NaN');
x = DateValue(1999, 12, 1, 0);
-assert.sameValue(x, NaN, "(1999, 12, 1, 0)");
+assert.sameValue(x, NaN, 'The value of x is expected to equal NaN');
x = DateValue(2000, 0, 1, 0);
-assert.sameValue(x, NaN, "(2000, 0, 1, 0)");
+assert.sameValue(x, NaN, 'The value of x is expected to equal NaN');
x = DateValue(2099, 11, 31, 23);
-assert.sameValue(x, NaN, "(2099, 11, 31, 23)");
+assert.sameValue(x, NaN, 'The value of x is expected to equal NaN');
x = DateValue(2099, 12, 1, 0);
-assert.sameValue(x, NaN, "(2099, 12, 1, 0)");
+assert.sameValue(x, NaN, 'The value of x is expected to equal NaN');
x = DateValue(2100, 0, 1, 0);
-assert.sameValue(x, NaN, "(2100, 0, 1, 0)");
+assert.sameValue(x, NaN, 'The value of x is expected to equal NaN');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/S15.9.3.1_A6_T4.js b/js/src/tests/test262/built-ins/Date/S15.9.3.1_A6_T4.js
index 11535a5f44fa..d482aab2b1fc 100644
--- a/js/src/tests/test262/built-ins/Date/S15.9.3.1_A6_T4.js
+++ b/js/src/tests/test262/built-ins/Date/S15.9.3.1_A6_T4.js
@@ -15,39 +15,39 @@ function DateValue(year, month, date, hours, minutes, seconds, ms) {
var x;
x = DateValue(1899, 11, 31, 23, 59);
-assert.sameValue(x, NaN, "(1899, 11, 31, 23, 59)");
+assert.sameValue(x, NaN, 'The value of x is expected to equal NaN');
x = DateValue(1899, 12, 1, 0, 0);
-assert.sameValue(x, NaN, "(1899, 12, 1, 0, 0)");
+assert.sameValue(x, NaN, 'The value of x is expected to equal NaN');
x = DateValue(1900, 0, 1, 0, 0);
-assert.sameValue(x, NaN, "(1900, 0, 1, 0, 0)");
+assert.sameValue(x, NaN, 'The value of x is expected to equal NaN');
x = DateValue(1969, 11, 31, 23, 59);
-assert.sameValue(x, NaN, "(1969, 11, 31, 23, 59)");
+assert.sameValue(x, NaN, 'The value of x is expected to equal NaN');
x = DateValue(1969, 12, 1, 0, 0);
-assert.sameValue(x, NaN, "(1969, 12, 1, 0, 0)");
+assert.sameValue(x, NaN, 'The value of x is expected to equal NaN');
x = DateValue(1970, 0, 1, 0, 0);
-assert.sameValue(x, NaN, "(1970, 0, 1, 0, 0)");
+assert.sameValue(x, NaN, 'The value of x is expected to equal NaN');
x = DateValue(1999, 11, 31, 23, 59);
-assert.sameValue(x, NaN, "(1999, 11, 31, 23, 59)");
+assert.sameValue(x, NaN, 'The value of x is expected to equal NaN');
x = DateValue(1999, 12, 1, 0, 0);
-assert.sameValue(x, NaN, "(1999, 12, 1, 0, 0)");
+assert.sameValue(x, NaN, 'The value of x is expected to equal NaN');
x = DateValue(2000, 0, 1, 0, 0);
-assert.sameValue(x, NaN, "(2000, 0, 1, 0, 0)");
+assert.sameValue(x, NaN, 'The value of x is expected to equal NaN');
x = DateValue(2099, 11, 31, 23, 59);
-assert.sameValue(x, NaN, "(2099, 11, 31, 23, 59)");
+assert.sameValue(x, NaN, 'The value of x is expected to equal NaN');
x = DateValue(2099, 12, 1, 0, 0);
-assert.sameValue(x, NaN, "(2099, 12, 1, 0, 0)");
+assert.sameValue(x, NaN, 'The value of x is expected to equal NaN');
x = DateValue(2100, 0, 1, 0, 0);
-assert.sameValue(x, NaN, "(2100, 0, 1, 0, 0)");
+assert.sameValue(x, NaN, 'The value of x is expected to equal NaN');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/S15.9.3.1_A6_T5.js b/js/src/tests/test262/built-ins/Date/S15.9.3.1_A6_T5.js
index 825174b7619f..41480d29d7bf 100644
--- a/js/src/tests/test262/built-ins/Date/S15.9.3.1_A6_T5.js
+++ b/js/src/tests/test262/built-ins/Date/S15.9.3.1_A6_T5.js
@@ -15,39 +15,39 @@ function DateValue(year, month, date, hours, minutes, seconds, ms) {
var x;
x = DateValue(1899, 11, 31, 23, 59, 59);
-assert.sameValue(x, NaN, "(1899, 11, 31, 23, 59, 59)");
+assert.sameValue(x, NaN, 'The value of x is expected to equal NaN');
x = DateValue(1899, 12, 1, 0, 0, 0);
-assert.sameValue(x, NaN, "(1899, 12, 1, 0, 0, 0)");
+assert.sameValue(x, NaN, 'The value of x is expected to equal NaN');
x = DateValue(1900, 0, 1, 0, 0, 0);
-assert.sameValue(x, NaN, "(1900, 0, 1, 0, 0, 0)");
+assert.sameValue(x, NaN, 'The value of x is expected to equal NaN');
x = DateValue(1969, 11, 31, 23, 59, 59);
-assert.sameValue(x, NaN, "(1969, 11, 31, 23, 59, 59)");
+assert.sameValue(x, NaN, 'The value of x is expected to equal NaN');
x = DateValue(1969, 12, 1, 0, 0, 0);
-assert.sameValue(x, NaN, "(1969, 12, 1, 0, 0, 0)");
+assert.sameValue(x, NaN, 'The value of x is expected to equal NaN');
x = DateValue(1970, 0, 1, 0, 0, 0);
-assert.sameValue(x, NaN, "(1970, 0, 1, 0, 0, 0)");
+assert.sameValue(x, NaN, 'The value of x is expected to equal NaN');
x = DateValue(1999, 11, 31, 23, 59, 59);
-assert.sameValue(x, NaN, "(1999, 11, 31, 23, 59, 59)");
+assert.sameValue(x, NaN, 'The value of x is expected to equal NaN');
x = DateValue(1999, 12, 1, 0, 0, 0);
-assert.sameValue(x, NaN, "(1999, 12, 1, 0, 0, 0)");
+assert.sameValue(x, NaN, 'The value of x is expected to equal NaN');
x = DateValue(2000, 0, 1, 0, 0, 0);
-assert.sameValue(x, NaN, "(2000, 0, 1, 0, 0, 0)");
+assert.sameValue(x, NaN, 'The value of x is expected to equal NaN');
x = DateValue(2099, 11, 31, 23, 59, 59);
-assert.sameValue(x, NaN, "(2099, 11, 31, 23, 59, 59)");
+assert.sameValue(x, NaN, 'The value of x is expected to equal NaN');
x = DateValue(2099, 12, 1, 0, 0, 0);
-assert.sameValue(x, NaN, "(2099, 12, 1, 0, 0, 0)");
+assert.sameValue(x, NaN, 'The value of x is expected to equal NaN');
x = DateValue(2100, 0, 1, 0, 0, 0);
-assert.sameValue(x, NaN, "(2100, 0, 1, 0, 0, 0)");
+assert.sameValue(x, NaN, 'The value of x is expected to equal NaN');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/S15.9.3.2_A1_T1.js b/js/src/tests/test262/built-ins/Date/S15.9.3.2_A1_T1.js
index 33aea2995b86..ed603baee722 100644
--- a/js/src/tests/test262/built-ins/Date/S15.9.3.2_A1_T1.js
+++ b/js/src/tests/test262/built-ins/Date/S15.9.3.2_A1_T1.js
@@ -9,149 +9,132 @@ esid: sec-date-value
description: Checking types of newly created objects and it values
includes: [dateConstants.js]
---*/
+assert.sameValue(
+ typeof new Date(date_1899_end),
+ "object",
+ 'The value of `typeof new Date(date_1899_end)` is expected to be "object"'
+);
-if (typeof new Date(date_1899_end) !== "object") {
- throw new Test262Error("#1.1: typeof new Date(date_1899_end) === 'object'");
-}
-
-if (new Date(date_1899_end) === undefined) {
- throw new Test262Error("#1.2: new Date(date_1899_end) === undefined");
-}
+assert.notSameValue(new Date(date_1899_end), undefined, 'new Date(date_1899_end) is expected to not equal ``undefined``');
var x13 = new Date(date_1899_end);
-if (typeof x13 !== "object") {
- throw new Test262Error("#1.3: typeof new Date(date_1899_end) !== 'object'");
-}
+assert.sameValue(typeof x13, "object", 'The value of `typeof x13` is expected to be "object"');
var x14 = new Date(date_1899_end);
-if (x14 === undefined) {
- throw new Test262Error("#1.4: new Date(date_1899_end) !== undefined");
-}
+assert.notSameValue(x14, undefined, 'The value of x14 is expected to not equal ``undefined``');
-if (typeof new Date(date_1900_start) !== "object") {
- throw new Test262Error("#2.1: typeof new Date(date_1900_start) === 'object'");
-}
+assert.sameValue(
+ typeof new Date(date_1900_start),
+ "object",
+ 'The value of `typeof new Date(date_1900_start)` is expected to be "object"'
+);
-if (new Date(date_1900_start) === undefined) {
- throw new Test262Error("#2.2: new Date(date_1900_start) === undefined");
-}
+assert.notSameValue(
+ new Date(date_1900_start),
+ undefined,
+ 'new Date(date_1900_start) is expected to not equal ``undefined``'
+);
var x23 = new Date(date_1900_start);
-if (typeof x23 !== "object") {
- throw new Test262Error("#2.3: typeof new Date(date_1900_start) !== 'object'");
-}
+assert.sameValue(typeof x23, "object", 'The value of `typeof x23` is expected to be "object"');
var x24 = new Date(date_1900_start);
-if (x24 === undefined) {
- throw new Test262Error("#2.4: new Date(date_1900_start) !== undefined");
-}
+assert.notSameValue(x24, undefined, 'The value of x24 is expected to not equal ``undefined``');
-if (typeof new Date(date_1969_end) !== "object") {
- throw new Test262Error("#3.1: typeof new Date(date_1969_end) === 'object'");
-}
+assert.sameValue(
+ typeof new Date(date_1969_end),
+ "object",
+ 'The value of `typeof new Date(date_1969_end)` is expected to be "object"'
+);
-if (new Date(date_1969_end) === undefined) {
- throw new Test262Error("#3.2: new Date(date_1969_end) === undefined");
-}
+assert.notSameValue(new Date(date_1969_end), undefined, 'new Date(date_1969_end) is expected to not equal ``undefined``');
var x33 = new Date(date_1969_end);
-if (typeof x33 !== "object") {
- throw new Test262Error("#3.3: typeof new Date(date_1969_end) !== 'object'");
-}
+assert.sameValue(typeof x33, "object", 'The value of `typeof x33` is expected to be "object"');
var x34 = new Date(date_1969_end);
-if (x34 === undefined) {
- throw new Test262Error("#3.4: new Date(date_1969_end) !== undefined");
-}
+assert.notSameValue(x34, undefined, 'The value of x34 is expected to not equal ``undefined``');
-if (typeof new Date(date_1970_start) !== "object") {
- throw new Test262Error("#4.1: typeof new Date(date_1970_start) === 'object'");
-}
+assert.sameValue(
+ typeof new Date(date_1970_start),
+ "object",
+ 'The value of `typeof new Date(date_1970_start)` is expected to be "object"'
+);
-if (new Date(date_1970_start) === undefined) {
- throw new Test262Error("#4.2: new Date(date_1970_start) === undefined");
-}
+assert.notSameValue(
+ new Date(date_1970_start),
+ undefined,
+ 'new Date(date_1970_start) is expected to not equal ``undefined``'
+);
var x43 = new Date(date_1970_start);
-if (typeof x43 !== "object") {
- throw new Test262Error("#4.3: typeof new Date(date_1970_start) !== 'object'");
-}
+assert.sameValue(typeof x43, "object", 'The value of `typeof x43` is expected to be "object"');
var x44 = new Date(date_1970_start);
-if (x44 === undefined) {
- throw new Test262Error("#4.4: new Date(date_1970_start) !== undefined");
-}
+assert.notSameValue(x44, undefined, 'The value of x44 is expected to not equal ``undefined``');
-if (typeof new Date(date_1999_end) !== "object") {
- throw new Test262Error("#5.1: typeof new Date(date_1999_end) === 'object'");
-}
+assert.sameValue(
+ typeof new Date(date_1999_end),
+ "object",
+ 'The value of `typeof new Date(date_1999_end)` is expected to be "object"'
+);
-if (new Date(date_1999_end) === undefined) {
- throw new Test262Error("#5.2: new Date(date_1999_end) === undefined");
-}
+assert.notSameValue(new Date(date_1999_end), undefined, 'new Date(date_1999_end) is expected to not equal ``undefined``');
var x53 = new Date(date_1999_end);
-if (typeof x53 !== "object") {
- throw new Test262Error("#5.3: typeof new Date(date_1999_end) !== 'object'");
-}
+assert.sameValue(typeof x53, "object", 'The value of `typeof x53` is expected to be "object"');
var x54 = new Date(date_1999_end);
-if (x54 === undefined) {
- throw new Test262Error("#5.4: new Date(date_1999_end) !== undefined");
-}
+assert.notSameValue(x54, undefined, 'The value of x54 is expected to not equal ``undefined``');
-if (typeof new Date(date_2000_start) !== "object") {
- throw new Test262Error("#6.1: typeof new Date(date_2000_start) === 'object'");
-}
+assert.sameValue(
+ typeof new Date(date_2000_start),
+ "object",
+ 'The value of `typeof new Date(date_2000_start)` is expected to be "object"'
+);
-if (new Date(date_2000_start) === undefined) {
- throw new Test262Error("#6.2: new Date(date_2000_start) === undefined");
-}
+assert.notSameValue(
+ new Date(date_2000_start),
+ undefined,
+ 'new Date(date_2000_start) is expected to not equal ``undefined``'
+);
var x63 = new Date(date_2000_start);
-if (typeof x63 !== "object") {
- throw new Test262Error("#6.3: typeof new Date(date_2000_start) !== 'object'");
-}
+assert.sameValue(typeof x63, "object", 'The value of `typeof x63` is expected to be "object"');
var x64 = new Date(date_2000_start);
-if (x64 === undefined) {
- throw new Test262Error("#6.4: new Date(date_2000_start) !== undefined");
-}
+assert.notSameValue(x64, undefined, 'The value of x64 is expected to not equal ``undefined``');
-if (typeof new Date(date_2099_end) !== "object") {
- throw new Test262Error("#7.1: typeof new Date(date_2099_end) === 'object'");
-}
+assert.sameValue(
+ typeof new Date(date_2099_end),
+ "object",
+ 'The value of `typeof new Date(date_2099_end)` is expected to be "object"'
+);
-if (new Date(date_2099_end) === undefined) {
- throw new Test262Error("#7.2: new Date(date_2099_end) === undefined");
-}
+assert.notSameValue(new Date(date_2099_end), undefined, 'new Date(date_2099_end) is expected to not equal ``undefined``');
var x73 = new Date(date_2099_end);
-if (typeof x73 !== "object") {
- throw new Test262Error("#7.3: typeof new Date(date_2099_end) !== 'object'");
-}
+assert.sameValue(typeof x73, "object", 'The value of `typeof x73` is expected to be "object"');
var x74 = new Date(date_2099_end);
-if (x74 === undefined) {
- throw new Test262Error("#7.4: new Date(date_2099_end) !== undefined");
-}
+assert.notSameValue(x74, undefined, 'The value of x74 is expected to not equal ``undefined``');
-if (typeof new Date(date_2100_start) !== "object") {
- throw new Test262Error("#8.1: typeof new Date(date_2100_start) === 'object'");
-}
+assert.sameValue(
+ typeof new Date(date_2100_start),
+ "object",
+ 'The value of `typeof new Date(date_2100_start)` is expected to be "object"'
+);
-if (new Date(date_2100_start) === undefined) {
- throw new Test262Error("#8.2: new Date(date_2100_start) === undefined");
-}
+assert.notSameValue(
+ new Date(date_2100_start),
+ undefined,
+ 'new Date(date_2100_start) is expected to not equal ``undefined``'
+);
var x83 = new Date(date_2100_start);
-if (typeof x83 !== "object") {
- throw new Test262Error("#8.3: typeof new Date(date_2100_start) !== 'object'");
-}
+assert.sameValue(typeof x83, "object", 'The value of `typeof x83` is expected to be "object"');
var x84 = new Date(date_2100_start);
-if (x84 === undefined) {
- throw new Test262Error("#8.4: new Date(date_2100_start) !== undefined");
-}
+assert.notSameValue(x84, undefined, 'The value of x84 is expected to not equal ``undefined``');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/S15.9.3.2_A2_T1.js b/js/src/tests/test262/built-ins/Date/S15.9.3.2_A2_T1.js
index 381be5e30b6b..6ec8fb0ff0d4 100644
--- a/js/src/tests/test262/built-ins/Date/S15.9.3.2_A2_T1.js
+++ b/js/src/tests/test262/built-ins/Date/S15.9.3.2_A2_T1.js
@@ -12,123 +12,155 @@ includes: [dateConstants.js]
---*/
var x11 = new Date(date_1899_end);
-if (typeof x11.constructor.prototype !== "object") {
- throw new Test262Error("#1.1: typeof x11.constructor.prototype === 'object'");
-}
+
+assert.sameValue(
+ typeof x11.constructor.prototype,
+ "object",
+ 'The value of `typeof x11.constructor.prototype` is expected to be "object"'
+);
var x12 = new Date(date_1899_end);
-if (!Date.prototype.isPrototypeOf(x12)) {
- throw new Test262Error('#1.2: Date.prototype.isPrototypeOf(x12)');
-}
+assert(Date.prototype.isPrototypeOf(x12), 'Date.prototype.isPrototypeOf(x12) must return true');
var x13 = new Date(date_1899_end);
-if (Date.prototype !== x13.constructor.prototype) {
- throw new Test262Error("#1.3: Date.prototype !== x13.constructor.prototype");
-}
+
+assert.sameValue(
+ Date.prototype,
+ x13.constructor.prototype,
+ 'The value of Date.prototype is expected to equal the value of x13.constructor.prototype'
+);
var x21 = new Date(date_1900_start);
-if (typeof x21.constructor.prototype !== "object") {
- throw new Test262Error("#2.1: typeof x21.constructor.prototype === 'object'");
-}
+
+assert.sameValue(
+ typeof x21.constructor.prototype,
+ "object",
+ 'The value of `typeof x21.constructor.prototype` is expected to be "object"'
+);
var x22 = new Date(date_1900_start);
-if (!Date.prototype.isPrototypeOf(x22)) {
- throw new Test262Error('#2.2: Date.prototype.isPrototypeOf(x22)');
-}
+assert(Date.prototype.isPrototypeOf(x22), 'Date.prototype.isPrototypeOf(x22) must return true');
var x23 = new Date(date_1900_start);
-if (Date.prototype !== x23.constructor.prototype) {
- throw new Test262Error("#2.3: Date.prototype !== x23.constructor.prototype");
-}
+
+assert.sameValue(
+ Date.prototype,
+ x23.constructor.prototype,
+ 'The value of Date.prototype is expected to equal the value of x23.constructor.prototype'
+);
var x31 = new Date(date_1969_end);
-if (typeof x31.constructor.prototype !== "object") {
- throw new Test262Error("#3.1: typeof x31.constructor.prototype === 'object'");
-}
+
+assert.sameValue(
+ typeof x31.constructor.prototype,
+ "object",
+ 'The value of `typeof x31.constructor.prototype` is expected to be "object"'
+);
var x32 = new Date(date_1969_end);
-if (!Date.prototype.isPrototypeOf(x32)) {
- throw new Test262Error('#3.2: Date.prototype.isPrototypeOf(x32)');
-}
+assert(Date.prototype.isPrototypeOf(x32), 'Date.prototype.isPrototypeOf(x32) must return true');
var x33 = new Date(date_1969_end);
-if (Date.prototype !== x33.constructor.prototype) {
- throw new Test262Error("#3.3: Date.prototype !== x33.constructor.prototype");
-}
+
+assert.sameValue(
+ Date.prototype,
+ x33.constructor.prototype,
+ 'The value of Date.prototype is expected to equal the value of x33.constructor.prototype'
+);
var x41 = new Date(date_1970_start);
-if (typeof x41.constructor.prototype !== "object") {
- throw new Test262Error("#4.1: typeof x11.constructor.prototype === 'object'");
-}
+
+assert.sameValue(
+ typeof x41.constructor.prototype,
+ "object",
+ 'The value of `typeof x41.constructor.prototype` is expected to be "object"'
+);
var x42 = new Date(date_1970_start);
-if (!Date.prototype.isPrototypeOf(x42)) {
- throw new Test262Error('#4.2: Date.prototype.isPrototypeOf(x42)');
-}
+assert(Date.prototype.isPrototypeOf(x42), 'Date.prototype.isPrototypeOf(x42) must return true');
var x43 = new Date(date_1970_start);
-if (Date.prototype !== x43.constructor.prototype) {
- throw new Test262Error("#4.3: Date.prototype !== x43.constructor.prototype");
-}
+
+assert.sameValue(
+ Date.prototype,
+ x43.constructor.prototype,
+ 'The value of Date.prototype is expected to equal the value of x43.constructor.prototype'
+);
var x51 = new Date(date_1999_end);
-if (typeof x51.constructor.prototype !== "object") {
- throw new Test262Error("#5.1: typeof x51.constructor.prototype === 'object'");
-}
+
+assert.sameValue(
+ typeof x51.constructor.prototype,
+ "object",
+ 'The value of `typeof x51.constructor.prototype` is expected to be "object"'
+);
var x52 = new Date(date_1999_end);
-if (!Date.prototype.isPrototypeOf(x52)) {
- throw new Test262Error('#5.2: Date.prototype.isPrototypeOf(x52)');
-}
+assert(Date.prototype.isPrototypeOf(x52), 'Date.prototype.isPrototypeOf(x52) must return true');
var x53 = new Date(date_1999_end);
-if (Date.prototype !== x53.constructor.prototype) {
- throw new Test262Error("#5.3: Date.prototype !== x53.constructor.prototype");
-}
+
+assert.sameValue(
+ Date.prototype,
+ x53.constructor.prototype,
+ 'The value of Date.prototype is expected to equal the value of x53.constructor.prototype'
+);
var x61 = new Date(date_2000_start);
-if (typeof x61.constructor.prototype !== "object") {
- throw new Test262Error("#6.1: typeof x61.constructor.prototype === 'object'");
-}
+
+assert.sameValue(
+ typeof x61.constructor.prototype,
+ "object",
+ 'The value of `typeof x61.constructor.prototype` is expected to be "object"'
+);
var x62 = new Date(date_2000_start);
-if (!Date.prototype.isPrototypeOf(x62)) {
- throw new Test262Error('#6.2: Date.prototype.isPrototypeOf(x62)');
-}
+assert(Date.prototype.isPrototypeOf(x62), 'Date.prototype.isPrototypeOf(x62) must return true');
var x63 = new Date(date_2000_start);
-if (Date.prototype !== x63.constructor.prototype) {
- throw new Test262Error("#6.3: Date.prototype !== x63.constructor.prototype");
-}
+
+assert.sameValue(
+ Date.prototype,
+ x63.constructor.prototype,
+ 'The value of Date.prototype is expected to equal the value of x63.constructor.prototype'
+);
var x71 = new Date(date_2099_end);
-if (typeof x71.constructor.prototype !== "object") {
- throw new Test262Error("#7.1: typeof x71.constructor.prototype === 'object'");
-}
+
+assert.sameValue(
+ typeof x71.constructor.prototype,
+ "object",
+ 'The value of `typeof x71.constructor.prototype` is expected to be "object"'
+);
var x72 = new Date(date_2099_end);
-if (!Date.prototype.isPrototypeOf(x72)) {
- throw new Test262Error('#7.2: Date.prototype.isPrototypeOf(x72)');
-}
+assert(Date.prototype.isPrototypeOf(x72), 'Date.prototype.isPrototypeOf(x72) must return true');
var x73 = new Date(date_2099_end);
-if (Date.prototype !== x73.constructor.prototype) {
- throw new Test262Error("#7.3: Date.prototype !== x73.constructor.prototype");
-}
+
+assert.sameValue(
+ Date.prototype,
+ x73.constructor.prototype,
+ 'The value of Date.prototype is expected to equal the value of x73.constructor.prototype'
+);
var x81 = new Date(date_2100_start);
-if (typeof x81.constructor.prototype !== "object") {
- throw new Test262Error("#8.1: typeof x81.constructor.prototype === 'object'");
-}
+
+assert.sameValue(
+ typeof x81.constructor.prototype,
+ "object",
+ 'The value of `typeof x81.constructor.prototype` is expected to be "object"'
+);
var x82 = new Date(date_2100_start);
-if (!Date.prototype.isPrototypeOf(x82)) {
- throw new Test262Error('#8.2: Date.prototype.isPrototypeOf(x82)');
-}
+assert(Date.prototype.isPrototypeOf(x82), 'Date.prototype.isPrototypeOf(x82) must return true');
var x83 = new Date(date_2100_start);
-if (Date.prototype !== x83.constructor.prototype) {
- throw new Test262Error("#8.3: Date.prototype !== x83.constructor.prototype");
-}
+
+assert.sameValue(
+ Date.prototype,
+ x83.constructor.prototype,
+ 'The value of Date.prototype is expected to equal the value of x83.constructor.prototype'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/S15.9.3.2_A3_T1.1.js b/js/src/tests/test262/built-ins/Date/S15.9.3.2_A3_T1.1.js
index 9dc59a4db762..3e52511561bc 100644
--- a/js/src/tests/test262/built-ins/Date/S15.9.3.2_A3_T1.1.js
+++ b/js/src/tests/test262/built-ins/Date/S15.9.3.2_A3_T1.1.js
@@ -11,43 +11,67 @@ includes: [dateConstants.js]
---*/
var x1 = new Date(date_1899_end);
-if (Object.prototype.toString.call(x1) !== "[object Date]") {
- throw new Test262Error("#1: The [[Class]] property of the newly constructed object is set to 'Date'");
-}
+
+assert.sameValue(
+ Object.prototype.toString.call(x1),
+ "[object Date]",
+ 'Object.prototype.toString.call(new Date(date_1899_end)) must return "[object Date]"'
+);
var x2 = new Date(date_1900_start);
-if (Object.prototype.toString.call(x2) !== "[object Date]") {
- throw new Test262Error("#2: The [[Class]] property of the newly constructed object is set to 'Date'");
-}
+
+assert.sameValue(
+ Object.prototype.toString.call(x2),
+ "[object Date]",
+ 'Object.prototype.toString.call(new Date(date_1900_start)) must return "[object Date]"'
+);
var x3 = new Date(date_1969_end);
-if (Object.prototype.toString.call(x3) !== "[object Date]") {
- throw new Test262Error("#3: The [[Class]] property of the newly constructed object is set to 'Date'");
-}
+
+assert.sameValue(
+ Object.prototype.toString.call(x3),
+ "[object Date]",
+ 'Object.prototype.toString.call(new Date(date_1969_end)) must return "[object Date]"'
+);
var x4 = new Date(date_1970_start);
-if (Object.prototype.toString.call(x4) !== "[object Date]") {
- throw new Test262Error("#4: The [[Class]] property of the newly constructed object is set to 'Date'");
-}
+
+assert.sameValue(
+ Object.prototype.toString.call(x4),
+ "[object Date]",
+ 'Object.prototype.toString.call(new Date(date_1970_start)) must return "[object Date]"'
+);
var x5 = new Date(date_1999_end);
-if (Object.prototype.toString.call(x5) !== "[object Date]") {
- throw new Test262Error("#5: The [[Class]] property of the newly constructed object is set to 'Date'");
-}
+
+assert.sameValue(
+ Object.prototype.toString.call(x5),
+ "[object Date]",
+ 'Object.prototype.toString.call(new Date(date_1999_end)) must return "[object Date]"'
+);
var x6 = new Date(date_2000_start);
-if (Object.prototype.toString.call(x6) !== "[object Date]") {
- throw new Test262Error("#6: The [[Class]] property of the newly constructed object is set to 'Date'");
-}
+
+assert.sameValue(
+ Object.prototype.toString.call(x6),
+ "[object Date]",
+ 'Object.prototype.toString.call(new Date(date_2000_start)) must return "[object Date]"'
+);
var x7 = new Date(date_2099_end);
-if (Object.prototype.toString.call(x7) !== "[object Date]") {
- throw new Test262Error("#7: The [[Class]] property of the newly constructed object is set to 'Date'");
-}
+
+assert.sameValue(
+ Object.prototype.toString.call(x7),
+ "[object Date]",
+ 'Object.prototype.toString.call(new Date(date_2099_end)) must return "[object Date]"'
+);
var x8 = new Date(date_2100_start);
-if (Object.prototype.toString.call(x8) !== "[object Date]") {
- throw new Test262Error("#8: The [[Class]] property of the newly constructed object is set to 'Date'");
-}
+
+assert.sameValue(
+ Object.prototype.toString.call(x8),
+ "[object Date]",
+ 'Object.prototype.toString.call(new Date(date_2100_start)) must return "[object Date]"'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/S15.9.3.2_A3_T1.2.js b/js/src/tests/test262/built-ins/Date/S15.9.3.2_A3_T1.2.js
index a0d831e95c8b..78f451277a0e 100644
--- a/js/src/tests/test262/built-ins/Date/S15.9.3.2_A3_T1.2.js
+++ b/js/src/tests/test262/built-ins/Date/S15.9.3.2_A3_T1.2.js
@@ -13,43 +13,27 @@ includes: [dateConstants.js]
Date.prototype.toString = Object.prototype.toString;
var x1 = new Date(date_1899_end);
-if (x1.toString() !== "[object Date]") {
- throw new Test262Error("#1: The [[Class]] property of the newly constructed object is set to 'Date'");
-}
+assert.sameValue(x1.toString(), "[object Date]", 'x1.toString() must return "[object Date]"');
var x2 = new Date(date_1900_start);
-if (x2.toString() !== "[object Date]") {
- throw new Test262Error("#2: The [[Class]] property of the newly constructed object is set to 'Date'");
-}
+assert.sameValue(x2.toString(), "[object Date]", 'x2.toString() must return "[object Date]"');
var x3 = new Date(date_1969_end);
-if (x3.toString() !== "[object Date]") {
- throw new Test262Error("#3: The [[Class]] property of the newly constructed object is set to 'Date'");
-}
+assert.sameValue(x3.toString(), "[object Date]", 'x3.toString() must return "[object Date]"');
var x4 = new Date(date_1970_start);
-if (x4.toString() !== "[object Date]") {
- throw new Test262Error("#4: The [[Class]] property of the newly constructed object is set to 'Date'");
-}
+assert.sameValue(x4.toString(), "[object Date]", 'x4.toString() must return "[object Date]"');
var x5 = new Date(date_1999_end);
-if (x5.toString() !== "[object Date]") {
- throw new Test262Error("#5: The [[Class]] property of the newly constructed object is set to 'Date'");
-}
+assert.sameValue(x5.toString(), "[object Date]", 'x5.toString() must return "[object Date]"');
var x6 = new Date(date_2000_start);
-if (x6.toString() !== "[object Date]") {
- throw new Test262Error("#6: The [[Class]] property of the newly constructed object is set to 'Date'");
-}
+assert.sameValue(x6.toString(), "[object Date]", 'x6.toString() must return "[object Date]"');
var x7 = new Date(date_2099_end);
-if (x7.toString() !== "[object Date]") {
- throw new Test262Error("#7: The [[Class]] property of the newly constructed object is set to 'Date'");
-}
+assert.sameValue(x7.toString(), "[object Date]", 'x7.toString() must return "[object Date]"');
var x8 = new Date(date_2100_start);
-if (x8.toString() !== "[object Date]") {
- throw new Test262Error("#8: The [[Class]] property of the newly constructed object is set to 'Date'");
-}
+assert.sameValue(x8.toString(), "[object Date]", 'x8.toString() must return "[object Date]"');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/S15.9.4_A1.js b/js/src/tests/test262/built-ins/Date/S15.9.4_A1.js
index 17c10fce7ca4..cc810add6223 100644
--- a/js/src/tests/test262/built-ins/Date/S15.9.4_A1.js
+++ b/js/src/tests/test262/built-ins/Date/S15.9.4_A1.js
@@ -6,9 +6,6 @@ info: The Date constructor has the property "prototype"
esid: sec-date-constructor
description: Checking existence of the property "prototype"
---*/
-
-if (!Date.hasOwnProperty("prototype")) {
- throw new Test262Error('#1: The Date constructor has the property "prototype"');
-}
+assert(Date.hasOwnProperty("prototype"), 'Date.hasOwnProperty("prototype") must return true');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/S15.9.4_A2.js b/js/src/tests/test262/built-ins/Date/S15.9.4_A2.js
index f751a681f615..efa6e9386333 100644
--- a/js/src/tests/test262/built-ins/Date/S15.9.4_A2.js
+++ b/js/src/tests/test262/built-ins/Date/S15.9.4_A2.js
@@ -6,9 +6,6 @@ info: The Date constructor has the property "parse"
esid: sec-date-constructor
description: Checking existence of the property "parse"
---*/
-
-if (!Date.hasOwnProperty("parse")) {
- throw new Test262Error('#1: The Date constructor has the property "parse"');
-}
+assert(Date.hasOwnProperty("parse"), 'Date.hasOwnProperty("parse") must return true');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/S15.9.4_A3.js b/js/src/tests/test262/built-ins/Date/S15.9.4_A3.js
index 5565f65d4186..381b4d16dc16 100644
--- a/js/src/tests/test262/built-ins/Date/S15.9.4_A3.js
+++ b/js/src/tests/test262/built-ins/Date/S15.9.4_A3.js
@@ -6,9 +6,6 @@ info: The Date constructor has the property "UTC"
esid: sec-date-constructor
description: Checking existence of the property "UTC"
---*/
-
-if (!Date.hasOwnProperty("UTC")) {
- throw new Test262Error('#1: The Date constructor has the property "UTC"');
-}
+assert(Date.hasOwnProperty("UTC"), 'Date.hasOwnProperty("UTC") must return true');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/S15.9.4_A4.js b/js/src/tests/test262/built-ins/Date/S15.9.4_A4.js
index 3acf8f94a3a8..2d7445628ccc 100644
--- a/js/src/tests/test262/built-ins/Date/S15.9.4_A4.js
+++ b/js/src/tests/test262/built-ins/Date/S15.9.4_A4.js
@@ -8,10 +8,6 @@ info: |
esid: sec-date-constructor
description: Checking Function.prototype.isPrototypeOf(Date)
---*/
-
-//CHECK#1
-if (!(Function.prototype.isPrototypeOf(Date))) {
- throw new Test262Error('#1: the value of the internal [[Prototype]] property of the Date constructor is the Function prototype object.');
-}
+assert(Function.prototype.isPrototypeOf(Date), 'Function.prototype.isPrototypeOf(Date) must return true');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/S15.9.4_A5.js b/js/src/tests/test262/built-ins/Date/S15.9.4_A5.js
index dbe1d2f03ae4..6e5619ad58d3 100644
--- a/js/src/tests/test262/built-ins/Date/S15.9.4_A5.js
+++ b/js/src/tests/test262/built-ins/Date/S15.9.4_A5.js
@@ -6,15 +6,7 @@ info: Date constructor has length property whose value is 7
esid: sec-date-constructor
description: Checking Date.length property
---*/
-
-//CHECK#1
-if (!Date.hasOwnProperty("length")) {
- throw new Test262Error('#1: Date constructor has length property');
-}
-
-//CHECK#2
-if (Date.length !== 7) {
- throw new Test262Error('#2: Date constructor length property value should be 7');
-}
+assert(Date.hasOwnProperty("length"), 'Date.hasOwnProperty("length") must return true');
+assert.sameValue(Date.length, 7, 'The value of Date.length is expected to be 7');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/UTC/S15.9.4.3_A1_T1.js b/js/src/tests/test262/built-ins/Date/UTC/S15.9.4.3_A1_T1.js
index 3a85396cf946..5f2531e1c23c 100644
--- a/js/src/tests/test262/built-ins/Date/UTC/S15.9.4.3_A1_T1.js
+++ b/js/src/tests/test262/built-ins/Date/UTC/S15.9.4.3_A1_T1.js
@@ -9,12 +9,13 @@ description: Checking absence of ReadOnly attribute
---*/
var x = Date.UTC;
-if (x === 1)
+if (x === 1) {
Date.UTC = 2;
-else
+} else {
Date.UTC = 1;
-if (Date.UTC === x) {
- throw new Test262Error('#1: The Date.UTC has not the attribute ReadOnly');
}
+assert.notSameValue(Date.UTC, x, 'The value of Date.UTC is expected to not equal the value of `x`');
+
+// TODO: Convert to verifyProperty() format.
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/UTC/S15.9.4.3_A1_T2.js b/js/src/tests/test262/built-ins/Date/UTC/S15.9.4.3_A1_T2.js
index 70293f54c9c8..f859e0b452fd 100644
--- a/js/src/tests/test262/built-ins/Date/UTC/S15.9.4.3_A1_T2.js
+++ b/js/src/tests/test262/built-ins/Date/UTC/S15.9.4.3_A1_T2.js
@@ -7,13 +7,9 @@ info: The Date property "UTC" has { DontEnum } attributes
es5id: 15.9.4.3_A1_T2
description: Checking absence of DontDelete attribute
---*/
+assert.notSameValue(delete Date.UTC, false, 'The value of delete Date.UTC is not false');
+assert(!Date.hasOwnProperty('UTC'), 'The value of !Date.hasOwnProperty(\'UTC\') is expected to be true');
-if (delete Date.UTC === false) {
- throw new Test262Error('#1: The Date.UTC property has not the attributes DontDelete');
-}
-
-if (Date.hasOwnProperty('UTC')) {
- throw new Test262Error('#2: The Date.UTC property has not the attributes DontDelete');
-}
+// TODO: Convert to verifyProperty() format.
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/UTC/S15.9.4.3_A1_T3.js b/js/src/tests/test262/built-ins/Date/UTC/S15.9.4.3_A1_T3.js
index 455e51f51302..43b8ccb055c1 100644
--- a/js/src/tests/test262/built-ins/Date/UTC/S15.9.4.3_A1_T3.js
+++ b/js/src/tests/test262/built-ins/Date/UTC/S15.9.4.3_A1_T3.js
@@ -7,15 +7,15 @@ info: The Date property "UTC" has { DontEnum } attributes
es5id: 15.9.4.3_A1_T3
description: Checking DontEnum attribute
---*/
-
-if (Date.propertyIsEnumerable('UTC')) {
- throw new Test262Error('#1: The Date.UTC property has the attribute DontEnum');
-}
+assert(
+ !Date.propertyIsEnumerable('UTC'),
+ 'The value of !Date.propertyIsEnumerable(\'UTC\') is expected to be true'
+);
for (var x in Date) {
- if (x === "UTC") {
- throw new Test262Error('#2: The Date.UTC has the attribute DontEnum');
- }
+ assert.notSameValue(x, "UTC", 'The value of x is not "UTC"');
}
+// TODO: Convert to verifyProperty() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/UTC/S15.9.4.3_A2_T1.js b/js/src/tests/test262/built-ins/Date/UTC/S15.9.4.3_A2_T1.js
index 6371a686d0b9..49e39e4d11da 100644
--- a/js/src/tests/test262/built-ins/Date/UTC/S15.9.4.3_A2_T1.js
+++ b/js/src/tests/test262/built-ins/Date/UTC/S15.9.4.3_A2_T1.js
@@ -7,13 +7,7 @@ info: The "length" property of the "UTC" is 7
es5id: 15.9.4.3_A2_T1
description: The "length" property of the "UTC" is 7
---*/
-
-if (Date.UTC.hasOwnProperty("length") !== true) {
- throw new Test262Error('#1: The UTC has a "length" property');
-}
-
-if (Date.UTC.length !== 7) {
- throw new Test262Error('#2: The "length" property of the UTC is 7');
-}
+assert.sameValue(Date.UTC.hasOwnProperty("length"), true, 'Date.UTC.hasOwnProperty("length") must return true');
+assert.sameValue(Date.UTC.length, 7, 'The value of Date.UTC.length is expected to be 7');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/UTC/S15.9.4.3_A3_T1.js b/js/src/tests/test262/built-ins/Date/UTC/S15.9.4.3_A3_T1.js
index 2ec0ae7b9922..c9261a5a5b52 100644
--- a/js/src/tests/test262/built-ins/Date/UTC/S15.9.4.3_A3_T1.js
+++ b/js/src/tests/test262/built-ins/Date/UTC/S15.9.4.3_A3_T1.js
@@ -13,8 +13,8 @@ includes: [propertyHelper.js]
var x = Date.UTC.length;
verifyNotWritable(Date.UTC, "length", null, 1);
-if (Date.UTC.length !== x) {
- throw new Test262Error('#1: The Date.UTC.length has the attribute ReadOnly');
-}
+assert.sameValue(Date.UTC.length, x, 'The value of Date.UTC.length is expected to equal the value of x');
+
+// TODO: Convert to verifyProperty() format.
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/UTC/S15.9.4.3_A3_T2.js b/js/src/tests/test262/built-ins/Date/UTC/S15.9.4.3_A3_T2.js
index 291254ebda11..07ecc37b20b5 100644
--- a/js/src/tests/test262/built-ins/Date/UTC/S15.9.4.3_A3_T2.js
+++ b/js/src/tests/test262/built-ins/Date/UTC/S15.9.4.3_A3_T2.js
@@ -10,12 +10,13 @@ es5id: 15.9.4.3_A3_T2
description: Checking DontDelete attribute
---*/
-if (delete Date.UTC.length !== true) {
- throw new Test262Error('#1: The Date.UTC.length property does not have the attributes DontDelete');
-}
+assert.sameValue(delete Date.UTC.length, true, 'The value of `delete Date.UTC.length` is expected to be true');
-if (Date.UTC.hasOwnProperty('length')) {
- throw new Test262Error('#2: The Date.UTC.length property does not have the attributes DontDelete');
-}
+assert(
+ !Date.UTC.hasOwnProperty('length'),
+ 'The value of !Date.UTC.hasOwnProperty(\'length\') is expected to be true'
+);
+
+// TODO: Convert to verifyProperty() format.
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/UTC/S15.9.4.3_A3_T3.js b/js/src/tests/test262/built-ins/Date/UTC/S15.9.4.3_A3_T3.js
index 06ce7abe4c16..f5d155d8a525 100644
--- a/js/src/tests/test262/built-ins/Date/UTC/S15.9.4.3_A3_T3.js
+++ b/js/src/tests/test262/built-ins/Date/UTC/S15.9.4.3_A3_T3.js
@@ -9,15 +9,15 @@ info: |
es5id: 15.9.4.3_A3_T3
description: Checking DontEnum attribute
---*/
-
-if (Date.UTC.propertyIsEnumerable('length')) {
- throw new Test262Error('#1: The Date.UTC.length property has the attribute DontEnum');
-}
+assert(
+ !Date.UTC.propertyIsEnumerable('length'),
+ 'The value of !Date.UTC.propertyIsEnumerable(\'length\') is expected to be true'
+);
for (var x in Date.UTC) {
- if (x === "length") {
- throw new Test262Error('#2: The Date.UTC.length has the attribute DontEnum');
- }
+ assert.notSameValue(x, "length", 'The value of x is not "length"');
}
+// TODO: Convert to verifyProperty() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/parse/S15.9.4.2_A1_T1.js b/js/src/tests/test262/built-ins/Date/parse/S15.9.4.2_A1_T1.js
index f1bbce628720..3409d2dfffdb 100644
--- a/js/src/tests/test262/built-ins/Date/parse/S15.9.4.2_A1_T1.js
+++ b/js/src/tests/test262/built-ins/Date/parse/S15.9.4.2_A1_T1.js
@@ -8,12 +8,13 @@ description: Checking absence of ReadOnly attribute
---*/
var x = Date.parse;
-if (x === 1)
+if (x === 1) {
Date.parse = 2;
-else
+} else {
Date.parse = 1;
-if (Date.parse === x) {
- throw new Test262Error('#1: The Date.parse has not the attribute ReadOnly');
}
+assert.notSameValue(Date.parse, x, 'The value of Date.parse is expected to not equal the value of `x`');
+
+// TODO: Convert to verifyProperty() format.
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/parse/S15.9.4.2_A1_T2.js b/js/src/tests/test262/built-ins/Date/parse/S15.9.4.2_A1_T2.js
index 8f68e4b1bbcf..c0991c97d420 100644
--- a/js/src/tests/test262/built-ins/Date/parse/S15.9.4.2_A1_T2.js
+++ b/js/src/tests/test262/built-ins/Date/parse/S15.9.4.2_A1_T2.js
@@ -6,13 +6,9 @@ info: The Date property "parse" has { DontEnum } attributes
esid: sec-date.parse
description: Checking absence of DontDelete attribute
---*/
+assert.notSameValue(delete Date.parse, false, 'The value of delete Date.parse is not false');
+assert(!Date.hasOwnProperty('parse'), 'The value of !Date.hasOwnProperty(\'parse\') is expected to be true');
-if (delete Date.parse === false) {
- throw new Test262Error('#1: The Date.parse property has not the attributes DontDelete');
-}
-
-if (Date.hasOwnProperty('parse')) {
- throw new Test262Error('#2: The Date.parse property has not the attributes DontDelete');
-}
+// TODO: Convert to verifyProperty() format.
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/parse/S15.9.4.2_A1_T3.js b/js/src/tests/test262/built-ins/Date/parse/S15.9.4.2_A1_T3.js
index 61bb288221fd..e5f252313750 100644
--- a/js/src/tests/test262/built-ins/Date/parse/S15.9.4.2_A1_T3.js
+++ b/js/src/tests/test262/built-ins/Date/parse/S15.9.4.2_A1_T3.js
@@ -6,15 +6,15 @@ info: The Date property "parse" has { DontEnum } attributes
esid: sec-date.parse
description: Checking DontEnum attribute
---*/
-
-if (Date.propertyIsEnumerable('parse')) {
- throw new Test262Error('#1: The Date.parse property has the attribute DontEnum');
-}
+assert(
+ !Date.propertyIsEnumerable('parse'),
+ 'The value of !Date.propertyIsEnumerable(\'parse\') is expected to be true'
+);
for (var x in Date) {
- if (x === "parse") {
- throw new Test262Error('#2: The Date.parse has the attribute DontEnum');
- }
+ assert.notSameValue(x, "parse", 'The value of x is not "parse"');
}
+// TODO: Convert to verifyProperty() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/parse/S15.9.4.2_A2_T1.js b/js/src/tests/test262/built-ins/Date/parse/S15.9.4.2_A2_T1.js
index b6aa2aeb6fec..d066cbbd07b0 100644
--- a/js/src/tests/test262/built-ins/Date/parse/S15.9.4.2_A2_T1.js
+++ b/js/src/tests/test262/built-ins/Date/parse/S15.9.4.2_A2_T1.js
@@ -6,13 +6,7 @@ info: The "length" property of the "parse" is 1
esid: sec-date.parse
description: The "length" property of the "parse" is 1
---*/
-
-if (Date.parse.hasOwnProperty("length") !== true) {
- throw new Test262Error('#1: The parse has a "length" property');
-}
-
-if (Date.parse.length !== 1) {
- throw new Test262Error('#2: The "length" property of the parse is 1');
-}
+assert.sameValue(Date.parse.hasOwnProperty("length"), true, 'Date.parse.hasOwnProperty("length") must return true');
+assert.sameValue(Date.parse.length, 1, 'The value of Date.parse.length is expected to be 1');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/parse/S15.9.4.2_A3_T1.js b/js/src/tests/test262/built-ins/Date/parse/S15.9.4.2_A3_T1.js
index 455e5d9b844f..0c0929164c52 100644
--- a/js/src/tests/test262/built-ins/Date/parse/S15.9.4.2_A3_T1.js
+++ b/js/src/tests/test262/built-ins/Date/parse/S15.9.4.2_A3_T1.js
@@ -12,8 +12,8 @@ includes: [propertyHelper.js]
var x = Date.parse.length;
verifyNotWritable(Date.parse, "length", null, 1);
-if (Date.parse.length !== x) {
- throw new Test262Error('#1: The Date.parse.length has the attribute ReadOnly');
-}
+assert.sameValue(Date.parse.length, x, 'The value of Date.parse.length is expected to equal the value of x');
+
+// TODO: Convert to verifyProperty() format.
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/parse/S15.9.4.2_A3_T2.js b/js/src/tests/test262/built-ins/Date/parse/S15.9.4.2_A3_T2.js
index 408027a63c91..f224b1fbc297 100644
--- a/js/src/tests/test262/built-ins/Date/parse/S15.9.4.2_A3_T2.js
+++ b/js/src/tests/test262/built-ins/Date/parse/S15.9.4.2_A3_T2.js
@@ -8,13 +8,13 @@ info: |
esid: sec-date.parse
description: Checking DontDelete attribute
---*/
+assert.sameValue(delete Date.parse.length, true, 'The value of `delete Date.parse.length` is expected to be true');
-if (delete Date.parse.length !== true) {
- throw new Test262Error('#1: The Date.parse.length property does not have the attributes DontDelete');
-}
+assert(
+ !Date.parse.hasOwnProperty('length'),
+ 'The value of !Date.parse.hasOwnProperty(\'length\') is expected to be true'
+);
-if (Date.parse.hasOwnProperty('length')) {
- throw new Test262Error('#2: The Date.parse.length property does not have the attributes DontDelete');
-}
+// TODO: Convert to verifyProperty() format.
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/parse/S15.9.4.2_A3_T3.js b/js/src/tests/test262/built-ins/Date/parse/S15.9.4.2_A3_T3.js
index 4126253b05f4..4c7735de225f 100644
--- a/js/src/tests/test262/built-ins/Date/parse/S15.9.4.2_A3_T3.js
+++ b/js/src/tests/test262/built-ins/Date/parse/S15.9.4.2_A3_T3.js
@@ -8,15 +8,15 @@ info: |
esid: sec-date.parse
description: Checking DontEnum attribute
---*/
-
-if (Date.parse.propertyIsEnumerable('length')) {
- throw new Test262Error('#1: The Date.parse.length property has the attribute DontEnum');
-}
+assert(
+ !Date.parse.propertyIsEnumerable('length'),
+ 'The value of !Date.parse.propertyIsEnumerable(\'length\') is expected to be true'
+);
for (var x in Date.parse) {
- if (x === "length") {
- throw new Test262Error('#2: The Date.parse.length has the attribute DontEnum');
- }
+ assert.notSameValue(x, "length", 'The value of x is not "length"');
}
+// TODO: Convert to verifyProperty() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/S15.9.4.1_A1_T1.js b/js/src/tests/test262/built-ins/Date/prototype/S15.9.4.1_A1_T1.js
index b9c766bfce0e..20b8f72b642b 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/S15.9.4.1_A1_T1.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/S15.9.4.1_A1_T1.js
@@ -12,8 +12,8 @@ includes: [propertyHelper.js]
var x = Date.prototype;
verifyNotWritable(Date, "prototype", null, 1);
-if (Date.prototype !== x) {
- throw new Test262Error('#1: The Date.prototype has the attribute ReadOnly');
-}
+assert.sameValue(Date.prototype, x, 'The value of Date.prototype is expected to equal the value of x');
+
+// TODO: Convert to verifyProperty() format.
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/S15.9.4.1_A1_T2.js b/js/src/tests/test262/built-ins/Date/prototype/S15.9.4.1_A1_T2.js
index 5fb31366ae72..8696fba7d68f 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/S15.9.4.1_A1_T2.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/S15.9.4.1_A1_T2.js
@@ -13,11 +13,11 @@ includes: [propertyHelper.js]
verifyNotConfigurable(Date, "prototype");
try {
- if (delete Date.prototype !== false) {
- throw new Test262Error('#1: The Date.prototype property has the attributes DontDelete');
- }
+ assert.sameValue(delete Date.prototype, false);
} catch (e) {
- if (e instanceof Test262Error) throw e;
+ if (e instanceof Test262Error) {
+ throw e;
+ }
assert(e instanceof TypeError);
}
@@ -25,4 +25,6 @@ if (!Date.hasOwnProperty('prototype')) {
throw new Test262Error('#2: The Date.prototype property has the attributes DontDelete');
}
+// TODO: Convert to verifyProperty() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/S15.9.4.1_A1_T3.js b/js/src/tests/test262/built-ins/Date/prototype/S15.9.4.1_A1_T3.js
index 268f3a210508..183ac600b4df 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/S15.9.4.1_A1_T3.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/S15.9.4.1_A1_T3.js
@@ -8,15 +8,15 @@ info: |
esid: sec-date.prototype
description: Checking DontEnum attribute
---*/
-
-if (Date.propertyIsEnumerable('prototype')) {
- throw new Test262Error('#1: The Date.prototype property has the attribute DontEnum');
-}
+assert(
+ !Date.propertyIsEnumerable('prototype'),
+ 'The value of !Date.propertyIsEnumerable(\'prototype\') is expected to be true'
+);
for (var x in Date) {
- if (x === "prototype") {
- throw new Test262Error('#2: The Date.prototype has the attribute DontEnum');
- }
+ assert.notSameValue(x, "prototype", 'The value of x is not "prototype"');
}
+// TODO: Convert to verifyProperty() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/S15.9.5_A01_T1.js b/js/src/tests/test262/built-ins/Date/prototype/S15.9.5_A01_T1.js
index 9d35d80c52a8..af08da626137 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/S15.9.5_A01_T1.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/S15.9.5_A01_T1.js
@@ -6,9 +6,10 @@ info: The Date.prototype has the property "constructor"
esid: sec-properties-of-the-date-prototype-object
description: The Date.prototype has the property "constructor"
---*/
-
-if (Date.prototype.hasOwnProperty("constructor") !== true) {
- throw new Test262Error('#1: The Date.prototype has the property "constructor"');
-}
+assert.sameValue(
+ Date.prototype.hasOwnProperty("constructor"),
+ true,
+ 'Date.prototype.hasOwnProperty("constructor") must return true'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/S15.9.5_A02_T1.js b/js/src/tests/test262/built-ins/Date/prototype/S15.9.5_A02_T1.js
index 313eaec779be..e6ea7e46e3c7 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/S15.9.5_A02_T1.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/S15.9.5_A02_T1.js
@@ -6,9 +6,10 @@ info: The Date.prototype has the property "toString"
esid: sec-properties-of-the-date-prototype-object
description: The Date.prototype has the property "toString"
---*/
-
-if (Date.prototype.hasOwnProperty("toString") !== true) {
- throw new Test262Error('#1: The Date.prototype has the property "toString"');
-}
+assert.sameValue(
+ Date.prototype.hasOwnProperty("toString"),
+ true,
+ 'Date.prototype.hasOwnProperty("toString") must return true'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/S15.9.5_A03_T1.js b/js/src/tests/test262/built-ins/Date/prototype/S15.9.5_A03_T1.js
index 3cec1d631bc8..cefff137370d 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/S15.9.5_A03_T1.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/S15.9.5_A03_T1.js
@@ -6,9 +6,10 @@ info: The Date.prototype has the property "toDateString"
esid: sec-properties-of-the-date-prototype-object
description: The Date.prototype has the property "toDateString"
---*/
-
-if (Date.prototype.hasOwnProperty("toDateString") !== true) {
- throw new Test262Error('#1: The Date.prototype has the property "toDateString"');
-}
+assert.sameValue(
+ Date.prototype.hasOwnProperty("toDateString"),
+ true,
+ 'Date.prototype.hasOwnProperty("toDateString") must return true'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/S15.9.5_A04_T1.js b/js/src/tests/test262/built-ins/Date/prototype/S15.9.5_A04_T1.js
index d3077537a0fe..49029ad9e6b2 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/S15.9.5_A04_T1.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/S15.9.5_A04_T1.js
@@ -6,9 +6,10 @@ info: The Date.prototype has the property "toTimeString"
esid: sec-properties-of-the-date-prototype-object
description: The Date.prototype has the property "toTimeString"
---*/
-
-if (Date.prototype.hasOwnProperty("toTimeString") !== true) {
- throw new Test262Error('#1: The Date.prototype has the property "toTimeString"');
-}
+assert.sameValue(
+ Date.prototype.hasOwnProperty("toTimeString"),
+ true,
+ 'Date.prototype.hasOwnProperty("toTimeString") must return true'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/S15.9.5_A05_T1.js b/js/src/tests/test262/built-ins/Date/prototype/S15.9.5_A05_T1.js
index aba1a93dfd51..2085801083f2 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/S15.9.5_A05_T1.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/S15.9.5_A05_T1.js
@@ -6,9 +6,10 @@ info: The Date.prototype has the property "toLocaleString"
esid: sec-properties-of-the-date-prototype-object
description: The Date.prototype has the property "toLocaleString"
---*/
-
-if (Date.prototype.hasOwnProperty("toLocaleString") !== true) {
- throw new Test262Error('#1: The Date.prototype has the property "toLocaleString"');
-}
+assert.sameValue(
+ Date.prototype.hasOwnProperty("toLocaleString"),
+ true,
+ 'Date.prototype.hasOwnProperty("toLocaleString") must return true'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/S15.9.5_A06_T1.js b/js/src/tests/test262/built-ins/Date/prototype/S15.9.5_A06_T1.js
index a9469dc2e5ae..8717c97ea0da 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/S15.9.5_A06_T1.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/S15.9.5_A06_T1.js
@@ -6,9 +6,10 @@ info: The Date.prototype has the property "toLocaleDateString"
esid: sec-properties-of-the-date-prototype-object
description: The Date.prototype has the property "toLocaleDateString"
---*/
-
-if (Date.prototype.hasOwnProperty("toLocaleDateString") !== true) {
- throw new Test262Error('#1: The Date.prototype has the property "toLocaleDateString"');
-}
+assert.sameValue(
+ Date.prototype.hasOwnProperty("toLocaleDateString"),
+ true,
+ 'Date.prototype.hasOwnProperty("toLocaleDateString") must return true'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/S15.9.5_A07_T1.js b/js/src/tests/test262/built-ins/Date/prototype/S15.9.5_A07_T1.js
index e76955a485f7..551e01e16b67 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/S15.9.5_A07_T1.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/S15.9.5_A07_T1.js
@@ -6,9 +6,10 @@ info: The Date.prototype has the property "toLocaleTimeString"
esid: sec-properties-of-the-date-prototype-object
description: The Date.prototype has the property "toLocaleTimeString"
---*/
-
-if (Date.prototype.hasOwnProperty("toLocaleTimeString") !== true) {
- throw new Test262Error('#1: The Date.prototype has the property "toLocaleTimeString"');
-}
+assert.sameValue(
+ Date.prototype.hasOwnProperty("toLocaleTimeString"),
+ true,
+ 'Date.prototype.hasOwnProperty("toLocaleTimeString") must return true'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/S15.9.5_A08_T1.js b/js/src/tests/test262/built-ins/Date/prototype/S15.9.5_A08_T1.js
index 093e0f9fb422..cb063000336b 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/S15.9.5_A08_T1.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/S15.9.5_A08_T1.js
@@ -6,9 +6,10 @@ info: The Date.prototype has the property "valueOf"
esid: sec-properties-of-the-date-prototype-object
description: The Date.prototype has the property "valueOf"
---*/
-
-if (Date.prototype.hasOwnProperty("valueOf") !== true) {
- throw new Test262Error('#1: The Date.prototype has the property "valueOf"');
-}
+assert.sameValue(
+ Date.prototype.hasOwnProperty("valueOf"),
+ true,
+ 'Date.prototype.hasOwnProperty("valueOf") must return true'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/S15.9.5_A09_T1.js b/js/src/tests/test262/built-ins/Date/prototype/S15.9.5_A09_T1.js
index bc2077674465..9e5f93709500 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/S15.9.5_A09_T1.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/S15.9.5_A09_T1.js
@@ -6,9 +6,10 @@ info: The Date.prototype has the property "getTime"
esid: sec-properties-of-the-date-prototype-object
description: The Date.prototype has the property "getTime"
---*/
-
-if (Date.prototype.hasOwnProperty("getTime") !== true) {
- throw new Test262Error('#1: The Date.prototype has the property "getTime"');
-}
+assert.sameValue(
+ Date.prototype.hasOwnProperty("getTime"),
+ true,
+ 'Date.prototype.hasOwnProperty("getTime") must return true'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/S15.9.5_A10_T1.js b/js/src/tests/test262/built-ins/Date/prototype/S15.9.5_A10_T1.js
index 8a36035f8818..aab91858d3eb 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/S15.9.5_A10_T1.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/S15.9.5_A10_T1.js
@@ -6,9 +6,10 @@ info: The Date.prototype has the property "getFullYear"
esid: sec-properties-of-the-date-prototype-object
description: The Date.prototype has the property "getFullYear"
---*/
-
-if (Date.prototype.hasOwnProperty("getFullYear") !== true) {
- throw new Test262Error('#1: The Date.prototype has the property "getFullYear"');
-}
+assert.sameValue(
+ Date.prototype.hasOwnProperty("getFullYear"),
+ true,
+ 'Date.prototype.hasOwnProperty("getFullYear") must return true'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/S15.9.5_A11_T1.js b/js/src/tests/test262/built-ins/Date/prototype/S15.9.5_A11_T1.js
index 29fde58b5d83..163b509df8f4 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/S15.9.5_A11_T1.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/S15.9.5_A11_T1.js
@@ -6,9 +6,10 @@ info: The Date.prototype has the property "getUTCFullYear"
esid: sec-properties-of-the-date-prototype-object
description: The Date.prototype has the property "getUTCFullYear"
---*/
-
-if (Date.prototype.hasOwnProperty("getUTCFullYear") !== true) {
- throw new Test262Error('#1: The Date.prototype has the property "getUTCFullYear"');
-}
+assert.sameValue(
+ Date.prototype.hasOwnProperty("getUTCFullYear"),
+ true,
+ 'Date.prototype.hasOwnProperty("getUTCFullYear") must return true'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/S15.9.5_A12_T1.js b/js/src/tests/test262/built-ins/Date/prototype/S15.9.5_A12_T1.js
index c979240b0b7f..20bd6222e108 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/S15.9.5_A12_T1.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/S15.9.5_A12_T1.js
@@ -6,9 +6,10 @@ info: The Date.prototype has the property "getMonth"
esid: sec-properties-of-the-date-prototype-object
description: The Date.prototype has the property "getMonth"
---*/
-
-if (Date.prototype.hasOwnProperty("getMonth") !== true) {
- throw new Test262Error('#1: The Date.prototype has the property "getMonth"');
-}
+assert.sameValue(
+ Date.prototype.hasOwnProperty("getMonth"),
+ true,
+ 'Date.prototype.hasOwnProperty("getMonth") must return true'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/S15.9.5_A13_T1.js b/js/src/tests/test262/built-ins/Date/prototype/S15.9.5_A13_T1.js
index dd09bd79cc52..4eb17696993b 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/S15.9.5_A13_T1.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/S15.9.5_A13_T1.js
@@ -6,9 +6,10 @@ info: The Date.prototype has the property "getUTCMonth"
esid: sec-properties-of-the-date-prototype-object
description: The Date.prototype has the property "getUTCMonth"
---*/
-
-if (Date.prototype.hasOwnProperty("getUTCMonth") !== true) {
- throw new Test262Error('#1: The Date.prototype has the property "getUTCMonth"');
-}
+assert.sameValue(
+ Date.prototype.hasOwnProperty("getUTCMonth"),
+ true,
+ 'Date.prototype.hasOwnProperty("getUTCMonth") must return true'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/S15.9.5_A14_T1.js b/js/src/tests/test262/built-ins/Date/prototype/S15.9.5_A14_T1.js
index 9e27b35b1348..3bb94bbc7135 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/S15.9.5_A14_T1.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/S15.9.5_A14_T1.js
@@ -6,9 +6,10 @@ info: The Date.prototype has the property "getDate"
esid: sec-properties-of-the-date-prototype-object
description: The Date.prototype has the property "getDate"
---*/
-
-if (Date.prototype.hasOwnProperty("getDate") !== true) {
- throw new Test262Error('#1: The Date.prototype has the property "getDate"');
-}
+assert.sameValue(
+ Date.prototype.hasOwnProperty("getDate"),
+ true,
+ 'Date.prototype.hasOwnProperty("getDate") must return true'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/S15.9.5_A15_T1.js b/js/src/tests/test262/built-ins/Date/prototype/S15.9.5_A15_T1.js
index d1a8fc50bb84..3a4e4c2adc9b 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/S15.9.5_A15_T1.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/S15.9.5_A15_T1.js
@@ -6,9 +6,10 @@ info: The Date.prototype has the property "getUTCDate"
esid: sec-properties-of-the-date-prototype-object
description: The Date.prototype has the property "getUTCDate"
---*/
-
-if (Date.prototype.hasOwnProperty("getUTCDate") !== true) {
- throw new Test262Error('#1: The Date.prototype has the property "getUTCDate"');
-}
+assert.sameValue(
+ Date.prototype.hasOwnProperty("getUTCDate"),
+ true,
+ 'Date.prototype.hasOwnProperty("getUTCDate") must return true'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/S15.9.5_A16_T1.js b/js/src/tests/test262/built-ins/Date/prototype/S15.9.5_A16_T1.js
index 2e7713bc5670..7f9de5c682a8 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/S15.9.5_A16_T1.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/S15.9.5_A16_T1.js
@@ -6,9 +6,10 @@ info: The Date.prototype has the property "getDay"
esid: sec-properties-of-the-date-prototype-object
description: The Date.prototype has the property "getDay"
---*/
-
-if (Date.prototype.hasOwnProperty("getDay") !== true) {
- throw new Test262Error('#1: The Date.prototype has the property "getDay"');
-}
+assert.sameValue(
+ Date.prototype.hasOwnProperty("getDay"),
+ true,
+ 'Date.prototype.hasOwnProperty("getDay") must return true'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/S15.9.5_A17_T1.js b/js/src/tests/test262/built-ins/Date/prototype/S15.9.5_A17_T1.js
index ff8fdf7277df..e1ddb8d672d9 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/S15.9.5_A17_T1.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/S15.9.5_A17_T1.js
@@ -6,9 +6,10 @@ info: The Date.prototype has the property "getUTCDay"
esid: sec-properties-of-the-date-prototype-object
description: The Date.prototype has the property "getUTCDay"
---*/
-
-if (Date.prototype.hasOwnProperty("getUTCDay") !== true) {
- throw new Test262Error('#1: The Date.prototype has the property "getUTCDay"');
-}
+assert.sameValue(
+ Date.prototype.hasOwnProperty("getUTCDay"),
+ true,
+ 'Date.prototype.hasOwnProperty("getUTCDay") must return true'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/S15.9.5_A18_T1.js b/js/src/tests/test262/built-ins/Date/prototype/S15.9.5_A18_T1.js
index 7566e7c2c3b7..be23a2dd3634 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/S15.9.5_A18_T1.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/S15.9.5_A18_T1.js
@@ -6,9 +6,10 @@ info: The Date.prototype has the property "getHours"
esid: sec-properties-of-the-date-prototype-object
description: The Date.prototype has the property "getHours"
---*/
-
-if (Date.prototype.hasOwnProperty("getHours") !== true) {
- throw new Test262Error('#1: The Date.prototype has the property "getHours"');
-}
+assert.sameValue(
+ Date.prototype.hasOwnProperty("getHours"),
+ true,
+ 'Date.prototype.hasOwnProperty("getHours") must return true'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/S15.9.5_A19_T1.js b/js/src/tests/test262/built-ins/Date/prototype/S15.9.5_A19_T1.js
index 7ed29df92b7f..27d9c68a18fc 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/S15.9.5_A19_T1.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/S15.9.5_A19_T1.js
@@ -6,9 +6,10 @@ info: The Date.prototype has the property "getUTCHours"
esid: sec-properties-of-the-date-prototype-object
description: The Date.prototype has the property "getUTCHours"
---*/
-
-if (Date.prototype.hasOwnProperty("getUTCHours") !== true) {
- throw new Test262Error('#1: The Date.prototype has the property "getUTCHours"');
-}
+assert.sameValue(
+ Date.prototype.hasOwnProperty("getUTCHours"),
+ true,
+ 'Date.prototype.hasOwnProperty("getUTCHours") must return true'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/S15.9.5_A20_T1.js b/js/src/tests/test262/built-ins/Date/prototype/S15.9.5_A20_T1.js
index e30424786abf..43a9ac8f1ceb 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/S15.9.5_A20_T1.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/S15.9.5_A20_T1.js
@@ -6,9 +6,10 @@ info: The Date.prototype has the property "getMinutes"
esid: sec-properties-of-the-date-prototype-object
description: The Date.prototype has the property "getMinutes"
---*/
-
-if (Date.prototype.hasOwnProperty("getMinutes") !== true) {
- throw new Test262Error('#1: The Date.prototype has the property "getMinutes"');
-}
+assert.sameValue(
+ Date.prototype.hasOwnProperty("getMinutes"),
+ true,
+ 'Date.prototype.hasOwnProperty("getMinutes") must return true'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/S15.9.5_A21_T1.js b/js/src/tests/test262/built-ins/Date/prototype/S15.9.5_A21_T1.js
index 0c7ed301cc8e..eeee6d1b0e40 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/S15.9.5_A21_T1.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/S15.9.5_A21_T1.js
@@ -6,9 +6,10 @@ info: The Date.prototype has the property "getUTCMinutes"
esid: sec-properties-of-the-date-prototype-object
description: The Date.prototype has the property "getUTCMinutes"
---*/
-
-if (Date.prototype.hasOwnProperty("getUTCMinutes") !== true) {
- throw new Test262Error('#1: The Date.prototype has the property "getUTCMinutes"');
-}
+assert.sameValue(
+ Date.prototype.hasOwnProperty("getUTCMinutes"),
+ true,
+ 'Date.prototype.hasOwnProperty("getUTCMinutes") must return true'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/S15.9.5_A22_T1.js b/js/src/tests/test262/built-ins/Date/prototype/S15.9.5_A22_T1.js
index 5b04eceb4ae5..433e6f9cceea 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/S15.9.5_A22_T1.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/S15.9.5_A22_T1.js
@@ -6,9 +6,10 @@ info: The Date.prototype has the property "getSeconds"
esid: sec-properties-of-the-date-prototype-object
description: The Date.prototype has the property "getSeconds"
---*/
-
-if (Date.prototype.hasOwnProperty("getSeconds") !== true) {
- throw new Test262Error('#1: The Date.prototype has the property "getSeconds"');
-}
+assert.sameValue(
+ Date.prototype.hasOwnProperty("getSeconds"),
+ true,
+ 'Date.prototype.hasOwnProperty("getSeconds") must return true'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/S15.9.5_A23_T1.js b/js/src/tests/test262/built-ins/Date/prototype/S15.9.5_A23_T1.js
index 4ebafc88bd38..c8810bc29800 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/S15.9.5_A23_T1.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/S15.9.5_A23_T1.js
@@ -6,9 +6,10 @@ info: The Date.prototype has the property "getUTCSeconds"
esid: sec-properties-of-the-date-prototype-object
description: The Date.prototype has the property "getUTCSeconds"
---*/
-
-if (Date.prototype.hasOwnProperty("getUTCSeconds") !== true) {
- throw new Test262Error('#1: The Date.prototype has the property "getUTCSeconds"');
-}
+assert.sameValue(
+ Date.prototype.hasOwnProperty("getUTCSeconds"),
+ true,
+ 'Date.prototype.hasOwnProperty("getUTCSeconds") must return true'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/S15.9.5_A24_T1.js b/js/src/tests/test262/built-ins/Date/prototype/S15.9.5_A24_T1.js
index 66301efa586a..c11983d1d7cb 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/S15.9.5_A24_T1.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/S15.9.5_A24_T1.js
@@ -6,9 +6,10 @@ info: The Date.prototype has the property "getMilliseconds"
esid: sec-properties-of-the-date-prototype-object
description: The Date.prototype has the property "getMilliseconds"
---*/
-
-if (Date.prototype.hasOwnProperty("getMilliseconds") !== true) {
- throw new Test262Error('#1: The Date.prototype has the property "getMilliseconds"');
-}
+assert.sameValue(
+ Date.prototype.hasOwnProperty("getMilliseconds"),
+ true,
+ 'Date.prototype.hasOwnProperty("getMilliseconds") must return true'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/S15.9.5_A25_T1.js b/js/src/tests/test262/built-ins/Date/prototype/S15.9.5_A25_T1.js
index 328e3b3a7ad6..10aa185fd5cd 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/S15.9.5_A25_T1.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/S15.9.5_A25_T1.js
@@ -6,9 +6,10 @@ info: The Date.prototype has the property "getUTCMilliseconds"
esid: sec-properties-of-the-date-prototype-object
description: The Date.prototype has the property "getUTCMilliseconds"
---*/
-
-if (Date.prototype.hasOwnProperty("getUTCMilliseconds") !== true) {
- throw new Test262Error('#1: The Date.prototype has the property "getUTCMilliseconds"');
-}
+assert.sameValue(
+ Date.prototype.hasOwnProperty("getUTCMilliseconds"),
+ true,
+ 'Date.prototype.hasOwnProperty("getUTCMilliseconds") must return true'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/S15.9.5_A26_T1.js b/js/src/tests/test262/built-ins/Date/prototype/S15.9.5_A26_T1.js
index 75b377c0144a..a7ff1e0f9815 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/S15.9.5_A26_T1.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/S15.9.5_A26_T1.js
@@ -6,9 +6,10 @@ info: The Date.prototype has the property "getTimezoneOffset"
esid: sec-properties-of-the-date-prototype-object
description: The Date.prototype has the property "getTimezoneOffset"
---*/
-
-if (Date.prototype.hasOwnProperty("getTimezoneOffset") !== true) {
- throw new Test262Error('#1: The Date.prototype has the property "getTimezoneOffset"');
-}
+assert.sameValue(
+ Date.prototype.hasOwnProperty("getTimezoneOffset"),
+ true,
+ 'Date.prototype.hasOwnProperty("getTimezoneOffset") must return true'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/S15.9.5_A27_T1.js b/js/src/tests/test262/built-ins/Date/prototype/S15.9.5_A27_T1.js
index d04a7071239b..2178c458a3e0 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/S15.9.5_A27_T1.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/S15.9.5_A27_T1.js
@@ -6,9 +6,10 @@ info: The Date.prototype has the property "setTime"
esid: sec-properties-of-the-date-prototype-object
description: The Date.prototype has the property "setTime"
---*/
-
-if (Date.prototype.hasOwnProperty("setTime") !== true) {
- throw new Test262Error('#1: The Date.prototype has the property "setTime"');
-}
+assert.sameValue(
+ Date.prototype.hasOwnProperty("setTime"),
+ true,
+ 'Date.prototype.hasOwnProperty("setTime") must return true'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/S15.9.5_A28_T1.js b/js/src/tests/test262/built-ins/Date/prototype/S15.9.5_A28_T1.js
index 73e5df147861..9d17f88883ad 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/S15.9.5_A28_T1.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/S15.9.5_A28_T1.js
@@ -6,9 +6,10 @@ info: The Date.prototype has the property "setMilliseconds"
esid: sec-properties-of-the-date-prototype-object
description: The Date.prototype has the property "setMilliseconds"
---*/
-
-if (Date.prototype.hasOwnProperty("setMilliseconds") !== true) {
- throw new Test262Error('#1: The Date.prototype has the property "setMilliseconds"');
-}
+assert.sameValue(
+ Date.prototype.hasOwnProperty("setMilliseconds"),
+ true,
+ 'Date.prototype.hasOwnProperty("setMilliseconds") must return true'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/S15.9.5_A29_T1.js b/js/src/tests/test262/built-ins/Date/prototype/S15.9.5_A29_T1.js
index 4c9bc426b079..22c323c2493c 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/S15.9.5_A29_T1.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/S15.9.5_A29_T1.js
@@ -6,9 +6,10 @@ info: The Date.prototype has the property "setUTCMilliseconds"
esid: sec-properties-of-the-date-prototype-object
description: The Date.prototype has the property "setUTCMilliseconds"
---*/
-
-if (Date.prototype.hasOwnProperty("setUTCMilliseconds") !== true) {
- throw new Test262Error('#1: The Date.prototype has the property "setUTCMilliseconds"');
-}
+assert.sameValue(
+ Date.prototype.hasOwnProperty("setUTCMilliseconds"),
+ true,
+ 'Date.prototype.hasOwnProperty("setUTCMilliseconds") must return true'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/S15.9.5_A30_T1.js b/js/src/tests/test262/built-ins/Date/prototype/S15.9.5_A30_T1.js
index ef791ff8c0b0..5d1de66b74d5 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/S15.9.5_A30_T1.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/S15.9.5_A30_T1.js
@@ -6,9 +6,10 @@ info: The Date.prototype has the property "setSeconds"
esid: sec-properties-of-the-date-prototype-object
description: The Date.prototype has the property "setSeconds"
---*/
-
-if (Date.prototype.hasOwnProperty("setSeconds") !== true) {
- throw new Test262Error('#1: The Date.prototype has the property "setSeconds"');
-}
+assert.sameValue(
+ Date.prototype.hasOwnProperty("setSeconds"),
+ true,
+ 'Date.prototype.hasOwnProperty("setSeconds") must return true'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/S15.9.5_A31_T1.js b/js/src/tests/test262/built-ins/Date/prototype/S15.9.5_A31_T1.js
index 5c5618d03e67..aab6a583cf60 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/S15.9.5_A31_T1.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/S15.9.5_A31_T1.js
@@ -6,9 +6,10 @@ info: The Date.prototype has the property "setUTCSeconds"
esid: sec-properties-of-the-date-prototype-object
description: The Date.prototype has the property "setUTCSeconds"
---*/
-
-if (Date.prototype.hasOwnProperty("setUTCSeconds") !== true) {
- throw new Test262Error('#1: The Date.prototype has the property "setUTCSeconds"');
-}
+assert.sameValue(
+ Date.prototype.hasOwnProperty("setUTCSeconds"),
+ true,
+ 'Date.prototype.hasOwnProperty("setUTCSeconds") must return true'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/S15.9.5_A32_T1.js b/js/src/tests/test262/built-ins/Date/prototype/S15.9.5_A32_T1.js
index 975535c79913..9ab447571d1f 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/S15.9.5_A32_T1.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/S15.9.5_A32_T1.js
@@ -6,9 +6,10 @@ info: The Date.prototype has the property "setMinutes"
esid: sec-properties-of-the-date-prototype-object
description: The Date.prototype has the property "setMinutes"
---*/
-
-if (Date.prototype.hasOwnProperty("setMinutes") !== true) {
- throw new Test262Error('#1: The Date.prototype has the property "setMinutes"');
-}
+assert.sameValue(
+ Date.prototype.hasOwnProperty("setMinutes"),
+ true,
+ 'Date.prototype.hasOwnProperty("setMinutes") must return true'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/S15.9.5_A33_T1.js b/js/src/tests/test262/built-ins/Date/prototype/S15.9.5_A33_T1.js
index 7de446cd5bfb..6730e51d0937 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/S15.9.5_A33_T1.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/S15.9.5_A33_T1.js
@@ -6,9 +6,10 @@ info: The Date.prototype has the property "setUTCMinutes"
esid: sec-properties-of-the-date-prototype-object
description: The Date.prototype has the property "setUTCMinutes"
---*/
-
-if (Date.prototype.hasOwnProperty("setUTCMinutes") !== true) {
- throw new Test262Error('#1: The Date.prototype has the property "setUTCMinutes"');
-}
+assert.sameValue(
+ Date.prototype.hasOwnProperty("setUTCMinutes"),
+ true,
+ 'Date.prototype.hasOwnProperty("setUTCMinutes") must return true'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/S15.9.5_A34_T1.js b/js/src/tests/test262/built-ins/Date/prototype/S15.9.5_A34_T1.js
index 83c5e9a6ec49..5c87f3aa6736 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/S15.9.5_A34_T1.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/S15.9.5_A34_T1.js
@@ -6,9 +6,10 @@ info: The Date.prototype has the property "setHours"
esid: sec-properties-of-the-date-prototype-object
description: The Date.prototype has the property "setHours"
---*/
-
-if (Date.prototype.hasOwnProperty("setHours") !== true) {
- throw new Test262Error('#1: The Date.prototype has the property "setHours"');
-}
+assert.sameValue(
+ Date.prototype.hasOwnProperty("setHours"),
+ true,
+ 'Date.prototype.hasOwnProperty("setHours") must return true'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/S15.9.5_A35_T1.js b/js/src/tests/test262/built-ins/Date/prototype/S15.9.5_A35_T1.js
index ef196dd48761..b190a8049183 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/S15.9.5_A35_T1.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/S15.9.5_A35_T1.js
@@ -6,9 +6,10 @@ info: The Date.prototype has the property "setUTCHours"
esid: sec-properties-of-the-date-prototype-object
description: The Date.prototype has the property "setUTCHours"
---*/
-
-if (Date.prototype.hasOwnProperty("setUTCHours") !== true) {
- throw new Test262Error('#1: The Date.prototype has the property "setUTCHours"');
-}
+assert.sameValue(
+ Date.prototype.hasOwnProperty("setUTCHours"),
+ true,
+ 'Date.prototype.hasOwnProperty("setUTCHours") must return true'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/S15.9.5_A36_T1.js b/js/src/tests/test262/built-ins/Date/prototype/S15.9.5_A36_T1.js
index 92dddf3b38fc..5ace73d7d0d2 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/S15.9.5_A36_T1.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/S15.9.5_A36_T1.js
@@ -6,9 +6,10 @@ info: The Date.prototype has the property "setDate"
esid: sec-properties-of-the-date-prototype-object
description: The Date.prototype has the property "setDate"
---*/
-
-if (Date.prototype.hasOwnProperty("setDate") !== true) {
- throw new Test262Error('#1: The Date.prototype has the property "setDate"');
-}
+assert.sameValue(
+ Date.prototype.hasOwnProperty("setDate"),
+ true,
+ 'Date.prototype.hasOwnProperty("setDate") must return true'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/S15.9.5_A37_T1.js b/js/src/tests/test262/built-ins/Date/prototype/S15.9.5_A37_T1.js
index 51fa1ed30b3b..5185a5bf4679 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/S15.9.5_A37_T1.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/S15.9.5_A37_T1.js
@@ -6,9 +6,10 @@ info: The Date.prototype has the property "setUTCDate"
esid: sec-properties-of-the-date-prototype-object
description: The Date.prototype has the property "setUTCDate"
---*/
-
-if (Date.prototype.hasOwnProperty("setUTCDate") !== true) {
- throw new Test262Error('#1: The Date.prototype has the property "setUTCDate"');
-}
+assert.sameValue(
+ Date.prototype.hasOwnProperty("setUTCDate"),
+ true,
+ 'Date.prototype.hasOwnProperty("setUTCDate") must return true'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/S15.9.5_A38_T1.js b/js/src/tests/test262/built-ins/Date/prototype/S15.9.5_A38_T1.js
index 1dbd4da499f4..2adb512ccf03 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/S15.9.5_A38_T1.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/S15.9.5_A38_T1.js
@@ -6,9 +6,10 @@ info: The Date.prototype has the property "setMonth"
esid: sec-properties-of-the-date-prototype-object
description: The Date.prototype has the property "setMonth"
---*/
-
-if (Date.prototype.hasOwnProperty("setMonth") !== true) {
- throw new Test262Error('#1: The Date.prototype has the property "setMonth"');
-}
+assert.sameValue(
+ Date.prototype.hasOwnProperty("setMonth"),
+ true,
+ 'Date.prototype.hasOwnProperty("setMonth") must return true'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/S15.9.5_A39_T1.js b/js/src/tests/test262/built-ins/Date/prototype/S15.9.5_A39_T1.js
index d8a47907557b..f2d7f80bc3d4 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/S15.9.5_A39_T1.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/S15.9.5_A39_T1.js
@@ -6,9 +6,10 @@ info: The Date.prototype has the property "setUTCMonth"
esid: sec-properties-of-the-date-prototype-object
description: The Date.prototype has the property "setUTCMonth"
---*/
-
-if (Date.prototype.hasOwnProperty("setUTCMonth") !== true) {
- throw new Test262Error('#1: The Date.prototype has the property "setUTCMonth"');
-}
+assert.sameValue(
+ Date.prototype.hasOwnProperty("setUTCMonth"),
+ true,
+ 'Date.prototype.hasOwnProperty("setUTCMonth") must return true'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/S15.9.5_A40_T1.js b/js/src/tests/test262/built-ins/Date/prototype/S15.9.5_A40_T1.js
index bc1607f4bcc2..d449d232aee3 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/S15.9.5_A40_T1.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/S15.9.5_A40_T1.js
@@ -6,9 +6,10 @@ info: The Date.prototype has the property "setFullYear"
esid: sec-properties-of-the-date-prototype-object
description: The Date.prototype has the property "setFullYear"
---*/
-
-if (Date.prototype.hasOwnProperty("setFullYear") !== true) {
- throw new Test262Error('#1: The Date.prototype has the property "setFullYear"');
-}
+assert.sameValue(
+ Date.prototype.hasOwnProperty("setFullYear"),
+ true,
+ 'Date.prototype.hasOwnProperty("setFullYear") must return true'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/S15.9.5_A41_T1.js b/js/src/tests/test262/built-ins/Date/prototype/S15.9.5_A41_T1.js
index b3a6c2bd8144..d2178a8f2f05 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/S15.9.5_A41_T1.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/S15.9.5_A41_T1.js
@@ -6,9 +6,10 @@ info: The Date.prototype has the property "setUTCFullYear"
esid: sec-properties-of-the-date-prototype-object
description: The Date.prototype has the property "setUTCFullYear"
---*/
-
-if (Date.prototype.hasOwnProperty("setUTCFullYear") !== true) {
- throw new Test262Error('#1: The Date.prototype has the property "setUTCFullYear"');
-}
+assert.sameValue(
+ Date.prototype.hasOwnProperty("setUTCFullYear"),
+ true,
+ 'Date.prototype.hasOwnProperty("setUTCFullYear") must return true'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/S15.9.5_A42_T1.js b/js/src/tests/test262/built-ins/Date/prototype/S15.9.5_A42_T1.js
index 72fce11f03f1..498c326b71f0 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/S15.9.5_A42_T1.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/S15.9.5_A42_T1.js
@@ -6,9 +6,10 @@ info: The Date.prototype has the property "toUTCString"
esid: sec-properties-of-the-date-prototype-object
description: The Date.prototype has the property "toUTCString"
---*/
-
-if (Date.prototype.hasOwnProperty("toUTCString") !== true) {
- throw new Test262Error('#1: The Date.prototype has the property "toUTCString"');
-}
+assert.sameValue(
+ Date.prototype.hasOwnProperty("toUTCString"),
+ true,
+ 'Date.prototype.hasOwnProperty("toUTCString") must return true'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/constructor/S15.9.5.1_A1_T1.js b/js/src/tests/test262/built-ins/Date/prototype/constructor/S15.9.5.1_A1_T1.js
index a6ca47d6edb8..3eb5e9e73bbd 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/constructor/S15.9.5.1_A1_T1.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/constructor/S15.9.5.1_A1_T1.js
@@ -8,12 +8,18 @@ description: Checking absence of ReadOnly attribute
---*/
var x = Date.prototype.constructor;
-if (x === 1)
+if (x === 1) {
Date.prototype.constructor = 2;
-else
+} else {
Date.prototype.constructor = 1;
-if (Date.prototype.constructor === x) {
- throw new Test262Error('#1: The Date.prototype.constructor has not the attribute ReadOnly');
}
+assert.notSameValue(
+ Date.prototype.constructor,
+ x,
+ 'The value of Date.prototype.constructor is expected to not equal the value of `x`'
+);
+
+// TODO: Convert to verifyProperty() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/constructor/S15.9.5.1_A1_T2.js b/js/src/tests/test262/built-ins/Date/prototype/constructor/S15.9.5.1_A1_T2.js
index 3162684d95bd..5c5c11a6ca8c 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/constructor/S15.9.5.1_A1_T2.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/constructor/S15.9.5.1_A1_T2.js
@@ -6,13 +6,17 @@ info: The Date.prototype property "constructor" has { DontEnum } attributes
esid: sec-date.prototype.constructor
description: Checking absence of DontDelete attribute
---*/
+assert.notSameValue(
+ delete Date.prototype.constructor,
+ false,
+ 'The value of delete Date.prototype.constructor is not false'
+);
-if (delete Date.prototype.constructor === false) {
- throw new Test262Error('#1: The Date.prototype.constructor property has not the attributes DontDelete');
-}
+assert(
+ !Date.prototype.hasOwnProperty('constructor'),
+ 'The value of !Date.prototype.hasOwnProperty(\'constructor\') is expected to be true'
+);
-if (Date.prototype.hasOwnProperty('constructor')) {
- throw new Test262Error('#2: The Date.prototype.constructor property has not the attributes DontDelete');
-}
+// TODO: Convert to verifyProperty() format.
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/constructor/S15.9.5.1_A1_T3.js b/js/src/tests/test262/built-ins/Date/prototype/constructor/S15.9.5.1_A1_T3.js
index 97b3a1882174..4836a6f517f8 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/constructor/S15.9.5.1_A1_T3.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/constructor/S15.9.5.1_A1_T3.js
@@ -6,15 +6,15 @@ info: The Date.prototype property "constructor" has { DontEnum } attributes
esid: sec-date.prototype.constructor
description: Checking DontEnum attribute
---*/
-
-if (Date.prototype.propertyIsEnumerable('constructor')) {
- throw new Test262Error('#1: The Date.prototype.constructor property has the attribute DontEnum');
-}
+assert(
+ !Date.prototype.propertyIsEnumerable('constructor'),
+ 'The value of !Date.prototype.propertyIsEnumerable(\'constructor\') is expected to be true'
+);
for (var x in Date.prototype) {
- if (x === "constructor") {
- throw new Test262Error('#2: The Date.prototype.constructor has the attribute DontEnum');
- }
+ assert.notSameValue(x, "constructor", 'The value of x is not "constructor"');
}
+// TODO: Convert to verifyProperty() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/constructor/S15.9.5.1_A2_T1.js b/js/src/tests/test262/built-ins/Date/prototype/constructor/S15.9.5.1_A2_T1.js
index 16ee99eeff2b..8bc40b00c623 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/constructor/S15.9.5.1_A2_T1.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/constructor/S15.9.5.1_A2_T1.js
@@ -6,13 +6,16 @@ info: The "length" property of the "constructor" is 7
esid: sec-date.prototype.constructor
description: The "length" property of the "constructor" is 7
---*/
+assert.sameValue(
+ Date.prototype.constructor.hasOwnProperty("length"),
+ true,
+ 'Date.prototype.constructor.hasOwnProperty("length") must return true'
+);
-if (Date.prototype.constructor.hasOwnProperty("length") !== true) {
- throw new Test262Error('#1: The constructor has a "length" property');
-}
-
-if (Date.prototype.constructor.length !== 7) {
- throw new Test262Error('#2: The "length" property of the constructor is 7');
-}
+assert.sameValue(
+ Date.prototype.constructor.length,
+ 7,
+ 'The value of Date.prototype.constructor.length is expected to be 7'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/constructor/S15.9.5.1_A3_T1.js b/js/src/tests/test262/built-ins/Date/prototype/constructor/S15.9.5.1_A3_T1.js
index 7264ba592792..fd40dfb3de21 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/constructor/S15.9.5.1_A3_T1.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/constructor/S15.9.5.1_A3_T1.js
@@ -12,8 +12,13 @@ includes: [propertyHelper.js]
var x = Date.prototype.constructor.length;
verifyNotWritable(Date.prototype.constructor, "length", null, 1);
-if (Date.prototype.constructor.length !== x) {
- throw new Test262Error('#1: The Date.prototype.constructor.length has the attribute ReadOnly');
-}
+
+assert.sameValue(
+ Date.prototype.constructor.length,
+ x,
+ 'The value of Date.prototype.constructor.length is expected to equal the value of x'
+);
+
+// TODO: Convert to verifyProperty() format.
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/constructor/S15.9.5.1_A3_T2.js b/js/src/tests/test262/built-ins/Date/prototype/constructor/S15.9.5.1_A3_T2.js
index 56187588d47b..c47d0ec99663 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/constructor/S15.9.5.1_A3_T2.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/constructor/S15.9.5.1_A3_T2.js
@@ -8,13 +8,17 @@ info: |
esid: sec-date.prototype.constructor
description: Checking DontDelete attribute
---*/
+assert.sameValue(
+ delete Date.prototype.constructor.length,
+ true,
+ 'The value of `delete Date.prototype.constructor.length` is expected to be true'
+);
-if (delete Date.prototype.constructor.length !== true) {
- throw new Test262Error('#1: The Date.prototype.constructor.length property does not have the attributes DontDelete');
-}
+assert(
+ !Date.prototype.constructor.hasOwnProperty('length'),
+ 'The value of !Date.prototype.constructor.hasOwnProperty(\'length\') is expected to be true'
+);
-if (Date.prototype.constructor.hasOwnProperty('length')) {
- throw new Test262Error('#2: The Date.prototype.constructor.length property does not have the attributes DontDelete');
-}
+// TODO: Convert to verifyProperty() format.
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/constructor/S15.9.5.1_A3_T3.js b/js/src/tests/test262/built-ins/Date/prototype/constructor/S15.9.5.1_A3_T3.js
index caaf8d5b9a0b..3821e5da7664 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/constructor/S15.9.5.1_A3_T3.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/constructor/S15.9.5.1_A3_T3.js
@@ -8,15 +8,15 @@ info: |
esid: sec-date.prototype.constructor
description: Checking DontEnum attribute
---*/
-
-if (Date.prototype.constructor.propertyIsEnumerable('length')) {
- throw new Test262Error('#1: The Date.prototype.constructor.length property has the attribute DontEnum');
-}
+assert(
+ !Date.prototype.constructor.propertyIsEnumerable('length'),
+ 'The value of !Date.prototype.constructor.propertyIsEnumerable(\'length\') is expected to be true'
+);
for (var x in Date.prototype.constructor) {
- if (x === "length") {
- throw new Test262Error('#2: The Date.prototype.constructor.length has the attribute DontEnum');
- }
+ assert.notSameValue(x, "length", 'The value of x is not "length"');
}
+// TODO: Convert to verifyProperty() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/getDate/S15.9.5.14_A1_T1.js b/js/src/tests/test262/built-ins/Date/prototype/getDate/S15.9.5.14_A1_T1.js
index ef2816554ff0..b87c3db9ccd4 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/getDate/S15.9.5.14_A1_T1.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/getDate/S15.9.5.14_A1_T1.js
@@ -8,12 +8,18 @@ description: Checking absence of ReadOnly attribute
---*/
var x = Date.prototype.getDate;
-if (x === 1)
+if (x === 1) {
Date.prototype.getDate = 2;
-else
+} else {
Date.prototype.getDate = 1;
-if (Date.prototype.getDate === x) {
- throw new Test262Error('#1: The Date.prototype.getDate has not the attribute ReadOnly');
}
+assert.notSameValue(
+ Date.prototype.getDate,
+ x,
+ 'The value of Date.prototype.getDate is expected to not equal the value of `x`'
+);
+
+// TODO: Convert to verifyProperty() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/getDate/S15.9.5.14_A1_T2.js b/js/src/tests/test262/built-ins/Date/prototype/getDate/S15.9.5.14_A1_T2.js
index 9d5497b8a4c2..57ffd0b6f6ce 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/getDate/S15.9.5.14_A1_T2.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/getDate/S15.9.5.14_A1_T2.js
@@ -6,13 +6,13 @@ info: The Date.prototype property "getDate" has { DontEnum } attributes
esid: sec-date.prototype.getdate
description: Checking absence of DontDelete attribute
---*/
+assert.notSameValue(delete Date.prototype.getDate, false, 'The value of delete Date.prototype.getDate is not false');
-if (delete Date.prototype.getDate === false) {
- throw new Test262Error('#1: The Date.prototype.getDate property has not the attributes DontDelete');
-}
+assert(
+ !Date.prototype.hasOwnProperty('getDate'),
+ 'The value of !Date.prototype.hasOwnProperty(\'getDate\') is expected to be true'
+);
-if (Date.prototype.hasOwnProperty('getDate')) {
- throw new Test262Error('#2: The Date.prototype.getDate property has not the attributes DontDelete');
-}
+// TODO: Convert to verifyProperty() format.
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/getDate/S15.9.5.14_A1_T3.js b/js/src/tests/test262/built-ins/Date/prototype/getDate/S15.9.5.14_A1_T3.js
index f989b00df30f..f094cafad8fc 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/getDate/S15.9.5.14_A1_T3.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/getDate/S15.9.5.14_A1_T3.js
@@ -6,15 +6,15 @@ info: The Date.prototype property "getDate" has { DontEnum } attributes
esid: sec-date.prototype.getdate
description: Checking DontEnum attribute
---*/
-
-if (Date.prototype.propertyIsEnumerable('getDate')) {
- throw new Test262Error('#1: The Date.prototype.getDate property has the attribute DontEnum');
-}
+assert(
+ !Date.prototype.propertyIsEnumerable('getDate'),
+ 'The value of !Date.prototype.propertyIsEnumerable(\'getDate\') is expected to be true'
+);
for (var x in Date.prototype) {
- if (x === "getDate") {
- throw new Test262Error('#2: The Date.prototype.getDate has the attribute DontEnum');
- }
+ assert.notSameValue(x, "getDate", 'The value of x is not "getDate"');
}
+// TODO: Convert to verifyProperty() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/getDate/S15.9.5.14_A2_T1.js b/js/src/tests/test262/built-ins/Date/prototype/getDate/S15.9.5.14_A2_T1.js
index b8a12abb5777..48dc9be48d5f 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/getDate/S15.9.5.14_A2_T1.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/getDate/S15.9.5.14_A2_T1.js
@@ -6,13 +6,12 @@ info: The "length" property of the "getDate" is 0
esid: sec-date.prototype.getdate
description: The "length" property of the "getDate" is 0
---*/
+assert.sameValue(
+ Date.prototype.getDate.hasOwnProperty("length"),
+ true,
+ 'Date.prototype.getDate.hasOwnProperty("length") must return true'
+);
-if (Date.prototype.getDate.hasOwnProperty("length") !== true) {
- throw new Test262Error('#1: The getDate has a "length" property');
-}
-
-if (Date.prototype.getDate.length !== 0) {
- throw new Test262Error('#2: The "length" property of the getDate is 0');
-}
+assert.sameValue(Date.prototype.getDate.length, 0, 'The value of Date.prototype.getDate.length is expected to be 0');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/getDate/S15.9.5.14_A3_T1.js b/js/src/tests/test262/built-ins/Date/prototype/getDate/S15.9.5.14_A3_T1.js
index 31fb479c2772..910e6edaf891 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/getDate/S15.9.5.14_A3_T1.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/getDate/S15.9.5.14_A3_T1.js
@@ -12,8 +12,13 @@ includes: [propertyHelper.js]
var x = Date.prototype.getDate.length;
verifyNotWritable(Date.prototype.getDate, "length", null, 1);
-if (Date.prototype.getDate.length !== x) {
- throw new Test262Error('#1: The Date.prototype.getDate.length has the attribute ReadOnly');
-}
+
+assert.sameValue(
+ Date.prototype.getDate.length,
+ x,
+ 'The value of Date.prototype.getDate.length is expected to equal the value of x'
+);
+
+// TODO: Convert to verifyProperty() format.
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/getDate/S15.9.5.14_A3_T2.js b/js/src/tests/test262/built-ins/Date/prototype/getDate/S15.9.5.14_A3_T2.js
index 8b0c0621de64..3edcd8fe2eba 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/getDate/S15.9.5.14_A3_T2.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/getDate/S15.9.5.14_A3_T2.js
@@ -8,13 +8,17 @@ info: |
esid: sec-date.prototype.getdate
description: Checking DontDelete attribute
---*/
+assert.sameValue(
+ delete Date.prototype.getDate.length,
+ true,
+ 'The value of `delete Date.prototype.getDate.length` is expected to be true'
+);
-if (delete Date.prototype.getDate.length !== true) {
- throw new Test262Error('#1: The Date.prototype.getDate.length property does not have the attributes DontDelete');
-}
+assert(
+ !Date.prototype.getDate.hasOwnProperty('length'),
+ 'The value of !Date.prototype.getDate.hasOwnProperty(\'length\') is expected to be true'
+);
-if (Date.prototype.getDate.hasOwnProperty('length')) {
- throw new Test262Error('#2: The Date.prototype.getDate.length property does not have the attributes DontDelete');
-}
+// TODO: Convert to verifyProperty() format.
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/getDate/S15.9.5.14_A3_T3.js b/js/src/tests/test262/built-ins/Date/prototype/getDate/S15.9.5.14_A3_T3.js
index 8b6092ad7b05..4b9f0503efed 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/getDate/S15.9.5.14_A3_T3.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/getDate/S15.9.5.14_A3_T3.js
@@ -8,15 +8,15 @@ info: |
esid: sec-date.prototype.getdate
description: Checking DontEnum attribute
---*/
-
-if (Date.prototype.getDate.propertyIsEnumerable('length')) {
- throw new Test262Error('#1: The Date.prototype.getDate.length property has the attribute DontEnum');
-}
+assert(
+ !Date.prototype.getDate.propertyIsEnumerable('length'),
+ 'The value of !Date.prototype.getDate.propertyIsEnumerable(\'length\') is expected to be true'
+);
for (var x in Date.prototype.getDate) {
- if (x === "length") {
- throw new Test262Error('#2: The Date.prototype.getDate.length has the attribute DontEnum');
- }
+ assert.notSameValue(x, "length", 'The value of x is not "length"');
}
+// TODO: Convert to verifyProperty() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/getDay/S15.9.5.16_A1_T1.js b/js/src/tests/test262/built-ins/Date/prototype/getDay/S15.9.5.16_A1_T1.js
index 90cd25a411c4..7fc24d1c492f 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/getDay/S15.9.5.16_A1_T1.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/getDay/S15.9.5.16_A1_T1.js
@@ -9,12 +9,18 @@ description: Checking absence of ReadOnly attribute
---*/
var x = Date.prototype.getDay;
-if (x === 1)
+if (x === 1) {
Date.prototype.getDay = 2;
-else
+} else {
Date.prototype.getDay = 1;
-if (Date.prototype.getDay === x) {
- throw new Test262Error('#1: The Date.prototype.getDay has not the attribute ReadOnly');
}
+assert.notSameValue(
+ Date.prototype.getDay,
+ x,
+ 'The value of Date.prototype.getDay is expected to not equal the value of `x`'
+);
+
+// TODO: Convert to verifyProperty() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/getDay/S15.9.5.16_A1_T2.js b/js/src/tests/test262/built-ins/Date/prototype/getDay/S15.9.5.16_A1_T2.js
index 412b0225ca9b..d7e7f2b9c55e 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/getDay/S15.9.5.16_A1_T2.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/getDay/S15.9.5.16_A1_T2.js
@@ -7,13 +7,13 @@ info: The Date.prototype property "getDay" has { DontEnum } attributes
es5id: 15.9.5.16_A1_T2
description: Checking absence of DontDelete attribute
---*/
+assert.notSameValue(delete Date.prototype.getDay, false, 'The value of delete Date.prototype.getDay is not false');
-if (delete Date.prototype.getDay === false) {
- throw new Test262Error('#1: The Date.prototype.getDay property has not the attributes DontDelete');
-}
+assert(
+ !Date.prototype.hasOwnProperty('getDay'),
+ 'The value of !Date.prototype.hasOwnProperty(\'getDay\') is expected to be true'
+);
-if (Date.prototype.hasOwnProperty('getDay')) {
- throw new Test262Error('#2: The Date.prototype.getDay property has not the attributes DontDelete');
-}
+// TODO: Convert to verifyProperty() format.
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/getDay/S15.9.5.16_A1_T3.js b/js/src/tests/test262/built-ins/Date/prototype/getDay/S15.9.5.16_A1_T3.js
index 3be297b4e45a..45b3e2956b18 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/getDay/S15.9.5.16_A1_T3.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/getDay/S15.9.5.16_A1_T3.js
@@ -7,15 +7,15 @@ info: The Date.prototype property "getDay" has { DontEnum } attributes
es5id: 15.9.5.16_A1_T3
description: Checking DontEnum attribute
---*/
-
-if (Date.prototype.propertyIsEnumerable('getDay')) {
- throw new Test262Error('#1: The Date.prototype.getDay property has the attribute DontEnum');
-}
+assert(
+ !Date.prototype.propertyIsEnumerable('getDay'),
+ 'The value of !Date.prototype.propertyIsEnumerable(\'getDay\') is expected to be true'
+);
for (var x in Date.prototype) {
- if (x === "getDay") {
- throw new Test262Error('#2: The Date.prototype.getDay has the attribute DontEnum');
- }
+ assert.notSameValue(x, "getDay", 'The value of x is not "getDay"');
}
+// TODO: Convert to verifyProperty() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/getDay/S15.9.5.16_A2_T1.js b/js/src/tests/test262/built-ins/Date/prototype/getDay/S15.9.5.16_A2_T1.js
index 7292229fefaa..420c63de1d5b 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/getDay/S15.9.5.16_A2_T1.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/getDay/S15.9.5.16_A2_T1.js
@@ -7,13 +7,12 @@ info: The "length" property of the "getDay" is 0
es5id: 15.9.5.16_A2_T1
description: The "length" property of the "getDay" is 0
---*/
+assert.sameValue(
+ Date.prototype.getDay.hasOwnProperty("length"),
+ true,
+ 'Date.prototype.getDay.hasOwnProperty("length") must return true'
+);
-if (Date.prototype.getDay.hasOwnProperty("length") !== true) {
- throw new Test262Error('#1: The getDay has a "length" property');
-}
-
-if (Date.prototype.getDay.length !== 0) {
- throw new Test262Error('#2: The "length" property of the getDay is 0');
-}
+assert.sameValue(Date.prototype.getDay.length, 0, 'The value of Date.prototype.getDay.length is expected to be 0');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/getDay/S15.9.5.16_A3_T1.js b/js/src/tests/test262/built-ins/Date/prototype/getDay/S15.9.5.16_A3_T1.js
index 663530a00b9c..05e4b08b052e 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/getDay/S15.9.5.16_A3_T1.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/getDay/S15.9.5.16_A3_T1.js
@@ -13,8 +13,13 @@ includes: [propertyHelper.js]
var x = Date.prototype.getDay.length;
verifyNotWritable(Date.prototype.getDay, "length", null, 1);
-if (Date.prototype.getDay.length !== x) {
- throw new Test262Error('#1: The Date.prototype.getDay.length has the attribute ReadOnly');
-}
+
+assert.sameValue(
+ Date.prototype.getDay.length,
+ x,
+ 'The value of Date.prototype.getDay.length is expected to equal the value of x'
+);
+
+// TODO: Convert to verifyProperty() format.
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/getDay/S15.9.5.16_A3_T2.js b/js/src/tests/test262/built-ins/Date/prototype/getDay/S15.9.5.16_A3_T2.js
index 8bd1620eac8c..e133e5c31ebc 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/getDay/S15.9.5.16_A3_T2.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/getDay/S15.9.5.16_A3_T2.js
@@ -9,13 +9,17 @@ info: |
es5id: 15.9.5.16_A3_T2
description: Checking DontDelete attribute
---*/
+assert.sameValue(
+ delete Date.prototype.getDay.length,
+ true,
+ 'The value of `delete Date.prototype.getDay.length` is expected to be true'
+);
-if (delete Date.prototype.getDay.length !== true) {
- throw new Test262Error('#1: The Date.prototype.getDay.length property does not have the attributes DontDelete');
-}
+assert(
+ !Date.prototype.getDay.hasOwnProperty('length'),
+ 'The value of !Date.prototype.getDay.hasOwnProperty(\'length\') is expected to be true'
+);
-if (Date.prototype.getDay.hasOwnProperty('length')) {
- throw new Test262Error('#2: The Date.prototype.getDay.length property does not have the attributes DontDelete');
-}
+// TODO: Convert to verifyProperty() format.
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/getDay/S15.9.5.16_A3_T3.js b/js/src/tests/test262/built-ins/Date/prototype/getDay/S15.9.5.16_A3_T3.js
index 04a362b36535..56b83dbf9758 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/getDay/S15.9.5.16_A3_T3.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/getDay/S15.9.5.16_A3_T3.js
@@ -9,15 +9,15 @@ info: |
es5id: 15.9.5.16_A3_T3
description: Checking DontEnum attribute
---*/
-
-if (Date.prototype.getDay.propertyIsEnumerable('length')) {
- throw new Test262Error('#1: The Date.prototype.getDay.length property has the attribute DontEnum');
-}
+assert(
+ !Date.prototype.getDay.propertyIsEnumerable('length'),
+ 'The value of !Date.prototype.getDay.propertyIsEnumerable(\'length\') is expected to be true'
+);
for (var x in Date.prototype.getDay) {
- if (x === "length") {
- throw new Test262Error('#2: The Date.prototype.getDay.length has the attribute DontEnum');
- }
+ assert.notSameValue(x, "length", 'The value of x is not "length"');
}
+// TODO: Convert to verifyProperty() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/getFullYear/S15.9.5.10_A1_T1.js b/js/src/tests/test262/built-ins/Date/prototype/getFullYear/S15.9.5.10_A1_T1.js
index fb86c7cb01ad..7c5a812e3c4f 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/getFullYear/S15.9.5.10_A1_T1.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/getFullYear/S15.9.5.10_A1_T1.js
@@ -9,12 +9,18 @@ description: Checking absence of ReadOnly attribute
---*/
var x = Date.prototype.getFullYear;
-if (x === 1)
+if (x === 1) {
Date.prototype.getFullYear = 2;
-else
+} else {
Date.prototype.getFullYear = 1;
-if (Date.prototype.getFullYear === x) {
- throw new Test262Error('#1: The Date.prototype.getFullYear has not the attribute ReadOnly');
}
+assert.notSameValue(
+ Date.prototype.getFullYear,
+ x,
+ 'The value of Date.prototype.getFullYear is expected to not equal the value of `x`'
+);
+
+// TODO: Convert to verifyProperty() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/getFullYear/S15.9.5.10_A1_T2.js b/js/src/tests/test262/built-ins/Date/prototype/getFullYear/S15.9.5.10_A1_T2.js
index 4a6bfaed0a43..bb2f4ca35acd 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/getFullYear/S15.9.5.10_A1_T2.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/getFullYear/S15.9.5.10_A1_T2.js
@@ -7,13 +7,17 @@ info: The Date.prototype property "getFullYear" has { DontEnum } attributes
es5id: 15.9.5.10_A1_T2
description: Checking absence of DontDelete attribute
---*/
+assert.notSameValue(
+ delete Date.prototype.getFullYear,
+ false,
+ 'The value of delete Date.prototype.getFullYear is not false'
+);
-if (delete Date.prototype.getFullYear === false) {
- throw new Test262Error('#1: The Date.prototype.getFullYear property has not the attributes DontDelete');
-}
+assert(
+ !Date.prototype.hasOwnProperty('getFullYear'),
+ 'The value of !Date.prototype.hasOwnProperty(\'getFullYear\') is expected to be true'
+);
-if (Date.prototype.hasOwnProperty('getFullYear')) {
- throw new Test262Error('#2: The Date.prototype.getFullYear property has not the attributes DontDelete');
-}
+// TODO: Convert to verifyProperty() format.
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/getFullYear/S15.9.5.10_A1_T3.js b/js/src/tests/test262/built-ins/Date/prototype/getFullYear/S15.9.5.10_A1_T3.js
index a22b2d442f6b..0007014fc4b8 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/getFullYear/S15.9.5.10_A1_T3.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/getFullYear/S15.9.5.10_A1_T3.js
@@ -7,15 +7,15 @@ info: The Date.prototype property "getFullYear" has { DontEnum } attributes
es5id: 15.9.5.10_A1_T3
description: Checking DontEnum attribute
---*/
-
-if (Date.prototype.propertyIsEnumerable('getFullYear')) {
- throw new Test262Error('#1: The Date.prototype.getFullYear property has the attribute DontEnum');
-}
+assert(
+ !Date.prototype.propertyIsEnumerable('getFullYear'),
+ 'The value of !Date.prototype.propertyIsEnumerable(\'getFullYear\') is expected to be true'
+);
for (var x in Date.prototype) {
- if (x === "getFullYear") {
- throw new Test262Error('#2: The Date.prototype.getFullYear has the attribute DontEnum');
- }
+ assert.notSameValue(x, "getFullYear", 'The value of x is not "getFullYear"');
}
+// TODO: Convert to verifyProperty() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/getFullYear/S15.9.5.10_A2_T1.js b/js/src/tests/test262/built-ins/Date/prototype/getFullYear/S15.9.5.10_A2_T1.js
index d93893af879c..dfa43ba710e7 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/getFullYear/S15.9.5.10_A2_T1.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/getFullYear/S15.9.5.10_A2_T1.js
@@ -7,13 +7,16 @@ info: The "length" property of the "getFullYear" is 0
es5id: 15.9.5.10_A2_T1
description: The "length" property of the "getFullYear" is 0
---*/
+assert.sameValue(
+ Date.prototype.getFullYear.hasOwnProperty("length"),
+ true,
+ 'Date.prototype.getFullYear.hasOwnProperty("length") must return true'
+);
-if (Date.prototype.getFullYear.hasOwnProperty("length") !== true) {
- throw new Test262Error('#1: The getFullYear has a "length" property');
-}
-
-if (Date.prototype.getFullYear.length !== 0) {
- throw new Test262Error('#2: The "length" property of the getFullYear is 0');
-}
+assert.sameValue(
+ Date.prototype.getFullYear.length,
+ 0,
+ 'The value of Date.prototype.getFullYear.length is expected to be 0'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/getFullYear/S15.9.5.10_A3_T1.js b/js/src/tests/test262/built-ins/Date/prototype/getFullYear/S15.9.5.10_A3_T1.js
index 9689c55abf66..96612522fb97 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/getFullYear/S15.9.5.10_A3_T1.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/getFullYear/S15.9.5.10_A3_T1.js
@@ -13,8 +13,13 @@ includes: [propertyHelper.js]
var x = Date.prototype.getFullYear.length;
verifyNotWritable(Date.prototype.getFullYear, "length", null, 1);
-if (Date.prototype.getFullYear.length !== x) {
- throw new Test262Error('#1: The Date.prototype.getFullYear.length has the attribute ReadOnly');
-}
+
+assert.sameValue(
+ Date.prototype.getFullYear.length,
+ x,
+ 'The value of Date.prototype.getFullYear.length is expected to equal the value of x'
+);
+
+// TODO: Convert to verifyProperty() format.
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/getFullYear/S15.9.5.10_A3_T2.js b/js/src/tests/test262/built-ins/Date/prototype/getFullYear/S15.9.5.10_A3_T2.js
index 621fb0dc44fa..7e3309aed25d 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/getFullYear/S15.9.5.10_A3_T2.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/getFullYear/S15.9.5.10_A3_T2.js
@@ -9,13 +9,17 @@ info: |
es5id: 15.9.5.10_A3_T2
description: Checking DontDelete attribute
---*/
+assert.sameValue(
+ delete Date.prototype.getFullYear.length,
+ true,
+ 'The value of `delete Date.prototype.getFullYear.length` is expected to be true'
+);
-if (delete Date.prototype.getFullYear.length !== true) {
- throw new Test262Error('#1: The Date.prototype.getFullYear.length property does not have the attributes DontDelete');
-}
+assert(
+ !Date.prototype.getFullYear.hasOwnProperty('length'),
+ 'The value of !Date.prototype.getFullYear.hasOwnProperty(\'length\') is expected to be true'
+);
-if (Date.prototype.getFullYear.hasOwnProperty('length')) {
- throw new Test262Error('#2: The Date.prototype.getFullYear.length property does not have the attributes DontDelete');
-}
+// TODO: Convert to verifyProperty() format.
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/getFullYear/S15.9.5.10_A3_T3.js b/js/src/tests/test262/built-ins/Date/prototype/getFullYear/S15.9.5.10_A3_T3.js
index c36bedf45ce6..aa8696ea5612 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/getFullYear/S15.9.5.10_A3_T3.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/getFullYear/S15.9.5.10_A3_T3.js
@@ -9,15 +9,15 @@ info: |
es5id: 15.9.5.10_A3_T3
description: Checking DontEnum attribute
---*/
-
-if (Date.prototype.getFullYear.propertyIsEnumerable('length')) {
- throw new Test262Error('#1: The Date.prototype.getFullYear.length property has the attribute DontEnum');
-}
+assert(
+ !Date.prototype.getFullYear.propertyIsEnumerable('length'),
+ 'The value of !Date.prototype.getFullYear.propertyIsEnumerable(\'length\') is expected to be true'
+);
for (var x in Date.prototype.getFullYear) {
- if (x === "length") {
- throw new Test262Error('#2: The Date.prototype.getFullYear.length has the attribute DontEnum');
- }
+ assert.notSameValue(x, "length", 'The value of x is not "length"');
}
+// TODO: Convert to verifyProperty() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/getHours/S15.9.5.18_A1_T1.js b/js/src/tests/test262/built-ins/Date/prototype/getHours/S15.9.5.18_A1_T1.js
index cdf27df54071..b5d567e82b4c 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/getHours/S15.9.5.18_A1_T1.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/getHours/S15.9.5.18_A1_T1.js
@@ -9,12 +9,18 @@ description: Checking absence of ReadOnly attribute
---*/
var x = Date.prototype.getHours;
-if (x === 1)
+if (x === 1) {
Date.prototype.getHours = 2;
-else
+} else {
Date.prototype.getHours = 1;
-if (Date.prototype.getHours === x) {
- throw new Test262Error('#1: The Date.prototype.getHours has not the attribute ReadOnly');
}
+assert.notSameValue(
+ Date.prototype.getHours,
+ x,
+ 'The value of Date.prototype.getHours is expected to not equal the value of `x`'
+);
+
+// TODO: Convert to verifyProperty() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/getHours/S15.9.5.18_A1_T2.js b/js/src/tests/test262/built-ins/Date/prototype/getHours/S15.9.5.18_A1_T2.js
index 41df5bb2bf0b..6db23684586c 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/getHours/S15.9.5.18_A1_T2.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/getHours/S15.9.5.18_A1_T2.js
@@ -7,13 +7,13 @@ info: The Date.prototype property "getHours" has { DontEnum } attributes
es5id: 15.9.5.18_A1_T2
description: Checking absence of DontDelete attribute
---*/
+assert.notSameValue(delete Date.prototype.getHours, false, 'The value of delete Date.prototype.getHours is not false');
-if (delete Date.prototype.getHours === false) {
- throw new Test262Error('#1: The Date.prototype.getHours property has not the attributes DontDelete');
-}
+assert(
+ !Date.prototype.hasOwnProperty('getHours'),
+ 'The value of !Date.prototype.hasOwnProperty(\'getHours\') is expected to be true'
+);
-if (Date.prototype.hasOwnProperty('getHours')) {
- throw new Test262Error('#2: The Date.prototype.getHours property has not the attributes DontDelete');
-}
+// TODO: Convert to verifyProperty() format.
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/getHours/S15.9.5.18_A1_T3.js b/js/src/tests/test262/built-ins/Date/prototype/getHours/S15.9.5.18_A1_T3.js
index 732564d2a82a..2e4a4cb504f3 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/getHours/S15.9.5.18_A1_T3.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/getHours/S15.9.5.18_A1_T3.js
@@ -7,15 +7,15 @@ info: The Date.prototype property "getHours" has { DontEnum } attributes
es5id: 15.9.5.18_A1_T3
description: Checking DontEnum attribute
---*/
-
-if (Date.prototype.propertyIsEnumerable('getHours')) {
- throw new Test262Error('#1: The Date.prototype.getHours property has the attribute DontEnum');
-}
+assert(
+ !Date.prototype.propertyIsEnumerable('getHours'),
+ 'The value of !Date.prototype.propertyIsEnumerable(\'getHours\') is expected to be true'
+);
for (var x in Date.prototype) {
- if (x === "getHours") {
- throw new Test262Error('#2: The Date.prototype.getHours has the attribute DontEnum');
- }
+ assert.notSameValue(x, "getHours", 'The value of x is not "getHours"');
}
+// TODO: Convert to verifyProperty() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/getHours/S15.9.5.18_A2_T1.js b/js/src/tests/test262/built-ins/Date/prototype/getHours/S15.9.5.18_A2_T1.js
index 60a3049d6101..7a10e7fa70ab 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/getHours/S15.9.5.18_A2_T1.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/getHours/S15.9.5.18_A2_T1.js
@@ -7,13 +7,12 @@ info: The "length" property of the "getHours" is 0
es5id: 15.9.5.18_A2_T1
description: The "length" property of the "getHours" is 0
---*/
+assert.sameValue(
+ Date.prototype.getHours.hasOwnProperty("length"),
+ true,
+ 'Date.prototype.getHours.hasOwnProperty("length") must return true'
+);
-if (Date.prototype.getHours.hasOwnProperty("length") !== true) {
- throw new Test262Error('#1: The getHours has a "length" property');
-}
-
-if (Date.prototype.getHours.length !== 0) {
- throw new Test262Error('#2: The "length" property of the getHours is 0');
-}
+assert.sameValue(Date.prototype.getHours.length, 0, 'The value of Date.prototype.getHours.length is expected to be 0');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/getHours/S15.9.5.18_A3_T1.js b/js/src/tests/test262/built-ins/Date/prototype/getHours/S15.9.5.18_A3_T1.js
index d144f6a00f87..91895b2dc40e 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/getHours/S15.9.5.18_A3_T1.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/getHours/S15.9.5.18_A3_T1.js
@@ -13,8 +13,13 @@ includes: [propertyHelper.js]
var x = Date.prototype.getHours.length;
verifyNotWritable(Date.prototype.getHours, "length", null, 1);
-if (Date.prototype.getHours.length !== x) {
- throw new Test262Error('#1: The Date.prototype.getHours.length has the attribute ReadOnly');
-}
+
+assert.sameValue(
+ Date.prototype.getHours.length,
+ x,
+ 'The value of Date.prototype.getHours.length is expected to equal the value of x'
+);
+
+// TODO: Convert to verifyProperty() format.
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/getHours/S15.9.5.18_A3_T2.js b/js/src/tests/test262/built-ins/Date/prototype/getHours/S15.9.5.18_A3_T2.js
index b635c34bdcd2..39c306667f01 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/getHours/S15.9.5.18_A3_T2.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/getHours/S15.9.5.18_A3_T2.js
@@ -9,13 +9,17 @@ info: |
es5id: 15.9.5.18_A3_T2
description: Checking DontDelete attribute
---*/
+assert.sameValue(
+ delete Date.prototype.getHours.length,
+ true,
+ 'The value of `delete Date.prototype.getHours.length` is expected to be true'
+);
-if (delete Date.prototype.getHours.length !== true) {
- throw new Test262Error('#1: The Date.prototype.getHours.length property does not have the attributes DontDelete');
-}
+assert(
+ !Date.prototype.getHours.hasOwnProperty('length'),
+ 'The value of !Date.prototype.getHours.hasOwnProperty(\'length\') is expected to be true'
+);
-if (Date.prototype.getHours.hasOwnProperty('length')) {
- throw new Test262Error('#2: The Date.prototype.getHours.length property does not have the attributes DontDelete');
-}
+// TODO: Convert to verifyProperty() format.
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/getHours/S15.9.5.18_A3_T3.js b/js/src/tests/test262/built-ins/Date/prototype/getHours/S15.9.5.18_A3_T3.js
index 472ab9faaa86..10d086579985 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/getHours/S15.9.5.18_A3_T3.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/getHours/S15.9.5.18_A3_T3.js
@@ -9,15 +9,15 @@ info: |
es5id: 15.9.5.18_A3_T3
description: Checking DontEnum attribute
---*/
-
-if (Date.prototype.getHours.propertyIsEnumerable('length')) {
- throw new Test262Error('#1: The Date.prototype.getHours.length property has the attribute DontEnum');
-}
+assert(
+ !Date.prototype.getHours.propertyIsEnumerable('length'),
+ 'The value of !Date.prototype.getHours.propertyIsEnumerable(\'length\') is expected to be true'
+);
for (var x in Date.prototype.getHours) {
- if (x === "length") {
- throw new Test262Error('#2: The Date.prototype.getHours.length has the attribute DontEnum');
- }
+ assert.notSameValue(x, "length", 'The value of x is not "length"');
}
+// TODO: Convert to verifyProperty() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/getMilliseconds/S15.9.5.24_A1_T1.js b/js/src/tests/test262/built-ins/Date/prototype/getMilliseconds/S15.9.5.24_A1_T1.js
index b5a423d464f7..d6ce91e98b1a 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/getMilliseconds/S15.9.5.24_A1_T1.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/getMilliseconds/S15.9.5.24_A1_T1.js
@@ -9,12 +9,18 @@ description: Checking absence of ReadOnly attribute
---*/
var x = Date.prototype.getMilliseconds;
-if (x === 1)
+if (x === 1) {
Date.prototype.getMilliseconds = 2;
-else
+} else {
Date.prototype.getMilliseconds = 1;
-if (Date.prototype.getMilliseconds === x) {
- throw new Test262Error('#1: The Date.prototype.getMilliseconds has not the attribute ReadOnly');
}
+assert.notSameValue(
+ Date.prototype.getMilliseconds,
+ x,
+ 'The value of Date.prototype.getMilliseconds is expected to not equal the value of `x`'
+);
+
+// TODO: Convert to verifyProperty() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/getMilliseconds/S15.9.5.24_A1_T2.js b/js/src/tests/test262/built-ins/Date/prototype/getMilliseconds/S15.9.5.24_A1_T2.js
index d53fc4984572..f8c8c27b8fb0 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/getMilliseconds/S15.9.5.24_A1_T2.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/getMilliseconds/S15.9.5.24_A1_T2.js
@@ -7,13 +7,17 @@ info: The Date.prototype property "getMilliseconds" has { DontEnum } attributes
es5id: 15.9.5.24_A1_T2
description: Checking absence of DontDelete attribute
---*/
+assert.notSameValue(
+ delete Date.prototype.getMilliseconds,
+ false,
+ 'The value of delete Date.prototype.getMilliseconds is not false'
+);
-if (delete Date.prototype.getMilliseconds === false) {
- throw new Test262Error('#1: The Date.prototype.getMilliseconds property has not the attributes DontDelete');
-}
+assert(
+ !Date.prototype.hasOwnProperty('getMilliseconds'),
+ 'The value of !Date.prototype.hasOwnProperty(\'getMilliseconds\') is expected to be true'
+);
-if (Date.prototype.hasOwnProperty('getMilliseconds')) {
- throw new Test262Error('#2: The Date.prototype.getMilliseconds property has not the attributes DontDelete');
-}
+// TODO: Convert to verifyProperty() format.
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/getMilliseconds/S15.9.5.24_A1_T3.js b/js/src/tests/test262/built-ins/Date/prototype/getMilliseconds/S15.9.5.24_A1_T3.js
index 08835745cbb2..0f39980bce99 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/getMilliseconds/S15.9.5.24_A1_T3.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/getMilliseconds/S15.9.5.24_A1_T3.js
@@ -7,15 +7,15 @@ info: The Date.prototype property "getMilliseconds" has { DontEnum } attributes
es5id: 15.9.5.24_A1_T3
description: Checking DontEnum attribute
---*/
-
-if (Date.prototype.propertyIsEnumerable('getMilliseconds')) {
- throw new Test262Error('#1: The Date.prototype.getMilliseconds property has the attribute DontEnum');
-}
+assert(
+ !Date.prototype.propertyIsEnumerable('getMilliseconds'),
+ 'The value of !Date.prototype.propertyIsEnumerable(\'getMilliseconds\') is expected to be true'
+);
for (var x in Date.prototype) {
- if (x === "getMilliseconds") {
- throw new Test262Error('#2: The Date.prototype.getMilliseconds has the attribute DontEnum');
- }
+ assert.notSameValue(x, "getMilliseconds", 'The value of x is not "getMilliseconds"');
}
+// TODO: Convert to verifyProperty() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/getMilliseconds/S15.9.5.24_A2_T1.js b/js/src/tests/test262/built-ins/Date/prototype/getMilliseconds/S15.9.5.24_A2_T1.js
index f9722dd3da1f..84f0bba12514 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/getMilliseconds/S15.9.5.24_A2_T1.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/getMilliseconds/S15.9.5.24_A2_T1.js
@@ -7,13 +7,16 @@ info: The "length" property of the "getMilliseconds" is 0
es5id: 15.9.5.24_A2_T1
description: The "length" property of the "getMilliseconds" is 0
---*/
+assert.sameValue(
+ Date.prototype.getMilliseconds.hasOwnProperty("length"),
+ true,
+ 'Date.prototype.getMilliseconds.hasOwnProperty("length") must return true'
+);
-if (Date.prototype.getMilliseconds.hasOwnProperty("length") !== true) {
- throw new Test262Error('#1: The getMilliseconds has a "length" property');
-}
-
-if (Date.prototype.getMilliseconds.length !== 0) {
- throw new Test262Error('#2: The "length" property of the getMilliseconds is 0');
-}
+assert.sameValue(
+ Date.prototype.getMilliseconds.length,
+ 0,
+ 'The value of Date.prototype.getMilliseconds.length is expected to be 0'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/getMilliseconds/S15.9.5.24_A3_T1.js b/js/src/tests/test262/built-ins/Date/prototype/getMilliseconds/S15.9.5.24_A3_T1.js
index 310696a7dd5d..692247a28a22 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/getMilliseconds/S15.9.5.24_A3_T1.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/getMilliseconds/S15.9.5.24_A3_T1.js
@@ -13,8 +13,13 @@ includes: [propertyHelper.js]
var x = Date.prototype.getMilliseconds.length;
verifyNotWritable(Date.prototype.getMilliseconds, "length", null, 1);
-if (Date.prototype.getMilliseconds.length !== x) {
- throw new Test262Error('#1: The Date.prototype.getMilliseconds.length has the attribute ReadOnly');
-}
+
+assert.sameValue(
+ Date.prototype.getMilliseconds.length,
+ x,
+ 'The value of Date.prototype.getMilliseconds.length is expected to equal the value of x'
+);
+
+// TODO: Convert to verifyProperty() format.
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/getMilliseconds/S15.9.5.24_A3_T2.js b/js/src/tests/test262/built-ins/Date/prototype/getMilliseconds/S15.9.5.24_A3_T2.js
index e98b7fbbcbf7..08208a9d9e7c 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/getMilliseconds/S15.9.5.24_A3_T2.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/getMilliseconds/S15.9.5.24_A3_T2.js
@@ -9,13 +9,17 @@ info: |
es5id: 15.9.5.24_A3_T2
description: Checking DontDelete attribute
---*/
+assert.sameValue(
+ delete Date.prototype.getMilliseconds.length,
+ true,
+ 'The value of `delete Date.prototype.getMilliseconds.length` is expected to be true'
+);
-if (delete Date.prototype.getMilliseconds.length !== true) {
- throw new Test262Error('#1: The Date.prototype.getMilliseconds.length property does not have the attributes DontDelete');
-}
+assert(
+ !Date.prototype.getMilliseconds.hasOwnProperty('length'),
+ 'The value of !Date.prototype.getMilliseconds.hasOwnProperty(\'length\') is expected to be true'
+);
-if (Date.prototype.getMilliseconds.hasOwnProperty('length')) {
- throw new Test262Error('#2: The Date.prototype.getMilliseconds.length property does not have the attributes DontDelete');
-}
+// TODO: Convert to verifyProperty() format.
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/getMilliseconds/S15.9.5.24_A3_T3.js b/js/src/tests/test262/built-ins/Date/prototype/getMilliseconds/S15.9.5.24_A3_T3.js
index e6d418ab2419..337e72a7e204 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/getMilliseconds/S15.9.5.24_A3_T3.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/getMilliseconds/S15.9.5.24_A3_T3.js
@@ -9,15 +9,15 @@ info: |
es5id: 15.9.5.24_A3_T3
description: Checking DontEnum attribute
---*/
-
-if (Date.prototype.getMilliseconds.propertyIsEnumerable('length')) {
- throw new Test262Error('#1: The Date.prototype.getMilliseconds.length property has the attribute DontEnum');
-}
+assert(
+ !Date.prototype.getMilliseconds.propertyIsEnumerable('length'),
+ 'The value of !Date.prototype.getMilliseconds.propertyIsEnumerable(\'length\') is expected to be true'
+);
for (var x in Date.prototype.getMilliseconds) {
- if (x === "length") {
- throw new Test262Error('#2: The Date.prototype.getMilliseconds.length has the attribute DontEnum');
- }
+ assert.notSameValue(x, "length", 'The value of x is not "length"');
}
+// TODO: Convert to verifyProperty() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/getMinutes/S15.9.5.20_A1_T1.js b/js/src/tests/test262/built-ins/Date/prototype/getMinutes/S15.9.5.20_A1_T1.js
index 0e20c554eee9..1568ec836cce 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/getMinutes/S15.9.5.20_A1_T1.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/getMinutes/S15.9.5.20_A1_T1.js
@@ -9,12 +9,18 @@ description: Checking absence of ReadOnly attribute
---*/
var x = Date.prototype.getMinutes;
-if (x === 1)
+if (x === 1) {
Date.prototype.getMinutes = 2;
-else
+} else {
Date.prototype.getMinutes = 1;
-if (Date.prototype.getMinutes === x) {
- throw new Test262Error('#1: The Date.prototype.getMinutes has not the attribute ReadOnly');
}
+assert.notSameValue(
+ Date.prototype.getMinutes,
+ x,
+ 'The value of Date.prototype.getMinutes is expected to not equal the value of `x`'
+);
+
+// TODO: Convert to verifyProperty() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/getMinutes/S15.9.5.20_A1_T2.js b/js/src/tests/test262/built-ins/Date/prototype/getMinutes/S15.9.5.20_A1_T2.js
index 86fdb1c633e0..d792c65f1c43 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/getMinutes/S15.9.5.20_A1_T2.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/getMinutes/S15.9.5.20_A1_T2.js
@@ -7,13 +7,17 @@ info: The Date.prototype property "getMinutes" has { DontEnum } attributes
es5id: 15.9.5.20_A1_T2
description: Checking absence of DontDelete attribute
---*/
+assert.notSameValue(
+ delete Date.prototype.getMinutes,
+ false,
+ 'The value of delete Date.prototype.getMinutes is not false'
+);
-if (delete Date.prototype.getMinutes === false) {
- throw new Test262Error('#1: The Date.prototype.getMinutes property has not the attributes DontDelete');
-}
+assert(
+ !Date.prototype.hasOwnProperty('getMinutes'),
+ 'The value of !Date.prototype.hasOwnProperty(\'getMinutes\') is expected to be true'
+);
-if (Date.prototype.hasOwnProperty('getMinutes')) {
- throw new Test262Error('#2: The Date.prototype.getMinutes property has not the attributes DontDelete');
-}
+// TODO: Convert to verifyProperty() format.
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/getMinutes/S15.9.5.20_A1_T3.js b/js/src/tests/test262/built-ins/Date/prototype/getMinutes/S15.9.5.20_A1_T3.js
index 0184cfdb1683..2e79948084ca 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/getMinutes/S15.9.5.20_A1_T3.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/getMinutes/S15.9.5.20_A1_T3.js
@@ -7,15 +7,15 @@ info: The Date.prototype property "getMinutes" has { DontEnum } attributes
es5id: 15.9.5.20_A1_T3
description: Checking DontEnum attribute
---*/
-
-if (Date.prototype.propertyIsEnumerable('getMinutes')) {
- throw new Test262Error('#1: The Date.prototype.getMinutes property has the attribute DontEnum');
-}
+assert(
+ !Date.prototype.propertyIsEnumerable('getMinutes'),
+ 'The value of !Date.prototype.propertyIsEnumerable(\'getMinutes\') is expected to be true'
+);
for (var x in Date.prototype) {
- if (x === "getMinutes") {
- throw new Test262Error('#2: The Date.prototype.getMinutes has the attribute DontEnum');
- }
+ assert.notSameValue(x, "getMinutes", 'The value of x is not "getMinutes"');
}
+// TODO: Convert to verifyProperty() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/getMinutes/S15.9.5.20_A2_T1.js b/js/src/tests/test262/built-ins/Date/prototype/getMinutes/S15.9.5.20_A2_T1.js
index fdeafa94ba01..8a85f1211ab9 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/getMinutes/S15.9.5.20_A2_T1.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/getMinutes/S15.9.5.20_A2_T1.js
@@ -7,13 +7,16 @@ info: The "length" property of the "getMinutes" is 0
es5id: 15.9.5.20_A2_T1
description: The "length" property of the "getMinutes" is 0
---*/
+assert.sameValue(
+ Date.prototype.getMinutes.hasOwnProperty("length"),
+ true,
+ 'Date.prototype.getMinutes.hasOwnProperty("length") must return true'
+);
-if (Date.prototype.getMinutes.hasOwnProperty("length") !== true) {
- throw new Test262Error('#1: The getMinutes has a "length" property');
-}
-
-if (Date.prototype.getMinutes.length !== 0) {
- throw new Test262Error('#2: The "length" property of the getMinutes is 0');
-}
+assert.sameValue(
+ Date.prototype.getMinutes.length,
+ 0,
+ 'The value of Date.prototype.getMinutes.length is expected to be 0'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/getMinutes/S15.9.5.20_A3_T1.js b/js/src/tests/test262/built-ins/Date/prototype/getMinutes/S15.9.5.20_A3_T1.js
index d6422ee3d425..19b83040f6c1 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/getMinutes/S15.9.5.20_A3_T1.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/getMinutes/S15.9.5.20_A3_T1.js
@@ -13,8 +13,13 @@ includes: [propertyHelper.js]
var x = Date.prototype.getMinutes.length;
verifyNotWritable(Date.prototype.getMinutes, "length", null, 1);
-if (Date.prototype.getMinutes.length !== x) {
- throw new Test262Error('#1: The Date.prototype.getMinutes.length has the attribute ReadOnly');
-}
+
+assert.sameValue(
+ Date.prototype.getMinutes.length,
+ x,
+ 'The value of Date.prototype.getMinutes.length is expected to equal the value of x'
+);
+
+// TODO: Convert to verifyProperty() format.
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/getMinutes/S15.9.5.20_A3_T2.js b/js/src/tests/test262/built-ins/Date/prototype/getMinutes/S15.9.5.20_A3_T2.js
index bc507a46f0a6..c81cd920e23e 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/getMinutes/S15.9.5.20_A3_T2.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/getMinutes/S15.9.5.20_A3_T2.js
@@ -9,13 +9,17 @@ info: |
es5id: 15.9.5.20_A3_T2
description: Checking DontDelete attribute
---*/
+assert.sameValue(
+ delete Date.prototype.getMinutes.length,
+ true,
+ 'The value of `delete Date.prototype.getMinutes.length` is expected to be true'
+);
-if (delete Date.prototype.getMinutes.length !== true) {
- throw new Test262Error('#1: The Date.prototype.getMinutes.length property does not have the attributes DontDelete');
-}
+assert(
+ !Date.prototype.getMinutes.hasOwnProperty('length'),
+ 'The value of !Date.prototype.getMinutes.hasOwnProperty(\'length\') is expected to be true'
+);
-if (Date.prototype.getMinutes.hasOwnProperty('length')) {
- throw new Test262Error('#2: The Date.prototype.getMinutes.length property does not have the attributes DontDelete');
-}
+// TODO: Convert to verifyProperty() format.
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/getMinutes/S15.9.5.20_A3_T3.js b/js/src/tests/test262/built-ins/Date/prototype/getMinutes/S15.9.5.20_A3_T3.js
index 7e7b63b9dd38..d100261b046c 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/getMinutes/S15.9.5.20_A3_T3.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/getMinutes/S15.9.5.20_A3_T3.js
@@ -9,15 +9,15 @@ info: |
es5id: 15.9.5.20_A3_T3
description: Checking DontEnum attribute
---*/
-
-if (Date.prototype.getMinutes.propertyIsEnumerable('length')) {
- throw new Test262Error('#1: The Date.prototype.getMinutes.length property has the attribute DontEnum');
-}
+assert(
+ !Date.prototype.getMinutes.propertyIsEnumerable('length'),
+ 'The value of !Date.prototype.getMinutes.propertyIsEnumerable(\'length\') is expected to be true'
+);
for (var x in Date.prototype.getMinutes) {
- if (x === "length") {
- throw new Test262Error('#2: The Date.prototype.getMinutes.length has the attribute DontEnum');
- }
+ assert.notSameValue(x, "length", 'The value of x is not "length"');
}
+// TODO: Convert to verifyProperty() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/getMonth/S15.9.5.12_A1_T1.js b/js/src/tests/test262/built-ins/Date/prototype/getMonth/S15.9.5.12_A1_T1.js
index a1305f231363..746c749d4213 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/getMonth/S15.9.5.12_A1_T1.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/getMonth/S15.9.5.12_A1_T1.js
@@ -8,12 +8,18 @@ description: Checking absence of ReadOnly attribute
---*/
var x = Date.prototype.getMonth;
-if (x === 1)
+if (x === 1) {
Date.prototype.getMonth = 2;
-else
+} else {
Date.prototype.getMonth = 1;
-if (Date.prototype.getMonth === x) {
- throw new Test262Error('#1: The Date.prototype.getMonth has not the attribute ReadOnly');
}
+assert.notSameValue(
+ Date.prototype.getMonth,
+ x,
+ 'The value of Date.prototype.getMonth is expected to not equal the value of `x`'
+);
+
+// TODO: Convert to verifyProperty() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/getMonth/S15.9.5.12_A1_T2.js b/js/src/tests/test262/built-ins/Date/prototype/getMonth/S15.9.5.12_A1_T2.js
index 5d230379a07d..d7cc73e91f7e 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/getMonth/S15.9.5.12_A1_T2.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/getMonth/S15.9.5.12_A1_T2.js
@@ -6,13 +6,13 @@ info: The Date.prototype property "getMonth" has { DontEnum } attributes
esid: sec-date.prototype.getmonth
description: Checking absence of DontDelete attribute
---*/
+assert.notSameValue(delete Date.prototype.getMonth, false, 'The value of delete Date.prototype.getMonth is not false');
-if (delete Date.prototype.getMonth === false) {
- throw new Test262Error('#1: The Date.prototype.getMonth property has not the attributes DontDelete');
-}
+assert(
+ !Date.prototype.hasOwnProperty('getMonth'),
+ 'The value of !Date.prototype.hasOwnProperty(\'getMonth\') is expected to be true'
+);
-if (Date.prototype.hasOwnProperty('getMonth')) {
- throw new Test262Error('#2: The Date.prototype.getMonth property has not the attributes DontDelete');
-}
+// TODO: Convert to verifyProperty() format.
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/getMonth/S15.9.5.12_A1_T3.js b/js/src/tests/test262/built-ins/Date/prototype/getMonth/S15.9.5.12_A1_T3.js
index d1078313f9de..24081e0d128d 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/getMonth/S15.9.5.12_A1_T3.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/getMonth/S15.9.5.12_A1_T3.js
@@ -6,15 +6,15 @@ info: The Date.prototype property "getMonth" has { DontEnum } attributes
esid: sec-date.prototype.getmonth
description: Checking DontEnum attribute
---*/
-
-if (Date.prototype.propertyIsEnumerable('getMonth')) {
- throw new Test262Error('#1: The Date.prototype.getMonth property has the attribute DontEnum');
-}
+assert(
+ !Date.prototype.propertyIsEnumerable('getMonth'),
+ 'The value of !Date.prototype.propertyIsEnumerable(\'getMonth\') is expected to be true'
+);
for (var x in Date.prototype) {
- if (x === "getMonth") {
- throw new Test262Error('#2: The Date.prototype.getMonth has the attribute DontEnum');
- }
+ assert.notSameValue(x, "getMonth", 'The value of x is not "getMonth"');
}
+// TODO: Convert to verifyProperty() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/getMonth/S15.9.5.12_A2_T1.js b/js/src/tests/test262/built-ins/Date/prototype/getMonth/S15.9.5.12_A2_T1.js
index 5066196d7b19..a7db351a63bf 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/getMonth/S15.9.5.12_A2_T1.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/getMonth/S15.9.5.12_A2_T1.js
@@ -6,13 +6,12 @@ info: The "length" property of the "getMonth" is 0
esid: sec-date.prototype.getmonth
description: The "length" property of the "getMonth" is 0
---*/
+assert.sameValue(
+ Date.prototype.getMonth.hasOwnProperty("length"),
+ true,
+ 'Date.prototype.getMonth.hasOwnProperty("length") must return true'
+);
-if (Date.prototype.getMonth.hasOwnProperty("length") !== true) {
- throw new Test262Error('#1: The getMonth has a "length" property');
-}
-
-if (Date.prototype.getMonth.length !== 0) {
- throw new Test262Error('#2: The "length" property of the getMonth is 0');
-}
+assert.sameValue(Date.prototype.getMonth.length, 0, 'The value of Date.prototype.getMonth.length is expected to be 0');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/getMonth/S15.9.5.12_A3_T1.js b/js/src/tests/test262/built-ins/Date/prototype/getMonth/S15.9.5.12_A3_T1.js
index 5a5736278017..7c282d67e125 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/getMonth/S15.9.5.12_A3_T1.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/getMonth/S15.9.5.12_A3_T1.js
@@ -12,8 +12,13 @@ includes: [propertyHelper.js]
var x = Date.prototype.getMonth.length;
verifyNotWritable(Date.prototype.getMonth, "length", null, 1);
-if (Date.prototype.getMonth.length !== x) {
- throw new Test262Error('#1: The Date.prototype.getMonth.length has the attribute ReadOnly');
-}
+
+assert.sameValue(
+ Date.prototype.getMonth.length,
+ x,
+ 'The value of Date.prototype.getMonth.length is expected to equal the value of x'
+);
+
+// TODO: Convert to verifyProperty() format.
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/getMonth/S15.9.5.12_A3_T2.js b/js/src/tests/test262/built-ins/Date/prototype/getMonth/S15.9.5.12_A3_T2.js
index b51fe4fa8468..b19fb31de022 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/getMonth/S15.9.5.12_A3_T2.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/getMonth/S15.9.5.12_A3_T2.js
@@ -8,13 +8,17 @@ info: |
esid: sec-date.prototype.getmonth
description: Checking DontDelete attribute
---*/
+assert.sameValue(
+ delete Date.prototype.getMonth.length,
+ true,
+ 'The value of `delete Date.prototype.getMonth.length` is expected to be true'
+);
-if (delete Date.prototype.getMonth.length !== true) {
- throw new Test262Error('#1: The Date.prototype.getMonth.length property does not have the attributes DontDelete');
-}
+assert(
+ !Date.prototype.getMonth.hasOwnProperty('length'),
+ 'The value of !Date.prototype.getMonth.hasOwnProperty(\'length\') is expected to be true'
+);
-if (Date.prototype.getMonth.hasOwnProperty('length')) {
- throw new Test262Error('#2: The Date.prototype.getMonth.length property does not have the attributes DontDelete');
-}
+// TODO: Convert to verifyProperty() format.
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/getMonth/S15.9.5.12_A3_T3.js b/js/src/tests/test262/built-ins/Date/prototype/getMonth/S15.9.5.12_A3_T3.js
index 53476a227158..05979ef2ea37 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/getMonth/S15.9.5.12_A3_T3.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/getMonth/S15.9.5.12_A3_T3.js
@@ -8,15 +8,15 @@ info: |
esid: sec-date.prototype.getmonth
description: Checking DontEnum attribute
---*/
-
-if (Date.prototype.getMonth.propertyIsEnumerable('length')) {
- throw new Test262Error('#1: The Date.prototype.getMonth.length property has the attribute DontEnum');
-}
+assert(
+ !Date.prototype.getMonth.propertyIsEnumerable('length'),
+ 'The value of !Date.prototype.getMonth.propertyIsEnumerable(\'length\') is expected to be true'
+);
for (var x in Date.prototype.getMonth) {
- if (x === "length") {
- throw new Test262Error('#2: The Date.prototype.getMonth.length has the attribute DontEnum');
- }
+ assert.notSameValue(x, "length", 'The value of x is not "length"');
}
+// TODO: Convert to verifyProperty() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/getSeconds/S15.9.5.22_A1_T1.js b/js/src/tests/test262/built-ins/Date/prototype/getSeconds/S15.9.5.22_A1_T1.js
index 6b35205f0689..b372371f8732 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/getSeconds/S15.9.5.22_A1_T1.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/getSeconds/S15.9.5.22_A1_T1.js
@@ -8,12 +8,18 @@ description: Checking absence of ReadOnly attribute
---*/
var x = Date.prototype.getSeconds;
-if (x === 1)
+if (x === 1) {
Date.prototype.getSeconds = 2;
-else
+} else {
Date.prototype.getSeconds = 1;
-if (Date.prototype.getSeconds === x) {
- throw new Test262Error('#1: The Date.prototype.getSeconds has not the attribute ReadOnly');
}
+assert.notSameValue(
+ Date.prototype.getSeconds,
+ x,
+ 'The value of Date.prototype.getSeconds is expected to not equal the value of `x`'
+);
+
+// TODO: Convert to verifyProperty() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/getSeconds/S15.9.5.22_A1_T2.js b/js/src/tests/test262/built-ins/Date/prototype/getSeconds/S15.9.5.22_A1_T2.js
index c6fef7a39751..0b096b7988e4 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/getSeconds/S15.9.5.22_A1_T2.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/getSeconds/S15.9.5.22_A1_T2.js
@@ -6,13 +6,17 @@ info: The Date.prototype property "getSeconds" has { DontEnum } attributes
esid: sec-date.prototype.getseconds
description: Checking absence of DontDelete attribute
---*/
+assert.notSameValue(
+ delete Date.prototype.getSeconds,
+ false,
+ 'The value of delete Date.prototype.getSeconds is not false'
+);
-if (delete Date.prototype.getSeconds === false) {
- throw new Test262Error('#1: The Date.prototype.getSeconds property has not the attributes DontDelete');
-}
+assert(
+ !Date.prototype.hasOwnProperty('getSeconds'),
+ 'The value of !Date.prototype.hasOwnProperty(\'getSeconds\') is expected to be true'
+);
-if (Date.prototype.hasOwnProperty('getSeconds')) {
- throw new Test262Error('#2: The Date.prototype.getSeconds property has not the attributes DontDelete');
-}
+// TODO: Convert to verifyProperty() format.
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/getSeconds/S15.9.5.22_A1_T3.js b/js/src/tests/test262/built-ins/Date/prototype/getSeconds/S15.9.5.22_A1_T3.js
index 87727cf76501..58daf773d859 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/getSeconds/S15.9.5.22_A1_T3.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/getSeconds/S15.9.5.22_A1_T3.js
@@ -6,15 +6,15 @@ info: The Date.prototype property "getSeconds" has { DontEnum } attributes
esid: sec-date.prototype.getseconds
description: Checking DontEnum attribute
---*/
-
-if (Date.prototype.propertyIsEnumerable('getSeconds')) {
- throw new Test262Error('#1: The Date.prototype.getSeconds property has the attribute DontEnum');
-}
+assert(
+ !Date.prototype.propertyIsEnumerable('getSeconds'),
+ 'The value of !Date.prototype.propertyIsEnumerable(\'getSeconds\') is expected to be true'
+);
for (var x in Date.prototype) {
- if (x === "getSeconds") {
- throw new Test262Error('#2: The Date.prototype.getSeconds has the attribute DontEnum');
- }
+ assert.notSameValue(x, "getSeconds", 'The value of x is not "getSeconds"');
}
+// TODO: Convert to verifyProperty() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/getSeconds/S15.9.5.22_A2_T1.js b/js/src/tests/test262/built-ins/Date/prototype/getSeconds/S15.9.5.22_A2_T1.js
index 3385106c6b15..54125a0509e7 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/getSeconds/S15.9.5.22_A2_T1.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/getSeconds/S15.9.5.22_A2_T1.js
@@ -6,13 +6,16 @@ info: The "length" property of the "getSeconds" is 0
esid: sec-date.prototype.getseconds
description: The "length" property of the "getSeconds" is 0
---*/
+assert.sameValue(
+ Date.prototype.getSeconds.hasOwnProperty("length"),
+ true,
+ 'Date.prototype.getSeconds.hasOwnProperty("length") must return true'
+);
-if (Date.prototype.getSeconds.hasOwnProperty("length") !== true) {
- throw new Test262Error('#1: The getSeconds has a "length" property');
-}
-
-if (Date.prototype.getSeconds.length !== 0) {
- throw new Test262Error('#2: The "length" property of the getSeconds is 0');
-}
+assert.sameValue(
+ Date.prototype.getSeconds.length,
+ 0,
+ 'The value of Date.prototype.getSeconds.length is expected to be 0'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/getSeconds/S15.9.5.22_A3_T1.js b/js/src/tests/test262/built-ins/Date/prototype/getSeconds/S15.9.5.22_A3_T1.js
index eeb6e78164c9..557aa5353150 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/getSeconds/S15.9.5.22_A3_T1.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/getSeconds/S15.9.5.22_A3_T1.js
@@ -12,8 +12,13 @@ includes: [propertyHelper.js]
var x = Date.prototype.getSeconds.length;
verifyNotWritable(Date.prototype.getSeconds, "length", null, 1);
-if (Date.prototype.getSeconds.length !== x) {
- throw new Test262Error('#1: The Date.prototype.getSeconds.length has the attribute ReadOnly');
-}
+
+assert.sameValue(
+ Date.prototype.getSeconds.length,
+ x,
+ 'The value of Date.prototype.getSeconds.length is expected to equal the value of x'
+);
+
+// TODO: Convert to verifyProperty() format.
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/getSeconds/S15.9.5.22_A3_T2.js b/js/src/tests/test262/built-ins/Date/prototype/getSeconds/S15.9.5.22_A3_T2.js
index 047edbb49f3e..cb6f6497ae97 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/getSeconds/S15.9.5.22_A3_T2.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/getSeconds/S15.9.5.22_A3_T2.js
@@ -8,13 +8,17 @@ info: |
esid: sec-date.prototype.getseconds
description: Checking DontDelete attribute
---*/
+assert.sameValue(
+ delete Date.prototype.getSeconds.length,
+ true,
+ 'The value of `delete Date.prototype.getSeconds.length` is expected to be true'
+);
-if (delete Date.prototype.getSeconds.length !== true) {
- throw new Test262Error('#1: The Date.prototype.getSeconds.length property does not have the attributes DontDelete');
-}
+assert(
+ !Date.prototype.getSeconds.hasOwnProperty('length'),
+ 'The value of !Date.prototype.getSeconds.hasOwnProperty(\'length\') is expected to be true'
+);
-if (Date.prototype.getSeconds.hasOwnProperty('length')) {
- throw new Test262Error('#2: The Date.prototype.getSeconds.length property does not have the attributes DontDelete');
-}
+// TODO: Convert to verifyProperty() format.
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/getSeconds/S15.9.5.22_A3_T3.js b/js/src/tests/test262/built-ins/Date/prototype/getSeconds/S15.9.5.22_A3_T3.js
index ff39e1b27363..c6b40d5dba00 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/getSeconds/S15.9.5.22_A3_T3.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/getSeconds/S15.9.5.22_A3_T3.js
@@ -8,15 +8,15 @@ info: |
esid: sec-date.prototype.getseconds
description: Checking DontEnum attribute
---*/
-
-if (Date.prototype.getSeconds.propertyIsEnumerable('length')) {
- throw new Test262Error('#1: The Date.prototype.getSeconds.length property has the attribute DontEnum');
-}
+assert(
+ !Date.prototype.getSeconds.propertyIsEnumerable('length'),
+ 'The value of !Date.prototype.getSeconds.propertyIsEnumerable(\'length\') is expected to be true'
+);
for (var x in Date.prototype.getSeconds) {
- if (x === "length") {
- throw new Test262Error('#2: The Date.prototype.getSeconds.length has the attribute DontEnum');
- }
+ assert.notSameValue(x, "length", 'The value of x is not "length"');
}
+// TODO: Convert to verifyProperty() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/getTime/S15.9.5.9_A1_T1.js b/js/src/tests/test262/built-ins/Date/prototype/getTime/S15.9.5.9_A1_T1.js
index 5f89600914e9..988395a70911 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/getTime/S15.9.5.9_A1_T1.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/getTime/S15.9.5.9_A1_T1.js
@@ -8,12 +8,18 @@ description: Checking absence of ReadOnly attribute
---*/
var x = Date.prototype.getTime;
-if (x === 1)
+if (x === 1) {
Date.prototype.getTime = 2;
-else
+} else {
Date.prototype.getTime = 1;
-if (Date.prototype.getTime === x) {
- throw new Test262Error('#1: The Date.prototype.getTime has not the attribute ReadOnly');
}
+assert.notSameValue(
+ Date.prototype.getTime,
+ x,
+ 'The value of Date.prototype.getTime is expected to not equal the value of `x`'
+);
+
+// TODO: Convert to verifyProperty() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/getTime/S15.9.5.9_A1_T2.js b/js/src/tests/test262/built-ins/Date/prototype/getTime/S15.9.5.9_A1_T2.js
index 9f41f45a7741..37072a751c64 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/getTime/S15.9.5.9_A1_T2.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/getTime/S15.9.5.9_A1_T2.js
@@ -6,13 +6,13 @@ info: The Date.prototype property "getTime" has { DontEnum } attributes
esid: sec-date.prototype.getseconds
description: Checking absence of DontDelete attribute
---*/
+assert.notSameValue(delete Date.prototype.getTime, false, 'The value of delete Date.prototype.getTime is not false');
-if (delete Date.prototype.getTime === false) {
- throw new Test262Error('#1: The Date.prototype.getTime property has not the attributes DontDelete');
-}
+assert(
+ !Date.prototype.hasOwnProperty('getTime'),
+ 'The value of !Date.prototype.hasOwnProperty(\'getTime\') is expected to be true'
+);
-if (Date.prototype.hasOwnProperty('getTime')) {
- throw new Test262Error('#2: The Date.prototype.getTime property has not the attributes DontDelete');
-}
+// TODO: Convert to verifyProperty() format.
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/getTime/S15.9.5.9_A1_T3.js b/js/src/tests/test262/built-ins/Date/prototype/getTime/S15.9.5.9_A1_T3.js
index 6ee97e6987ff..db5608efbda5 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/getTime/S15.9.5.9_A1_T3.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/getTime/S15.9.5.9_A1_T3.js
@@ -6,15 +6,15 @@ info: The Date.prototype property "getTime" has { DontEnum } attributes
esid: sec-date.prototype.getseconds
description: Checking DontEnum attribute
---*/
-
-if (Date.prototype.propertyIsEnumerable('getTime')) {
- throw new Test262Error('#1: The Date.prototype.getTime property has the attribute DontEnum');
-}
+assert(
+ !Date.prototype.propertyIsEnumerable('getTime'),
+ 'The value of !Date.prototype.propertyIsEnumerable(\'getTime\') is expected to be true'
+);
for (var x in Date.prototype) {
- if (x === "getTime") {
- throw new Test262Error('#2: The Date.prototype.getTime has the attribute DontEnum');
- }
+ assert.notSameValue(x, "getTime", 'The value of x is not "getTime"');
}
+// TODO: Convert to verifyProperty() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/getTime/S15.9.5.9_A2_T1.js b/js/src/tests/test262/built-ins/Date/prototype/getTime/S15.9.5.9_A2_T1.js
index 15699ece93e0..0c5c84f24a1f 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/getTime/S15.9.5.9_A2_T1.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/getTime/S15.9.5.9_A2_T1.js
@@ -6,13 +6,12 @@ info: The "length" property of the "getTime" is 0
esid: sec-date.prototype.getseconds
description: The "length" property of the "getTime" is 0
---*/
+assert.sameValue(
+ Date.prototype.getTime.hasOwnProperty("length"),
+ true,
+ 'Date.prototype.getTime.hasOwnProperty("length") must return true'
+);
-if (Date.prototype.getTime.hasOwnProperty("length") !== true) {
- throw new Test262Error('#1: The getTime has a "length" property');
-}
-
-if (Date.prototype.getTime.length !== 0) {
- throw new Test262Error('#2: The "length" property of the getTime is 0');
-}
+assert.sameValue(Date.prototype.getTime.length, 0, 'The value of Date.prototype.getTime.length is expected to be 0');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/getTime/S15.9.5.9_A3_T1.js b/js/src/tests/test262/built-ins/Date/prototype/getTime/S15.9.5.9_A3_T1.js
index 32f63109ca46..05081b50ed28 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/getTime/S15.9.5.9_A3_T1.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/getTime/S15.9.5.9_A3_T1.js
@@ -12,8 +12,13 @@ includes: [propertyHelper.js]
var x = Date.prototype.getTime.length;
verifyNotWritable(Date.prototype.getTime, "length", null, 1);
-if (Date.prototype.getTime.length !== x) {
- throw new Test262Error('#1: The Date.prototype.getTime.length has the attribute ReadOnly');
-}
+
+assert.sameValue(
+ Date.prototype.getTime.length,
+ x,
+ 'The value of Date.prototype.getTime.length is expected to equal the value of x'
+);
+
+// TODO: Convert to verifyProperty() format.
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/getTime/S15.9.5.9_A3_T2.js b/js/src/tests/test262/built-ins/Date/prototype/getTime/S15.9.5.9_A3_T2.js
index 9ee9c2c582b0..ef3c553cdb9a 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/getTime/S15.9.5.9_A3_T2.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/getTime/S15.9.5.9_A3_T2.js
@@ -8,13 +8,17 @@ info: |
esid: sec-date.prototype.getseconds
description: Checking DontDelete attribute
---*/
+assert.sameValue(
+ delete Date.prototype.getTime.length,
+ true,
+ 'The value of `delete Date.prototype.getTime.length` is expected to be true'
+);
-if (delete Date.prototype.getTime.length !== true) {
- throw new Test262Error('#1: The Date.prototype.getTime.length property does not have the attributes DontDelete');
-}
+assert(
+ !Date.prototype.getTime.hasOwnProperty('length'),
+ 'The value of !Date.prototype.getTime.hasOwnProperty(\'length\') is expected to be true'
+);
-if (Date.prototype.getTime.hasOwnProperty('length')) {
- throw new Test262Error('#2: The Date.prototype.getTime.length property does not have the attributes DontDelete');
-}
+// TODO: Convert to verifyProperty() format.
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/getTime/S15.9.5.9_A3_T3.js b/js/src/tests/test262/built-ins/Date/prototype/getTime/S15.9.5.9_A3_T3.js
index 90e19a573da8..3df558d0ccdf 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/getTime/S15.9.5.9_A3_T3.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/getTime/S15.9.5.9_A3_T3.js
@@ -8,15 +8,15 @@ info: |
esid: sec-date.prototype.getseconds
description: Checking DontEnum attribute
---*/
-
-if (Date.prototype.getTime.propertyIsEnumerable('length')) {
- throw new Test262Error('#1: The Date.prototype.getTime.length property has the attribute DontEnum');
-}
+assert(
+ !Date.prototype.getTime.propertyIsEnumerable('length'),
+ 'The value of !Date.prototype.getTime.propertyIsEnumerable(\'length\') is expected to be true'
+);
for (var x in Date.prototype.getTime) {
- if (x === "length") {
- throw new Test262Error('#2: The Date.prototype.getTime.length has the attribute DontEnum');
- }
+ assert.notSameValue(x, "length", 'The value of x is not "length"');
}
+// TODO: Convert to verifyProperty() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/getTimezoneOffset/S15.9.5.26_A1_T1.js b/js/src/tests/test262/built-ins/Date/prototype/getTimezoneOffset/S15.9.5.26_A1_T1.js
index 16f2b6ff5ac3..eb9033ac957f 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/getTimezoneOffset/S15.9.5.26_A1_T1.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/getTimezoneOffset/S15.9.5.26_A1_T1.js
@@ -10,12 +10,18 @@ description: Checking absence of ReadOnly attribute
---*/
var x = Date.prototype.getTimezoneOffset;
-if (x === 1)
+if (x === 1) {
Date.prototype.getTimezoneOffset = 2;
-else
+} else {
Date.prototype.getTimezoneOffset = 1;
-if (Date.prototype.getTimezoneOffset === x) {
- throw new Test262Error('#1: The Date.prototype.getTimezoneOffset has not the attribute ReadOnly');
}
+assert.notSameValue(
+ Date.prototype.getTimezoneOffset,
+ x,
+ 'The value of Date.prototype.getTimezoneOffset is expected to not equal the value of `x`'
+);
+
+// TODO: Convert to verifyProperty() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/getTimezoneOffset/S15.9.5.26_A1_T2.js b/js/src/tests/test262/built-ins/Date/prototype/getTimezoneOffset/S15.9.5.26_A1_T2.js
index ac21ce2ab213..d5f30d46e94a 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/getTimezoneOffset/S15.9.5.26_A1_T2.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/getTimezoneOffset/S15.9.5.26_A1_T2.js
@@ -8,13 +8,17 @@ info: |
esid: sec-date.prototype.gettimezoneoffset
description: Checking absence of DontDelete attribute
---*/
+assert.notSameValue(
+ delete Date.prototype.getTimezoneOffset,
+ false,
+ 'The value of delete Date.prototype.getTimezoneOffset is not false'
+);
-if (delete Date.prototype.getTimezoneOffset === false) {
- throw new Test262Error('#1: The Date.prototype.getTimezoneOffset property has not the attributes DontDelete');
-}
+assert(
+ !Date.prototype.hasOwnProperty('getTimezoneOffset'),
+ 'The value of !Date.prototype.hasOwnProperty(\'getTimezoneOffset\') is expected to be true'
+);
-if (Date.prototype.hasOwnProperty('getTimezoneOffset')) {
- throw new Test262Error('#2: The Date.prototype.getTimezoneOffset property has not the attributes DontDelete');
-}
+// TODO: Convert to verifyProperty() format.
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/getTimezoneOffset/S15.9.5.26_A1_T3.js b/js/src/tests/test262/built-ins/Date/prototype/getTimezoneOffset/S15.9.5.26_A1_T3.js
index 380ce40a243e..e0d1ee4a1414 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/getTimezoneOffset/S15.9.5.26_A1_T3.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/getTimezoneOffset/S15.9.5.26_A1_T3.js
@@ -8,15 +8,15 @@ info: |
esid: sec-date.prototype.gettimezoneoffset
description: Checking DontEnum attribute
---*/
-
-if (Date.prototype.propertyIsEnumerable('getTimezoneOffset')) {
- throw new Test262Error('#1: The Date.prototype.getTimezoneOffset property has the attribute DontEnum');
-}
+assert(
+ !Date.prototype.propertyIsEnumerable('getTimezoneOffset'),
+ 'The value of !Date.prototype.propertyIsEnumerable(\'getTimezoneOffset\') is expected to be true'
+);
for (var x in Date.prototype) {
- if (x === "getTimezoneOffset") {
- throw new Test262Error('#2: The Date.prototype.getTimezoneOffset has the attribute DontEnum');
- }
+ assert.notSameValue(x, "getTimezoneOffset", 'The value of x is not "getTimezoneOffset"');
}
+// TODO: Convert to verifyProperty() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/getTimezoneOffset/S15.9.5.26_A2_T1.js b/js/src/tests/test262/built-ins/Date/prototype/getTimezoneOffset/S15.9.5.26_A2_T1.js
index 805fa99b6a16..8e7b596a4246 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/getTimezoneOffset/S15.9.5.26_A2_T1.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/getTimezoneOffset/S15.9.5.26_A2_T1.js
@@ -6,13 +6,16 @@ info: The "length" property of the "getTimezoneOffset" is 0
esid: sec-date.prototype.gettimezoneoffset
description: The "length" property of the "getTimezoneOffset" is 0
---*/
+assert.sameValue(
+ Date.prototype.getTimezoneOffset.hasOwnProperty("length"),
+ true,
+ 'Date.prototype.getTimezoneOffset.hasOwnProperty("length") must return true'
+);
-if (Date.prototype.getTimezoneOffset.hasOwnProperty("length") !== true) {
- throw new Test262Error('#1: The getTimezoneOffset has a "length" property');
-}
-
-if (Date.prototype.getTimezoneOffset.length !== 0) {
- throw new Test262Error('#2: The "length" property of the getTimezoneOffset is 0');
-}
+assert.sameValue(
+ Date.prototype.getTimezoneOffset.length,
+ 0,
+ 'The value of Date.prototype.getTimezoneOffset.length is expected to be 0'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/getTimezoneOffset/S15.9.5.26_A3_T1.js b/js/src/tests/test262/built-ins/Date/prototype/getTimezoneOffset/S15.9.5.26_A3_T1.js
index 4b8f66da1598..9996c8e550fb 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/getTimezoneOffset/S15.9.5.26_A3_T1.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/getTimezoneOffset/S15.9.5.26_A3_T1.js
@@ -12,8 +12,13 @@ includes: [propertyHelper.js]
var x = Date.prototype.getTimezoneOffset.length;
verifyNotWritable(Date.prototype.getTimezoneOffset, "length", null, 1);
-if (Date.prototype.getTimezoneOffset.length !== x) {
- throw new Test262Error('#1: The Date.prototype.getTimezoneOffset.length has the attribute ReadOnly');
-}
+
+assert.sameValue(
+ Date.prototype.getTimezoneOffset.length,
+ x,
+ 'The value of Date.prototype.getTimezoneOffset.length is expected to equal the value of x'
+);
+
+// TODO: Convert to verifyProperty() format.
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/getTimezoneOffset/S15.9.5.26_A3_T2.js b/js/src/tests/test262/built-ins/Date/prototype/getTimezoneOffset/S15.9.5.26_A3_T2.js
index eea660847d7c..deeec64aa067 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/getTimezoneOffset/S15.9.5.26_A3_T2.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/getTimezoneOffset/S15.9.5.26_A3_T2.js
@@ -8,13 +8,17 @@ info: |
esid: sec-date.prototype.gettimezoneoffset
description: Checking DontDelete attribute
---*/
+assert.sameValue(
+ delete Date.prototype.getTimezoneOffset.length,
+ true,
+ 'The value of `delete Date.prototype.getTimezoneOffset.length` is expected to be true'
+);
-if (delete Date.prototype.getTimezoneOffset.length !== true) {
- throw new Test262Error('#1: The Date.prototype.getTimezoneOffset.length property does not have the attributes DontDelete');
-}
+assert(
+ !Date.prototype.getTimezoneOffset.hasOwnProperty('length'),
+ 'The value of !Date.prototype.getTimezoneOffset.hasOwnProperty(\'length\') is expected to be true'
+);
-if (Date.prototype.getTimezoneOffset.hasOwnProperty('length')) {
- throw new Test262Error('#2: The Date.prototype.getTimezoneOffset.length property does not have the attributes DontDelete');
-}
+// TODO: Convert to verifyProperty() format.
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/getTimezoneOffset/S15.9.5.26_A3_T3.js b/js/src/tests/test262/built-ins/Date/prototype/getTimezoneOffset/S15.9.5.26_A3_T3.js
index 429d9d834e8f..3c9e7c9966dc 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/getTimezoneOffset/S15.9.5.26_A3_T3.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/getTimezoneOffset/S15.9.5.26_A3_T3.js
@@ -8,15 +8,15 @@ info: |
esid: sec-date.prototype.gettimezoneoffset
description: Checking DontEnum attribute
---*/
-
-if (Date.prototype.getTimezoneOffset.propertyIsEnumerable('length')) {
- throw new Test262Error('#1: The Date.prototype.getTimezoneOffset.length property has the attribute DontEnum');
-}
+assert(
+ !Date.prototype.getTimezoneOffset.propertyIsEnumerable('length'),
+ 'The value of !Date.prototype.getTimezoneOffset.propertyIsEnumerable(\'length\') is expected to be true'
+);
for (var x in Date.prototype.getTimezoneOffset) {
- if (x === "length") {
- throw new Test262Error('#2: The Date.prototype.getTimezoneOffset.length has the attribute DontEnum');
- }
+ assert.notSameValue(x, "length", 'The value of x is not "length"');
}
+// TODO: Convert to verifyProperty() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/getUTCDate/S15.9.5.15_A1_T1.js b/js/src/tests/test262/built-ins/Date/prototype/getUTCDate/S15.9.5.15_A1_T1.js
index 16c86ba4617d..16aebb6fae8c 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/getUTCDate/S15.9.5.15_A1_T1.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/getUTCDate/S15.9.5.15_A1_T1.js
@@ -8,12 +8,18 @@ description: Checking absence of ReadOnly attribute
---*/
var x = Date.prototype.getUTCDate;
-if (x === 1)
+if (x === 1) {
Date.prototype.getUTCDate = 2;
-else
+} else {
Date.prototype.getUTCDate = 1;
-if (Date.prototype.getUTCDate === x) {
- throw new Test262Error('#1: The Date.prototype.getUTCDate has not the attribute ReadOnly');
}
+assert.notSameValue(
+ Date.prototype.getUTCDate,
+ x,
+ 'The value of Date.prototype.getUTCDate is expected to not equal the value of `x`'
+);
+
+// TODO: Convert to verifyProperty() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/getUTCDate/S15.9.5.15_A1_T2.js b/js/src/tests/test262/built-ins/Date/prototype/getUTCDate/S15.9.5.15_A1_T2.js
index 63a7942b5f02..b25440b9b0c8 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/getUTCDate/S15.9.5.15_A1_T2.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/getUTCDate/S15.9.5.15_A1_T2.js
@@ -6,13 +6,17 @@ info: The Date.prototype property "getUTCDate" has { DontEnum } attributes
esid: sec-date.prototype.getutcdate
description: Checking absence of DontDelete attribute
---*/
+assert.notSameValue(
+ delete Date.prototype.getUTCDate,
+ false,
+ 'The value of delete Date.prototype.getUTCDate is not false'
+);
-if (delete Date.prototype.getUTCDate === false) {
- throw new Test262Error('#1: The Date.prototype.getUTCDate property has not the attributes DontDelete');
-}
+assert(
+ !Date.prototype.hasOwnProperty('getUTCDate'),
+ 'The value of !Date.prototype.hasOwnProperty(\'getUTCDate\') is expected to be true'
+);
-if (Date.prototype.hasOwnProperty('getUTCDate')) {
- throw new Test262Error('#2: The Date.prototype.getUTCDate property has not the attributes DontDelete');
-}
+// TODO: Convert to verifyProperty() format.
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/getUTCDate/S15.9.5.15_A1_T3.js b/js/src/tests/test262/built-ins/Date/prototype/getUTCDate/S15.9.5.15_A1_T3.js
index 5066e2776638..48e68cc14f8a 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/getUTCDate/S15.9.5.15_A1_T3.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/getUTCDate/S15.9.5.15_A1_T3.js
@@ -6,15 +6,15 @@ info: The Date.prototype property "getUTCDate" has { DontEnum } attributes
esid: sec-date.prototype.getutcdate
description: Checking DontEnum attribute
---*/
-
-if (Date.prototype.propertyIsEnumerable('getUTCDate')) {
- throw new Test262Error('#1: The Date.prototype.getUTCDate property has the attribute DontEnum');
-}
+assert(
+ !Date.prototype.propertyIsEnumerable('getUTCDate'),
+ 'The value of !Date.prototype.propertyIsEnumerable(\'getUTCDate\') is expected to be true'
+);
for (var x in Date.prototype) {
- if (x === "getUTCDate") {
- throw new Test262Error('#2: The Date.prototype.getUTCDate has the attribute DontEnum');
- }
+ assert.notSameValue(x, "getUTCDate", 'The value of x is not "getUTCDate"');
}
+// TODO: Convert to verifyProperty() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/getUTCDate/S15.9.5.15_A2_T1.js b/js/src/tests/test262/built-ins/Date/prototype/getUTCDate/S15.9.5.15_A2_T1.js
index fdf758c5cb82..0810fab7cecd 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/getUTCDate/S15.9.5.15_A2_T1.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/getUTCDate/S15.9.5.15_A2_T1.js
@@ -6,13 +6,16 @@ info: The "length" property of the "getUTCDate" is 0
esid: sec-date.prototype.getutcdate
description: The "length" property of the "getUTCDate" is 0
---*/
+assert.sameValue(
+ Date.prototype.getUTCDate.hasOwnProperty("length"),
+ true,
+ 'Date.prototype.getUTCDate.hasOwnProperty("length") must return true'
+);
-if (Date.prototype.getUTCDate.hasOwnProperty("length") !== true) {
- throw new Test262Error('#1: The getUTCDate has a "length" property');
-}
-
-if (Date.prototype.getUTCDate.length !== 0) {
- throw new Test262Error('#2: The "length" property of the getUTCDate is 0');
-}
+assert.sameValue(
+ Date.prototype.getUTCDate.length,
+ 0,
+ 'The value of Date.prototype.getUTCDate.length is expected to be 0'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/getUTCDate/S15.9.5.15_A3_T1.js b/js/src/tests/test262/built-ins/Date/prototype/getUTCDate/S15.9.5.15_A3_T1.js
index 7faed9693971..e71163dee841 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/getUTCDate/S15.9.5.15_A3_T1.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/getUTCDate/S15.9.5.15_A3_T1.js
@@ -12,8 +12,13 @@ includes: [propertyHelper.js]
var x = Date.prototype.getUTCDate.length;
verifyNotWritable(Date.prototype.getUTCDate, "length", null, 1);
-if (Date.prototype.getUTCDate.length !== x) {
- throw new Test262Error('#1: The Date.prototype.getUTCDate.length has the attribute ReadOnly');
-}
+
+assert.sameValue(
+ Date.prototype.getUTCDate.length,
+ x,
+ 'The value of Date.prototype.getUTCDate.length is expected to equal the value of x'
+);
+
+// TODO: Convert to verifyProperty() format.
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/getUTCDate/S15.9.5.15_A3_T2.js b/js/src/tests/test262/built-ins/Date/prototype/getUTCDate/S15.9.5.15_A3_T2.js
index 5a373a17843d..e9dfd484db55 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/getUTCDate/S15.9.5.15_A3_T2.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/getUTCDate/S15.9.5.15_A3_T2.js
@@ -8,13 +8,17 @@ info: |
esid: sec-date.prototype.getutcdate
description: Checking DontDelete attribute
---*/
+assert.sameValue(
+ delete Date.prototype.getUTCDate.length,
+ true,
+ 'The value of `delete Date.prototype.getUTCDate.length` is expected to be true'
+);
-if (delete Date.prototype.getUTCDate.length !== true) {
- throw new Test262Error('#1: The Date.prototype.getUTCDate.length property does not have the attributes DontDelete');
-}
+assert(
+ !Date.prototype.getUTCDate.hasOwnProperty('length'),
+ 'The value of !Date.prototype.getUTCDate.hasOwnProperty(\'length\') is expected to be true'
+);
-if (Date.prototype.getUTCDate.hasOwnProperty('length')) {
- throw new Test262Error('#2: The Date.prototype.getUTCDate.length property does not have the attributes DontDelete');
-}
+// TODO: Convert to verifyProperty() format.
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/getUTCDate/S15.9.5.15_A3_T3.js b/js/src/tests/test262/built-ins/Date/prototype/getUTCDate/S15.9.5.15_A3_T3.js
index 2dd4e69e3d4b..17f63b8d667c 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/getUTCDate/S15.9.5.15_A3_T3.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/getUTCDate/S15.9.5.15_A3_T3.js
@@ -8,15 +8,15 @@ info: |
esid: sec-date.prototype.getutcdate
description: Checking DontEnum attribute
---*/
-
-if (Date.prototype.getUTCDate.propertyIsEnumerable('length')) {
- throw new Test262Error('#1: The Date.prototype.getUTCDate.length property has the attribute DontEnum');
-}
+assert(
+ !Date.prototype.getUTCDate.propertyIsEnumerable('length'),
+ 'The value of !Date.prototype.getUTCDate.propertyIsEnumerable(\'length\') is expected to be true'
+);
for (var x in Date.prototype.getUTCDate) {
- if (x === "length") {
- throw new Test262Error('#2: The Date.prototype.getUTCDate.length has the attribute DontEnum');
- }
+ assert.notSameValue(x, "length", 'The value of x is not "length"');
}
+// TODO: Convert to verifyProperty() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/getUTCDay/S15.9.5.17_A1_T1.js b/js/src/tests/test262/built-ins/Date/prototype/getUTCDay/S15.9.5.17_A1_T1.js
index 5bad968fff3c..cd9b0ff28790 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/getUTCDay/S15.9.5.17_A1_T1.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/getUTCDay/S15.9.5.17_A1_T1.js
@@ -8,12 +8,18 @@ description: Checking absence of ReadOnly attribute
---*/
var x = Date.prototype.getUTCDay;
-if (x === 1)
+if (x === 1) {
Date.prototype.getUTCDay = 2;
-else
+} else {
Date.prototype.getUTCDay = 1;
-if (Date.prototype.getUTCDay === x) {
- throw new Test262Error('#1: The Date.prototype.getUTCDay has not the attribute ReadOnly');
}
+assert.notSameValue(
+ Date.prototype.getUTCDay,
+ x,
+ 'The value of Date.prototype.getUTCDay is expected to not equal the value of `x`'
+);
+
+// TODO: Convert to verifyProperty() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/getUTCDay/S15.9.5.17_A1_T2.js b/js/src/tests/test262/built-ins/Date/prototype/getUTCDay/S15.9.5.17_A1_T2.js
index 5e15c02ba736..8863c901e30c 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/getUTCDay/S15.9.5.17_A1_T2.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/getUTCDay/S15.9.5.17_A1_T2.js
@@ -6,13 +6,13 @@ info: The Date.prototype property "getUTCDay" has { DontEnum } attributes
esid: sec-date.prototype.getutcdaty
description: Checking absence of DontDelete attribute
---*/
+assert.notSameValue(delete Date.prototype.getUTCDay, false, 'The value of delete Date.prototype.getUTCDay is not false');
-if (delete Date.prototype.getUTCDay === false) {
- throw new Test262Error('#1: The Date.prototype.getUTCDay property has not the attributes DontDelete');
-}
+assert(
+ !Date.prototype.hasOwnProperty('getUTCDay'),
+ 'The value of !Date.prototype.hasOwnProperty(\'getUTCDay\') is expected to be true'
+);
-if (Date.prototype.hasOwnProperty('getUTCDay')) {
- throw new Test262Error('#2: The Date.prototype.getUTCDay property has not the attributes DontDelete');
-}
+// TODO: Convert to verifyProperty() format.
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/getUTCDay/S15.9.5.17_A1_T3.js b/js/src/tests/test262/built-ins/Date/prototype/getUTCDay/S15.9.5.17_A1_T3.js
index 3ca9ca9a5e07..4b29c9feef79 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/getUTCDay/S15.9.5.17_A1_T3.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/getUTCDay/S15.9.5.17_A1_T3.js
@@ -6,15 +6,15 @@ info: The Date.prototype property "getUTCDay" has { DontEnum } attributes
esid: sec-date.prototype.getutcdaty
description: Checking DontEnum attribute
---*/
-
-if (Date.prototype.propertyIsEnumerable('getUTCDay')) {
- throw new Test262Error('#1: The Date.prototype.getUTCDay property has the attribute DontEnum');
-}
+assert(
+ !Date.prototype.propertyIsEnumerable('getUTCDay'),
+ 'The value of !Date.prototype.propertyIsEnumerable(\'getUTCDay\') is expected to be true'
+);
for (var x in Date.prototype) {
- if (x === "getUTCDay") {
- throw new Test262Error('#2: The Date.prototype.getUTCDay has the attribute DontEnum');
- }
+ assert.notSameValue(x, "getUTCDay", 'The value of x is not "getUTCDay"');
}
+// TODO: Convert to verifyProperty() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/getUTCDay/S15.9.5.17_A2_T1.js b/js/src/tests/test262/built-ins/Date/prototype/getUTCDay/S15.9.5.17_A2_T1.js
index 41d920c1f95f..c99eb6aedc61 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/getUTCDay/S15.9.5.17_A2_T1.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/getUTCDay/S15.9.5.17_A2_T1.js
@@ -6,13 +6,16 @@ info: The "length" property of the "getUTCDay" is 0
esid: sec-date.prototype.getutcdaty
description: The "length" property of the "getUTCDay" is 0
---*/
+assert.sameValue(
+ Date.prototype.getUTCDay.hasOwnProperty("length"),
+ true,
+ 'Date.prototype.getUTCDay.hasOwnProperty("length") must return true'
+);
-if (Date.prototype.getUTCDay.hasOwnProperty("length") !== true) {
- throw new Test262Error('#1: The getUTCDay has a "length" property');
-}
-
-if (Date.prototype.getUTCDay.length !== 0) {
- throw new Test262Error('#2: The "length" property of the getUTCDay is 0');
-}
+assert.sameValue(
+ Date.prototype.getUTCDay.length,
+ 0,
+ 'The value of Date.prototype.getUTCDay.length is expected to be 0'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/getUTCDay/S15.9.5.17_A3_T1.js b/js/src/tests/test262/built-ins/Date/prototype/getUTCDay/S15.9.5.17_A3_T1.js
index 6770f982516e..cdfc659d5bb9 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/getUTCDay/S15.9.5.17_A3_T1.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/getUTCDay/S15.9.5.17_A3_T1.js
@@ -12,8 +12,13 @@ includes: [propertyHelper.js]
var x = Date.prototype.getUTCDay.length;
verifyNotWritable(Date.prototype.getUTCDay, "length", null, 1);
-if (Date.prototype.getUTCDay.length !== x) {
- throw new Test262Error('#1: The Date.prototype.getUTCDay.length has the attribute ReadOnly');
-}
+
+assert.sameValue(
+ Date.prototype.getUTCDay.length,
+ x,
+ 'The value of Date.prototype.getUTCDay.length is expected to equal the value of x'
+);
+
+// TODO: Convert to verifyProperty() format.
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/getUTCDay/S15.9.5.17_A3_T2.js b/js/src/tests/test262/built-ins/Date/prototype/getUTCDay/S15.9.5.17_A3_T2.js
index 5cc63fe15e46..0ba6464b6163 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/getUTCDay/S15.9.5.17_A3_T2.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/getUTCDay/S15.9.5.17_A3_T2.js
@@ -8,13 +8,17 @@ info: |
esid: sec-date.prototype.getutcdaty
description: Checking DontDelete attribute
---*/
+assert.sameValue(
+ delete Date.prototype.getUTCDay.length,
+ true,
+ 'The value of `delete Date.prototype.getUTCDay.length` is expected to be true'
+);
-if (delete Date.prototype.getUTCDay.length !== true) {
- throw new Test262Error('#1: The Date.prototype.getUTCDay.length property does not have the attributes DontDelete');
-}
+assert(
+ !Date.prototype.getUTCDay.hasOwnProperty('length'),
+ 'The value of !Date.prototype.getUTCDay.hasOwnProperty(\'length\') is expected to be true'
+);
-if (Date.prototype.getUTCDay.hasOwnProperty('length')) {
- throw new Test262Error('#2: The Date.prototype.getUTCDay.length property does not have the attributes DontDelete');
-}
+// TODO: Convert to verifyProperty() format.
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/getUTCDay/S15.9.5.17_A3_T3.js b/js/src/tests/test262/built-ins/Date/prototype/getUTCDay/S15.9.5.17_A3_T3.js
index fa7608772bca..42c7b12a6d8b 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/getUTCDay/S15.9.5.17_A3_T3.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/getUTCDay/S15.9.5.17_A3_T3.js
@@ -8,15 +8,15 @@ info: |
esid: sec-date.prototype.getutcdaty
description: Checking DontEnum attribute
---*/
-
-if (Date.prototype.getUTCDay.propertyIsEnumerable('length')) {
- throw new Test262Error('#1: The Date.prototype.getUTCDay.length property has the attribute DontEnum');
-}
+assert(
+ !Date.prototype.getUTCDay.propertyIsEnumerable('length'),
+ 'The value of !Date.prototype.getUTCDay.propertyIsEnumerable(\'length\') is expected to be true'
+);
for (var x in Date.prototype.getUTCDay) {
- if (x === "length") {
- throw new Test262Error('#2: The Date.prototype.getUTCDay.length has the attribute DontEnum');
- }
+ assert.notSameValue(x, "length", 'The value of x is not "length"');
}
+// TODO: Convert to verifyProperty() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/getUTCFullYear/S15.9.5.11_A1_T1.js b/js/src/tests/test262/built-ins/Date/prototype/getUTCFullYear/S15.9.5.11_A1_T1.js
index 54e6cd200cca..ef8e59efbd9a 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/getUTCFullYear/S15.9.5.11_A1_T1.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/getUTCFullYear/S15.9.5.11_A1_T1.js
@@ -8,12 +8,18 @@ description: Checking absence of ReadOnly attribute
---*/
var x = Date.prototype.getUTCFullYear;
-if (x === 1)
+if (x === 1) {
Date.prototype.getUTCFullYear = 2;
-else
+} else {
Date.prototype.getUTCFullYear = 1;
-if (Date.prototype.getUTCFullYear === x) {
- throw new Test262Error('#1: The Date.prototype.getUTCFullYear has not the attribute ReadOnly');
}
+assert.notSameValue(
+ Date.prototype.getUTCFullYear,
+ x,
+ 'The value of Date.prototype.getUTCFullYear is expected to not equal the value of `x`'
+);
+
+// TODO: Convert to verifyProperty() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/getUTCFullYear/S15.9.5.11_A1_T2.js b/js/src/tests/test262/built-ins/Date/prototype/getUTCFullYear/S15.9.5.11_A1_T2.js
index db99c4843121..49733ea562a9 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/getUTCFullYear/S15.9.5.11_A1_T2.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/getUTCFullYear/S15.9.5.11_A1_T2.js
@@ -6,13 +6,17 @@ info: The Date.prototype property "getUTCFullYear" has { DontEnum } attributes
esid: sec-date.prototype.getutcfullyear
description: Checking absence of DontDelete attribute
---*/
+assert.notSameValue(
+ delete Date.prototype.getUTCFullYear,
+ false,
+ 'The value of delete Date.prototype.getUTCFullYear is not false'
+);
-if (delete Date.prototype.getUTCFullYear === false) {
- throw new Test262Error('#1: The Date.prototype.getUTCFullYear property has not the attributes DontDelete');
-}
+assert(
+ !Date.prototype.hasOwnProperty('getUTCFullYear'),
+ 'The value of !Date.prototype.hasOwnProperty(\'getUTCFullYear\') is expected to be true'
+);
-if (Date.prototype.hasOwnProperty('getUTCFullYear')) {
- throw new Test262Error('#2: The Date.prototype.getUTCFullYear property has not the attributes DontDelete');
-}
+// TODO: Convert to verifyProperty() format.
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/getUTCFullYear/S15.9.5.11_A1_T3.js b/js/src/tests/test262/built-ins/Date/prototype/getUTCFullYear/S15.9.5.11_A1_T3.js
index e2b5f8453afd..7ddec587e5f0 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/getUTCFullYear/S15.9.5.11_A1_T3.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/getUTCFullYear/S15.9.5.11_A1_T3.js
@@ -6,15 +6,15 @@ info: The Date.prototype property "getUTCFullYear" has { DontEnum } attributes
esid: sec-date.prototype.getutcfullyear
description: Checking DontEnum attribute
---*/
-
-if (Date.prototype.propertyIsEnumerable('getUTCFullYear')) {
- throw new Test262Error('#1: The Date.prototype.getUTCFullYear property has the attribute DontEnum');
-}
+assert(
+ !Date.prototype.propertyIsEnumerable('getUTCFullYear'),
+ 'The value of !Date.prototype.propertyIsEnumerable(\'getUTCFullYear\') is expected to be true'
+);
for (var x in Date.prototype) {
- if (x === "getUTCFullYear") {
- throw new Test262Error('#2: The Date.prototype.getUTCFullYear has the attribute DontEnum');
- }
+ assert.notSameValue(x, "getUTCFullYear", 'The value of x is not "getUTCFullYear"');
}
+// TODO: Convert to verifyProperty() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/getUTCFullYear/S15.9.5.11_A2_T1.js b/js/src/tests/test262/built-ins/Date/prototype/getUTCFullYear/S15.9.5.11_A2_T1.js
index ba1569d0c264..9779569d9b1a 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/getUTCFullYear/S15.9.5.11_A2_T1.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/getUTCFullYear/S15.9.5.11_A2_T1.js
@@ -6,13 +6,16 @@ info: The "length" property of the "getUTCFullYear" is 0
esid: sec-date.prototype.getutcfullyear
description: The "length" property of the "getUTCFullYear" is 0
---*/
+assert.sameValue(
+ Date.prototype.getUTCFullYear.hasOwnProperty("length"),
+ true,
+ 'Date.prototype.getUTCFullYear.hasOwnProperty("length") must return true'
+);
-if (Date.prototype.getUTCFullYear.hasOwnProperty("length") !== true) {
- throw new Test262Error('#1: The getUTCFullYear has a "length" property');
-}
-
-if (Date.prototype.getUTCFullYear.length !== 0) {
- throw new Test262Error('#2: The "length" property of the getUTCFullYear is 0');
-}
+assert.sameValue(
+ Date.prototype.getUTCFullYear.length,
+ 0,
+ 'The value of Date.prototype.getUTCFullYear.length is expected to be 0'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/getUTCFullYear/S15.9.5.11_A3_T1.js b/js/src/tests/test262/built-ins/Date/prototype/getUTCFullYear/S15.9.5.11_A3_T1.js
index fb8b829a3001..ae085004cc63 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/getUTCFullYear/S15.9.5.11_A3_T1.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/getUTCFullYear/S15.9.5.11_A3_T1.js
@@ -12,8 +12,13 @@ includes: [propertyHelper.js]
var x = Date.prototype.getUTCFullYear.length;
verifyNotWritable(Date.prototype.getUTCFullYear, "length", null, 1);
-if (Date.prototype.getUTCFullYear.length !== x) {
- throw new Test262Error('#1: The Date.prototype.getUTCFullYear.length has the attribute ReadOnly');
-}
+
+assert.sameValue(
+ Date.prototype.getUTCFullYear.length,
+ x,
+ 'The value of Date.prototype.getUTCFullYear.length is expected to equal the value of x'
+);
+
+// TODO: Convert to verifyProperty() format.
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/getUTCFullYear/S15.9.5.11_A3_T2.js b/js/src/tests/test262/built-ins/Date/prototype/getUTCFullYear/S15.9.5.11_A3_T2.js
index 16afec537996..8c21d6d78806 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/getUTCFullYear/S15.9.5.11_A3_T2.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/getUTCFullYear/S15.9.5.11_A3_T2.js
@@ -8,13 +8,17 @@ info: |
esid: sec-date.prototype.getutcfullyear
description: Checking DontDelete attribute
---*/
+assert.sameValue(
+ delete Date.prototype.getUTCFullYear.length,
+ true,
+ 'The value of `delete Date.prototype.getUTCFullYear.length` is expected to be true'
+);
-if (delete Date.prototype.getUTCFullYear.length !== true) {
- throw new Test262Error('#1: The Date.prototype.getUTCFullYear.length property does not have the attributes DontDelete');
-}
+assert(
+ !Date.prototype.getUTCFullYear.hasOwnProperty('length'),
+ 'The value of !Date.prototype.getUTCFullYear.hasOwnProperty(\'length\') is expected to be true'
+);
-if (Date.prototype.getUTCFullYear.hasOwnProperty('length')) {
- throw new Test262Error('#2: The Date.prototype.getUTCFullYear.length property does not have the attributes DontDelete');
-}
+// TODO: Convert to verifyProperty() format.
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/getUTCFullYear/S15.9.5.11_A3_T3.js b/js/src/tests/test262/built-ins/Date/prototype/getUTCFullYear/S15.9.5.11_A3_T3.js
index e66596211334..317b78bd4fc0 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/getUTCFullYear/S15.9.5.11_A3_T3.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/getUTCFullYear/S15.9.5.11_A3_T3.js
@@ -8,15 +8,15 @@ info: |
esid: sec-date.prototype.getutcfullyear
description: Checking DontEnum attribute
---*/
-
-if (Date.prototype.getUTCFullYear.propertyIsEnumerable('length')) {
- throw new Test262Error('#1: The Date.prototype.getUTCFullYear.length property has the attribute DontEnum');
-}
+assert(
+ !Date.prototype.getUTCFullYear.propertyIsEnumerable('length'),
+ 'The value of !Date.prototype.getUTCFullYear.propertyIsEnumerable(\'length\') is expected to be true'
+);
for (var x in Date.prototype.getUTCFullYear) {
- if (x === "length") {
- throw new Test262Error('#2: The Date.prototype.getUTCFullYear.length has the attribute DontEnum');
- }
+ assert.notSameValue(x, "length", 'The value of x is not "length"');
}
+// TODO: Convert to verifyProperty() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/getUTCHours/S15.9.5.19_A1_T1.js b/js/src/tests/test262/built-ins/Date/prototype/getUTCHours/S15.9.5.19_A1_T1.js
index 174f0eb1a233..c3dc2fec3fe2 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/getUTCHours/S15.9.5.19_A1_T1.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/getUTCHours/S15.9.5.19_A1_T1.js
@@ -8,12 +8,18 @@ description: Checking absence of ReadOnly attribute
---*/
var x = Date.prototype.getUTCHours;
-if (x === 1)
+if (x === 1) {
Date.prototype.getUTCHours = 2;
-else
+} else {
Date.prototype.getUTCHours = 1;
-if (Date.prototype.getUTCHours === x) {
- throw new Test262Error('#1: The Date.prototype.getUTCHours has not the attribute ReadOnly');
}
+assert.notSameValue(
+ Date.prototype.getUTCHours,
+ x,
+ 'The value of Date.prototype.getUTCHours is expected to not equal the value of `x`'
+);
+
+// TODO: Convert to verifyProperty() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/getUTCHours/S15.9.5.19_A1_T2.js b/js/src/tests/test262/built-ins/Date/prototype/getUTCHours/S15.9.5.19_A1_T2.js
index 08f3741b4e5c..391e4c9ae609 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/getUTCHours/S15.9.5.19_A1_T2.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/getUTCHours/S15.9.5.19_A1_T2.js
@@ -6,13 +6,17 @@ info: The Date.prototype property "getUTCHours" has { DontEnum } attributes
esid: sec-date.prototype.getutchours
description: Checking absence of DontDelete attribute
---*/
+assert.notSameValue(
+ delete Date.prototype.getUTCHours,
+ false,
+ 'The value of delete Date.prototype.getUTCHours is not false'
+);
-if (delete Date.prototype.getUTCHours === false) {
- throw new Test262Error('#1: The Date.prototype.getUTCHours property has not the attributes DontDelete');
-}
+assert(
+ !Date.prototype.hasOwnProperty('getUTCHours'),
+ 'The value of !Date.prototype.hasOwnProperty(\'getUTCHours\') is expected to be true'
+);
-if (Date.prototype.hasOwnProperty('getUTCHours')) {
- throw new Test262Error('#2: The Date.prototype.getUTCHours property has not the attributes DontDelete');
-}
+// TODO: Convert to verifyProperty() format.
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/getUTCHours/S15.9.5.19_A1_T3.js b/js/src/tests/test262/built-ins/Date/prototype/getUTCHours/S15.9.5.19_A1_T3.js
index e99c327dc036..881e02a43a4b 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/getUTCHours/S15.9.5.19_A1_T3.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/getUTCHours/S15.9.5.19_A1_T3.js
@@ -6,15 +6,15 @@ info: The Date.prototype property "getUTCHours" has { DontEnum } attributes
esid: sec-date.prototype.getutchours
description: Checking DontEnum attribute
---*/
-
-if (Date.prototype.propertyIsEnumerable('getUTCHours')) {
- throw new Test262Error('#1: The Date.prototype.getUTCHours property has the attribute DontEnum');
-}
+assert(
+ !Date.prototype.propertyIsEnumerable('getUTCHours'),
+ 'The value of !Date.prototype.propertyIsEnumerable(\'getUTCHours\') is expected to be true'
+);
for (var x in Date.prototype) {
- if (x === "getUTCHours") {
- throw new Test262Error('#2: The Date.prototype.getUTCHours has the attribute DontEnum');
- }
+ assert.notSameValue(x, "getUTCHours", 'The value of x is not "getUTCHours"');
}
+// TODO: Convert to verifyProperty() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/getUTCHours/S15.9.5.19_A2_T1.js b/js/src/tests/test262/built-ins/Date/prototype/getUTCHours/S15.9.5.19_A2_T1.js
index a582b2e3a6f9..8fc7619ec2b0 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/getUTCHours/S15.9.5.19_A2_T1.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/getUTCHours/S15.9.5.19_A2_T1.js
@@ -6,13 +6,16 @@ info: The "length" property of the "getUTCHours" is 0
esid: sec-date.prototype.getutchours
description: The "length" property of the "getUTCHours" is 0
---*/
+assert.sameValue(
+ Date.prototype.getUTCHours.hasOwnProperty("length"),
+ true,
+ 'Date.prototype.getUTCHours.hasOwnProperty("length") must return true'
+);
-if (Date.prototype.getUTCHours.hasOwnProperty("length") !== true) {
- throw new Test262Error('#1: The getUTCHours has a "length" property');
-}
-
-if (Date.prototype.getUTCHours.length !== 0) {
- throw new Test262Error('#2: The "length" property of the getUTCHours is 0');
-}
+assert.sameValue(
+ Date.prototype.getUTCHours.length,
+ 0,
+ 'The value of Date.prototype.getUTCHours.length is expected to be 0'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/getUTCHours/S15.9.5.19_A3_T1.js b/js/src/tests/test262/built-ins/Date/prototype/getUTCHours/S15.9.5.19_A3_T1.js
index 416305ae924b..17c8d64a95ee 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/getUTCHours/S15.9.5.19_A3_T1.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/getUTCHours/S15.9.5.19_A3_T1.js
@@ -12,8 +12,13 @@ includes: [propertyHelper.js]
var x = Date.prototype.getUTCHours.length;
verifyNotWritable(Date.prototype.getUTCHours, "length", null, 1);
-if (Date.prototype.getUTCHours.length !== x) {
- throw new Test262Error('#1: The Date.prototype.getUTCHours.length has the attribute ReadOnly');
-}
+
+assert.sameValue(
+ Date.prototype.getUTCHours.length,
+ x,
+ 'The value of Date.prototype.getUTCHours.length is expected to equal the value of x'
+);
+
+// TODO: Convert to verifyProperty() format.
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/getUTCHours/S15.9.5.19_A3_T2.js b/js/src/tests/test262/built-ins/Date/prototype/getUTCHours/S15.9.5.19_A3_T2.js
index 072fbbbcf7bd..b7bbcdcfdb3c 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/getUTCHours/S15.9.5.19_A3_T2.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/getUTCHours/S15.9.5.19_A3_T2.js
@@ -8,13 +8,17 @@ info: |
esid: sec-date.prototype.getutchours
description: Checking DontDelete attribute
---*/
+assert.sameValue(
+ delete Date.prototype.getUTCHours.length,
+ true,
+ 'The value of `delete Date.prototype.getUTCHours.length` is expected to be true'
+);
-if (delete Date.prototype.getUTCHours.length !== true) {
- throw new Test262Error('#1: The Date.prototype.getUTCHours.length property does not have the attributes DontDelete');
-}
+assert(
+ !Date.prototype.getUTCHours.hasOwnProperty('length'),
+ 'The value of !Date.prototype.getUTCHours.hasOwnProperty(\'length\') is expected to be true'
+);
-if (Date.prototype.getUTCHours.hasOwnProperty('length')) {
- throw new Test262Error('#2: The Date.prototype.getUTCHours.length property does not have the attributes DontDelete');
-}
+// TODO: Convert to verifyProperty() format.
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/getUTCHours/S15.9.5.19_A3_T3.js b/js/src/tests/test262/built-ins/Date/prototype/getUTCHours/S15.9.5.19_A3_T3.js
index 0c4c38ec02fb..d56f7edbef11 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/getUTCHours/S15.9.5.19_A3_T3.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/getUTCHours/S15.9.5.19_A3_T3.js
@@ -8,15 +8,15 @@ info: |
esid: sec-date.prototype.getutchours
description: Checking DontEnum attribute
---*/
-
-if (Date.prototype.getUTCHours.propertyIsEnumerable('length')) {
- throw new Test262Error('#1: The Date.prototype.getUTCHours.length property has the attribute DontEnum');
-}
+assert(
+ !Date.prototype.getUTCHours.propertyIsEnumerable('length'),
+ 'The value of !Date.prototype.getUTCHours.propertyIsEnumerable(\'length\') is expected to be true'
+);
for (var x in Date.prototype.getUTCHours) {
- if (x === "length") {
- throw new Test262Error('#2: The Date.prototype.getUTCHours.length has the attribute DontEnum');
- }
+ assert.notSameValue(x, "length", 'The value of x is not "length"');
}
+// TODO: Convert to verifyProperty() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/getUTCMilliseconds/S15.9.5.25_A1_T1.js b/js/src/tests/test262/built-ins/Date/prototype/getUTCMilliseconds/S15.9.5.25_A1_T1.js
index 0cfcbf5c4a0c..d9028f85d45f 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/getUTCMilliseconds/S15.9.5.25_A1_T1.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/getUTCMilliseconds/S15.9.5.25_A1_T1.js
@@ -10,12 +10,18 @@ description: Checking absence of ReadOnly attribute
---*/
var x = Date.prototype.getUTCMilliseconds;
-if (x === 1)
+if (x === 1) {
Date.prototype.getUTCMilliseconds = 2;
-else
+} else {
Date.prototype.getUTCMilliseconds = 1;
-if (Date.prototype.getUTCMilliseconds === x) {
- throw new Test262Error('#1: The Date.prototype.getUTCMilliseconds has not the attribute ReadOnly');
}
+assert.notSameValue(
+ Date.prototype.getUTCMilliseconds,
+ x,
+ 'The value of Date.prototype.getUTCMilliseconds is expected to not equal the value of `x`'
+);
+
+// TODO: Convert to verifyProperty() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/getUTCMilliseconds/S15.9.5.25_A1_T2.js b/js/src/tests/test262/built-ins/Date/prototype/getUTCMilliseconds/S15.9.5.25_A1_T2.js
index 6a30f0354c7c..54830aa061bf 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/getUTCMilliseconds/S15.9.5.25_A1_T2.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/getUTCMilliseconds/S15.9.5.25_A1_T2.js
@@ -8,13 +8,17 @@ info: |
esid: sec-date.prototype.getutcmilliseconds
description: Checking absence of DontDelete attribute
---*/
+assert.notSameValue(
+ delete Date.prototype.getUTCMilliseconds,
+ false,
+ 'The value of delete Date.prototype.getUTCMilliseconds is not false'
+);
-if (delete Date.prototype.getUTCMilliseconds === false) {
- throw new Test262Error('#1: The Date.prototype.getUTCMilliseconds property has not the attributes DontDelete');
-}
+assert(
+ !Date.prototype.hasOwnProperty('getUTCMilliseconds'),
+ 'The value of !Date.prototype.hasOwnProperty(\'getUTCMilliseconds\') is expected to be true'
+);
-if (Date.prototype.hasOwnProperty('getUTCMilliseconds')) {
- throw new Test262Error('#2: The Date.prototype.getUTCMilliseconds property has not the attributes DontDelete');
-}
+// TODO: Convert to verifyProperty() format.
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/getUTCMilliseconds/S15.9.5.25_A1_T3.js b/js/src/tests/test262/built-ins/Date/prototype/getUTCMilliseconds/S15.9.5.25_A1_T3.js
index 1b1ac5681a43..753702305782 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/getUTCMilliseconds/S15.9.5.25_A1_T3.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/getUTCMilliseconds/S15.9.5.25_A1_T3.js
@@ -8,15 +8,15 @@ info: |
esid: sec-date.prototype.getutcmilliseconds
description: Checking DontEnum attribute
---*/
-
-if (Date.prototype.propertyIsEnumerable('getUTCMilliseconds')) {
- throw new Test262Error('#1: The Date.prototype.getUTCMilliseconds property has the attribute DontEnum');
-}
+assert(
+ !Date.prototype.propertyIsEnumerable('getUTCMilliseconds'),
+ 'The value of !Date.prototype.propertyIsEnumerable(\'getUTCMilliseconds\') is expected to be true'
+);
for (var x in Date.prototype) {
- if (x === "getUTCMilliseconds") {
- throw new Test262Error('#2: The Date.prototype.getUTCMilliseconds has the attribute DontEnum');
- }
+ assert.notSameValue(x, "getUTCMilliseconds", 'The value of x is not "getUTCMilliseconds"');
}
+// TODO: Convert to verifyProperty() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/getUTCMilliseconds/S15.9.5.25_A2_T1.js b/js/src/tests/test262/built-ins/Date/prototype/getUTCMilliseconds/S15.9.5.25_A2_T1.js
index 4c8fae14c217..6aca17be309c 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/getUTCMilliseconds/S15.9.5.25_A2_T1.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/getUTCMilliseconds/S15.9.5.25_A2_T1.js
@@ -6,13 +6,16 @@ info: The "length" property of the "getUTCMilliseconds" is 0
esid: sec-date.prototype.getutcmilliseconds
description: The "length" property of the "getUTCMilliseconds" is 0
---*/
+assert.sameValue(
+ Date.prototype.getUTCMilliseconds.hasOwnProperty("length"),
+ true,
+ 'Date.prototype.getUTCMilliseconds.hasOwnProperty("length") must return true'
+);
-if (Date.prototype.getUTCMilliseconds.hasOwnProperty("length") !== true) {
- throw new Test262Error('#1: The getUTCMilliseconds has a "length" property');
-}
-
-if (Date.prototype.getUTCMilliseconds.length !== 0) {
- throw new Test262Error('#2: The "length" property of the getUTCMilliseconds is 0');
-}
+assert.sameValue(
+ Date.prototype.getUTCMilliseconds.length,
+ 0,
+ 'The value of Date.prototype.getUTCMilliseconds.length is expected to be 0'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/getUTCMilliseconds/S15.9.5.25_A3_T1.js b/js/src/tests/test262/built-ins/Date/prototype/getUTCMilliseconds/S15.9.5.25_A3_T1.js
index 7a9837d36449..751e632a3159 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/getUTCMilliseconds/S15.9.5.25_A3_T1.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/getUTCMilliseconds/S15.9.5.25_A3_T1.js
@@ -12,8 +12,13 @@ includes: [propertyHelper.js]
var x = Date.prototype.getUTCMilliseconds.length;
verifyNotWritable(Date.prototype.getUTCMilliseconds, "length", null, 1);
-if (Date.prototype.getUTCMilliseconds.length !== x) {
- throw new Test262Error('#1: The Date.prototype.getUTCMilliseconds.length has the attribute ReadOnly');
-}
+
+assert.sameValue(
+ Date.prototype.getUTCMilliseconds.length,
+ x,
+ 'The value of Date.prototype.getUTCMilliseconds.length is expected to equal the value of x'
+);
+
+// TODO: Convert to verifyProperty() format.
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/getUTCMilliseconds/S15.9.5.25_A3_T2.js b/js/src/tests/test262/built-ins/Date/prototype/getUTCMilliseconds/S15.9.5.25_A3_T2.js
index 6655437c91f4..d04f69662d08 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/getUTCMilliseconds/S15.9.5.25_A3_T2.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/getUTCMilliseconds/S15.9.5.25_A3_T2.js
@@ -8,13 +8,17 @@ info: |
esid: sec-date.prototype.getutcmilliseconds
description: Checking DontDelete attribute
---*/
+assert.sameValue(
+ delete Date.prototype.getUTCMilliseconds.length,
+ true,
+ 'The value of `delete Date.prototype.getUTCMilliseconds.length` is expected to be true'
+);
-if (delete Date.prototype.getUTCMilliseconds.length !== true) {
- throw new Test262Error('#1: The Date.prototype.getUTCMilliseconds.length property does not have the attributes DontDelete');
-}
+assert(
+ !Date.prototype.getUTCMilliseconds.hasOwnProperty('length'),
+ 'The value of !Date.prototype.getUTCMilliseconds.hasOwnProperty(\'length\') is expected to be true'
+);
-if (Date.prototype.getUTCMilliseconds.hasOwnProperty('length')) {
- throw new Test262Error('#2: The Date.prototype.getUTCMilliseconds.length property does not have the attributes DontDelete');
-}
+// TODO: Convert to verifyProperty() format.
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/getUTCMilliseconds/S15.9.5.25_A3_T3.js b/js/src/tests/test262/built-ins/Date/prototype/getUTCMilliseconds/S15.9.5.25_A3_T3.js
index 8f2bcdb6f0f4..6fb9ff17f22f 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/getUTCMilliseconds/S15.9.5.25_A3_T3.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/getUTCMilliseconds/S15.9.5.25_A3_T3.js
@@ -8,15 +8,15 @@ info: |
esid: sec-date.prototype.getutcmilliseconds
description: Checking DontEnum attribute
---*/
-
-if (Date.prototype.getUTCMilliseconds.propertyIsEnumerable('length')) {
- throw new Test262Error('#1: The Date.prototype.getUTCMilliseconds.length property has the attribute DontEnum');
-}
+assert(
+ !Date.prototype.getUTCMilliseconds.propertyIsEnumerable('length'),
+ 'The value of !Date.prototype.getUTCMilliseconds.propertyIsEnumerable(\'length\') is expected to be true'
+);
for (var x in Date.prototype.getUTCMilliseconds) {
- if (x === "length") {
- throw new Test262Error('#2: The Date.prototype.getUTCMilliseconds.length has the attribute DontEnum');
- }
+ assert.notSameValue(x, "length", 'The value of x is not "length"');
}
+// TODO: Convert to verifyProperty() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/getUTCMinutes/S15.9.5.21_A1_T1.js b/js/src/tests/test262/built-ins/Date/prototype/getUTCMinutes/S15.9.5.21_A1_T1.js
index 43f9636ef782..2f639c3cbbe5 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/getUTCMinutes/S15.9.5.21_A1_T1.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/getUTCMinutes/S15.9.5.21_A1_T1.js
@@ -8,12 +8,18 @@ description: Checking absence of ReadOnly attribute
---*/
var x = Date.prototype.getUTCMinutes;
-if (x === 1)
+if (x === 1) {
Date.prototype.getUTCMinutes = 2;
-else
+} else {
Date.prototype.getUTCMinutes = 1;
-if (Date.prototype.getUTCMinutes === x) {
- throw new Test262Error('#1: The Date.prototype.getUTCMinutes has not the attribute ReadOnly');
}
+assert.notSameValue(
+ Date.prototype.getUTCMinutes,
+ x,
+ 'The value of Date.prototype.getUTCMinutes is expected to not equal the value of `x`'
+);
+
+// TODO: Convert to verifyProperty() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/getUTCMinutes/S15.9.5.21_A1_T2.js b/js/src/tests/test262/built-ins/Date/prototype/getUTCMinutes/S15.9.5.21_A1_T2.js
index 5a733745fc41..c49b894496aa 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/getUTCMinutes/S15.9.5.21_A1_T2.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/getUTCMinutes/S15.9.5.21_A1_T2.js
@@ -6,13 +6,17 @@ info: The Date.prototype property "getUTCMinutes" has { DontEnum } attributes
esid: sec-date.prototype.getutcminutes
description: Checking absence of DontDelete attribute
---*/
+assert.notSameValue(
+ delete Date.prototype.getUTCMinutes,
+ false,
+ 'The value of delete Date.prototype.getUTCMinutes is not false'
+);
-if (delete Date.prototype.getUTCMinutes === false) {
- throw new Test262Error('#1: The Date.prototype.getUTCMinutes property has not the attributes DontDelete');
-}
+assert(
+ !Date.prototype.hasOwnProperty('getUTCMinutes'),
+ 'The value of !Date.prototype.hasOwnProperty(\'getUTCMinutes\') is expected to be true'
+);
-if (Date.prototype.hasOwnProperty('getUTCMinutes')) {
- throw new Test262Error('#2: The Date.prototype.getUTCMinutes property has not the attributes DontDelete');
-}
+// TODO: Convert to verifyProperty() format.
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/getUTCMinutes/S15.9.5.21_A1_T3.js b/js/src/tests/test262/built-ins/Date/prototype/getUTCMinutes/S15.9.5.21_A1_T3.js
index d995a0571de1..3d5acebb83e8 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/getUTCMinutes/S15.9.5.21_A1_T3.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/getUTCMinutes/S15.9.5.21_A1_T3.js
@@ -6,15 +6,15 @@ info: The Date.prototype property "getUTCMinutes" has { DontEnum } attributes
esid: sec-date.prototype.getutcminutes
description: Checking DontEnum attribute
---*/
-
-if (Date.prototype.propertyIsEnumerable('getUTCMinutes')) {
- throw new Test262Error('#1: The Date.prototype.getUTCMinutes property has the attribute DontEnum');
-}
+assert(
+ !Date.prototype.propertyIsEnumerable('getUTCMinutes'),
+ 'The value of !Date.prototype.propertyIsEnumerable(\'getUTCMinutes\') is expected to be true'
+);
for (var x in Date.prototype) {
- if (x === "getUTCMinutes") {
- throw new Test262Error('#2: The Date.prototype.getUTCMinutes has the attribute DontEnum');
- }
+ assert.notSameValue(x, "getUTCMinutes", 'The value of x is not "getUTCMinutes"');
}
+// TODO: Convert to verifyProperty() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/getUTCMinutes/S15.9.5.21_A2_T1.js b/js/src/tests/test262/built-ins/Date/prototype/getUTCMinutes/S15.9.5.21_A2_T1.js
index 946bb6d84a05..0779033d4ca7 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/getUTCMinutes/S15.9.5.21_A2_T1.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/getUTCMinutes/S15.9.5.21_A2_T1.js
@@ -6,13 +6,16 @@ info: The "length" property of the "getUTCMinutes" is 0
esid: sec-date.prototype.getutcminutes
description: The "length" property of the "getUTCMinutes" is 0
---*/
+assert.sameValue(
+ Date.prototype.getUTCMinutes.hasOwnProperty("length"),
+ true,
+ 'Date.prototype.getUTCMinutes.hasOwnProperty("length") must return true'
+);
-if (Date.prototype.getUTCMinutes.hasOwnProperty("length") !== true) {
- throw new Test262Error('#1: The getUTCMinutes has a "length" property');
-}
-
-if (Date.prototype.getUTCMinutes.length !== 0) {
- throw new Test262Error('#2: The "length" property of the getUTCMinutes is 0');
-}
+assert.sameValue(
+ Date.prototype.getUTCMinutes.length,
+ 0,
+ 'The value of Date.prototype.getUTCMinutes.length is expected to be 0'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/getUTCMinutes/S15.9.5.21_A3_T1.js b/js/src/tests/test262/built-ins/Date/prototype/getUTCMinutes/S15.9.5.21_A3_T1.js
index dbf1a2bcbfc7..4c43a77de8d2 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/getUTCMinutes/S15.9.5.21_A3_T1.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/getUTCMinutes/S15.9.5.21_A3_T1.js
@@ -12,8 +12,13 @@ includes: [propertyHelper.js]
var x = Date.prototype.getUTCMinutes.length;
verifyNotWritable(Date.prototype.getUTCMinutes, "length", null, 1);
-if (Date.prototype.getUTCMinutes.length !== x) {
- throw new Test262Error('#1: The Date.prototype.getUTCMinutes.length has the attribute ReadOnly');
-}
+
+assert.sameValue(
+ Date.prototype.getUTCMinutes.length,
+ x,
+ 'The value of Date.prototype.getUTCMinutes.length is expected to equal the value of x'
+);
+
+// TODO: Convert to verifyProperty() format.
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/getUTCMinutes/S15.9.5.21_A3_T2.js b/js/src/tests/test262/built-ins/Date/prototype/getUTCMinutes/S15.9.5.21_A3_T2.js
index ec485789d27a..2c6a0ee7eef8 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/getUTCMinutes/S15.9.5.21_A3_T2.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/getUTCMinutes/S15.9.5.21_A3_T2.js
@@ -8,13 +8,17 @@ info: |
esid: sec-date.prototype.getutcminutes
description: Checking DontDelete attribute
---*/
+assert.sameValue(
+ delete Date.prototype.getUTCMinutes.length,
+ true,
+ 'The value of `delete Date.prototype.getUTCMinutes.length` is expected to be true'
+);
-if (delete Date.prototype.getUTCMinutes.length !== true) {
- throw new Test262Error('#1: The Date.prototype.getUTCMinutes.length property does not have the attributes DontDelete');
-}
+assert(
+ !Date.prototype.getUTCMinutes.hasOwnProperty('length'),
+ 'The value of !Date.prototype.getUTCMinutes.hasOwnProperty(\'length\') is expected to be true'
+);
-if (Date.prototype.getUTCMinutes.hasOwnProperty('length')) {
- throw new Test262Error('#2: The Date.prototype.getUTCMinutes.length property does not have the attributes DontDelete');
-}
+// TODO: Convert to verifyProperty() format.
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/getUTCMinutes/S15.9.5.21_A3_T3.js b/js/src/tests/test262/built-ins/Date/prototype/getUTCMinutes/S15.9.5.21_A3_T3.js
index b5586cd77106..fc9ed2a7fb20 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/getUTCMinutes/S15.9.5.21_A3_T3.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/getUTCMinutes/S15.9.5.21_A3_T3.js
@@ -8,15 +8,15 @@ info: |
esid: sec-date.prototype.getutcminutes
description: Checking DontEnum attribute
---*/
-
-if (Date.prototype.getUTCMinutes.propertyIsEnumerable('length')) {
- throw new Test262Error('#1: The Date.prototype.getUTCMinutes.length property has the attribute DontEnum');
-}
+assert(
+ !Date.prototype.getUTCMinutes.propertyIsEnumerable('length'),
+ 'The value of !Date.prototype.getUTCMinutes.propertyIsEnumerable(\'length\') is expected to be true'
+);
for (var x in Date.prototype.getUTCMinutes) {
- if (x === "length") {
- throw new Test262Error('#2: The Date.prototype.getUTCMinutes.length has the attribute DontEnum');
- }
+ assert.notSameValue(x, "length", 'The value of x is not "length"');
}
+// TODO: Convert to verifyProperty() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/getUTCMonth/S15.9.5.13_A1_T1.js b/js/src/tests/test262/built-ins/Date/prototype/getUTCMonth/S15.9.5.13_A1_T1.js
index 01b81bec9b46..925d0587aba4 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/getUTCMonth/S15.9.5.13_A1_T1.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/getUTCMonth/S15.9.5.13_A1_T1.js
@@ -8,12 +8,18 @@ description: Checking absence of ReadOnly attribute
---*/
var x = Date.prototype.getUTCMonth;
-if (x === 1)
+if (x === 1) {
Date.prototype.getUTCMonth = 2;
-else
+} else {
Date.prototype.getUTCMonth = 1;
-if (Date.prototype.getUTCMonth === x) {
- throw new Test262Error('#1: The Date.prototype.getUTCMonth has not the attribute ReadOnly');
}
+assert.notSameValue(
+ Date.prototype.getUTCMonth,
+ x,
+ 'The value of Date.prototype.getUTCMonth is expected to not equal the value of `x`'
+);
+
+// TODO: Convert to verifyProperty() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/getUTCMonth/S15.9.5.13_A1_T2.js b/js/src/tests/test262/built-ins/Date/prototype/getUTCMonth/S15.9.5.13_A1_T2.js
index f4f0d60801c3..f5c1c1417063 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/getUTCMonth/S15.9.5.13_A1_T2.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/getUTCMonth/S15.9.5.13_A1_T2.js
@@ -6,13 +6,17 @@ info: The Date.prototype property "getUTCMonth" has { DontEnum } attributes
esid: sec-date.prototype.getutcmonth
description: Checking absence of DontDelete attribute
---*/
+assert.notSameValue(
+ delete Date.prototype.getUTCMonth,
+ false,
+ 'The value of delete Date.prototype.getUTCMonth is not false'
+);
-if (delete Date.prototype.getUTCMonth === false) {
- throw new Test262Error('#1: The Date.prototype.getUTCMonth property has not the attributes DontDelete');
-}
+assert(
+ !Date.prototype.hasOwnProperty('getUTCMonth'),
+ 'The value of !Date.prototype.hasOwnProperty(\'getUTCMonth\') is expected to be true'
+);
-if (Date.prototype.hasOwnProperty('getUTCMonth')) {
- throw new Test262Error('#2: The Date.prototype.getUTCMonth property has not the attributes DontDelete');
-}
+// TODO: Convert to verifyProperty() format.
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/getUTCMonth/S15.9.5.13_A1_T3.js b/js/src/tests/test262/built-ins/Date/prototype/getUTCMonth/S15.9.5.13_A1_T3.js
index 7c30142eb133..472b1c1447f2 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/getUTCMonth/S15.9.5.13_A1_T3.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/getUTCMonth/S15.9.5.13_A1_T3.js
@@ -6,15 +6,15 @@ info: The Date.prototype property "getUTCMonth" has { DontEnum } attributes
esid: sec-date.prototype.getutcmonth
description: Checking DontEnum attribute
---*/
-
-if (Date.prototype.propertyIsEnumerable('getUTCMonth')) {
- throw new Test262Error('#1: The Date.prototype.getUTCMonth property has the attribute DontEnum');
-}
+assert(
+ !Date.prototype.propertyIsEnumerable('getUTCMonth'),
+ 'The value of !Date.prototype.propertyIsEnumerable(\'getUTCMonth\') is expected to be true'
+);
for (var x in Date.prototype) {
- if (x === "getUTCMonth") {
- throw new Test262Error('#2: The Date.prototype.getUTCMonth has the attribute DontEnum');
- }
+ assert.notSameValue(x, "getUTCMonth", 'The value of x is not "getUTCMonth"');
}
+// TODO: Convert to verifyProperty() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/getUTCMonth/S15.9.5.13_A2_T1.js b/js/src/tests/test262/built-ins/Date/prototype/getUTCMonth/S15.9.5.13_A2_T1.js
index 7d9c3ab39f61..4fb366a9dc45 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/getUTCMonth/S15.9.5.13_A2_T1.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/getUTCMonth/S15.9.5.13_A2_T1.js
@@ -6,13 +6,16 @@ info: The "length" property of the "getUTCMonth" is 0
esid: sec-date.prototype.getutcmonth
description: The "length" property of the "getUTCMonth" is 0
---*/
+assert.sameValue(
+ Date.prototype.getUTCMonth.hasOwnProperty("length"),
+ true,
+ 'Date.prototype.getUTCMonth.hasOwnProperty("length") must return true'
+);
-if (Date.prototype.getUTCMonth.hasOwnProperty("length") !== true) {
- throw new Test262Error('#1: The getUTCMonth has a "length" property');
-}
-
-if (Date.prototype.getUTCMonth.length !== 0) {
- throw new Test262Error('#2: The "length" property of the getUTCMonth is 0');
-}
+assert.sameValue(
+ Date.prototype.getUTCMonth.length,
+ 0,
+ 'The value of Date.prototype.getUTCMonth.length is expected to be 0'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/getUTCMonth/S15.9.5.13_A3_T1.js b/js/src/tests/test262/built-ins/Date/prototype/getUTCMonth/S15.9.5.13_A3_T1.js
index 5df0ddfd664c..9ddd5d2fa4a0 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/getUTCMonth/S15.9.5.13_A3_T1.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/getUTCMonth/S15.9.5.13_A3_T1.js
@@ -12,8 +12,13 @@ includes: [propertyHelper.js]
var x = Date.prototype.getUTCMonth.length;
verifyNotWritable(Date.prototype.getUTCMonth, "length", null, 1);
-if (Date.prototype.getUTCMonth.length !== x) {
- throw new Test262Error('#1: The Date.prototype.getUTCMonth.length has the attribute ReadOnly');
-}
+
+assert.sameValue(
+ Date.prototype.getUTCMonth.length,
+ x,
+ 'The value of Date.prototype.getUTCMonth.length is expected to equal the value of x'
+);
+
+// TODO: Convert to verifyProperty() format.
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/getUTCMonth/S15.9.5.13_A3_T2.js b/js/src/tests/test262/built-ins/Date/prototype/getUTCMonth/S15.9.5.13_A3_T2.js
index 9993c559145a..b712a583b9c4 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/getUTCMonth/S15.9.5.13_A3_T2.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/getUTCMonth/S15.9.5.13_A3_T2.js
@@ -8,13 +8,17 @@ info: |
esid: sec-date.prototype.getutcmonth
description: Checking DontDelete attribute
---*/
+assert.sameValue(
+ delete Date.prototype.getUTCMonth.length,
+ true,
+ 'The value of `delete Date.prototype.getUTCMonth.length` is expected to be true'
+);
-if (delete Date.prototype.getUTCMonth.length !== true) {
- throw new Test262Error('#1: The Date.prototype.getUTCMonth.length property does not have the attributes DontDelete');
-}
+assert(
+ !Date.prototype.getUTCMonth.hasOwnProperty('length'),
+ 'The value of !Date.prototype.getUTCMonth.hasOwnProperty(\'length\') is expected to be true'
+);
-if (Date.prototype.getUTCMonth.hasOwnProperty('length')) {
- throw new Test262Error('#2: The Date.prototype.getUTCMonth.length property does not have the attributes DontDelete');
-}
+// TODO: Convert to verifyProperty() format.
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/getUTCMonth/S15.9.5.13_A3_T3.js b/js/src/tests/test262/built-ins/Date/prototype/getUTCMonth/S15.9.5.13_A3_T3.js
index bb1e0a61b6ac..0d06b876dbeb 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/getUTCMonth/S15.9.5.13_A3_T3.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/getUTCMonth/S15.9.5.13_A3_T3.js
@@ -8,15 +8,15 @@ info: |
esid: sec-date.prototype.getutcmonth
description: Checking DontEnum attribute
---*/
-
-if (Date.prototype.getUTCMonth.propertyIsEnumerable('length')) {
- throw new Test262Error('#1: The Date.prototype.getUTCMonth.length property has the attribute DontEnum');
-}
+assert(
+ !Date.prototype.getUTCMonth.propertyIsEnumerable('length'),
+ 'The value of !Date.prototype.getUTCMonth.propertyIsEnumerable(\'length\') is expected to be true'
+);
for (var x in Date.prototype.getUTCMonth) {
- if (x === "length") {
- throw new Test262Error('#2: The Date.prototype.getUTCMonth.length has the attribute DontEnum');
- }
+ assert.notSameValue(x, "length", 'The value of x is not "length"');
}
+// TODO: Convert to verifyProperty() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/getUTCSeconds/S15.9.5.23_A1_T1.js b/js/src/tests/test262/built-ins/Date/prototype/getUTCSeconds/S15.9.5.23_A1_T1.js
index 56418f1a6844..85b6e8fc612e 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/getUTCSeconds/S15.9.5.23_A1_T1.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/getUTCSeconds/S15.9.5.23_A1_T1.js
@@ -8,12 +8,18 @@ description: Checking absence of ReadOnly attribute
---*/
var x = Date.prototype.getUTCSeconds;
-if (x === 1)
+if (x === 1) {
Date.prototype.getUTCSeconds = 2;
-else
+} else {
Date.prototype.getUTCSeconds = 1;
-if (Date.prototype.getUTCSeconds === x) {
- throw new Test262Error('#1: The Date.prototype.getUTCSeconds has not the attribute ReadOnly');
}
+assert.notSameValue(
+ Date.prototype.getUTCSeconds,
+ x,
+ 'The value of Date.prototype.getUTCSeconds is expected to not equal the value of `x`'
+);
+
+// TODO: Convert to verifyProperty() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/getUTCSeconds/S15.9.5.23_A1_T2.js b/js/src/tests/test262/built-ins/Date/prototype/getUTCSeconds/S15.9.5.23_A1_T2.js
index 0f3e76e65c77..fb718d5d2c30 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/getUTCSeconds/S15.9.5.23_A1_T2.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/getUTCSeconds/S15.9.5.23_A1_T2.js
@@ -6,13 +6,17 @@ info: The Date.prototype property "getUTCSeconds" has { DontEnum } attributes
esid: sec-date.prototype.getutcseconds
description: Checking absence of DontDelete attribute
---*/
+assert.notSameValue(
+ delete Date.prototype.getUTCSeconds,
+ false,
+ 'The value of delete Date.prototype.getUTCSeconds is not false'
+);
-if (delete Date.prototype.getUTCSeconds === false) {
- throw new Test262Error('#1: The Date.prototype.getUTCSeconds property has not the attributes DontDelete');
-}
+assert(
+ !Date.prototype.hasOwnProperty('getUTCSeconds'),
+ 'The value of !Date.prototype.hasOwnProperty(\'getUTCSeconds\') is expected to be true'
+);
-if (Date.prototype.hasOwnProperty('getUTCSeconds')) {
- throw new Test262Error('#2: The Date.prototype.getUTCSeconds property has not the attributes DontDelete');
-}
+// TODO: Convert to verifyProperty() format.
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/getUTCSeconds/S15.9.5.23_A1_T3.js b/js/src/tests/test262/built-ins/Date/prototype/getUTCSeconds/S15.9.5.23_A1_T3.js
index 8e24028d612b..98e0d3a30237 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/getUTCSeconds/S15.9.5.23_A1_T3.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/getUTCSeconds/S15.9.5.23_A1_T3.js
@@ -6,15 +6,15 @@ info: The Date.prototype property "getUTCSeconds" has { DontEnum } attributes
esid: sec-date.prototype.getutcseconds
description: Checking DontEnum attribute
---*/
-
-if (Date.prototype.propertyIsEnumerable('getUTCSeconds')) {
- throw new Test262Error('#1: The Date.prototype.getUTCSeconds property has the attribute DontEnum');
-}
+assert(
+ !Date.prototype.propertyIsEnumerable('getUTCSeconds'),
+ 'The value of !Date.prototype.propertyIsEnumerable(\'getUTCSeconds\') is expected to be true'
+);
for (var x in Date.prototype) {
- if (x === "getUTCSeconds") {
- throw new Test262Error('#2: The Date.prototype.getUTCSeconds has the attribute DontEnum');
- }
+ assert.notSameValue(x, "getUTCSeconds", 'The value of x is not "getUTCSeconds"');
}
+// TODO: Convert to verifyProperty() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/getUTCSeconds/S15.9.5.23_A2_T1.js b/js/src/tests/test262/built-ins/Date/prototype/getUTCSeconds/S15.9.5.23_A2_T1.js
index 2dbd43b4142c..ab2c4c4c935a 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/getUTCSeconds/S15.9.5.23_A2_T1.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/getUTCSeconds/S15.9.5.23_A2_T1.js
@@ -6,13 +6,16 @@ info: The "length" property of the "getUTCSeconds" is 0
esid: sec-date.prototype.getutcseconds
description: The "length" property of the "getUTCSeconds" is 0
---*/
+assert.sameValue(
+ Date.prototype.getUTCSeconds.hasOwnProperty("length"),
+ true,
+ 'Date.prototype.getUTCSeconds.hasOwnProperty("length") must return true'
+);
-if (Date.prototype.getUTCSeconds.hasOwnProperty("length") !== true) {
- throw new Test262Error('#1: The getUTCSeconds has a "length" property');
-}
-
-if (Date.prototype.getUTCSeconds.length !== 0) {
- throw new Test262Error('#2: The "length" property of the getUTCSeconds is 0');
-}
+assert.sameValue(
+ Date.prototype.getUTCSeconds.length,
+ 0,
+ 'The value of Date.prototype.getUTCSeconds.length is expected to be 0'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/getUTCSeconds/S15.9.5.23_A3_T1.js b/js/src/tests/test262/built-ins/Date/prototype/getUTCSeconds/S15.9.5.23_A3_T1.js
index 2ffc345f7408..fdce7234f67e 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/getUTCSeconds/S15.9.5.23_A3_T1.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/getUTCSeconds/S15.9.5.23_A3_T1.js
@@ -12,8 +12,13 @@ includes: [propertyHelper.js]
var x = Date.prototype.getUTCSeconds.length;
verifyNotWritable(Date.prototype.getUTCSeconds, "length", null, 1);
-if (Date.prototype.getUTCSeconds.length !== x) {
- throw new Test262Error('#1: The Date.prototype.getUTCSeconds.length has the attribute ReadOnly');
-}
+
+assert.sameValue(
+ Date.prototype.getUTCSeconds.length,
+ x,
+ 'The value of Date.prototype.getUTCSeconds.length is expected to equal the value of x'
+);
+
+// TODO: Convert to verifyProperty() format.
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/getUTCSeconds/S15.9.5.23_A3_T2.js b/js/src/tests/test262/built-ins/Date/prototype/getUTCSeconds/S15.9.5.23_A3_T2.js
index 0efae11b6248..45a794334f8b 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/getUTCSeconds/S15.9.5.23_A3_T2.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/getUTCSeconds/S15.9.5.23_A3_T2.js
@@ -8,13 +8,17 @@ info: |
esid: sec-date.prototype.getutcseconds
description: Checking DontDelete attribute
---*/
+assert.sameValue(
+ delete Date.prototype.getUTCSeconds.length,
+ true,
+ 'The value of `delete Date.prototype.getUTCSeconds.length` is expected to be true'
+);
-if (delete Date.prototype.getUTCSeconds.length !== true) {
- throw new Test262Error('#1: The Date.prototype.getUTCSeconds.length property does not have the attributes DontDelete');
-}
+assert(
+ !Date.prototype.getUTCSeconds.hasOwnProperty('length'),
+ 'The value of !Date.prototype.getUTCSeconds.hasOwnProperty(\'length\') is expected to be true'
+);
-if (Date.prototype.getUTCSeconds.hasOwnProperty('length')) {
- throw new Test262Error('#2: The Date.prototype.getUTCSeconds.length property does not have the attributes DontDelete');
-}
+// TODO: Convert to verifyProperty() format.
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/getUTCSeconds/S15.9.5.23_A3_T3.js b/js/src/tests/test262/built-ins/Date/prototype/getUTCSeconds/S15.9.5.23_A3_T3.js
index 5606e8b12037..fc43b2b26683 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/getUTCSeconds/S15.9.5.23_A3_T3.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/getUTCSeconds/S15.9.5.23_A3_T3.js
@@ -8,15 +8,15 @@ info: |
esid: sec-date.prototype.getutcseconds
description: Checking DontEnum attribute
---*/
-
-if (Date.prototype.getUTCSeconds.propertyIsEnumerable('length')) {
- throw new Test262Error('#1: The Date.prototype.getUTCSeconds.length property has the attribute DontEnum');
-}
+assert(
+ !Date.prototype.getUTCSeconds.propertyIsEnumerable('length'),
+ 'The value of !Date.prototype.getUTCSeconds.propertyIsEnumerable(\'length\') is expected to be true'
+);
for (var x in Date.prototype.getUTCSeconds) {
- if (x === "length") {
- throw new Test262Error('#2: The Date.prototype.getUTCSeconds.length has the attribute DontEnum');
- }
+ assert.notSameValue(x, "length", 'The value of x is not "length"');
}
+// TODO: Convert to verifyProperty() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/setDate/S15.9.5.36_A1_T1.js b/js/src/tests/test262/built-ins/Date/prototype/setDate/S15.9.5.36_A1_T1.js
index 8b96b7b1a042..801ffd0e1782 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/setDate/S15.9.5.36_A1_T1.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/setDate/S15.9.5.36_A1_T1.js
@@ -8,12 +8,18 @@ description: Checking absence of ReadOnly attribute
---*/
var x = Date.prototype.setDate;
-if (x === 1)
+if (x === 1) {
Date.prototype.setDate = 2;
-else
+} else {
Date.prototype.setDate = 1;
-if (Date.prototype.setDate === x) {
- throw new Test262Error('#1: The Date.prototype.setDate has not the attribute ReadOnly');
}
+assert.notSameValue(
+ Date.prototype.setDate,
+ x,
+ 'The value of Date.prototype.setDate is expected to not equal the value of `x`'
+);
+
+// TODO: Convert to verifyProperty() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/setDate/S15.9.5.36_A1_T2.js b/js/src/tests/test262/built-ins/Date/prototype/setDate/S15.9.5.36_A1_T2.js
index da104686e1c4..d0ad33c7de4a 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/setDate/S15.9.5.36_A1_T2.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/setDate/S15.9.5.36_A1_T2.js
@@ -6,13 +6,13 @@ info: The Date.prototype property "setDate" has { DontEnum } attributes
esid: sec-date.prototype.setdate
description: Checking absence of DontDelete attribute
---*/
+assert.notSameValue(delete Date.prototype.setDate, false, 'The value of delete Date.prototype.setDate is not false');
-if (delete Date.prototype.setDate === false) {
- throw new Test262Error('#1: The Date.prototype.setDate property has not the attributes DontDelete');
-}
+assert(
+ !Date.prototype.hasOwnProperty('setDate'),
+ 'The value of !Date.prototype.hasOwnProperty(\'setDate\') is expected to be true'
+);
-if (Date.prototype.hasOwnProperty('setDate')) {
- throw new Test262Error('#2: The Date.prototype.setDate property has not the attributes DontDelete');
-}
+// TODO: Convert to verifyProperty() format.
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/setDate/S15.9.5.36_A1_T3.js b/js/src/tests/test262/built-ins/Date/prototype/setDate/S15.9.5.36_A1_T3.js
index 68b58d995a29..f6f9ffd9303a 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/setDate/S15.9.5.36_A1_T3.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/setDate/S15.9.5.36_A1_T3.js
@@ -6,15 +6,15 @@ info: The Date.prototype property "setDate" has { DontEnum } attributes
esid: sec-date.prototype.setdate
description: Checking DontEnum attribute
---*/
-
-if (Date.prototype.propertyIsEnumerable('setDate')) {
- throw new Test262Error('#1: The Date.prototype.setDate property has the attribute DontEnum');
-}
+assert(
+ !Date.prototype.propertyIsEnumerable('setDate'),
+ 'The value of !Date.prototype.propertyIsEnumerable(\'setDate\') is expected to be true'
+);
for (var x in Date.prototype) {
- if (x === "setDate") {
- throw new Test262Error('#2: The Date.prototype.setDate has the attribute DontEnum');
- }
+ assert.notSameValue(x, "setDate", 'The value of x is not "setDate"');
}
+// TODO: Convert to verifyProperty() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/setDate/S15.9.5.36_A2_T1.js b/js/src/tests/test262/built-ins/Date/prototype/setDate/S15.9.5.36_A2_T1.js
index 8e1c29d99884..a54d6a167d27 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/setDate/S15.9.5.36_A2_T1.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/setDate/S15.9.5.36_A2_T1.js
@@ -6,13 +6,12 @@ info: The "length" property of the "setDate" is 1
esid: sec-date.prototype.setdate
description: The "length" property of the "setDate" is 1
---*/
+assert.sameValue(
+ Date.prototype.setDate.hasOwnProperty("length"),
+ true,
+ 'Date.prototype.setDate.hasOwnProperty("length") must return true'
+);
-if (Date.prototype.setDate.hasOwnProperty("length") !== true) {
- throw new Test262Error('#1: The setDate has a "length" property');
-}
-
-if (Date.prototype.setDate.length !== 1) {
- throw new Test262Error('#2: The "length" property of the setDate is 1');
-}
+assert.sameValue(Date.prototype.setDate.length, 1, 'The value of Date.prototype.setDate.length is expected to be 1');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/setDate/S15.9.5.36_A3_T1.js b/js/src/tests/test262/built-ins/Date/prototype/setDate/S15.9.5.36_A3_T1.js
index 3ef191df1f21..97e9613bb6d2 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/setDate/S15.9.5.36_A3_T1.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/setDate/S15.9.5.36_A3_T1.js
@@ -12,8 +12,13 @@ includes: [propertyHelper.js]
var x = Date.prototype.setDate.length;
verifyNotWritable(Date.prototype.setDate, "length", null, 1);
-if (Date.prototype.setDate.length !== x) {
- throw new Test262Error('#1: The Date.prototype.setDate.length has the attribute ReadOnly');
-}
+
+assert.sameValue(
+ Date.prototype.setDate.length,
+ x,
+ 'The value of Date.prototype.setDate.length is expected to equal the value of x'
+);
+
+// TODO: Convert to verifyProperty() format.
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/setDate/S15.9.5.36_A3_T2.js b/js/src/tests/test262/built-ins/Date/prototype/setDate/S15.9.5.36_A3_T2.js
index a70639c31016..5b82b4c5d254 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/setDate/S15.9.5.36_A3_T2.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/setDate/S15.9.5.36_A3_T2.js
@@ -8,13 +8,17 @@ info: |
esid: sec-date.prototype.setdate
description: Checking DontDelete attribute
---*/
+assert.sameValue(
+ delete Date.prototype.setDate.length,
+ true,
+ 'The value of `delete Date.prototype.setDate.length` is expected to be true'
+);
-if (delete Date.prototype.setDate.length !== true) {
- throw new Test262Error('#1: The Date.prototype.setDate.length property does not have the attributes DontDelete');
-}
+assert(
+ !Date.prototype.setDate.hasOwnProperty('length'),
+ 'The value of !Date.prototype.setDate.hasOwnProperty(\'length\') is expected to be true'
+);
-if (Date.prototype.setDate.hasOwnProperty('length')) {
- throw new Test262Error('#2: The Date.prototype.setDate.length property does not have the attributes DontDelete');
-}
+// TODO: Convert to verifyProperty() format.
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/setDate/S15.9.5.36_A3_T3.js b/js/src/tests/test262/built-ins/Date/prototype/setDate/S15.9.5.36_A3_T3.js
index 1fd1b3f1bc41..7bc1624b0bc1 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/setDate/S15.9.5.36_A3_T3.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/setDate/S15.9.5.36_A3_T3.js
@@ -8,15 +8,15 @@ info: |
esid: sec-date.prototype.setdate
description: Checking DontEnum attribute
---*/
-
-if (Date.prototype.setDate.propertyIsEnumerable('length')) {
- throw new Test262Error('#1: The Date.prototype.setDate.length property has the attribute DontEnum');
-}
+assert(
+ !Date.prototype.setDate.propertyIsEnumerable('length'),
+ 'The value of !Date.prototype.setDate.propertyIsEnumerable(\'length\') is expected to be true'
+);
for (var x in Date.prototype.setDate) {
- if (x === "length") {
- throw new Test262Error('#2: The Date.prototype.setDate.length has the attribute DontEnum');
- }
+ assert.notSameValue(x, "length", 'The value of x is not "length"');
}
+// TODO: Convert to verifyProperty() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/setDate/arg-coercion-order.js b/js/src/tests/test262/built-ins/Date/prototype/setDate/arg-coercion-order.js
new file mode 100644
index 000000000000..094bec44543f
--- /dev/null
+++ b/js/src/tests/test262/built-ins/Date/prototype/setDate/arg-coercion-order.js
@@ -0,0 +1,32 @@
+// Copyright (C) 2021 Kevin Gibbons. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-date.prototype.setdate
+description: Order of coercion of provided argument vs NaN check
+info: |
+ 1. Let t be ? thisTimeValue(this value).
+ 2. Let dt be ? ToNumber(date).
+ 3. If t is NaN, return NaN.
+ 4. Set t to LocalTime(t).
+ 5. Let newDate be MakeDate(MakeDay(YearFromTime(t), MonthFromTime(t), dt), TimeWithinDay(t)).
+ 6. Let u be TimeClip(UTC(newDate)).
+ 7. Set the [[DateValue]] internal slot of this Date object to u.
+ 8. Return u.
+---*/
+
+var date = new Date(NaN);
+var callCount = 0;
+var arg = {
+ valueOf: function() {
+ callCount += 1;
+ return 0;
+ }
+};
+
+var returnValue = date.setDate(arg);
+
+assert.sameValue(callCount, 1, 'ToNumber invoked exactly once');
+assert.sameValue(returnValue, NaN, 'argument is ignored when `this` is an invalid date');
+assert.sameValue(date.getTime(), NaN, 'argument is ignored when `this` is an invalid date');
+
+reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/setFullYear/S15.9.5.40_A1_T1.js b/js/src/tests/test262/built-ins/Date/prototype/setFullYear/S15.9.5.40_A1_T1.js
index 110f9d2d5829..b958ff7ac00a 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/setFullYear/S15.9.5.40_A1_T1.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/setFullYear/S15.9.5.40_A1_T1.js
@@ -8,12 +8,18 @@ description: Checking absence of ReadOnly attribute
---*/
var x = Date.prototype.setFullYear;
-if (x === 1)
+if (x === 1) {
Date.prototype.setFullYear = 2;
-else
+} else {
Date.prototype.setFullYear = 1;
-if (Date.prototype.setFullYear === x) {
- throw new Test262Error('#1: The Date.prototype.setFullYear has not the attribute ReadOnly');
}
+assert.notSameValue(
+ Date.prototype.setFullYear,
+ x,
+ 'The value of Date.prototype.setFullYear is expected to not equal the value of `x`'
+);
+
+// TODO: Convert to verifyProperty() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/setFullYear/S15.9.5.40_A1_T2.js b/js/src/tests/test262/built-ins/Date/prototype/setFullYear/S15.9.5.40_A1_T2.js
index 0c99a942a207..ac18a41d6f07 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/setFullYear/S15.9.5.40_A1_T2.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/setFullYear/S15.9.5.40_A1_T2.js
@@ -6,13 +6,17 @@ info: The Date.prototype property "setFullYear" has { DontEnum } attributes
esid: sec-date.prototype.setfullyear
description: Checking absence of DontDelete attribute
---*/
+assert.notSameValue(
+ delete Date.prototype.setFullYear,
+ false,
+ 'The value of delete Date.prototype.setFullYear is not false'
+);
-if (delete Date.prototype.setFullYear === false) {
- throw new Test262Error('#1: The Date.prototype.setFullYear property has not the attributes DontDelete');
-}
+assert(
+ !Date.prototype.hasOwnProperty('setFullYear'),
+ 'The value of !Date.prototype.hasOwnProperty(\'setFullYear\') is expected to be true'
+);
-if (Date.prototype.hasOwnProperty('setFullYear')) {
- throw new Test262Error('#2: The Date.prototype.setFullYear property has not the attributes DontDelete');
-}
+// TODO: Convert to verifyProperty() format.
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/setFullYear/S15.9.5.40_A1_T3.js b/js/src/tests/test262/built-ins/Date/prototype/setFullYear/S15.9.5.40_A1_T3.js
index d1572fe6306c..f342b5755082 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/setFullYear/S15.9.5.40_A1_T3.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/setFullYear/S15.9.5.40_A1_T3.js
@@ -6,15 +6,15 @@ info: The Date.prototype property "setFullYear" has { DontEnum } attributes
esid: sec-date.prototype.setfullyear
description: Checking DontEnum attribute
---*/
-
-if (Date.prototype.propertyIsEnumerable('setFullYear')) {
- throw new Test262Error('#1: The Date.prototype.setFullYear property has the attribute DontEnum');
-}
+assert(
+ !Date.prototype.propertyIsEnumerable('setFullYear'),
+ 'The value of !Date.prototype.propertyIsEnumerable(\'setFullYear\') is expected to be true'
+);
for (var x in Date.prototype) {
- if (x === "setFullYear") {
- throw new Test262Error('#2: The Date.prototype.setFullYear has the attribute DontEnum');
- }
+ assert.notSameValue(x, "setFullYear", 'The value of x is not "setFullYear"');
}
+// TODO: Convert to verifyProperty() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/setFullYear/S15.9.5.40_A2_T1.js b/js/src/tests/test262/built-ins/Date/prototype/setFullYear/S15.9.5.40_A2_T1.js
index a4e5edf3696a..f7f92225f75c 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/setFullYear/S15.9.5.40_A2_T1.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/setFullYear/S15.9.5.40_A2_T1.js
@@ -6,13 +6,16 @@ info: The "length" property of the "setFullYear" is 3
esid: sec-date.prototype.setfullyear
description: The "length" property of the "setFullYear" is 3
---*/
+assert.sameValue(
+ Date.prototype.setFullYear.hasOwnProperty("length"),
+ true,
+ 'Date.prototype.setFullYear.hasOwnProperty("length") must return true'
+);
-if (Date.prototype.setFullYear.hasOwnProperty("length") !== true) {
- throw new Test262Error('#1: The setFullYear has a "length" property');
-}
-
-if (Date.prototype.setFullYear.length !== 3) {
- throw new Test262Error('#2: The "length" property of the setFullYear is 3');
-}
+assert.sameValue(
+ Date.prototype.setFullYear.length,
+ 3,
+ 'The value of Date.prototype.setFullYear.length is expected to be 3'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/setFullYear/S15.9.5.40_A3_T1.js b/js/src/tests/test262/built-ins/Date/prototype/setFullYear/S15.9.5.40_A3_T1.js
index cf374fb191cd..9f8c4bf99c4d 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/setFullYear/S15.9.5.40_A3_T1.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/setFullYear/S15.9.5.40_A3_T1.js
@@ -12,8 +12,13 @@ includes: [propertyHelper.js]
var x = Date.prototype.setFullYear.length;
verifyNotWritable(Date.prototype.setFullYear, "length", null, 1);
-if (Date.prototype.setFullYear.length !== x) {
- throw new Test262Error('#1: The Date.prototype.setFullYear.length has the attribute ReadOnly');
-}
+
+assert.sameValue(
+ Date.prototype.setFullYear.length,
+ x,
+ 'The value of Date.prototype.setFullYear.length is expected to equal the value of x'
+);
+
+// TODO: Convert to verifyProperty() format.
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/setFullYear/S15.9.5.40_A3_T2.js b/js/src/tests/test262/built-ins/Date/prototype/setFullYear/S15.9.5.40_A3_T2.js
index 37dda4a88fe4..562b430dcfd1 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/setFullYear/S15.9.5.40_A3_T2.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/setFullYear/S15.9.5.40_A3_T2.js
@@ -8,13 +8,17 @@ info: |
esid: sec-date.prototype.setfullyear
description: Checking DontDelete attribute
---*/
+assert.sameValue(
+ delete Date.prototype.setFullYear.length,
+ true,
+ 'The value of `delete Date.prototype.setFullYear.length` is expected to be true'
+);
-if (delete Date.prototype.setFullYear.length !== true) {
- throw new Test262Error('#1: The Date.prototype.setFullYear.length property does not have the attributes DontDelete');
-}
+assert(
+ !Date.prototype.setFullYear.hasOwnProperty('length'),
+ 'The value of !Date.prototype.setFullYear.hasOwnProperty(\'length\') is expected to be true'
+);
-if (Date.prototype.setFullYear.hasOwnProperty('length')) {
- throw new Test262Error('#2: The Date.prototype.setFullYear.length property does not have the attributes DontDelete');
-}
+// TODO: Convert to verifyProperty() format.
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/setFullYear/S15.9.5.40_A3_T3.js b/js/src/tests/test262/built-ins/Date/prototype/setFullYear/S15.9.5.40_A3_T3.js
index 8c8133fe7df3..707623ba5171 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/setFullYear/S15.9.5.40_A3_T3.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/setFullYear/S15.9.5.40_A3_T3.js
@@ -8,15 +8,15 @@ info: |
esid: sec-date.prototype.setfullyear
description: Checking DontEnum attribute
---*/
-
-if (Date.prototype.setFullYear.propertyIsEnumerable('length')) {
- throw new Test262Error('#1: The Date.prototype.setFullYear.length property has the attribute DontEnum');
-}
+assert(
+ !Date.prototype.setFullYear.propertyIsEnumerable('length'),
+ 'The value of !Date.prototype.setFullYear.propertyIsEnumerable(\'length\') is expected to be true'
+);
for (var x in Date.prototype.setFullYear) {
- if (x === "length") {
- throw new Test262Error('#2: The Date.prototype.setFullYear.length has the attribute DontEnum');
- }
+ assert.notSameValue(x, "length", 'The value of x is not "length"');
}
+// TODO: Convert to verifyProperty() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/setHours/S15.9.5.34_A1_T1.js b/js/src/tests/test262/built-ins/Date/prototype/setHours/S15.9.5.34_A1_T1.js
index 98372745e215..522a7a554a89 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/setHours/S15.9.5.34_A1_T1.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/setHours/S15.9.5.34_A1_T1.js
@@ -8,12 +8,18 @@ description: Checking absence of ReadOnly attribute
---*/
var x = Date.prototype.setHours;
-if (x === 1)
+if (x === 1) {
Date.prototype.setHours = 2;
-else
+} else {
Date.prototype.setHours = 1;
-if (Date.prototype.setHours === x) {
- throw new Test262Error('#1: The Date.prototype.setHours has not the attribute ReadOnly');
}
+assert.notSameValue(
+ Date.prototype.setHours,
+ x,
+ 'The value of Date.prototype.setHours is expected to not equal the value of `x`'
+);
+
+// TODO: Convert to verifyProperty() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/setHours/S15.9.5.34_A1_T2.js b/js/src/tests/test262/built-ins/Date/prototype/setHours/S15.9.5.34_A1_T2.js
index beb88d7587ee..6cf45d93cdb6 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/setHours/S15.9.5.34_A1_T2.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/setHours/S15.9.5.34_A1_T2.js
@@ -6,13 +6,13 @@ info: The Date.prototype property "setHours" has { DontEnum } attributes
esid: sec-date.prototype.sethours
description: Checking absence of DontDelete attribute
---*/
+assert.notSameValue(delete Date.prototype.setHours, false, 'The value of delete Date.prototype.setHours is not false');
-if (delete Date.prototype.setHours === false) {
- throw new Test262Error('#1: The Date.prototype.setHours property has not the attributes DontDelete');
-}
+assert(
+ !Date.prototype.hasOwnProperty('setHours'),
+ 'The value of !Date.prototype.hasOwnProperty(\'setHours\') is expected to be true'
+);
-if (Date.prototype.hasOwnProperty('setHours')) {
- throw new Test262Error('#2: The Date.prototype.setHours property has not the attributes DontDelete');
-}
+// TODO: Convert to verifyProperty() format.
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/setHours/S15.9.5.34_A1_T3.js b/js/src/tests/test262/built-ins/Date/prototype/setHours/S15.9.5.34_A1_T3.js
index 44fdba2927ac..7211067494c8 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/setHours/S15.9.5.34_A1_T3.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/setHours/S15.9.5.34_A1_T3.js
@@ -6,15 +6,15 @@ info: The Date.prototype property "setHours" has { DontEnum } attributes
esid: sec-date.prototype.sethours
description: Checking DontEnum attribute
---*/
-
-if (Date.prototype.propertyIsEnumerable('setHours')) {
- throw new Test262Error('#1: The Date.prototype.setHours property has the attribute DontEnum');
-}
+assert(
+ !Date.prototype.propertyIsEnumerable('setHours'),
+ 'The value of !Date.prototype.propertyIsEnumerable(\'setHours\') is expected to be true'
+);
for (var x in Date.prototype) {
- if (x === "setHours") {
- throw new Test262Error('#2: The Date.prototype.setHours has the attribute DontEnum');
- }
+ assert.notSameValue(x, "setHours", 'The value of x is not "setHours"');
}
+// TODO: Convert to verifyProperty() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/setHours/S15.9.5.34_A2_T1.js b/js/src/tests/test262/built-ins/Date/prototype/setHours/S15.9.5.34_A2_T1.js
index 310e051af4c5..ccdabfa8fc27 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/setHours/S15.9.5.34_A2_T1.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/setHours/S15.9.5.34_A2_T1.js
@@ -6,13 +6,12 @@ info: The "length" property of the "setHours" is 4
esid: sec-date.prototype.sethours
description: The "length" property of the "setHours" is 4
---*/
+assert.sameValue(
+ Date.prototype.setHours.hasOwnProperty("length"),
+ true,
+ 'Date.prototype.setHours.hasOwnProperty("length") must return true'
+);
-if (Date.prototype.setHours.hasOwnProperty("length") !== true) {
- throw new Test262Error('#1: The setHours has a "length" property');
-}
-
-if (Date.prototype.setHours.length !== 4) {
- throw new Test262Error('#2: The "length" property of the setHours is 4');
-}
+assert.sameValue(Date.prototype.setHours.length, 4, 'The value of Date.prototype.setHours.length is expected to be 4');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/setHours/S15.9.5.34_A3_T1.js b/js/src/tests/test262/built-ins/Date/prototype/setHours/S15.9.5.34_A3_T1.js
index bf61d566a937..9d5b7750df5e 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/setHours/S15.9.5.34_A3_T1.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/setHours/S15.9.5.34_A3_T1.js
@@ -12,8 +12,13 @@ includes: [propertyHelper.js]
var x = Date.prototype.setHours.length;
verifyNotWritable(Date.prototype.setHours, "length", null, 1);
-if (Date.prototype.setHours.length !== x) {
- throw new Test262Error('#1: The Date.prototype.setHours.length has the attribute ReadOnly');
-}
+
+assert.sameValue(
+ Date.prototype.setHours.length,
+ x,
+ 'The value of Date.prototype.setHours.length is expected to equal the value of x'
+);
+
+// TODO: Convert to verifyProperty() format.
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/setHours/S15.9.5.34_A3_T2.js b/js/src/tests/test262/built-ins/Date/prototype/setHours/S15.9.5.34_A3_T2.js
index de5435c587af..ac6a60cf7d9c 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/setHours/S15.9.5.34_A3_T2.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/setHours/S15.9.5.34_A3_T2.js
@@ -8,13 +8,17 @@ info: |
esid: sec-date.prototype.sethours
description: Checking DontDelete attribute
---*/
+assert.sameValue(
+ delete Date.prototype.setHours.length,
+ true,
+ 'The value of `delete Date.prototype.setHours.length` is expected to be true'
+);
-if (delete Date.prototype.setHours.length !== true) {
- throw new Test262Error('#1: The Date.prototype.setHours.length property does not have the attributes DontDelete');
-}
+assert(
+ !Date.prototype.setHours.hasOwnProperty('length'),
+ 'The value of !Date.prototype.setHours.hasOwnProperty(\'length\') is expected to be true'
+);
-if (Date.prototype.setHours.hasOwnProperty('length')) {
- throw new Test262Error('#2: The Date.prototype.setHours.length property does not have the attributes DontDelete');
-}
+// TODO: Convert to verifyProperty() format.
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/setHours/S15.9.5.34_A3_T3.js b/js/src/tests/test262/built-ins/Date/prototype/setHours/S15.9.5.34_A3_T3.js
index 919752374815..5b7172510ace 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/setHours/S15.9.5.34_A3_T3.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/setHours/S15.9.5.34_A3_T3.js
@@ -8,15 +8,15 @@ info: |
esid: sec-date.prototype.sethours
description: Checking DontEnum attribute
---*/
-
-if (Date.prototype.setHours.propertyIsEnumerable('length')) {
- throw new Test262Error('#1: The Date.prototype.setHours.length property has the attribute DontEnum');
-}
+assert(
+ !Date.prototype.setHours.propertyIsEnumerable('length'),
+ 'The value of !Date.prototype.setHours.propertyIsEnumerable(\'length\') is expected to be true'
+);
for (var x in Date.prototype.setHours) {
- if (x === "length") {
- throw new Test262Error('#2: The Date.prototype.setHours.length has the attribute DontEnum');
- }
+ assert.notSameValue(x, "length", 'The value of x is not "length"');
}
+// TODO: Convert to verifyProperty() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/setHours/arg-coercion-order.js b/js/src/tests/test262/built-ins/Date/prototype/setHours/arg-coercion-order.js
new file mode 100644
index 000000000000..48bd2590794d
--- /dev/null
+++ b/js/src/tests/test262/built-ins/Date/prototype/setHours/arg-coercion-order.js
@@ -0,0 +1,59 @@
+// Copyright (C) 2021 Kevin Gibbons. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-date.prototype.sethours
+description: Order of coercion of provided arguments vs NaN check
+info: |
+ 1. Let t be ? thisTimeValue(this value).
+ 2. Let h be ? ToNumber(hour).
+ 3. If min is present, let m be ? ToNumber(min).
+ 4. If sec is present, let s be ? ToNumber(sec).
+ 5. If ms is present, let milli be ? ToNumber(ms).
+ 6. If t is NaN, return NaN.
+ 7. Set t to LocalTime(t).
+ 8. If min is not present, let m be MinFromTime(t).
+ 9. If sec is not present, let s be SecFromTime(t).
+ 10. If ms is not present, let milli be msFromTime(t).
+ 11. Let date be MakeDate(Day(t), MakeTime(h, m, s, milli)).
+ 12. Let u be TimeClip(UTC(date)).
+ 13. Set the [[DateValue]] internal slot of this Date object to u.
+ 14. Return u.
+includes: [compareArray.js]
+---*/
+
+var date = new Date(NaN);
+var effects = [];
+var argHour = {
+ valueOf: function() {
+ effects.push('valueOf hour');
+ return 0;
+ }
+};
+var argMin = {
+ valueOf: function() {
+ effects.push('valueOf min');
+ return 0;
+ }
+};
+var argSec = {
+ valueOf: function() {
+ effects.push('valueOf sec');
+ return 0;
+ }
+};
+var argMs = {
+ valueOf: function() {
+ effects.push('valueOf ms');
+ return 0;
+ }
+};
+
+var returnValue = date.setHours(argHour, argMin, argSec, argMs);
+
+var expectedEffects = ['valueOf hour', 'valueOf min', 'valueOf sec', 'valueOf ms'];
+
+assert.compareArray(effects, expectedEffects);
+assert.sameValue(returnValue, NaN, 'argument is ignored when `this` is an invalid date');
+assert.sameValue(date.getTime(), NaN, 'argument is ignored when `this` is an invalid date');
+
+reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/setMilliseconds/S15.9.5.28_A1_T1.js b/js/src/tests/test262/built-ins/Date/prototype/setMilliseconds/S15.9.5.28_A1_T1.js
index 6fd48cbbc3e6..abd7ac57a323 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/setMilliseconds/S15.9.5.28_A1_T1.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/setMilliseconds/S15.9.5.28_A1_T1.js
@@ -8,12 +8,18 @@ description: Checking absence of ReadOnly attribute
---*/
var x = Date.prototype.setMilliseconds;
-if (x === 1)
+if (x === 1) {
Date.prototype.setMilliseconds = 2;
-else
+} else {
Date.prototype.setMilliseconds = 1;
-if (Date.prototype.setMilliseconds === x) {
- throw new Test262Error('#1: The Date.prototype.setMilliseconds has not the attribute ReadOnly');
}
+assert.notSameValue(
+ Date.prototype.setMilliseconds,
+ x,
+ 'The value of Date.prototype.setMilliseconds is expected to not equal the value of `x`'
+);
+
+// TODO: Convert to verifyProperty() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/setMilliseconds/S15.9.5.28_A1_T2.js b/js/src/tests/test262/built-ins/Date/prototype/setMilliseconds/S15.9.5.28_A1_T2.js
index ad14bd9f9573..3352f8071e28 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/setMilliseconds/S15.9.5.28_A1_T2.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/setMilliseconds/S15.9.5.28_A1_T2.js
@@ -6,13 +6,17 @@ info: The Date.prototype property "setMilliseconds" has { DontEnum } attributes
esid: sec-date.prototype.setmilliseconds
description: Checking absence of DontDelete attribute
---*/
+assert.notSameValue(
+ delete Date.prototype.setMilliseconds,
+ false,
+ 'The value of delete Date.prototype.setMilliseconds is not false'
+);
-if (delete Date.prototype.setMilliseconds === false) {
- throw new Test262Error('#1: The Date.prototype.setMilliseconds property has not the attributes DontDelete');
-}
+assert(
+ !Date.prototype.hasOwnProperty('setMilliseconds'),
+ 'The value of !Date.prototype.hasOwnProperty(\'setMilliseconds\') is expected to be true'
+);
-if (Date.prototype.hasOwnProperty('setMilliseconds')) {
- throw new Test262Error('#2: The Date.prototype.setMilliseconds property has not the attributes DontDelete');
-}
+// TODO: Convert to verifyProperty() format.
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/setMilliseconds/S15.9.5.28_A1_T3.js b/js/src/tests/test262/built-ins/Date/prototype/setMilliseconds/S15.9.5.28_A1_T3.js
index 33c644d43bd7..e058353e2a44 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/setMilliseconds/S15.9.5.28_A1_T3.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/setMilliseconds/S15.9.5.28_A1_T3.js
@@ -6,15 +6,15 @@ info: The Date.prototype property "setMilliseconds" has { DontEnum } attributes
esid: sec-date.prototype.setmilliseconds
description: Checking DontEnum attribute
---*/
-
-if (Date.prototype.propertyIsEnumerable('setMilliseconds')) {
- throw new Test262Error('#1: The Date.prototype.setMilliseconds property has the attribute DontEnum');
-}
+assert(
+ !Date.prototype.propertyIsEnumerable('setMilliseconds'),
+ 'The value of !Date.prototype.propertyIsEnumerable(\'setMilliseconds\') is expected to be true'
+);
for (var x in Date.prototype) {
- if (x === "setMilliseconds") {
- throw new Test262Error('#2: The Date.prototype.setMilliseconds has the attribute DontEnum');
- }
+ assert.notSameValue(x, "setMilliseconds", 'The value of x is not "setMilliseconds"');
}
+// TODO: Convert to verifyProperty() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/setMilliseconds/S15.9.5.28_A2_T1.js b/js/src/tests/test262/built-ins/Date/prototype/setMilliseconds/S15.9.5.28_A2_T1.js
index 92e6a675af2e..345a10bbd4ed 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/setMilliseconds/S15.9.5.28_A2_T1.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/setMilliseconds/S15.9.5.28_A2_T1.js
@@ -6,13 +6,16 @@ info: The "length" property of the "setMilliseconds" is 1
esid: sec-date.prototype.setmilliseconds
description: The "length" property of the "setMilliseconds" is 1
---*/
+assert.sameValue(
+ Date.prototype.setMilliseconds.hasOwnProperty("length"),
+ true,
+ 'Date.prototype.setMilliseconds.hasOwnProperty("length") must return true'
+);
-if (Date.prototype.setMilliseconds.hasOwnProperty("length") !== true) {
- throw new Test262Error('#1: The setMilliseconds has a "length" property');
-}
-
-if (Date.prototype.setMilliseconds.length !== 1) {
- throw new Test262Error('#2: The "length" property of the setMilliseconds is 1');
-}
+assert.sameValue(
+ Date.prototype.setMilliseconds.length,
+ 1,
+ 'The value of Date.prototype.setMilliseconds.length is expected to be 1'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/setMilliseconds/S15.9.5.28_A3_T1.js b/js/src/tests/test262/built-ins/Date/prototype/setMilliseconds/S15.9.5.28_A3_T1.js
index d4b006a06055..f8f2f3478b68 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/setMilliseconds/S15.9.5.28_A3_T1.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/setMilliseconds/S15.9.5.28_A3_T1.js
@@ -12,8 +12,13 @@ includes: [propertyHelper.js]
var x = Date.prototype.setMilliseconds.length;
verifyNotWritable(Date.prototype.setMilliseconds, "length", null, 1);
-if (Date.prototype.setMilliseconds.length !== x) {
- throw new Test262Error('#1: The Date.prototype.setMilliseconds.length has the attribute ReadOnly');
-}
+
+assert.sameValue(
+ Date.prototype.setMilliseconds.length,
+ x,
+ 'The value of Date.prototype.setMilliseconds.length is expected to equal the value of x'
+);
+
+// TODO: Convert to verifyProperty() format.
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/setMilliseconds/S15.9.5.28_A3_T2.js b/js/src/tests/test262/built-ins/Date/prototype/setMilliseconds/S15.9.5.28_A3_T2.js
index 8eca045bb875..fc4b43d39dfe 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/setMilliseconds/S15.9.5.28_A3_T2.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/setMilliseconds/S15.9.5.28_A3_T2.js
@@ -8,13 +8,17 @@ info: |
esid: sec-date.prototype.setmilliseconds
description: Checking DontDelete attribute
---*/
+assert.sameValue(
+ delete Date.prototype.setMilliseconds.length,
+ true,
+ 'The value of `delete Date.prototype.setMilliseconds.length` is expected to be true'
+);
-if (delete Date.prototype.setMilliseconds.length !== true) {
- throw new Test262Error('#1: The Date.prototype.setMilliseconds.length property does not have the attributes DontDelete');
-}
+assert(
+ !Date.prototype.setMilliseconds.hasOwnProperty('length'),
+ 'The value of !Date.prototype.setMilliseconds.hasOwnProperty(\'length\') is expected to be true'
+);
-if (Date.prototype.setMilliseconds.hasOwnProperty('length')) {
- throw new Test262Error('#2: The Date.prototype.setMilliseconds.length property does not have the attributes DontDelete');
-}
+// TODO: Convert to verifyProperty() format.
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/setMilliseconds/S15.9.5.28_A3_T3.js b/js/src/tests/test262/built-ins/Date/prototype/setMilliseconds/S15.9.5.28_A3_T3.js
index 7f9b5fd9c60b..9e15b794be27 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/setMilliseconds/S15.9.5.28_A3_T3.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/setMilliseconds/S15.9.5.28_A3_T3.js
@@ -8,15 +8,15 @@ info: |
esid: sec-date.prototype.setmilliseconds
description: Checking DontEnum attribute
---*/
-
-if (Date.prototype.setMilliseconds.propertyIsEnumerable('length')) {
- throw new Test262Error('#1: The Date.prototype.setMilliseconds.length property has the attribute DontEnum');
-}
+assert(
+ !Date.prototype.setMilliseconds.propertyIsEnumerable('length'),
+ 'The value of !Date.prototype.setMilliseconds.propertyIsEnumerable(\'length\') is expected to be true'
+);
for (var x in Date.prototype.setMilliseconds) {
- if (x === "length") {
- throw new Test262Error('#2: The Date.prototype.setMilliseconds.length has the attribute DontEnum');
- }
+ assert.notSameValue(x, "length", 'The value of x is not "length"');
}
+// TODO: Convert to verifyProperty() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/setMilliseconds/arg-coercion-order.js b/js/src/tests/test262/built-ins/Date/prototype/setMilliseconds/arg-coercion-order.js
new file mode 100644
index 000000000000..38384ec1b188
--- /dev/null
+++ b/js/src/tests/test262/built-ins/Date/prototype/setMilliseconds/arg-coercion-order.js
@@ -0,0 +1,32 @@
+// Copyright (C) 2021 Kevin Gibbons. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-date.prototype.setmilliseconds
+description: Order of coercion of provided argument vs NaN check
+info: |
+ 1. Let t be ? thisTimeValue(this value).
+ 2. Set ms to ? ToNumber(ms).
+ 3. If t is NaN, return NaN.
+ 4. Set t to LocalTime(t).
+ 5. Let time be MakeTime(HourFromTime(t), MinFromTime(t), SecFromTime(t), ms).
+ 6. Let u be TimeClip(UTC(MakeDate(Day(t), time))).
+ 7. Set the [[DateValue]] internal slot of this Date object to u.
+ 8. Return u.
+---*/
+
+var date = new Date(NaN);
+var callCount = 0;
+var arg = {
+ valueOf: function() {
+ callCount += 1;
+ return 0;
+ }
+};
+
+var returnValue = date.setMilliseconds(arg);
+
+assert.sameValue(callCount, 1, 'ToNumber invoked exactly once');
+assert.sameValue(returnValue, NaN, 'argument is ignored when `this` is an invalid date');
+assert.sameValue(date.getTime(), NaN, 'argument is ignored when `this` is an invalid date');
+
+reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/setMinutes/S15.9.5.32_A1_T1.js b/js/src/tests/test262/built-ins/Date/prototype/setMinutes/S15.9.5.32_A1_T1.js
index 4fd6098d4b0a..495135965b62 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/setMinutes/S15.9.5.32_A1_T1.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/setMinutes/S15.9.5.32_A1_T1.js
@@ -8,12 +8,18 @@ description: Checking absence of ReadOnly attribute
---*/
var x = Date.prototype.setMinutes;
-if (x === 1)
+if (x === 1) {
Date.prototype.setMinutes = 2;
-else
+} else {
Date.prototype.setMinutes = 1;
-if (Date.prototype.setMinutes === x) {
- throw new Test262Error('#1: The Date.prototype.setMinutes has not the attribute ReadOnly');
}
+assert.notSameValue(
+ Date.prototype.setMinutes,
+ x,
+ 'The value of Date.prototype.setMinutes is expected to not equal the value of `x`'
+);
+
+// TODO: Convert to verifyProperty() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/setMinutes/S15.9.5.32_A1_T2.js b/js/src/tests/test262/built-ins/Date/prototype/setMinutes/S15.9.5.32_A1_T2.js
index 52b586bc8e8b..3cc72be7275d 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/setMinutes/S15.9.5.32_A1_T2.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/setMinutes/S15.9.5.32_A1_T2.js
@@ -6,13 +6,17 @@ info: The Date.prototype property "setMinutes" has { DontEnum } attributes
esid: sec-date.prototype.setminutes
description: Checking absence of DontDelete attribute
---*/
+assert.notSameValue(
+ delete Date.prototype.setMinutes,
+ false,
+ 'The value of delete Date.prototype.setMinutes is not false'
+);
-if (delete Date.prototype.setMinutes === false) {
- throw new Test262Error('#1: The Date.prototype.setMinutes property has not the attributes DontDelete');
-}
+assert(
+ !Date.prototype.hasOwnProperty('setMinutes'),
+ 'The value of !Date.prototype.hasOwnProperty(\'setMinutes\') is expected to be true'
+);
-if (Date.prototype.hasOwnProperty('setMinutes')) {
- throw new Test262Error('#2: The Date.prototype.setMinutes property has not the attributes DontDelete');
-}
+// TODO: Convert to verifyProperty() format.
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/setMinutes/S15.9.5.32_A1_T3.js b/js/src/tests/test262/built-ins/Date/prototype/setMinutes/S15.9.5.32_A1_T3.js
index 04eaa1383148..61eba85e1a29 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/setMinutes/S15.9.5.32_A1_T3.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/setMinutes/S15.9.5.32_A1_T3.js
@@ -6,15 +6,15 @@ info: The Date.prototype property "setMinutes" has { DontEnum } attributes
esid: sec-date.prototype.setminutes
description: Checking DontEnum attribute
---*/
-
-if (Date.prototype.propertyIsEnumerable('setMinutes')) {
- throw new Test262Error('#1: The Date.prototype.setMinutes property has the attribute DontEnum');
-}
+assert(
+ !Date.prototype.propertyIsEnumerable('setMinutes'),
+ 'The value of !Date.prototype.propertyIsEnumerable(\'setMinutes\') is expected to be true'
+);
for (var x in Date.prototype) {
- if (x === "setMinutes") {
- throw new Test262Error('#2: The Date.prototype.setMinutes has the attribute DontEnum');
- }
+ assert.notSameValue(x, "setMinutes", 'The value of x is not "setMinutes"');
}
+// TODO: Convert to verifyProperty() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/setMinutes/S15.9.5.32_A2_T1.js b/js/src/tests/test262/built-ins/Date/prototype/setMinutes/S15.9.5.32_A2_T1.js
index 05249fc5ae50..e95e992ab107 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/setMinutes/S15.9.5.32_A2_T1.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/setMinutes/S15.9.5.32_A2_T1.js
@@ -6,13 +6,16 @@ info: The "length" property of the "setMinutes" is 3
esid: sec-date.prototype.setminutes
description: The "length" property of the "setMinutes" is 3
---*/
+assert.sameValue(
+ Date.prototype.setMinutes.hasOwnProperty("length"),
+ true,
+ 'Date.prototype.setMinutes.hasOwnProperty("length") must return true'
+);
-if (Date.prototype.setMinutes.hasOwnProperty("length") !== true) {
- throw new Test262Error('#1: The setMinutes has a "length" property');
-}
-
-if (Date.prototype.setMinutes.length !== 3) {
- throw new Test262Error('#2: The "length" property of the setMinutes is 3');
-}
+assert.sameValue(
+ Date.prototype.setMinutes.length,
+ 3,
+ 'The value of Date.prototype.setMinutes.length is expected to be 3'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/setMinutes/S15.9.5.32_A3_T1.js b/js/src/tests/test262/built-ins/Date/prototype/setMinutes/S15.9.5.32_A3_T1.js
index f0d744289760..2224b138ad64 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/setMinutes/S15.9.5.32_A3_T1.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/setMinutes/S15.9.5.32_A3_T1.js
@@ -12,8 +12,13 @@ includes: [propertyHelper.js]
var x = Date.prototype.setMinutes.length;
verifyNotWritable(Date.prototype.setMinutes, "length", null, 1);
-if (Date.prototype.setMinutes.length !== x) {
- throw new Test262Error('#1: The Date.prototype.setMinutes.length has the attribute ReadOnly');
-}
+
+assert.sameValue(
+ Date.prototype.setMinutes.length,
+ x,
+ 'The value of Date.prototype.setMinutes.length is expected to equal the value of x'
+);
+
+// TODO: Convert to verifyProperty() format.
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/setMinutes/S15.9.5.32_A3_T2.js b/js/src/tests/test262/built-ins/Date/prototype/setMinutes/S15.9.5.32_A3_T2.js
index 28ec3a838458..d9a4a750867d 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/setMinutes/S15.9.5.32_A3_T2.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/setMinutes/S15.9.5.32_A3_T2.js
@@ -8,13 +8,17 @@ info: |
esid: sec-date.prototype.setminutes
description: Checking DontDelete attribute
---*/
+assert.sameValue(
+ delete Date.prototype.setMinutes.length,
+ true,
+ 'The value of `delete Date.prototype.setMinutes.length` is expected to be true'
+);
-if (delete Date.prototype.setMinutes.length !== true) {
- throw new Test262Error('#1: The Date.prototype.setMinutes.length property does not have the attributes DontDelete');
-}
+assert(
+ !Date.prototype.setMinutes.hasOwnProperty('length'),
+ 'The value of !Date.prototype.setMinutes.hasOwnProperty(\'length\') is expected to be true'
+);
-if (Date.prototype.setMinutes.hasOwnProperty('length')) {
- throw new Test262Error('#2: The Date.prototype.setMinutes.length property does not have the attributes DontDelete');
-}
+// TODO: Convert to verifyProperty() format.
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/setMinutes/S15.9.5.32_A3_T3.js b/js/src/tests/test262/built-ins/Date/prototype/setMinutes/S15.9.5.32_A3_T3.js
index 8795e166994e..1380f4e35b76 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/setMinutes/S15.9.5.32_A3_T3.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/setMinutes/S15.9.5.32_A3_T3.js
@@ -8,15 +8,15 @@ info: |
esid: sec-date.prototype.setminutes
description: Checking DontEnum attribute
---*/
-
-if (Date.prototype.setMinutes.propertyIsEnumerable('length')) {
- throw new Test262Error('#1: The Date.prototype.setMinutes.length property has the attribute DontEnum');
-}
+assert(
+ !Date.prototype.setMinutes.propertyIsEnumerable('length'),
+ 'The value of !Date.prototype.setMinutes.propertyIsEnumerable(\'length\') is expected to be true'
+);
for (var x in Date.prototype.setMinutes) {
- if (x === "length") {
- throw new Test262Error('#2: The Date.prototype.setMinutes.length has the attribute DontEnum');
- }
+ assert.notSameValue(x, "length", 'The value of x is not "length"');
}
+// TODO: Convert to verifyProperty() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/setMinutes/arg-coercion-order.js b/js/src/tests/test262/built-ins/Date/prototype/setMinutes/arg-coercion-order.js
new file mode 100644
index 000000000000..50d81c114f89
--- /dev/null
+++ b/js/src/tests/test262/built-ins/Date/prototype/setMinutes/arg-coercion-order.js
@@ -0,0 +1,51 @@
+// Copyright (C) 2021 Kevin Gibbons. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-date.prototype.setminutes
+description: Order of coercion of provided argument vs NaN check
+info: |
+ 1. Let t be ? thisTimeValue(this value).
+ 2. Let m be ? ToNumber(min).
+ 3. If sec is present, let s be ? ToNumber(sec).
+ 4. If ms is present, let milli be ? ToNumber(ms).
+ 5. If t is NaN, return NaN.
+ 6. Set t to LocalTime(t).
+ 7. If sec is not present, let s be SecFromTime(t).
+ 8. If ms is not present, let milli be msFromTime(t).
+ 9. Let date be MakeDate(Day(t), MakeTime(HourFromTime(t), m, s, milli)).
+ 10. Let u be TimeClip(UTC(date)).
+ 11. Set the [[DateValue]] internal slot of this Date object to u.
+ 12. Return u.
+includes: [compareArray.js]
+---*/
+
+var date = new Date(NaN);
+var effects = [];
+var argMin = {
+ valueOf: function() {
+ effects.push('valueOf min');
+ return 0;
+ }
+};
+var argSec = {
+ valueOf: function() {
+ effects.push('valueOf sec');
+ return 0;
+ }
+};
+var argMs = {
+ valueOf: function() {
+ effects.push('valueOf ms');
+ return 0;
+ }
+};
+
+var returnValue = date.setMinutes(argMin, argSec, argMs);
+
+var expectedEffects = ['valueOf min', 'valueOf sec', 'valueOf ms'];
+
+assert.compareArray(effects, expectedEffects);
+assert.sameValue(returnValue, NaN, 'argument is ignored when `this` is an invalid date');
+assert.sameValue(date.getTime(), NaN, 'argument is ignored when `this` is an invalid date');
+
+reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/setMonth/S15.9.5.38_A1_T1.js b/js/src/tests/test262/built-ins/Date/prototype/setMonth/S15.9.5.38_A1_T1.js
index fc1c2fd32e5c..ac3d594ccb04 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/setMonth/S15.9.5.38_A1_T1.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/setMonth/S15.9.5.38_A1_T1.js
@@ -8,12 +8,18 @@ description: Checking absence of ReadOnly attribute
---*/
var x = Date.prototype.setMonth;
-if (x === 1)
+if (x === 1) {
Date.prototype.setMonth = 2;
-else
+} else {
Date.prototype.setMonth = 1;
-if (Date.prototype.setMonth === x) {
- throw new Test262Error('#1: The Date.prototype.setMonth has not the attribute ReadOnly');
}
+assert.notSameValue(
+ Date.prototype.setMonth,
+ x,
+ 'The value of Date.prototype.setMonth is expected to not equal the value of `x`'
+);
+
+// TODO: Convert to verifyProperty() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/setMonth/S15.9.5.38_A1_T2.js b/js/src/tests/test262/built-ins/Date/prototype/setMonth/S15.9.5.38_A1_T2.js
index 5494772c3164..492b1be5cd04 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/setMonth/S15.9.5.38_A1_T2.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/setMonth/S15.9.5.38_A1_T2.js
@@ -6,13 +6,13 @@ info: The Date.prototype property "setMonth" has { DontEnum } attributes
esid: sec-date.prototype.setmonth
description: Checking absence of DontDelete attribute
---*/
+assert.notSameValue(delete Date.prototype.setMonth, false, 'The value of delete Date.prototype.setMonth is not false');
-if (delete Date.prototype.setMonth === false) {
- throw new Test262Error('#1: The Date.prototype.setMonth property has not the attributes DontDelete');
-}
+assert(
+ !Date.prototype.hasOwnProperty('setMonth'),
+ 'The value of !Date.prototype.hasOwnProperty(\'setMonth\') is expected to be true'
+);
-if (Date.prototype.hasOwnProperty('setMonth')) {
- throw new Test262Error('#2: The Date.prototype.setMonth property has not the attributes DontDelete');
-}
+// TODO: Convert to verifyProperty() format.
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/setMonth/S15.9.5.38_A1_T3.js b/js/src/tests/test262/built-ins/Date/prototype/setMonth/S15.9.5.38_A1_T3.js
index f074815223da..22d2585a7c39 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/setMonth/S15.9.5.38_A1_T3.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/setMonth/S15.9.5.38_A1_T3.js
@@ -6,15 +6,15 @@ info: The Date.prototype property "setMonth" has { DontEnum } attributes
esid: sec-date.prototype.setmonth
description: Checking DontEnum attribute
---*/
-
-if (Date.prototype.propertyIsEnumerable('setMonth')) {
- throw new Test262Error('#1: The Date.prototype.setMonth property has the attribute DontEnum');
-}
+assert(
+ !Date.prototype.propertyIsEnumerable('setMonth'),
+ 'The value of !Date.prototype.propertyIsEnumerable(\'setMonth\') is expected to be true'
+);
for (var x in Date.prototype) {
- if (x === "setMonth") {
- throw new Test262Error('#2: The Date.prototype.setMonth has the attribute DontEnum');
- }
+ assert.notSameValue(x, "setMonth", 'The value of x is not "setMonth"');
}
+// TODO: Convert to verifyProperty() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/setMonth/S15.9.5.38_A2_T1.js b/js/src/tests/test262/built-ins/Date/prototype/setMonth/S15.9.5.38_A2_T1.js
index 57f5fde1ce18..ed5846befa50 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/setMonth/S15.9.5.38_A2_T1.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/setMonth/S15.9.5.38_A2_T1.js
@@ -6,13 +6,12 @@ info: The "length" property of the "setMonth" is 2
esid: sec-date.prototype.setmonth
description: The "length" property of the "setMonth" is 2
---*/
+assert.sameValue(
+ Date.prototype.setMonth.hasOwnProperty("length"),
+ true,
+ 'Date.prototype.setMonth.hasOwnProperty("length") must return true'
+);
-if (Date.prototype.setMonth.hasOwnProperty("length") !== true) {
- throw new Test262Error('#1: The setMonth has a "length" property');
-}
-
-if (Date.prototype.setMonth.length !== 2) {
- throw new Test262Error('#2: The "length" property of the setMonth is 2');
-}
+assert.sameValue(Date.prototype.setMonth.length, 2, 'The value of Date.prototype.setMonth.length is expected to be 2');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/setMonth/S15.9.5.38_A3_T1.js b/js/src/tests/test262/built-ins/Date/prototype/setMonth/S15.9.5.38_A3_T1.js
index 65ccaa6754fa..f6c45f61ef50 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/setMonth/S15.9.5.38_A3_T1.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/setMonth/S15.9.5.38_A3_T1.js
@@ -12,8 +12,13 @@ includes: [propertyHelper.js]
var x = Date.prototype.setMonth.length;
verifyNotWritable(Date.prototype.setMonth, "length", null, 1);
-if (Date.prototype.setMonth.length !== x) {
- throw new Test262Error('#1: The Date.prototype.setMonth.length has the attribute ReadOnly');
-}
+
+assert.sameValue(
+ Date.prototype.setMonth.length,
+ x,
+ 'The value of Date.prototype.setMonth.length is expected to equal the value of x'
+);
+
+// TODO: Convert to verifyProperty() format.
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/setMonth/S15.9.5.38_A3_T2.js b/js/src/tests/test262/built-ins/Date/prototype/setMonth/S15.9.5.38_A3_T2.js
index 4c25a98ddfb7..9238a8ed74d7 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/setMonth/S15.9.5.38_A3_T2.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/setMonth/S15.9.5.38_A3_T2.js
@@ -8,13 +8,17 @@ info: |
esid: sec-date.prototype.setmonth
description: Checking DontDelete attribute
---*/
+assert.sameValue(
+ delete Date.prototype.setMonth.length,
+ true,
+ 'The value of `delete Date.prototype.setMonth.length` is expected to be true'
+);
-if (delete Date.prototype.setMonth.length !== true) {
- throw new Test262Error('#1: The Date.prototype.setMonth.length property does not have the attributes DontDelete');
-}
+assert(
+ !Date.prototype.setMonth.hasOwnProperty('length'),
+ 'The value of !Date.prototype.setMonth.hasOwnProperty(\'length\') is expected to be true'
+);
-if (Date.prototype.setMonth.hasOwnProperty('length')) {
- throw new Test262Error('#2: The Date.prototype.setMonth.length property does not have the attributes DontDelete');
-}
+// TODO: Convert to verifyProperty() format.
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/setMonth/S15.9.5.38_A3_T3.js b/js/src/tests/test262/built-ins/Date/prototype/setMonth/S15.9.5.38_A3_T3.js
index 772c26ae1bec..23f188833162 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/setMonth/S15.9.5.38_A3_T3.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/setMonth/S15.9.5.38_A3_T3.js
@@ -8,15 +8,15 @@ info: |
esid: sec-date.prototype.setmonth
description: Checking DontEnum attribute
---*/
-
-if (Date.prototype.setMonth.propertyIsEnumerable('length')) {
- throw new Test262Error('#1: The Date.prototype.setMonth.length property has the attribute DontEnum');
-}
+assert(
+ !Date.prototype.setMonth.propertyIsEnumerable('length'),
+ 'The value of !Date.prototype.setMonth.propertyIsEnumerable(\'length\') is expected to be true'
+);
for (var x in Date.prototype.setMonth) {
- if (x === "length") {
- throw new Test262Error('#2: The Date.prototype.setMonth.length has the attribute DontEnum');
- }
+ assert.notSameValue(x, "length", 'The value of x is not "length"');
}
+// TODO: Convert to verifyProperty() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/setMonth/arg-coercion-order.js b/js/src/tests/test262/built-ins/Date/prototype/setMonth/arg-coercion-order.js
new file mode 100644
index 000000000000..a1bc3862afae
--- /dev/null
+++ b/js/src/tests/test262/built-ins/Date/prototype/setMonth/arg-coercion-order.js
@@ -0,0 +1,43 @@
+// Copyright (C) 2021 Kevin Gibbons. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-date.prototype.setmonth
+description: Order of coercion of provided argument vs NaN check
+info: |
+ 1. Let t be ? thisTimeValue(this value).
+ 2. Let m be ? ToNumber(month).
+ 3. If date is present, let dt be ? ToNumber(date).
+ 4. If t is NaN, return NaN.
+ 5. Set t to LocalTime(t).
+ 6. If date is not present, let dt be DateFromTime(t).
+ 7. Let newDate be MakeDate(MakeDay(YearFromTime(t), m, dt), TimeWithinDay(t)).
+ 8. Let u be TimeClip(UTC(newDate)).
+ 9. Set the [[DateValue]] internal slot of this Date object to u.
+ 10. Return u.
+includes: [compareArray.js]
+---*/
+
+var date = new Date(NaN);
+var effects = [];
+var argMonth = {
+ valueOf: function() {
+ effects.push('valueOf month');
+ return 0;
+ }
+};
+var argDate = {
+ valueOf: function() {
+ effects.push('valueOf date');
+ return 0;
+ }
+};
+
+var returnValue = date.setMonth(argMonth, argDate);
+
+var expectedEffects = ['valueOf month', 'valueOf date'];
+
+assert.compareArray(effects, expectedEffects);
+assert.sameValue(returnValue, NaN, 'argument is ignored when `this` is an invalid date');
+assert.sameValue(date.getTime(), NaN, 'argument is ignored when `this` is an invalid date');
+
+reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/setSeconds/S15.9.5.30_A1_T1.js b/js/src/tests/test262/built-ins/Date/prototype/setSeconds/S15.9.5.30_A1_T1.js
index 4f7eed7a431b..80cacf2f6a63 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/setSeconds/S15.9.5.30_A1_T1.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/setSeconds/S15.9.5.30_A1_T1.js
@@ -8,12 +8,18 @@ description: Checking absence of ReadOnly attribute
---*/
var x = Date.prototype.setSeconds;
-if (x === 1)
+if (x === 1) {
Date.prototype.setSeconds = 2;
-else
+} else {
Date.prototype.setSeconds = 1;
-if (Date.prototype.setSeconds === x) {
- throw new Test262Error('#1: The Date.prototype.setSeconds has not the attribute ReadOnly');
}
+assert.notSameValue(
+ Date.prototype.setSeconds,
+ x,
+ 'The value of Date.prototype.setSeconds is expected to not equal the value of `x`'
+);
+
+// TODO: Convert to verifyProperty() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/setSeconds/S15.9.5.30_A1_T2.js b/js/src/tests/test262/built-ins/Date/prototype/setSeconds/S15.9.5.30_A1_T2.js
index 8a8b00e7e9d7..8d6c81ce9a3b 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/setSeconds/S15.9.5.30_A1_T2.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/setSeconds/S15.9.5.30_A1_T2.js
@@ -6,13 +6,17 @@ info: The Date.prototype property "setSeconds" has { DontEnum } attributes
esid: sec-date.prototype.setseconds
description: Checking absence of DontDelete attribute
---*/
+assert.notSameValue(
+ delete Date.prototype.setSeconds,
+ false,
+ 'The value of delete Date.prototype.setSeconds is not false'
+);
-if (delete Date.prototype.setSeconds === false) {
- throw new Test262Error('#1: The Date.prototype.setSeconds property has not the attributes DontDelete');
-}
+assert(
+ !Date.prototype.hasOwnProperty('setSeconds'),
+ 'The value of !Date.prototype.hasOwnProperty(\'setSeconds\') is expected to be true'
+);
-if (Date.prototype.hasOwnProperty('setSeconds')) {
- throw new Test262Error('#2: The Date.prototype.setSeconds property has not the attributes DontDelete');
-}
+// TODO: Convert to verifyProperty() format.
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/setSeconds/S15.9.5.30_A1_T3.js b/js/src/tests/test262/built-ins/Date/prototype/setSeconds/S15.9.5.30_A1_T3.js
index 92cd07c7ba86..0692617eb2f5 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/setSeconds/S15.9.5.30_A1_T3.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/setSeconds/S15.9.5.30_A1_T3.js
@@ -6,15 +6,15 @@ info: The Date.prototype property "setSeconds" has { DontEnum } attributes
esid: sec-date.prototype.setseconds
description: Checking DontEnum attribute
---*/
-
-if (Date.prototype.propertyIsEnumerable('setSeconds')) {
- throw new Test262Error('#1: The Date.prototype.setSeconds property has the attribute DontEnum');
-}
+assert(
+ !Date.prototype.propertyIsEnumerable('setSeconds'),
+ 'The value of !Date.prototype.propertyIsEnumerable(\'setSeconds\') is expected to be true'
+);
for (var x in Date.prototype) {
- if (x === "setSeconds") {
- throw new Test262Error('#2: The Date.prototype.setSeconds has the attribute DontEnum');
- }
+ assert.notSameValue(x, "setSeconds", 'The value of x is not "setSeconds"');
}
+// TODO: Convert to verifyProperty() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/setSeconds/S15.9.5.30_A2_T1.js b/js/src/tests/test262/built-ins/Date/prototype/setSeconds/S15.9.5.30_A2_T1.js
index 33192076a886..dcac968a56a1 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/setSeconds/S15.9.5.30_A2_T1.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/setSeconds/S15.9.5.30_A2_T1.js
@@ -6,13 +6,16 @@ info: The "length" property of the "setSeconds" is 2
esid: sec-date.prototype.setseconds
description: The "length" property of the "setSeconds" is 2
---*/
+assert.sameValue(
+ Date.prototype.setSeconds.hasOwnProperty("length"),
+ true,
+ 'Date.prototype.setSeconds.hasOwnProperty("length") must return true'
+);
-if (Date.prototype.setSeconds.hasOwnProperty("length") !== true) {
- throw new Test262Error('#1: The setSeconds has a "length" property');
-}
-
-if (Date.prototype.setSeconds.length !== 2) {
- throw new Test262Error('#2: The "length" property of the setSeconds is 2');
-}
+assert.sameValue(
+ Date.prototype.setSeconds.length,
+ 2,
+ 'The value of Date.prototype.setSeconds.length is expected to be 2'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/setSeconds/S15.9.5.30_A3_T1.js b/js/src/tests/test262/built-ins/Date/prototype/setSeconds/S15.9.5.30_A3_T1.js
index 5d2ddd78d04f..5a240eca987a 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/setSeconds/S15.9.5.30_A3_T1.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/setSeconds/S15.9.5.30_A3_T1.js
@@ -12,8 +12,13 @@ includes: [propertyHelper.js]
var x = Date.prototype.setSeconds.length;
verifyNotWritable(Date.prototype.setSeconds, "length", null, 1);
-if (Date.prototype.setSeconds.length !== x) {
- throw new Test262Error('#1: The Date.prototype.setSeconds.length has the attribute ReadOnly');
-}
+
+assert.sameValue(
+ Date.prototype.setSeconds.length,
+ x,
+ 'The value of Date.prototype.setSeconds.length is expected to equal the value of x'
+);
+
+// TODO: Convert to verifyProperty() format.
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/setSeconds/S15.9.5.30_A3_T2.js b/js/src/tests/test262/built-ins/Date/prototype/setSeconds/S15.9.5.30_A3_T2.js
index 8d39f0d4287f..789bca4e48b7 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/setSeconds/S15.9.5.30_A3_T2.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/setSeconds/S15.9.5.30_A3_T2.js
@@ -8,13 +8,17 @@ info: |
esid: sec-date.prototype.setseconds
description: Checking DontDelete attribute
---*/
+assert.sameValue(
+ delete Date.prototype.setSeconds.length,
+ true,
+ 'The value of `delete Date.prototype.setSeconds.length` is expected to be true'
+);
-if (delete Date.prototype.setSeconds.length !== true) {
- throw new Test262Error('#1: The Date.prototype.setSeconds.length property does not have the attributes DontDelete');
-}
+assert(
+ !Date.prototype.setSeconds.hasOwnProperty('length'),
+ 'The value of !Date.prototype.setSeconds.hasOwnProperty(\'length\') is expected to be true'
+);
-if (Date.prototype.setSeconds.hasOwnProperty('length')) {
- throw new Test262Error('#2: The Date.prototype.setSeconds.length property does not have the attributes DontDelete');
-}
+// TODO: Convert to verifyProperty() format.
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/setSeconds/S15.9.5.30_A3_T3.js b/js/src/tests/test262/built-ins/Date/prototype/setSeconds/S15.9.5.30_A3_T3.js
index d8327454fe69..80e814d9dd83 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/setSeconds/S15.9.5.30_A3_T3.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/setSeconds/S15.9.5.30_A3_T3.js
@@ -8,15 +8,15 @@ info: |
esid: sec-date.prototype.setseconds
description: Checking DontEnum attribute
---*/
-
-if (Date.prototype.setSeconds.propertyIsEnumerable('length')) {
- throw new Test262Error('#1: The Date.prototype.setSeconds.length property has the attribute DontEnum');
-}
+assert(
+ !Date.prototype.setSeconds.propertyIsEnumerable('length'),
+ 'The value of !Date.prototype.setSeconds.propertyIsEnumerable(\'length\') is expected to be true'
+);
for (var x in Date.prototype.setSeconds) {
- if (x === "length") {
- throw new Test262Error('#2: The Date.prototype.setSeconds.length has the attribute DontEnum');
- }
+ assert.notSameValue(x, "length", 'The value of x is not "length"');
}
+// TODO: Convert to verifyProperty() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/setSeconds/arg-coercion-order.js b/js/src/tests/test262/built-ins/Date/prototype/setSeconds/arg-coercion-order.js
new file mode 100644
index 000000000000..1cbc4420c4db
--- /dev/null
+++ b/js/src/tests/test262/built-ins/Date/prototype/setSeconds/arg-coercion-order.js
@@ -0,0 +1,43 @@
+// Copyright (C) 2021 Kevin Gibbons. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-date.prototype.setseconds
+description: Order of coercion of provided arguments vs NaN check
+info: |
+ 1. Let t be ? thisTimeValue(this value).
+ 2. Let s be ? ToNumber(sec).
+ 3. If ms is present, let milli be ? ToNumber(ms).
+ 4. If t is NaN, return NaN.
+ 5. Set t to LocalTime(t).
+ 6. If ms is not present, let milli be msFromTime(t).
+ 7. Let date be MakeDate(Day(t), MakeTime(HourFromTime(t), MinFromTime(t), s, milli)).
+ 8. Let u be TimeClip(UTC(date)).
+ 9. Set the [[DateValue]] internal slot of this Date object to u.
+ 10. Return u.
+includes: [compareArray.js]
+---*/
+
+var date = new Date(NaN);
+var effects = [];
+var argSec = {
+ valueOf: function() {
+ effects.push('valueOf sec');
+ return 0;
+ }
+};
+var argMs = {
+ valueOf: function() {
+ effects.push('valueOf ms');
+ return 0;
+ }
+};
+
+var returnValue = date.setSeconds(argSec, argMs);
+
+var expectedEffects = ['valueOf sec', 'valueOf ms'];
+
+assert.compareArray(effects, expectedEffects);
+assert.sameValue(returnValue, NaN, 'argument is ignored when `this` is an invalid date');
+assert.sameValue(date.getTime(), NaN, 'argument is ignored when `this` is an invalid date');
+
+reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/setTime/S15.9.5.27_A1_T1.js b/js/src/tests/test262/built-ins/Date/prototype/setTime/S15.9.5.27_A1_T1.js
index 1880729820ee..cdd891deaccc 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/setTime/S15.9.5.27_A1_T1.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/setTime/S15.9.5.27_A1_T1.js
@@ -8,12 +8,18 @@ description: Checking absence of ReadOnly attribute
---*/
var x = Date.prototype.setTime;
-if (x === 1)
+if (x === 1) {
Date.prototype.setTime = 2;
-else
+} else {
Date.prototype.setTime = 1;
-if (Date.prototype.setTime === x) {
- throw new Test262Error('#1: The Date.prototype.setTime has not the attribute ReadOnly');
}
+assert.notSameValue(
+ Date.prototype.setTime,
+ x,
+ 'The value of Date.prototype.setTime is expected to not equal the value of `x`'
+);
+
+// TODO: Convert to verifyProperty() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/setTime/S15.9.5.27_A1_T2.js b/js/src/tests/test262/built-ins/Date/prototype/setTime/S15.9.5.27_A1_T2.js
index 6a4127a91bb6..3d425994ab59 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/setTime/S15.9.5.27_A1_T2.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/setTime/S15.9.5.27_A1_T2.js
@@ -6,13 +6,13 @@ info: The Date.prototype property "setTime" has { DontEnum } attributes
esid: sec-date.prototype.settime
description: Checking absence of DontDelete attribute
---*/
+assert.notSameValue(delete Date.prototype.setTime, false, 'The value of delete Date.prototype.setTime is not false');
-if (delete Date.prototype.setTime === false) {
- throw new Test262Error('#1: The Date.prototype.setTime property has not the attributes DontDelete');
-}
+assert(
+ !Date.prototype.hasOwnProperty('setTime'),
+ 'The value of !Date.prototype.hasOwnProperty(\'setTime\') is expected to be true'
+);
-if (Date.prototype.hasOwnProperty('setTime')) {
- throw new Test262Error('#2: The Date.prototype.setTime property has not the attributes DontDelete');
-}
+// TODO: Convert to verifyProperty() format.
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/setTime/S15.9.5.27_A1_T3.js b/js/src/tests/test262/built-ins/Date/prototype/setTime/S15.9.5.27_A1_T3.js
index 2060d258a2e0..78164e813d41 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/setTime/S15.9.5.27_A1_T3.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/setTime/S15.9.5.27_A1_T3.js
@@ -6,15 +6,15 @@ info: The Date.prototype property "setTime" has { DontEnum } attributes
esid: sec-date.prototype.settime
description: Checking DontEnum attribute
---*/
-
-if (Date.prototype.propertyIsEnumerable('setTime')) {
- throw new Test262Error('#1: The Date.prototype.setTime property has the attribute DontEnum');
-}
+assert(
+ !Date.prototype.propertyIsEnumerable('setTime'),
+ 'The value of !Date.prototype.propertyIsEnumerable(\'setTime\') is expected to be true'
+);
for (var x in Date.prototype) {
- if (x === "setTime") {
- throw new Test262Error('#2: The Date.prototype.setTime has the attribute DontEnum');
- }
+ assert.notSameValue(x, "setTime", 'The value of x is not "setTime"');
}
+// TODO: Convert to verifyProperty() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/setTime/S15.9.5.27_A2_T1.js b/js/src/tests/test262/built-ins/Date/prototype/setTime/S15.9.5.27_A2_T1.js
index 558e00e2bd82..a4fa4209a2b2 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/setTime/S15.9.5.27_A2_T1.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/setTime/S15.9.5.27_A2_T1.js
@@ -6,13 +6,12 @@ info: The "length" property of the "setTime" is 1
esid: sec-date.prototype.settime
description: The "length" property of the "setTime" is 1
---*/
+assert.sameValue(
+ Date.prototype.setTime.hasOwnProperty("length"),
+ true,
+ 'Date.prototype.setTime.hasOwnProperty("length") must return true'
+);
-if (Date.prototype.setTime.hasOwnProperty("length") !== true) {
- throw new Test262Error('#1: The setTime has a "length" property');
-}
-
-if (Date.prototype.setTime.length !== 1) {
- throw new Test262Error('#2: The "length" property of the setTime is 1');
-}
+assert.sameValue(Date.prototype.setTime.length, 1, 'The value of Date.prototype.setTime.length is expected to be 1');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/setTime/S15.9.5.27_A3_T1.js b/js/src/tests/test262/built-ins/Date/prototype/setTime/S15.9.5.27_A3_T1.js
index d315efe03e10..4ef36f2f25ee 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/setTime/S15.9.5.27_A3_T1.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/setTime/S15.9.5.27_A3_T1.js
@@ -12,8 +12,13 @@ includes: [propertyHelper.js]
var x = Date.prototype.setTime.length;
verifyNotWritable(Date.prototype.setTime, "length", null, 1);
-if (Date.prototype.setTime.length !== x) {
- throw new Test262Error('#1: The Date.prototype.setTime.length has the attribute ReadOnly');
-}
+
+assert.sameValue(
+ Date.prototype.setTime.length,
+ x,
+ 'The value of Date.prototype.setTime.length is expected to equal the value of x'
+);
+
+// TODO: Convert to verifyProperty() format.
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/setTime/S15.9.5.27_A3_T2.js b/js/src/tests/test262/built-ins/Date/prototype/setTime/S15.9.5.27_A3_T2.js
index 3b92fe46e565..b66fe9c598b5 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/setTime/S15.9.5.27_A3_T2.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/setTime/S15.9.5.27_A3_T2.js
@@ -8,13 +8,17 @@ info: |
esid: sec-date.prototype.settime
description: Checking DontDelete attribute
---*/
+assert.sameValue(
+ delete Date.prototype.setTime.length,
+ true,
+ 'The value of `delete Date.prototype.setTime.length` is expected to be true'
+);
-if (delete Date.prototype.setTime.length !== true) {
- throw new Test262Error('#1: The Date.prototype.setTime.length property does not have the attributes DontDelete');
-}
+assert(
+ !Date.prototype.setTime.hasOwnProperty('length'),
+ 'The value of !Date.prototype.setTime.hasOwnProperty(\'length\') is expected to be true'
+);
-if (Date.prototype.setTime.hasOwnProperty('length')) {
- throw new Test262Error('#2: The Date.prototype.setTime.length property does not have the attributes DontDelete');
-}
+// TODO: Convert to verifyProperty() format.
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/setTime/S15.9.5.27_A3_T3.js b/js/src/tests/test262/built-ins/Date/prototype/setTime/S15.9.5.27_A3_T3.js
index 1058b7532e02..9a6bd16d4ccb 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/setTime/S15.9.5.27_A3_T3.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/setTime/S15.9.5.27_A3_T3.js
@@ -8,15 +8,15 @@ info: |
esid: sec-date.prototype.settime
description: Checking DontEnum attribute
---*/
-
-if (Date.prototype.setTime.propertyIsEnumerable('length')) {
- throw new Test262Error('#1: The Date.prototype.setTime.length property has the attribute DontEnum');
-}
+assert(
+ !Date.prototype.setTime.propertyIsEnumerable('length'),
+ 'The value of !Date.prototype.setTime.propertyIsEnumerable(\'length\') is expected to be true'
+);
for (var x in Date.prototype.setTime) {
- if (x === "length") {
- throw new Test262Error('#2: The Date.prototype.setTime.length has the attribute DontEnum');
- }
+ assert.notSameValue(x, "length", 'The value of x is not "length"');
}
+// TODO: Convert to verifyProperty() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/setUTCDate/S15.9.5.37_A1_T1.js b/js/src/tests/test262/built-ins/Date/prototype/setUTCDate/S15.9.5.37_A1_T1.js
index 4b1c270f4a77..0ea87161251f 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/setUTCDate/S15.9.5.37_A1_T1.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/setUTCDate/S15.9.5.37_A1_T1.js
@@ -8,12 +8,18 @@ description: Checking absence of ReadOnly attribute
---*/
var x = Date.prototype.setUTCDate;
-if (x === 1)
+if (x === 1) {
Date.prototype.setUTCDate = 2;
-else
+} else {
Date.prototype.setUTCDate = 1;
-if (Date.prototype.setUTCDate === x) {
- throw new Test262Error('#1: The Date.prototype.setUTCDate has not the attribute ReadOnly');
}
+assert.notSameValue(
+ Date.prototype.setUTCDate,
+ x,
+ 'The value of Date.prototype.setUTCDate is expected to not equal the value of `x`'
+);
+
+// TODO: Convert to verifyProperty() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/setUTCDate/S15.9.5.37_A1_T2.js b/js/src/tests/test262/built-ins/Date/prototype/setUTCDate/S15.9.5.37_A1_T2.js
index 98f4ebcfffbd..84187b61d6be 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/setUTCDate/S15.9.5.37_A1_T2.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/setUTCDate/S15.9.5.37_A1_T2.js
@@ -6,13 +6,17 @@ info: The Date.prototype property "setUTCDate" has { DontEnum } attributes
esid: sec-date.prototype.setutcdate
description: Checking absence of DontDelete attribute
---*/
+assert.notSameValue(
+ delete Date.prototype.setUTCDate,
+ false,
+ 'The value of delete Date.prototype.setUTCDate is not false'
+);
-if (delete Date.prototype.setUTCDate === false) {
- throw new Test262Error('#1: The Date.prototype.setUTCDate property has not the attributes DontDelete');
-}
+assert(
+ !Date.prototype.hasOwnProperty('setUTCDate'),
+ 'The value of !Date.prototype.hasOwnProperty(\'setUTCDate\') is expected to be true'
+);
-if (Date.prototype.hasOwnProperty('setUTCDate')) {
- throw new Test262Error('#2: The Date.prototype.setUTCDate property has not the attributes DontDelete');
-}
+// TODO: Convert to verifyProperty() format.
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/setUTCDate/S15.9.5.37_A1_T3.js b/js/src/tests/test262/built-ins/Date/prototype/setUTCDate/S15.9.5.37_A1_T3.js
index 27702efcd2f9..e2085634a80b 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/setUTCDate/S15.9.5.37_A1_T3.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/setUTCDate/S15.9.5.37_A1_T3.js
@@ -6,15 +6,15 @@ info: The Date.prototype property "setUTCDate" has { DontEnum } attributes
esid: sec-date.prototype.setutcdate
description: Checking DontEnum attribute
---*/
-
-if (Date.prototype.propertyIsEnumerable('setUTCDate')) {
- throw new Test262Error('#1: The Date.prototype.setUTCDate property has the attribute DontEnum');
-}
+assert(
+ !Date.prototype.propertyIsEnumerable('setUTCDate'),
+ 'The value of !Date.prototype.propertyIsEnumerable(\'setUTCDate\') is expected to be true'
+);
for (var x in Date.prototype) {
- if (x === "setUTCDate") {
- throw new Test262Error('#2: The Date.prototype.setUTCDate has the attribute DontEnum');
- }
+ assert.notSameValue(x, "setUTCDate", 'The value of x is not "setUTCDate"');
}
+// TODO: Convert to verifyProperty() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/setUTCDate/S15.9.5.37_A2_T1.js b/js/src/tests/test262/built-ins/Date/prototype/setUTCDate/S15.9.5.37_A2_T1.js
index 7c3cda280ccc..0d7c6f5d1119 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/setUTCDate/S15.9.5.37_A2_T1.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/setUTCDate/S15.9.5.37_A2_T1.js
@@ -6,13 +6,16 @@ info: The "length" property of the "setUTCDate" is 1
esid: sec-date.prototype.setutcdate
description: The "length" property of the "setUTCDate" is 1
---*/
+assert.sameValue(
+ Date.prototype.setUTCDate.hasOwnProperty("length"),
+ true,
+ 'Date.prototype.setUTCDate.hasOwnProperty("length") must return true'
+);
-if (Date.prototype.setUTCDate.hasOwnProperty("length") !== true) {
- throw new Test262Error('#1: The setUTCDate has a "length" property');
-}
-
-if (Date.prototype.setUTCDate.length !== 1) {
- throw new Test262Error('#2: The "length" property of the setUTCDate is 1');
-}
+assert.sameValue(
+ Date.prototype.setUTCDate.length,
+ 1,
+ 'The value of Date.prototype.setUTCDate.length is expected to be 1'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/setUTCDate/S15.9.5.37_A3_T1.js b/js/src/tests/test262/built-ins/Date/prototype/setUTCDate/S15.9.5.37_A3_T1.js
index be10cd49a26b..4ec596966b33 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/setUTCDate/S15.9.5.37_A3_T1.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/setUTCDate/S15.9.5.37_A3_T1.js
@@ -12,8 +12,13 @@ includes: [propertyHelper.js]
var x = Date.prototype.setUTCDate.length;
verifyNotWritable(Date.prototype.setUTCDate, "length", null, 1);
-if (Date.prototype.setUTCDate.length !== x) {
- throw new Test262Error('#1: The Date.prototype.setUTCDate.length has the attribute ReadOnly');
-}
+
+assert.sameValue(
+ Date.prototype.setUTCDate.length,
+ x,
+ 'The value of Date.prototype.setUTCDate.length is expected to equal the value of x'
+);
+
+// TODO: Convert to verifyProperty() format.
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/setUTCDate/S15.9.5.37_A3_T2.js b/js/src/tests/test262/built-ins/Date/prototype/setUTCDate/S15.9.5.37_A3_T2.js
index e874e477513e..c171c07dc98e 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/setUTCDate/S15.9.5.37_A3_T2.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/setUTCDate/S15.9.5.37_A3_T2.js
@@ -8,13 +8,17 @@ info: |
esid: sec-date.prototype.setutcdate
description: Checking DontDelete attribute
---*/
+assert.sameValue(
+ delete Date.prototype.setUTCDate.length,
+ true,
+ 'The value of `delete Date.prototype.setUTCDate.length` is expected to be true'
+);
-if (delete Date.prototype.setUTCDate.length !== true) {
- throw new Test262Error('#1: The Date.prototype.setUTCDate.length property does not have the attributes DontDelete');
-}
+assert(
+ !Date.prototype.setUTCDate.hasOwnProperty('length'),
+ 'The value of !Date.prototype.setUTCDate.hasOwnProperty(\'length\') is expected to be true'
+);
-if (Date.prototype.setUTCDate.hasOwnProperty('length')) {
- throw new Test262Error('#2: The Date.prototype.setUTCDate.length property does not have the attributes DontDelete');
-}
+// TODO: Convert to verifyProperty() format.
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/setUTCDate/S15.9.5.37_A3_T3.js b/js/src/tests/test262/built-ins/Date/prototype/setUTCDate/S15.9.5.37_A3_T3.js
index 9c2c0429e07f..9e4fd50ded35 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/setUTCDate/S15.9.5.37_A3_T3.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/setUTCDate/S15.9.5.37_A3_T3.js
@@ -8,15 +8,15 @@ info: |
esid: sec-date.prototype.setutcdate
description: Checking DontEnum attribute
---*/
-
-if (Date.prototype.setUTCDate.propertyIsEnumerable('length')) {
- throw new Test262Error('#1: The Date.prototype.setUTCDate.length property has the attribute DontEnum');
-}
+assert(
+ !Date.prototype.setUTCDate.propertyIsEnumerable('length'),
+ 'The value of !Date.prototype.setUTCDate.propertyIsEnumerable(\'length\') is expected to be true'
+);
for (var x in Date.prototype.setUTCDate) {
- if (x === "length") {
- throw new Test262Error('#2: The Date.prototype.setUTCDate.length has the attribute DontEnum');
- }
+ assert.notSameValue(x, "length", 'The value of x is not "length"');
}
+// TODO: Convert to verifyProperty() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/setUTCDate/arg-coercion-order.js b/js/src/tests/test262/built-ins/Date/prototype/setUTCDate/arg-coercion-order.js
new file mode 100644
index 000000000000..c00dcdd04c5c
--- /dev/null
+++ b/js/src/tests/test262/built-ins/Date/prototype/setUTCDate/arg-coercion-order.js
@@ -0,0 +1,31 @@
+// Copyright (C) 2021 Kevin Gibbons. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-date.prototype.setutcdate
+description: Order of coercion of provided argument vs NaN check
+info: |
+ 1. Let t be ? thisTimeValue(this value).
+ 2. Let dt be ? ToNumber(date).
+ 3. If t is NaN, return NaN.
+ 4. Let newDate be MakeDate(MakeDay(YearFromTime(t), MonthFromTime(t), dt), TimeWithinDay(t)).
+ 5. Let v be TimeClip(newDate).
+ 6. Set the [[DateValue]] internal slot of this Date object to v.
+ 7. Return v.
+---*/
+
+var date = new Date(NaN);
+var callCount = 0;
+var arg = {
+ valueOf: function() {
+ callCount += 1;
+ return 0;
+ }
+};
+
+var returnValue = date.setUTCDate(arg);
+
+assert.sameValue(callCount, 1, 'ToNumber invoked exactly once');
+assert.sameValue(returnValue, NaN, 'argument is ignored when `this` is an invalid date');
+assert.sameValue(date.getTime(), NaN, 'argument is ignored when `this` is an invalid date');
+
+reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/setUTCFullYear/S15.9.5.41_A1_T1.js b/js/src/tests/test262/built-ins/Date/prototype/setUTCFullYear/S15.9.5.41_A1_T1.js
index 741193072008..4bb9f2c24522 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/setUTCFullYear/S15.9.5.41_A1_T1.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/setUTCFullYear/S15.9.5.41_A1_T1.js
@@ -8,12 +8,18 @@ description: Checking absence of ReadOnly attribute
---*/
var x = Date.prototype.setUTCFullYear;
-if (x === 1)
+if (x === 1) {
Date.prototype.setUTCFullYear = 2;
-else
+} else {
Date.prototype.setUTCFullYear = 1;
-if (Date.prototype.setUTCFullYear === x) {
- throw new Test262Error('#1: The Date.prototype.setUTCFullYear has not the attribute ReadOnly');
}
+assert.notSameValue(
+ Date.prototype.setUTCFullYear,
+ x,
+ 'The value of Date.prototype.setUTCFullYear is expected to not equal the value of `x`'
+);
+
+// TODO: Convert to verifyProperty() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/setUTCFullYear/S15.9.5.41_A1_T2.js b/js/src/tests/test262/built-ins/Date/prototype/setUTCFullYear/S15.9.5.41_A1_T2.js
index 28adf7aef869..1161ba431cdc 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/setUTCFullYear/S15.9.5.41_A1_T2.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/setUTCFullYear/S15.9.5.41_A1_T2.js
@@ -6,13 +6,17 @@ info: The Date.prototype property "setUTCFullYear" has { DontEnum } attributes
esid: sec-date.prototype.setutcfullyear
description: Checking absence of DontDelete attribute
---*/
+assert.notSameValue(
+ delete Date.prototype.setUTCFullYear,
+ false,
+ 'The value of delete Date.prototype.setUTCFullYear is not false'
+);
-if (delete Date.prototype.setUTCFullYear === false) {
- throw new Test262Error('#1: The Date.prototype.setUTCFullYear property has not the attributes DontDelete');
-}
+assert(
+ !Date.prototype.hasOwnProperty('setUTCFullYear'),
+ 'The value of !Date.prototype.hasOwnProperty(\'setUTCFullYear\') is expected to be true'
+);
-if (Date.prototype.hasOwnProperty('setUTCFullYear')) {
- throw new Test262Error('#2: The Date.prototype.setUTCFullYear property has not the attributes DontDelete');
-}
+// TODO: Convert to verifyProperty() format.
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/setUTCFullYear/S15.9.5.41_A1_T3.js b/js/src/tests/test262/built-ins/Date/prototype/setUTCFullYear/S15.9.5.41_A1_T3.js
index 97a4c4231378..7362027367fb 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/setUTCFullYear/S15.9.5.41_A1_T3.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/setUTCFullYear/S15.9.5.41_A1_T3.js
@@ -6,15 +6,15 @@ info: The Date.prototype property "setUTCFullYear" has { DontEnum } attributes
esid: sec-date.prototype.setutcfullyear
description: Checking DontEnum attribute
---*/
-
-if (Date.prototype.propertyIsEnumerable('setUTCFullYear')) {
- throw new Test262Error('#1: The Date.prototype.setUTCFullYear property has the attribute DontEnum');
-}
+assert(
+ !Date.prototype.propertyIsEnumerable('setUTCFullYear'),
+ 'The value of !Date.prototype.propertyIsEnumerable(\'setUTCFullYear\') is expected to be true'
+);
for (var x in Date.prototype) {
- if (x === "setUTCFullYear") {
- throw new Test262Error('#2: The Date.prototype.setUTCFullYear has the attribute DontEnum');
- }
+ assert.notSameValue(x, "setUTCFullYear", 'The value of x is not "setUTCFullYear"');
}
+// TODO: Convert to verifyProperty() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/setUTCFullYear/S15.9.5.41_A2_T1.js b/js/src/tests/test262/built-ins/Date/prototype/setUTCFullYear/S15.9.5.41_A2_T1.js
index c968a24a668d..408605fcb20c 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/setUTCFullYear/S15.9.5.41_A2_T1.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/setUTCFullYear/S15.9.5.41_A2_T1.js
@@ -6,13 +6,16 @@ info: The "length" property of the "setUTCFullYear" is 3
esid: sec-date.prototype.setutcfullyear
description: The "length" property of the "setUTCFullYear" is 3
---*/
+assert.sameValue(
+ Date.prototype.setUTCFullYear.hasOwnProperty("length"),
+ true,
+ 'Date.prototype.setUTCFullYear.hasOwnProperty("length") must return true'
+);
-if (Date.prototype.setUTCFullYear.hasOwnProperty("length") !== true) {
- throw new Test262Error('#1: The setUTCFullYear has a "length" property');
-}
-
-if (Date.prototype.setUTCFullYear.length !== 3) {
- throw new Test262Error('#2: The "length" property of the setUTCFullYear is 3');
-}
+assert.sameValue(
+ Date.prototype.setUTCFullYear.length,
+ 3,
+ 'The value of Date.prototype.setUTCFullYear.length is expected to be 3'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/setUTCFullYear/S15.9.5.41_A3_T1.js b/js/src/tests/test262/built-ins/Date/prototype/setUTCFullYear/S15.9.5.41_A3_T1.js
index 2a8f31726dff..7015cef362c9 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/setUTCFullYear/S15.9.5.41_A3_T1.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/setUTCFullYear/S15.9.5.41_A3_T1.js
@@ -12,8 +12,13 @@ includes: [propertyHelper.js]
var x = Date.prototype.setUTCFullYear.length;
verifyNotWritable(Date.prototype.setUTCFullYear, "length", null, 1);
-if (Date.prototype.setUTCFullYear.length !== x) {
- throw new Test262Error('#1: The Date.prototype.setUTCFullYear.length has the attribute ReadOnly');
-}
+
+assert.sameValue(
+ Date.prototype.setUTCFullYear.length,
+ x,
+ 'The value of Date.prototype.setUTCFullYear.length is expected to equal the value of x'
+);
+
+// TODO: Convert to verifyProperty() format.
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/setUTCFullYear/S15.9.5.41_A3_T2.js b/js/src/tests/test262/built-ins/Date/prototype/setUTCFullYear/S15.9.5.41_A3_T2.js
index 8e4ddfcd2e1d..1076c90b232c 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/setUTCFullYear/S15.9.5.41_A3_T2.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/setUTCFullYear/S15.9.5.41_A3_T2.js
@@ -8,13 +8,17 @@ info: |
esid: sec-date.prototype.setutcfullyear
description: Checking DontDelete attribute
---*/
+assert.sameValue(
+ delete Date.prototype.setUTCFullYear.length,
+ true,
+ 'The value of `delete Date.prototype.setUTCFullYear.length` is expected to be true'
+);
-if (delete Date.prototype.setUTCFullYear.length !== true) {
- throw new Test262Error('#1: The Date.prototype.setUTCFullYear.length property does not have the attributes DontDelete');
-}
+assert(
+ !Date.prototype.setUTCFullYear.hasOwnProperty('length'),
+ 'The value of !Date.prototype.setUTCFullYear.hasOwnProperty(\'length\') is expected to be true'
+);
-if (Date.prototype.setUTCFullYear.hasOwnProperty('length')) {
- throw new Test262Error('#2: The Date.prototype.setUTCFullYear.length property does not have the attributes DontDelete');
-}
+// TODO: Convert to verifyProperty() format.
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/setUTCFullYear/S15.9.5.41_A3_T3.js b/js/src/tests/test262/built-ins/Date/prototype/setUTCFullYear/S15.9.5.41_A3_T3.js
index df329fe99c37..ece7db26db19 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/setUTCFullYear/S15.9.5.41_A3_T3.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/setUTCFullYear/S15.9.5.41_A3_T3.js
@@ -8,15 +8,15 @@ info: |
esid: sec-date.prototype.setutcfullyear
description: Checking DontEnum attribute
---*/
-
-if (Date.prototype.setUTCFullYear.propertyIsEnumerable('length')) {
- throw new Test262Error('#1: The Date.prototype.setUTCFullYear.length property has the attribute DontEnum');
-}
+assert(
+ !Date.prototype.setUTCFullYear.propertyIsEnumerable('length'),
+ 'The value of !Date.prototype.setUTCFullYear.propertyIsEnumerable(\'length\') is expected to be true'
+);
for (var x in Date.prototype.setUTCFullYear) {
- if (x === "length") {
- throw new Test262Error('#2: The Date.prototype.setUTCFullYear.length has the attribute DontEnum');
- }
+ assert.notSameValue(x, "length", 'The value of x is not "length"');
}
+// TODO: Convert to verifyProperty() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/setUTCHours/S15.9.5.35_A1_T1.js b/js/src/tests/test262/built-ins/Date/prototype/setUTCHours/S15.9.5.35_A1_T1.js
index beba87c2c2b3..5bf8bdcc9b9d 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/setUTCHours/S15.9.5.35_A1_T1.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/setUTCHours/S15.9.5.35_A1_T1.js
@@ -8,12 +8,18 @@ description: Checking absence of ReadOnly attribute
---*/
var x = Date.prototype.setUTCHours;
-if (x === 1)
+if (x === 1) {
Date.prototype.setUTCHours = 2;
-else
+} else {
Date.prototype.setUTCHours = 1;
-if (Date.prototype.setUTCHours === x) {
- throw new Test262Error('#1: The Date.prototype.setUTCHours has not the attribute ReadOnly');
}
+assert.notSameValue(
+ Date.prototype.setUTCHours,
+ x,
+ 'The value of Date.prototype.setUTCHours is expected to not equal the value of `x`'
+);
+
+// TODO: Convert to verifyProperty() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/setUTCHours/S15.9.5.35_A1_T2.js b/js/src/tests/test262/built-ins/Date/prototype/setUTCHours/S15.9.5.35_A1_T2.js
index e5b39c05d6d5..487feb072ae4 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/setUTCHours/S15.9.5.35_A1_T2.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/setUTCHours/S15.9.5.35_A1_T2.js
@@ -6,13 +6,17 @@ info: The Date.prototype property "setUTCHours" has { DontEnum } attributes
esid: sec-date.prototype.setutchours
description: Checking absence of DontDelete attribute
---*/
+assert.notSameValue(
+ delete Date.prototype.setUTCHours,
+ false,
+ 'The value of delete Date.prototype.setUTCHours is not false'
+);
-if (delete Date.prototype.setUTCHours === false) {
- throw new Test262Error('#1: The Date.prototype.setUTCHours property has not the attributes DontDelete');
-}
+assert(
+ !Date.prototype.hasOwnProperty('setUTCHours'),
+ 'The value of !Date.prototype.hasOwnProperty(\'setUTCHours\') is expected to be true'
+);
-if (Date.prototype.hasOwnProperty('setUTCHours')) {
- throw new Test262Error('#2: The Date.prototype.setUTCHours property has not the attributes DontDelete');
-}
+// TODO: Convert to verifyProperty() format.
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/setUTCHours/S15.9.5.35_A1_T3.js b/js/src/tests/test262/built-ins/Date/prototype/setUTCHours/S15.9.5.35_A1_T3.js
index c45190324447..7be2011f6553 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/setUTCHours/S15.9.5.35_A1_T3.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/setUTCHours/S15.9.5.35_A1_T3.js
@@ -6,15 +6,15 @@ info: The Date.prototype property "setUTCHours" has { DontEnum } attributes
esid: sec-date.prototype.setutchours
description: Checking DontEnum attribute
---*/
-
-if (Date.prototype.propertyIsEnumerable('setUTCHours')) {
- throw new Test262Error('#1: The Date.prototype.setUTCHours property has the attribute DontEnum');
-}
+assert(
+ !Date.prototype.propertyIsEnumerable('setUTCHours'),
+ 'The value of !Date.prototype.propertyIsEnumerable(\'setUTCHours\') is expected to be true'
+);
for (var x in Date.prototype) {
- if (x === "setUTCHours") {
- throw new Test262Error('#2: The Date.prototype.setUTCHours has the attribute DontEnum');
- }
+ assert.notSameValue(x, "setUTCHours", 'The value of x is not "setUTCHours"');
}
+// TODO: Convert to verifyProperty() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/setUTCHours/S15.9.5.35_A2_T1.js b/js/src/tests/test262/built-ins/Date/prototype/setUTCHours/S15.9.5.35_A2_T1.js
index d43993c5cf6e..ce429ce09eb1 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/setUTCHours/S15.9.5.35_A2_T1.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/setUTCHours/S15.9.5.35_A2_T1.js
@@ -6,13 +6,16 @@ info: The "length" property of the "setUTCHours" is 4
esid: sec-date.prototype.setutchours
description: The "length" property of the "setUTCHours" is 4
---*/
+assert.sameValue(
+ Date.prototype.setUTCHours.hasOwnProperty("length"),
+ true,
+ 'Date.prototype.setUTCHours.hasOwnProperty("length") must return true'
+);
-if (Date.prototype.setUTCHours.hasOwnProperty("length") !== true) {
- throw new Test262Error('#1: The setUTCHours has a "length" property');
-}
-
-if (Date.prototype.setUTCHours.length !== 4) {
- throw new Test262Error('#2: The "length" property of the setUTCHours is 4');
-}
+assert.sameValue(
+ Date.prototype.setUTCHours.length,
+ 4,
+ 'The value of Date.prototype.setUTCHours.length is expected to be 4'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/setUTCHours/S15.9.5.35_A3_T1.js b/js/src/tests/test262/built-ins/Date/prototype/setUTCHours/S15.9.5.35_A3_T1.js
index a1a361fef12d..da911c82b74d 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/setUTCHours/S15.9.5.35_A3_T1.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/setUTCHours/S15.9.5.35_A3_T1.js
@@ -12,8 +12,13 @@ includes: [propertyHelper.js]
var x = Date.prototype.setUTCHours.length;
verifyNotWritable(Date.prototype.setUTCHours, "length", null, 1);
-if (Date.prototype.setUTCHours.length !== x) {
- throw new Test262Error('#1: The Date.prototype.setUTCHours.length has the attribute ReadOnly');
-}
+
+assert.sameValue(
+ Date.prototype.setUTCHours.length,
+ x,
+ 'The value of Date.prototype.setUTCHours.length is expected to equal the value of x'
+);
+
+// TODO: Convert to verifyProperty() format.
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/setUTCHours/S15.9.5.35_A3_T2.js b/js/src/tests/test262/built-ins/Date/prototype/setUTCHours/S15.9.5.35_A3_T2.js
index 75d074cad00c..cad8d4c37aa4 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/setUTCHours/S15.9.5.35_A3_T2.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/setUTCHours/S15.9.5.35_A3_T2.js
@@ -8,13 +8,17 @@ info: |
esid: sec-date.prototype.setutchours
description: Checking DontDelete attribute
---*/
+assert.sameValue(
+ delete Date.prototype.setUTCHours.length,
+ true,
+ 'The value of `delete Date.prototype.setUTCHours.length` is expected to be true'
+);
-if (delete Date.prototype.setUTCHours.length !== true) {
- throw new Test262Error('#1: The Date.prototype.setUTCHours.length property does not have the attributes DontDelete');
-}
+assert(
+ !Date.prototype.setUTCHours.hasOwnProperty('length'),
+ 'The value of !Date.prototype.setUTCHours.hasOwnProperty(\'length\') is expected to be true'
+);
-if (Date.prototype.setUTCHours.hasOwnProperty('length')) {
- throw new Test262Error('#2: The Date.prototype.setUTCHours.length property does not have the attributes DontDelete');
-}
+// TODO: Convert to verifyProperty() format.
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/setUTCHours/S15.9.5.35_A3_T3.js b/js/src/tests/test262/built-ins/Date/prototype/setUTCHours/S15.9.5.35_A3_T3.js
index ec0396e0ffb2..d196adad9d50 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/setUTCHours/S15.9.5.35_A3_T3.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/setUTCHours/S15.9.5.35_A3_T3.js
@@ -8,15 +8,15 @@ info: |
esid: sec-date.prototype.setutchours
description: Checking DontEnum attribute
---*/
-
-if (Date.prototype.setUTCHours.propertyIsEnumerable('length')) {
- throw new Test262Error('#1: The Date.prototype.setUTCHours.length property has the attribute DontEnum');
-}
+assert(
+ !Date.prototype.setUTCHours.propertyIsEnumerable('length'),
+ 'The value of !Date.prototype.setUTCHours.propertyIsEnumerable(\'length\') is expected to be true'
+);
for (var x in Date.prototype.setUTCHours) {
- if (x === "length") {
- throw new Test262Error('#2: The Date.prototype.setUTCHours.length has the attribute DontEnum');
- }
+ assert.notSameValue(x, "length", 'The value of x is not "length"');
}
+// TODO: Convert to verifyProperty() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/setUTCHours/arg-coercion-order.js b/js/src/tests/test262/built-ins/Date/prototype/setUTCHours/arg-coercion-order.js
new file mode 100644
index 000000000000..bbb850e7cf49
--- /dev/null
+++ b/js/src/tests/test262/built-ins/Date/prototype/setUTCHours/arg-coercion-order.js
@@ -0,0 +1,58 @@
+// Copyright (C) 2021 Kevin Gibbons. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-date.prototype.setutchours
+description: Order of coercion of provided arguments vs NaN check
+info: |
+ 1. Let t be ? thisTimeValue(this value).
+ 2. Let h be ? ToNumber(hour).
+ 3. If min is present, let m be ? ToNumber(min).
+ 4. If sec is present, let s be ? ToNumber(sec).
+ 5. If ms is present, let milli be ? ToNumber(ms).
+ 6. If t is NaN, return NaN.
+ 7. If min is not present, let m be MinFromTime(t).
+ 8. If sec is not present, let s be SecFromTime(t).
+ 9. If ms is not present, let milli be msFromTime(t).
+ 10. Let date be MakeDate(Day(t), MakeTime(h, m, s, milli)).
+ 11. Let v be TimeClip(date).
+ 12. Set the [[DateValue]] internal slot of this Date object to v.
+ 13. Return v.
+includes: [compareArray.js]
+---*/
+
+var date = new Date(NaN);
+var effects = [];
+var argHour = {
+ valueOf: function() {
+ effects.push('valueOf hour');
+ return 0;
+ }
+};
+var argMin = {
+ valueOf: function() {
+ effects.push('valueOf min');
+ return 0;
+ }
+};
+var argSec = {
+ valueOf: function() {
+ effects.push('valueOf sec');
+ return 0;
+ }
+};
+var argMs = {
+ valueOf: function() {
+ effects.push('valueOf ms');
+ return 0;
+ }
+};
+
+var returnValue = date.setUTCHours(argHour, argMin, argSec, argMs);
+
+var expectedEffects = ['valueOf hour', 'valueOf min', 'valueOf sec', 'valueOf ms'];
+
+assert.compareArray(effects, expectedEffects);
+assert.sameValue(returnValue, NaN, 'argument is ignored when `this` is an invalid date');
+assert.sameValue(date.getTime(), NaN, 'argument is ignored when `this` is an invalid date');
+
+reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/setUTCMilliseconds/S15.9.5.29_A1_T1.js b/js/src/tests/test262/built-ins/Date/prototype/setUTCMilliseconds/S15.9.5.29_A1_T1.js
index 839c293cf086..a3770024c835 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/setUTCMilliseconds/S15.9.5.29_A1_T1.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/setUTCMilliseconds/S15.9.5.29_A1_T1.js
@@ -10,12 +10,18 @@ description: Checking absence of ReadOnly attribute
---*/
var x = Date.prototype.setUTCMilliseconds;
-if (x === 1)
+if (x === 1) {
Date.prototype.setUTCMilliseconds = 2;
-else
+} else {
Date.prototype.setUTCMilliseconds = 1;
-if (Date.prototype.setUTCMilliseconds === x) {
- throw new Test262Error('#1: The Date.prototype.setUTCMilliseconds has not the attribute ReadOnly');
}
+assert.notSameValue(
+ Date.prototype.setUTCMilliseconds,
+ x,
+ 'The value of Date.prototype.setUTCMilliseconds is expected to not equal the value of `x`'
+);
+
+// TODO: Convert to verifyProperty() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/setUTCMilliseconds/S15.9.5.29_A1_T2.js b/js/src/tests/test262/built-ins/Date/prototype/setUTCMilliseconds/S15.9.5.29_A1_T2.js
index 31b1299d24cd..a539610d4a87 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/setUTCMilliseconds/S15.9.5.29_A1_T2.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/setUTCMilliseconds/S15.9.5.29_A1_T2.js
@@ -8,13 +8,17 @@ info: |
esid: sec-date.prototype.setutcmilliseconds
description: Checking absence of DontDelete attribute
---*/
+assert.notSameValue(
+ delete Date.prototype.setUTCMilliseconds,
+ false,
+ 'The value of delete Date.prototype.setUTCMilliseconds is not false'
+);
-if (delete Date.prototype.setUTCMilliseconds === false) {
- throw new Test262Error('#1: The Date.prototype.setUTCMilliseconds property has not the attributes DontDelete');
-}
+assert(
+ !Date.prototype.hasOwnProperty('setUTCMilliseconds'),
+ 'The value of !Date.prototype.hasOwnProperty(\'setUTCMilliseconds\') is expected to be true'
+);
-if (Date.prototype.hasOwnProperty('setUTCMilliseconds')) {
- throw new Test262Error('#2: The Date.prototype.setUTCMilliseconds property has not the attributes DontDelete');
-}
+// TODO: Convert to verifyProperty() format.
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/setUTCMilliseconds/S15.9.5.29_A1_T3.js b/js/src/tests/test262/built-ins/Date/prototype/setUTCMilliseconds/S15.9.5.29_A1_T3.js
index c61dd5b04ebc..a7508f1b5841 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/setUTCMilliseconds/S15.9.5.29_A1_T3.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/setUTCMilliseconds/S15.9.5.29_A1_T3.js
@@ -8,15 +8,15 @@ info: |
esid: sec-date.prototype.setutcmilliseconds
description: Checking DontEnum attribute
---*/
-
-if (Date.prototype.propertyIsEnumerable('setUTCMilliseconds')) {
- throw new Test262Error('#1: The Date.prototype.setUTCMilliseconds property has the attribute DontEnum');
-}
+assert(
+ !Date.prototype.propertyIsEnumerable('setUTCMilliseconds'),
+ 'The value of !Date.prototype.propertyIsEnumerable(\'setUTCMilliseconds\') is expected to be true'
+);
for (var x in Date.prototype) {
- if (x === "setUTCMilliseconds") {
- throw new Test262Error('#2: The Date.prototype.setUTCMilliseconds has the attribute DontEnum');
- }
+ assert.notSameValue(x, "setUTCMilliseconds", 'The value of x is not "setUTCMilliseconds"');
}
+// TODO: Convert to verifyProperty() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/setUTCMilliseconds/S15.9.5.29_A2_T1.js b/js/src/tests/test262/built-ins/Date/prototype/setUTCMilliseconds/S15.9.5.29_A2_T1.js
index 7aeae38cb64d..dbaabc809eed 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/setUTCMilliseconds/S15.9.5.29_A2_T1.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/setUTCMilliseconds/S15.9.5.29_A2_T1.js
@@ -6,13 +6,16 @@ info: The "length" property of the "setUTCMilliseconds" is 1
esid: sec-date.prototype.setutcmilliseconds
description: The "length" property of the "setUTCMilliseconds" is 1
---*/
+assert.sameValue(
+ Date.prototype.setUTCMilliseconds.hasOwnProperty("length"),
+ true,
+ 'Date.prototype.setUTCMilliseconds.hasOwnProperty("length") must return true'
+);
-if (Date.prototype.setUTCMilliseconds.hasOwnProperty("length") !== true) {
- throw new Test262Error('#1: The setUTCMilliseconds has a "length" property');
-}
-
-if (Date.prototype.setUTCMilliseconds.length !== 1) {
- throw new Test262Error('#2: The "length" property of the setUTCMilliseconds is 1');
-}
+assert.sameValue(
+ Date.prototype.setUTCMilliseconds.length,
+ 1,
+ 'The value of Date.prototype.setUTCMilliseconds.length is expected to be 1'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/setUTCMilliseconds/S15.9.5.29_A3_T1.js b/js/src/tests/test262/built-ins/Date/prototype/setUTCMilliseconds/S15.9.5.29_A3_T1.js
index c738c585482b..6345c92b26a4 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/setUTCMilliseconds/S15.9.5.29_A3_T1.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/setUTCMilliseconds/S15.9.5.29_A3_T1.js
@@ -12,8 +12,13 @@ includes: [propertyHelper.js]
var x = Date.prototype.setUTCMilliseconds.length;
verifyNotWritable(Date.prototype.setUTCMilliseconds, "length", null, 1);
-if (Date.prototype.setUTCMilliseconds.length !== x) {
- throw new Test262Error('#1: The Date.prototype.setUTCMilliseconds.length has the attribute ReadOnly');
-}
+
+assert.sameValue(
+ Date.prototype.setUTCMilliseconds.length,
+ x,
+ 'The value of Date.prototype.setUTCMilliseconds.length is expected to equal the value of x'
+);
+
+// TODO: Convert to verifyProperty() format.
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/setUTCMilliseconds/S15.9.5.29_A3_T2.js b/js/src/tests/test262/built-ins/Date/prototype/setUTCMilliseconds/S15.9.5.29_A3_T2.js
index d562a436e1b8..7954d93fcd61 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/setUTCMilliseconds/S15.9.5.29_A3_T2.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/setUTCMilliseconds/S15.9.5.29_A3_T2.js
@@ -8,13 +8,17 @@ info: |
esid: sec-date.prototype.setutcmilliseconds
description: Checking DontDelete attribute
---*/
+assert.sameValue(
+ delete Date.prototype.setUTCMilliseconds.length,
+ true,
+ 'The value of `delete Date.prototype.setUTCMilliseconds.length` is expected to be true'
+);
-if (delete Date.prototype.setUTCMilliseconds.length !== true) {
- throw new Test262Error('#1: The Date.prototype.setUTCMilliseconds.length property does not have the attributes DontDelete');
-}
+assert(
+ !Date.prototype.setUTCMilliseconds.hasOwnProperty('length'),
+ 'The value of !Date.prototype.setUTCMilliseconds.hasOwnProperty(\'length\') is expected to be true'
+);
-if (Date.prototype.setUTCMilliseconds.hasOwnProperty('length')) {
- throw new Test262Error('#2: The Date.prototype.setUTCMilliseconds.length property does not have the attributes DontDelete');
-}
+// TODO: Convert to verifyProperty() format.
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/setUTCMilliseconds/S15.9.5.29_A3_T3.js b/js/src/tests/test262/built-ins/Date/prototype/setUTCMilliseconds/S15.9.5.29_A3_T3.js
index 097b014b3e81..40071144d73f 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/setUTCMilliseconds/S15.9.5.29_A3_T3.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/setUTCMilliseconds/S15.9.5.29_A3_T3.js
@@ -8,15 +8,15 @@ info: |
esid: sec-date.prototype.setutcmilliseconds
description: Checking DontEnum attribute
---*/
-
-if (Date.prototype.setUTCMilliseconds.propertyIsEnumerable('length')) {
- throw new Test262Error('#1: The Date.prototype.setUTCMilliseconds.length property has the attribute DontEnum');
-}
+assert(
+ !Date.prototype.setUTCMilliseconds.propertyIsEnumerable('length'),
+ 'The value of !Date.prototype.setUTCMilliseconds.propertyIsEnumerable(\'length\') is expected to be true'
+);
for (var x in Date.prototype.setUTCMilliseconds) {
- if (x === "length") {
- throw new Test262Error('#2: The Date.prototype.setUTCMilliseconds.length has the attribute DontEnum');
- }
+ assert.notSameValue(x, "length", 'The value of x is not "length"');
}
+// TODO: Convert to verifyProperty() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/setUTCMilliseconds/arg-coercion-order.js b/js/src/tests/test262/built-ins/Date/prototype/setUTCMilliseconds/arg-coercion-order.js
new file mode 100644
index 000000000000..02f2c3fd8a91
--- /dev/null
+++ b/js/src/tests/test262/built-ins/Date/prototype/setUTCMilliseconds/arg-coercion-order.js
@@ -0,0 +1,32 @@
+// Copyright (C) 2021 Kevin Gibbons. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-date.prototype.setutcmilliseconds
+description: Order of coercion of provided argument vs NaN check
+info: |
+ 1. Let t be ? thisTimeValue(this value).
+ 2. Let dt be ? ToNumber(date).
+ 3. If t is NaN, return NaN.
+ 4. Set t to LocalTime(t).
+ 5. Let newDate be MakeDate(MakeDay(YearFromTime(t), MonthFromTime(t), dt), TimeWithinDay(t)).
+ 6. Let u be TimeClip(UTC(newDate)).
+ 7. Set the [[DateValue]] internal slot of this Date object to u.
+ 8. Return u.
+---*/
+
+var date = new Date(NaN);
+var callCount = 0;
+var arg = {
+ valueOf: function() {
+ callCount += 1;
+ return 0;
+ }
+};
+
+var returnValue = date.setUTCMilliseconds(arg);
+
+assert.sameValue(callCount, 1, 'ToNumber invoked exactly once');
+assert.sameValue(returnValue, NaN, 'argument is ignored when `this` is an invalid date');
+assert.sameValue(date.getTime(), NaN, 'argument is ignored when `this` is an invalid date');
+
+reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/setUTCMinutes/S15.9.5.33_A1_T1.js b/js/src/tests/test262/built-ins/Date/prototype/setUTCMinutes/S15.9.5.33_A1_T1.js
index 64e8aa57c0c7..d2aa63596bdb 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/setUTCMinutes/S15.9.5.33_A1_T1.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/setUTCMinutes/S15.9.5.33_A1_T1.js
@@ -8,12 +8,18 @@ description: Checking absence of ReadOnly attribute
---*/
var x = Date.prototype.setUTCMinutes;
-if (x === 1)
+if (x === 1) {
Date.prototype.setUTCMinutes = 2;
-else
+} else {
Date.prototype.setUTCMinutes = 1;
-if (Date.prototype.setUTCMinutes === x) {
- throw new Test262Error('#1: The Date.prototype.setUTCMinutes has not the attribute ReadOnly');
}
+assert.notSameValue(
+ Date.prototype.setUTCMinutes,
+ x,
+ 'The value of Date.prototype.setUTCMinutes is expected to not equal the value of `x`'
+);
+
+// TODO: Convert to verifyProperty() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/setUTCMinutes/S15.9.5.33_A1_T2.js b/js/src/tests/test262/built-ins/Date/prototype/setUTCMinutes/S15.9.5.33_A1_T2.js
index 91bfa874a1e5..14f6fa9b8f63 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/setUTCMinutes/S15.9.5.33_A1_T2.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/setUTCMinutes/S15.9.5.33_A1_T2.js
@@ -6,13 +6,17 @@ info: The Date.prototype property "setUTCMinutes" has { DontEnum } attributes
esid: sec-date.prototype.setutcminutes
description: Checking absence of DontDelete attribute
---*/
+assert.notSameValue(
+ delete Date.prototype.setUTCMinutes,
+ false,
+ 'The value of delete Date.prototype.setUTCMinutes is not false'
+);
-if (delete Date.prototype.setUTCMinutes === false) {
- throw new Test262Error('#1: The Date.prototype.setUTCMinutes property has not the attributes DontDelete');
-}
+assert(
+ !Date.prototype.hasOwnProperty('setUTCMinutes'),
+ 'The value of !Date.prototype.hasOwnProperty(\'setUTCMinutes\') is expected to be true'
+);
-if (Date.prototype.hasOwnProperty('setUTCMinutes')) {
- throw new Test262Error('#2: The Date.prototype.setUTCMinutes property has not the attributes DontDelete');
-}
+// TODO: Convert to verifyProperty() format.
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/setUTCMinutes/S15.9.5.33_A1_T3.js b/js/src/tests/test262/built-ins/Date/prototype/setUTCMinutes/S15.9.5.33_A1_T3.js
index bfe7c8cbb1d6..0a3afc4f3f63 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/setUTCMinutes/S15.9.5.33_A1_T3.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/setUTCMinutes/S15.9.5.33_A1_T3.js
@@ -6,15 +6,15 @@ info: The Date.prototype property "setUTCMinutes" has { DontEnum } attributes
esid: sec-date.prototype.setutcminutes
description: Checking DontEnum attribute
---*/
-
-if (Date.prototype.propertyIsEnumerable('setUTCMinutes')) {
- throw new Test262Error('#1: The Date.prototype.setUTCMinutes property has the attribute DontEnum');
-}
+assert(
+ !Date.prototype.propertyIsEnumerable('setUTCMinutes'),
+ 'The value of !Date.prototype.propertyIsEnumerable(\'setUTCMinutes\') is expected to be true'
+);
for (var x in Date.prototype) {
- if (x === "setUTCMinutes") {
- throw new Test262Error('#2: The Date.prototype.setUTCMinutes has the attribute DontEnum');
- }
+ assert.notSameValue(x, "setUTCMinutes", 'The value of x is not "setUTCMinutes"');
}
+// TODO: Convert to verifyProperty() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/setUTCMinutes/S15.9.5.33_A2_T1.js b/js/src/tests/test262/built-ins/Date/prototype/setUTCMinutes/S15.9.5.33_A2_T1.js
index 3cc41b37c145..62c01ca4b7dc 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/setUTCMinutes/S15.9.5.33_A2_T1.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/setUTCMinutes/S15.9.5.33_A2_T1.js
@@ -6,13 +6,16 @@ info: The "length" property of the "setUTCMinutes" is 3
esid: sec-date.prototype.setutcminutes
description: The "length" property of the "setUTCMinutes" is 3
---*/
+assert.sameValue(
+ Date.prototype.setUTCMinutes.hasOwnProperty("length"),
+ true,
+ 'Date.prototype.setUTCMinutes.hasOwnProperty("length") must return true'
+);
-if (Date.prototype.setUTCMinutes.hasOwnProperty("length") !== true) {
- throw new Test262Error('#1: The setUTCMinutes has a "length" property');
-}
-
-if (Date.prototype.setUTCMinutes.length !== 3) {
- throw new Test262Error('#2: The "length" property of the setUTCMinutes is 3');
-}
+assert.sameValue(
+ Date.prototype.setUTCMinutes.length,
+ 3,
+ 'The value of Date.prototype.setUTCMinutes.length is expected to be 3'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/setUTCMinutes/S15.9.5.33_A3_T1.js b/js/src/tests/test262/built-ins/Date/prototype/setUTCMinutes/S15.9.5.33_A3_T1.js
index 8a3281aad215..ca46350d6b05 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/setUTCMinutes/S15.9.5.33_A3_T1.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/setUTCMinutes/S15.9.5.33_A3_T1.js
@@ -12,8 +12,13 @@ includes: [propertyHelper.js]
var x = Date.prototype.setUTCMinutes.length;
verifyNotWritable(Date.prototype.setUTCMinutes, "length", null, 1);
-if (Date.prototype.setUTCMinutes.length !== x) {
- throw new Test262Error('#1: The Date.prototype.setUTCMinutes.length has the attribute ReadOnly');
-}
+
+assert.sameValue(
+ Date.prototype.setUTCMinutes.length,
+ x,
+ 'The value of Date.prototype.setUTCMinutes.length is expected to equal the value of x'
+);
+
+// TODO: Convert to verifyProperty() format.
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/setUTCMinutes/S15.9.5.33_A3_T2.js b/js/src/tests/test262/built-ins/Date/prototype/setUTCMinutes/S15.9.5.33_A3_T2.js
index 364254329e61..de0271b5b570 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/setUTCMinutes/S15.9.5.33_A3_T2.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/setUTCMinutes/S15.9.5.33_A3_T2.js
@@ -8,13 +8,17 @@ info: |
esid: sec-date.prototype.setutcminutes
description: Checking DontDelete attribute
---*/
+assert.sameValue(
+ delete Date.prototype.setUTCMinutes.length,
+ true,
+ 'The value of `delete Date.prototype.setUTCMinutes.length` is expected to be true'
+);
-if (delete Date.prototype.setUTCMinutes.length !== true) {
- throw new Test262Error('#1: The Date.prototype.setUTCMinutes.length property does not have the attributes DontDelete');
-}
+assert(
+ !Date.prototype.setUTCMinutes.hasOwnProperty('length'),
+ 'The value of !Date.prototype.setUTCMinutes.hasOwnProperty(\'length\') is expected to be true'
+);
-if (Date.prototype.setUTCMinutes.hasOwnProperty('length')) {
- throw new Test262Error('#2: The Date.prototype.setUTCMinutes.length property does not have the attributes DontDelete');
-}
+// TODO: Convert to verifyProperty() format.
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/setUTCMinutes/S15.9.5.33_A3_T3.js b/js/src/tests/test262/built-ins/Date/prototype/setUTCMinutes/S15.9.5.33_A3_T3.js
index 3a7df7655f38..57301fe91fb0 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/setUTCMinutes/S15.9.5.33_A3_T3.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/setUTCMinutes/S15.9.5.33_A3_T3.js
@@ -8,15 +8,15 @@ info: |
esid: sec-date.prototype.setutcminutes
description: Checking DontEnum attribute
---*/
-
-if (Date.prototype.setUTCMinutes.propertyIsEnumerable('length')) {
- throw new Test262Error('#1: The Date.prototype.setUTCMinutes.length property has the attribute DontEnum');
-}
+assert(
+ !Date.prototype.setUTCMinutes.propertyIsEnumerable('length'),
+ 'The value of !Date.prototype.setUTCMinutes.propertyIsEnumerable(\'length\') is expected to be true'
+);
for (var x in Date.prototype.setUTCMinutes) {
- if (x === "length") {
- throw new Test262Error('#2: The Date.prototype.setUTCMinutes.length has the attribute DontEnum');
- }
+ assert.notSameValue(x, "length", 'The value of x is not "length"');
}
+// TODO: Convert to verifyProperty() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/setUTCMinutes/arg-coercion-order.js b/js/src/tests/test262/built-ins/Date/prototype/setUTCMinutes/arg-coercion-order.js
new file mode 100644
index 000000000000..83b0a0346d93
--- /dev/null
+++ b/js/src/tests/test262/built-ins/Date/prototype/setUTCMinutes/arg-coercion-order.js
@@ -0,0 +1,50 @@
+// Copyright (C) 2021 Kevin Gibbons. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-date.prototype.setutcminutes
+description: Order of coercion of provided argument vs NaN check
+info: |
+ 1. Let t be ? thisTimeValue(this value).
+ 2. Let m be ? ToNumber(min).
+ 3. If sec is present, let s be ? ToNumber(sec).
+ 4. If ms is present, let milli be ? ToNumber(ms).
+ 5. If t is NaN, return NaN.
+ 6. If sec is not present, let s be SecFromTime(t).
+ 7. If ms is not present, let milli be msFromTime(t).
+ 8. Let date be MakeDate(Day(t), MakeTime(HourFromTime(t), m, s, milli)).
+ 9. Let v be TimeClip(date).
+ 10. Set the [[DateValue]] internal slot of this Date object to v.
+ 11. Return v.
+includes: [compareArray.js]
+---*/
+
+var date = new Date(NaN);
+var effects = [];
+var argMin = {
+ valueOf: function() {
+ effects.push('valueOf min');
+ return 0;
+ }
+};
+var argSec = {
+ valueOf: function() {
+ effects.push('valueOf sec');
+ return 0;
+ }
+};
+var argMs = {
+ valueOf: function() {
+ effects.push('valueOf ms');
+ return 0;
+ }
+};
+
+var returnValue = date.setUTCMinutes(argMin, argSec, argMs);
+
+var expectedEffects = ['valueOf min', 'valueOf sec', 'valueOf ms'];
+
+assert.compareArray(effects, expectedEffects);
+assert.sameValue(returnValue, NaN, 'argument is ignored when `this` is an invalid date');
+assert.sameValue(date.getTime(), NaN, 'argument is ignored when `this` is an invalid date');
+
+reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/setUTCMonth/S15.9.5.39_A1_T1.js b/js/src/tests/test262/built-ins/Date/prototype/setUTCMonth/S15.9.5.39_A1_T1.js
index c0f7c449ef33..3a47d37da586 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/setUTCMonth/S15.9.5.39_A1_T1.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/setUTCMonth/S15.9.5.39_A1_T1.js
@@ -8,12 +8,18 @@ description: Checking absence of ReadOnly attribute
---*/
var x = Date.prototype.setUTCMonth;
-if (x === 1)
+if (x === 1) {
Date.prototype.setUTCMonth = 2;
-else
+} else {
Date.prototype.setUTCMonth = 1;
-if (Date.prototype.setUTCMonth === x) {
- throw new Test262Error('#1: The Date.prototype.setUTCMonth has not the attribute ReadOnly');
}
+assert.notSameValue(
+ Date.prototype.setUTCMonth,
+ x,
+ 'The value of Date.prototype.setUTCMonth is expected to not equal the value of `x`'
+);
+
+// TODO: Convert to verifyProperty() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/setUTCMonth/S15.9.5.39_A1_T2.js b/js/src/tests/test262/built-ins/Date/prototype/setUTCMonth/S15.9.5.39_A1_T2.js
index d2e1dd5ec6c9..e250febbfef3 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/setUTCMonth/S15.9.5.39_A1_T2.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/setUTCMonth/S15.9.5.39_A1_T2.js
@@ -6,13 +6,17 @@ info: The Date.prototype property "setUTCMonth" has { DontEnum } attributes
esid: sec-date.prototype.setutcmonth
description: Checking absence of DontDelete attribute
---*/
+assert.notSameValue(
+ delete Date.prototype.setUTCMonth,
+ false,
+ 'The value of delete Date.prototype.setUTCMonth is not false'
+);
-if (delete Date.prototype.setUTCMonth === false) {
- throw new Test262Error('#1: The Date.prototype.setUTCMonth property has not the attributes DontDelete');
-}
+assert(
+ !Date.prototype.hasOwnProperty('setUTCMonth'),
+ 'The value of !Date.prototype.hasOwnProperty(\'setUTCMonth\') is expected to be true'
+);
-if (Date.prototype.hasOwnProperty('setUTCMonth')) {
- throw new Test262Error('#2: The Date.prototype.setUTCMonth property has not the attributes DontDelete');
-}
+// TODO: Convert to verifyProperty() format.
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/setUTCMonth/S15.9.5.39_A1_T3.js b/js/src/tests/test262/built-ins/Date/prototype/setUTCMonth/S15.9.5.39_A1_T3.js
index 13923a85ff59..bf3154fab42d 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/setUTCMonth/S15.9.5.39_A1_T3.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/setUTCMonth/S15.9.5.39_A1_T3.js
@@ -6,15 +6,15 @@ info: The Date.prototype property "setUTCMonth" has { DontEnum } attributes
esid: sec-date.prototype.setutcmonth
description: Checking DontEnum attribute
---*/
-
-if (Date.prototype.propertyIsEnumerable('setUTCMonth')) {
- throw new Test262Error('#1: The Date.prototype.setUTCMonth property has the attribute DontEnum');
-}
+assert(
+ !Date.prototype.propertyIsEnumerable('setUTCMonth'),
+ 'The value of !Date.prototype.propertyIsEnumerable(\'setUTCMonth\') is expected to be true'
+);
for (var x in Date.prototype) {
- if (x === "setUTCMonth") {
- throw new Test262Error('#2: The Date.prototype.setUTCMonth has the attribute DontEnum');
- }
+ assert.notSameValue(x, "setUTCMonth", 'The value of x is not "setUTCMonth"');
}
+// TODO: Convert to verifyProperty() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/setUTCMonth/S15.9.5.39_A2_T1.js b/js/src/tests/test262/built-ins/Date/prototype/setUTCMonth/S15.9.5.39_A2_T1.js
index 859c2b38cd7d..e917ba9810da 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/setUTCMonth/S15.9.5.39_A2_T1.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/setUTCMonth/S15.9.5.39_A2_T1.js
@@ -6,13 +6,16 @@ info: The "length" property of the "setUTCMonth" is 2
esid: sec-date.prototype.setutcmonth
description: The "length" property of the "setUTCMonth" is 2
---*/
+assert.sameValue(
+ Date.prototype.setUTCMonth.hasOwnProperty("length"),
+ true,
+ 'Date.prototype.setUTCMonth.hasOwnProperty("length") must return true'
+);
-if (Date.prototype.setUTCMonth.hasOwnProperty("length") !== true) {
- throw new Test262Error('#1: The setUTCMonth has a "length" property');
-}
-
-if (Date.prototype.setUTCMonth.length !== 2) {
- throw new Test262Error('#2: The "length" property of the setUTCMonth is 2');
-}
+assert.sameValue(
+ Date.prototype.setUTCMonth.length,
+ 2,
+ 'The value of Date.prototype.setUTCMonth.length is expected to be 2'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/setUTCMonth/S15.9.5.39_A3_T1.js b/js/src/tests/test262/built-ins/Date/prototype/setUTCMonth/S15.9.5.39_A3_T1.js
index d40b74a451cc..cf63985f9522 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/setUTCMonth/S15.9.5.39_A3_T1.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/setUTCMonth/S15.9.5.39_A3_T1.js
@@ -12,8 +12,13 @@ includes: [propertyHelper.js]
var x = Date.prototype.setUTCMonth.length;
verifyNotWritable(Date.prototype.setUTCMonth, "length", null, 1);
-if (Date.prototype.setUTCMonth.length !== x) {
- throw new Test262Error('#1: The Date.prototype.setUTCMonth.length has the attribute ReadOnly');
-}
+
+assert.sameValue(
+ Date.prototype.setUTCMonth.length,
+ x,
+ 'The value of Date.prototype.setUTCMonth.length is expected to equal the value of x'
+);
+
+// TODO: Convert to verifyProperty() format.
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/setUTCMonth/S15.9.5.39_A3_T2.js b/js/src/tests/test262/built-ins/Date/prototype/setUTCMonth/S15.9.5.39_A3_T2.js
index e9b47b64a870..923cba2989d7 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/setUTCMonth/S15.9.5.39_A3_T2.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/setUTCMonth/S15.9.5.39_A3_T2.js
@@ -8,13 +8,17 @@ info: |
esid: sec-date.prototype.setutcmonth
description: Checking DontDelete attribute
---*/
+assert.sameValue(
+ delete Date.prototype.setUTCMonth.length,
+ true,
+ 'The value of `delete Date.prototype.setUTCMonth.length` is expected to be true'
+);
-if (delete Date.prototype.setUTCMonth.length !== true) {
- throw new Test262Error('#1: The Date.prototype.setUTCMonth.length property does not have the attributes DontDelete');
-}
+assert(
+ !Date.prototype.setUTCMonth.hasOwnProperty('length'),
+ 'The value of !Date.prototype.setUTCMonth.hasOwnProperty(\'length\') is expected to be true'
+);
-if (Date.prototype.setUTCMonth.hasOwnProperty('length')) {
- throw new Test262Error('#2: The Date.prototype.setUTCMonth.length property does not have the attributes DontDelete');
-}
+// TODO: Convert to verifyProperty() format.
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/setUTCMonth/S15.9.5.39_A3_T3.js b/js/src/tests/test262/built-ins/Date/prototype/setUTCMonth/S15.9.5.39_A3_T3.js
index 830242f7968b..03d107db9bba 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/setUTCMonth/S15.9.5.39_A3_T3.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/setUTCMonth/S15.9.5.39_A3_T3.js
@@ -8,15 +8,15 @@ info: |
esid: sec-date.prototype.setutcmonth
description: Checking DontEnum attribute
---*/
-
-if (Date.prototype.setUTCMonth.propertyIsEnumerable('length')) {
- throw new Test262Error('#1: The Date.prototype.setUTCMonth.length property has the attribute DontEnum');
-}
+assert(
+ !Date.prototype.setUTCMonth.propertyIsEnumerable('length'),
+ 'The value of !Date.prototype.setUTCMonth.propertyIsEnumerable(\'length\') is expected to be true'
+);
for (var x in Date.prototype.setUTCMonth) {
- if (x === "length") {
- throw new Test262Error('#2: The Date.prototype.setUTCMonth.length has the attribute DontEnum');
- }
+ assert.notSameValue(x, "length", 'The value of x is not "length"');
}
+// TODO: Convert to verifyProperty() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/setUTCMonth/arg-coercion-order.js b/js/src/tests/test262/built-ins/Date/prototype/setUTCMonth/arg-coercion-order.js
new file mode 100644
index 000000000000..c94d09f56d4f
--- /dev/null
+++ b/js/src/tests/test262/built-ins/Date/prototype/setUTCMonth/arg-coercion-order.js
@@ -0,0 +1,42 @@
+// Copyright (C) 2021 Kevin Gibbons. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-date.prototype.setutcmonth
+description: Order of coercion of provided argument vs NaN check
+info: |
+ 1. Let t be ? thisTimeValue(this value).
+ 2. Let m be ? ToNumber(month).
+ 3. If date is present, let dt be ? ToNumber(date).
+ 4. If t is NaN, return NaN.
+ 5. If date is not present, let dt be DateFromTime(t).
+ 6. Let newDate be MakeDate(MakeDay(YearFromTime(t), m, dt), TimeWithinDay(t)).
+ 7. Let v be TimeClip(newDate).
+ 8. Set the [[DateValue]] internal slot of this Date object to v.
+ 9. Return v.
+includes: [compareArray.js]
+---*/
+
+var date = new Date(NaN);
+var effects = [];
+var argMonth = {
+ valueOf: function() {
+ effects.push('valueOf month');
+ return 0;
+ }
+};
+var argDate = {
+ valueOf: function() {
+ effects.push('valueOf date');
+ return 0;
+ }
+};
+
+var returnValue = date.setUTCMonth(argMonth, argDate);
+
+var expectedEffects = ['valueOf month', 'valueOf date'];
+
+assert.compareArray(effects, expectedEffects);
+assert.sameValue(returnValue, NaN, 'argument is ignored when `this` is an invalid date');
+assert.sameValue(date.getTime(), NaN, 'argument is ignored when `this` is an invalid date');
+
+reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/setUTCSeconds/S15.9.5.31_A1_T1.js b/js/src/tests/test262/built-ins/Date/prototype/setUTCSeconds/S15.9.5.31_A1_T1.js
index 5bb2445b6c13..1d75241ef895 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/setUTCSeconds/S15.9.5.31_A1_T1.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/setUTCSeconds/S15.9.5.31_A1_T1.js
@@ -8,12 +8,18 @@ description: Checking absence of ReadOnly attribute
---*/
var x = Date.prototype.setUTCSeconds;
-if (x === 1)
+if (x === 1) {
Date.prototype.setUTCSeconds = 2;
-else
+} else {
Date.prototype.setUTCSeconds = 1;
-if (Date.prototype.setUTCSeconds === x) {
- throw new Test262Error('#1: The Date.prototype.setUTCSeconds has not the attribute ReadOnly');
}
+assert.notSameValue(
+ Date.prototype.setUTCSeconds,
+ x,
+ 'The value of Date.prototype.setUTCSeconds is expected to not equal the value of `x`'
+);
+
+// TODO: Convert to verifyProperty() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/setUTCSeconds/S15.9.5.31_A1_T2.js b/js/src/tests/test262/built-ins/Date/prototype/setUTCSeconds/S15.9.5.31_A1_T2.js
index f44a1288ae23..4a0cfaa0f633 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/setUTCSeconds/S15.9.5.31_A1_T2.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/setUTCSeconds/S15.9.5.31_A1_T2.js
@@ -6,13 +6,17 @@ info: The Date.prototype property "setUTCSeconds" has { DontEnum } attributes
esid: sec-date.prototype.setutcseconds
description: Checking absence of DontDelete attribute
---*/
+assert.notSameValue(
+ delete Date.prototype.setUTCSeconds,
+ false,
+ 'The value of delete Date.prototype.setUTCSeconds is not false'
+);
-if (delete Date.prototype.setUTCSeconds === false) {
- throw new Test262Error('#1: The Date.prototype.setUTCSeconds property has not the attributes DontDelete');
-}
+assert(
+ !Date.prototype.hasOwnProperty('setUTCSeconds'),
+ 'The value of !Date.prototype.hasOwnProperty(\'setUTCSeconds\') is expected to be true'
+);
-if (Date.prototype.hasOwnProperty('setUTCSeconds')) {
- throw new Test262Error('#2: The Date.prototype.setUTCSeconds property has not the attributes DontDelete');
-}
+// TODO: Convert to verifyProperty() format.
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/setUTCSeconds/S15.9.5.31_A1_T3.js b/js/src/tests/test262/built-ins/Date/prototype/setUTCSeconds/S15.9.5.31_A1_T3.js
index 3cdb78038c2f..efb81dd571cd 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/setUTCSeconds/S15.9.5.31_A1_T3.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/setUTCSeconds/S15.9.5.31_A1_T3.js
@@ -6,15 +6,15 @@ info: The Date.prototype property "setUTCSeconds" has { DontEnum } attributes
esid: sec-date.prototype.setutcseconds
description: Checking DontEnum attribute
---*/
-
-if (Date.prototype.propertyIsEnumerable('setUTCSeconds')) {
- throw new Test262Error('#1: The Date.prototype.setUTCSeconds property has the attribute DontEnum');
-}
+assert(
+ !Date.prototype.propertyIsEnumerable('setUTCSeconds'),
+ 'The value of !Date.prototype.propertyIsEnumerable(\'setUTCSeconds\') is expected to be true'
+);
for (var x in Date.prototype) {
- if (x === "setUTCSeconds") {
- throw new Test262Error('#2: The Date.prototype.setUTCSeconds has the attribute DontEnum');
- }
+ assert.notSameValue(x, "setUTCSeconds", 'The value of x is not "setUTCSeconds"');
}
+// TODO: Convert to verifyProperty() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/setUTCSeconds/S15.9.5.31_A2_T1.js b/js/src/tests/test262/built-ins/Date/prototype/setUTCSeconds/S15.9.5.31_A2_T1.js
index 3f61003fd14a..314194b4c4b6 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/setUTCSeconds/S15.9.5.31_A2_T1.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/setUTCSeconds/S15.9.5.31_A2_T1.js
@@ -6,13 +6,16 @@ info: The "length" property of the "setUTCSeconds" is 2
esid: sec-date.prototype.setutcseconds
description: The "length" property of the "setUTCSeconds" is 2
---*/
+assert.sameValue(
+ Date.prototype.setUTCSeconds.hasOwnProperty("length"),
+ true,
+ 'Date.prototype.setUTCSeconds.hasOwnProperty("length") must return true'
+);
-if (Date.prototype.setUTCSeconds.hasOwnProperty("length") !== true) {
- throw new Test262Error('#1: The setUTCSeconds has a "length" property');
-}
-
-if (Date.prototype.setUTCSeconds.length !== 2) {
- throw new Test262Error('#2: The "length" property of the setUTCSeconds is 2');
-}
+assert.sameValue(
+ Date.prototype.setUTCSeconds.length,
+ 2,
+ 'The value of Date.prototype.setUTCSeconds.length is expected to be 2'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/setUTCSeconds/S15.9.5.31_A3_T1.js b/js/src/tests/test262/built-ins/Date/prototype/setUTCSeconds/S15.9.5.31_A3_T1.js
index 6f08f503045e..422b8d2f54d4 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/setUTCSeconds/S15.9.5.31_A3_T1.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/setUTCSeconds/S15.9.5.31_A3_T1.js
@@ -12,8 +12,13 @@ includes: [propertyHelper.js]
var x = Date.prototype.setUTCSeconds.length;
verifyNotWritable(Date.prototype.setUTCSeconds, "length", null, 1);
-if (Date.prototype.setUTCSeconds.length !== x) {
- throw new Test262Error('#1: The Date.prototype.setUTCSeconds.length has the attribute ReadOnly');
-}
+
+assert.sameValue(
+ Date.prototype.setUTCSeconds.length,
+ x,
+ 'The value of Date.prototype.setUTCSeconds.length is expected to equal the value of x'
+);
+
+// TODO: Convert to verifyProperty() format.
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/setUTCSeconds/S15.9.5.31_A3_T2.js b/js/src/tests/test262/built-ins/Date/prototype/setUTCSeconds/S15.9.5.31_A3_T2.js
index bef1dfc84d0b..195b8488930b 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/setUTCSeconds/S15.9.5.31_A3_T2.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/setUTCSeconds/S15.9.5.31_A3_T2.js
@@ -8,13 +8,17 @@ info: |
esid: sec-date.prototype.setutcseconds
description: Checking DontDelete attribute
---*/
+assert.sameValue(
+ delete Date.prototype.setUTCSeconds.length,
+ true,
+ 'The value of `delete Date.prototype.setUTCSeconds.length` is expected to be true'
+);
-if (delete Date.prototype.setUTCSeconds.length !== true) {
- throw new Test262Error('#1: The Date.prototype.setUTCSeconds.length property does not have the attributes DontDelete');
-}
+assert(
+ !Date.prototype.setUTCSeconds.hasOwnProperty('length'),
+ 'The value of !Date.prototype.setUTCSeconds.hasOwnProperty(\'length\') is expected to be true'
+);
-if (Date.prototype.setUTCSeconds.hasOwnProperty('length')) {
- throw new Test262Error('#2: The Date.prototype.setUTCSeconds.length property does not have the attributes DontDelete');
-}
+// TODO: Convert to verifyProperty() format.
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/setUTCSeconds/S15.9.5.31_A3_T3.js b/js/src/tests/test262/built-ins/Date/prototype/setUTCSeconds/S15.9.5.31_A3_T3.js
index ea209b314250..aec6f68e8d30 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/setUTCSeconds/S15.9.5.31_A3_T3.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/setUTCSeconds/S15.9.5.31_A3_T3.js
@@ -8,15 +8,15 @@ info: |
esid: sec-date.prototype.setutcseconds
description: Checking DontEnum attribute
---*/
-
-if (Date.prototype.setUTCSeconds.propertyIsEnumerable('length')) {
- throw new Test262Error('#1: The Date.prototype.setUTCSeconds.length property has the attribute DontEnum');
-}
+assert(
+ !Date.prototype.setUTCSeconds.propertyIsEnumerable('length'),
+ 'The value of !Date.prototype.setUTCSeconds.propertyIsEnumerable(\'length\') is expected to be true'
+);
for (var x in Date.prototype.setUTCSeconds) {
- if (x === "length") {
- throw new Test262Error('#2: The Date.prototype.setUTCSeconds.length has the attribute DontEnum');
- }
+ assert.notSameValue(x, "length", 'The value of x is not "length"');
}
+// TODO: Convert to verifyProperty() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/setUTCSeconds/arg-coercion-order.js b/js/src/tests/test262/built-ins/Date/prototype/setUTCSeconds/arg-coercion-order.js
new file mode 100644
index 000000000000..a453b5a2c215
--- /dev/null
+++ b/js/src/tests/test262/built-ins/Date/prototype/setUTCSeconds/arg-coercion-order.js
@@ -0,0 +1,42 @@
+// Copyright (C) 2021 Kevin Gibbons. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-date.prototype.setutcseconds
+description: Order of coercion of provided arguments vs NaN check
+info: |
+ 1. Let t be ? thisTimeValue(this value).
+ 2. Let s be ? ToNumber(sec).
+ 3. If ms is present, let milli be ? ToNumber(ms).
+ 4. If t is NaN, return NaN.
+ 5. If ms is not present, let milli be msFromTime(t).
+ 6. Let date be MakeDate(Day(t), MakeTime(HourFromTime(t), MinFromTime(t), s, milli)).
+ 7. Let v be TimeClip(date).
+ 8. Set the [[DateValue]] internal slot of this Date object to v.
+ 9. Return v.
+includes: [compareArray.js]
+---*/
+
+var date = new Date(NaN);
+var effects = [];
+var argSec = {
+ valueOf: function() {
+ effects.push('valueOf sec');
+ return 0;
+ }
+};
+var argMs = {
+ valueOf: function() {
+ effects.push('valueOf ms');
+ return 0;
+ }
+};
+
+var returnValue = date.setUTCSeconds(argSec, argMs);
+
+var expectedEffects = ['valueOf sec', 'valueOf ms'];
+
+assert.compareArray(effects, expectedEffects);
+assert.sameValue(returnValue, NaN, 'argument is ignored when `this` is an invalid date');
+assert.sameValue(date.getTime(), NaN, 'argument is ignored when `this` is an invalid date');
+
+reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/toDateString/S15.9.5.3_A1_T1.js b/js/src/tests/test262/built-ins/Date/prototype/toDateString/S15.9.5.3_A1_T1.js
index 0859fb22166f..8c3b6275c198 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/toDateString/S15.9.5.3_A1_T1.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/toDateString/S15.9.5.3_A1_T1.js
@@ -8,12 +8,18 @@ description: Checking absence of ReadOnly attribute
---*/
var x = Date.prototype.toDateString;
-if (x === 1)
+if (x === 1) {
Date.prototype.toDateString = 2;
-else
+} else {
Date.prototype.toDateString = 1;
-if (Date.prototype.toDateString === x) {
- throw new Test262Error('#1: The Date.prototype.toDateString has not the attribute ReadOnly');
}
+assert.notSameValue(
+ Date.prototype.toDateString,
+ x,
+ 'The value of Date.prototype.toDateString is expected to not equal the value of `x`'
+);
+
+// TODO: Convert to verifyProperty() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/toDateString/S15.9.5.3_A1_T2.js b/js/src/tests/test262/built-ins/Date/prototype/toDateString/S15.9.5.3_A1_T2.js
index 7a04024140ef..b577a2dbc56e 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/toDateString/S15.9.5.3_A1_T2.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/toDateString/S15.9.5.3_A1_T2.js
@@ -6,13 +6,17 @@ info: The Date.prototype property "toDateString" has { DontEnum } attributes
esid: sec-date.prototype.todatestring
description: Checking absence of DontDelete attribute
---*/
+assert.notSameValue(
+ delete Date.prototype.toDateString,
+ false,
+ 'The value of delete Date.prototype.toDateString is not false'
+);
-if (delete Date.prototype.toDateString === false) {
- throw new Test262Error('#1: The Date.prototype.toDateString property has not the attributes DontDelete');
-}
+assert(
+ !Date.prototype.hasOwnProperty('toDateString'),
+ 'The value of !Date.prototype.hasOwnProperty(\'toDateString\') is expected to be true'
+);
-if (Date.prototype.hasOwnProperty('toDateString')) {
- throw new Test262Error('#2: The Date.prototype.toDateString property has not the attributes DontDelete');
-}
+// TODO: Convert to verifyProperty() format.
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/toDateString/S15.9.5.3_A1_T3.js b/js/src/tests/test262/built-ins/Date/prototype/toDateString/S15.9.5.3_A1_T3.js
index a625e506936e..19fead51e383 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/toDateString/S15.9.5.3_A1_T3.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/toDateString/S15.9.5.3_A1_T3.js
@@ -6,15 +6,15 @@ info: The Date.prototype property "toDateString" has { DontEnum } attributes
esid: sec-date.prototype.todatestring
description: Checking DontEnum attribute
---*/
-
-if (Date.prototype.propertyIsEnumerable('toDateString')) {
- throw new Test262Error('#1: The Date.prototype.toDateString property has the attribute DontEnum');
-}
+assert(
+ !Date.prototype.propertyIsEnumerable('toDateString'),
+ 'The value of !Date.prototype.propertyIsEnumerable(\'toDateString\') is expected to be true'
+);
for (var x in Date.prototype) {
- if (x === "toDateString") {
- throw new Test262Error('#2: The Date.prototype.toDateString has the attribute DontEnum');
- }
+ assert.notSameValue(x, "toDateString", 'The value of x is not "toDateString"');
}
+// TODO: Convert to verifyProperty() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/toDateString/S15.9.5.3_A2_T1.js b/js/src/tests/test262/built-ins/Date/prototype/toDateString/S15.9.5.3_A2_T1.js
index 8124a0e85861..ec4467849962 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/toDateString/S15.9.5.3_A2_T1.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/toDateString/S15.9.5.3_A2_T1.js
@@ -6,13 +6,16 @@ info: The "length" property of the "toDateString" is 0
esid: sec-date.prototype.todatestring
description: The "length" property of the "toDateString" is 0
---*/
+assert.sameValue(
+ Date.prototype.toDateString.hasOwnProperty("length"),
+ true,
+ 'Date.prototype.toDateString.hasOwnProperty("length") must return true'
+);
-if (Date.prototype.toDateString.hasOwnProperty("length") !== true) {
- throw new Test262Error('#1: The toDateString has a "length" property');
-}
-
-if (Date.prototype.toDateString.length !== 0) {
- throw new Test262Error('#2: The "length" property of the toDateString is 0');
-}
+assert.sameValue(
+ Date.prototype.toDateString.length,
+ 0,
+ 'The value of Date.prototype.toDateString.length is expected to be 0'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/toDateString/S15.9.5.3_A3_T1.js b/js/src/tests/test262/built-ins/Date/prototype/toDateString/S15.9.5.3_A3_T1.js
index 516b4c4f9d9b..ea918616ee47 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/toDateString/S15.9.5.3_A3_T1.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/toDateString/S15.9.5.3_A3_T1.js
@@ -12,8 +12,13 @@ includes: [propertyHelper.js]
var x = Date.prototype.toDateString.length;
verifyNotWritable(Date.prototype.toDateString, "length", null, 1);
-if (Date.prototype.toDateString.length !== x) {
- throw new Test262Error('#1: The Date.prototype.toDateString.length has the attribute ReadOnly');
-}
+
+assert.sameValue(
+ Date.prototype.toDateString.length,
+ x,
+ 'The value of Date.prototype.toDateString.length is expected to equal the value of x'
+);
+
+// TODO: Convert to verifyProperty() format.
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/toDateString/S15.9.5.3_A3_T2.js b/js/src/tests/test262/built-ins/Date/prototype/toDateString/S15.9.5.3_A3_T2.js
index 00727fbfdd81..d56ed18a2002 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/toDateString/S15.9.5.3_A3_T2.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/toDateString/S15.9.5.3_A3_T2.js
@@ -8,13 +8,17 @@ info: |
esid: sec-date.prototype.todatestring
description: Checking DontDelete attribute
---*/
+assert.sameValue(
+ delete Date.prototype.toDateString.length,
+ true,
+ 'The value of `delete Date.prototype.toDateString.length` is expected to be true'
+);
-if (delete Date.prototype.toDateString.length !== true) {
- throw new Test262Error('#1: The Date.prototype.toDateString.length property does not have the attributes DontDelete');
-}
+assert(
+ !Date.prototype.toDateString.hasOwnProperty('length'),
+ 'The value of !Date.prototype.toDateString.hasOwnProperty(\'length\') is expected to be true'
+);
-if (Date.prototype.toDateString.hasOwnProperty('length')) {
- throw new Test262Error('#2: The Date.prototype.toDateString.length property does not have the attributes DontDelete');
-}
+// TODO: Convert to verifyProperty() format.
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/toDateString/S15.9.5.3_A3_T3.js b/js/src/tests/test262/built-ins/Date/prototype/toDateString/S15.9.5.3_A3_T3.js
index 3a00839f139b..fd89a02806a3 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/toDateString/S15.9.5.3_A3_T3.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/toDateString/S15.9.5.3_A3_T3.js
@@ -8,15 +8,15 @@ info: |
esid: sec-date.prototype.todatestring
description: Checking DontEnum attribute
---*/
-
-if (Date.prototype.toDateString.propertyIsEnumerable('length')) {
- throw new Test262Error('#1: The Date.prototype.toDateString.length property has the attribute DontEnum');
-}
+assert(
+ !Date.prototype.toDateString.propertyIsEnumerable('length'),
+ 'The value of !Date.prototype.toDateString.propertyIsEnumerable(\'length\') is expected to be true'
+);
for (var x in Date.prototype.toDateString) {
- if (x === "length") {
- throw new Test262Error('#2: The Date.prototype.toDateString.length has the attribute DontEnum');
- }
+ assert.notSameValue(x, "length", 'The value of x is not "length"');
}
+// TODO: Convert to verifyProperty() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/toLocaleDateString/S15.9.5.6_A1_T1.js b/js/src/tests/test262/built-ins/Date/prototype/toLocaleDateString/S15.9.5.6_A1_T1.js
index 8772a3ee061f..4ecf0d30290e 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/toLocaleDateString/S15.9.5.6_A1_T1.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/toLocaleDateString/S15.9.5.6_A1_T1.js
@@ -10,12 +10,18 @@ description: Checking absence of ReadOnly attribute
---*/
var x = Date.prototype.toLocaleDateString;
-if (x === 1)
+if (x === 1) {
Date.prototype.toLocaleDateString = 2;
-else
+} else {
Date.prototype.toLocaleDateString = 1;
-if (Date.prototype.toLocaleDateString === x) {
- throw new Test262Error('#1: The Date.prototype.toLocaleDateString has not the attribute ReadOnly');
}
+assert.notSameValue(
+ Date.prototype.toLocaleDateString,
+ x,
+ 'The value of Date.prototype.toLocaleDateString is expected to not equal the value of `x`'
+);
+
+// TODO: Convert to verifyProperty() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/toLocaleDateString/S15.9.5.6_A1_T2.js b/js/src/tests/test262/built-ins/Date/prototype/toLocaleDateString/S15.9.5.6_A1_T2.js
index daa2b47ede18..99ff7abca096 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/toLocaleDateString/S15.9.5.6_A1_T2.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/toLocaleDateString/S15.9.5.6_A1_T2.js
@@ -8,13 +8,17 @@ info: |
esid: sec-date.prototype.tolocaledatestring
description: Checking absence of DontDelete attribute
---*/
+assert.notSameValue(
+ delete Date.prototype.toLocaleDateString,
+ false,
+ 'The value of delete Date.prototype.toLocaleDateString is not false'
+);
-if (delete Date.prototype.toLocaleDateString === false) {
- throw new Test262Error('#1: The Date.prototype.toLocaleDateString property has not the attributes DontDelete');
-}
+assert(
+ !Date.prototype.hasOwnProperty('toLocaleDateString'),
+ 'The value of !Date.prototype.hasOwnProperty(\'toLocaleDateString\') is expected to be true'
+);
-if (Date.prototype.hasOwnProperty('toLocaleDateString')) {
- throw new Test262Error('#2: The Date.prototype.toLocaleDateString property has not the attributes DontDelete');
-}
+// TODO: Convert to verifyProperty() format.
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/toLocaleDateString/S15.9.5.6_A1_T3.js b/js/src/tests/test262/built-ins/Date/prototype/toLocaleDateString/S15.9.5.6_A1_T3.js
index 477916fbee72..20a586e47f4f 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/toLocaleDateString/S15.9.5.6_A1_T3.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/toLocaleDateString/S15.9.5.6_A1_T3.js
@@ -8,15 +8,15 @@ info: |
esid: sec-date.prototype.tolocaledatestring
description: Checking DontEnum attribute
---*/
-
-if (Date.prototype.propertyIsEnumerable('toLocaleDateString')) {
- throw new Test262Error('#1: The Date.prototype.toLocaleDateString property has the attribute DontEnum');
-}
+assert(
+ !Date.prototype.propertyIsEnumerable('toLocaleDateString'),
+ 'The value of !Date.prototype.propertyIsEnumerable(\'toLocaleDateString\') is expected to be true'
+);
for (var x in Date.prototype) {
- if (x === "toLocaleDateString") {
- throw new Test262Error('#2: The Date.prototype.toLocaleDateString has the attribute DontEnum');
- }
+ assert.notSameValue(x, "toLocaleDateString", 'The value of x is not "toLocaleDateString"');
}
+// TODO: Convert to verifyProperty() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/toLocaleDateString/S15.9.5.6_A2_T1.js b/js/src/tests/test262/built-ins/Date/prototype/toLocaleDateString/S15.9.5.6_A2_T1.js
index 7827b3e46d6c..283d863bf406 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/toLocaleDateString/S15.9.5.6_A2_T1.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/toLocaleDateString/S15.9.5.6_A2_T1.js
@@ -6,13 +6,16 @@ info: The "length" property of the "toLocaleDateString" is 0
esid: sec-date.prototype.tolocaledatestring
description: The "length" property of the "toLocaleDateString" is 0
---*/
+assert.sameValue(
+ Date.prototype.toLocaleDateString.hasOwnProperty("length"),
+ true,
+ 'Date.prototype.toLocaleDateString.hasOwnProperty("length") must return true'
+);
-if (Date.prototype.toLocaleDateString.hasOwnProperty("length") !== true) {
- throw new Test262Error('#1: The toLocaleDateString has a "length" property');
-}
-
-if (Date.prototype.toLocaleDateString.length !== 0) {
- throw new Test262Error('#2: The "length" property of the toLocaleDateString is 0');
-}
+assert.sameValue(
+ Date.prototype.toLocaleDateString.length,
+ 0,
+ 'The value of Date.prototype.toLocaleDateString.length is expected to be 0'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/toLocaleDateString/S15.9.5.6_A3_T1.js b/js/src/tests/test262/built-ins/Date/prototype/toLocaleDateString/S15.9.5.6_A3_T1.js
index 2588bbdea8b6..3df27ab67320 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/toLocaleDateString/S15.9.5.6_A3_T1.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/toLocaleDateString/S15.9.5.6_A3_T1.js
@@ -12,8 +12,13 @@ includes: [propertyHelper.js]
var x = Date.prototype.toLocaleDateString.length;
verifyNotWritable(Date.prototype.toLocaleDateString, "length", null, 1);
-if (Date.prototype.toLocaleDateString.length !== x) {
- throw new Test262Error('#1: The Date.prototype.toLocaleDateString.length has the attribute ReadOnly');
-}
+
+assert.sameValue(
+ Date.prototype.toLocaleDateString.length,
+ x,
+ 'The value of Date.prototype.toLocaleDateString.length is expected to equal the value of x'
+);
+
+// TODO: Convert to verifyProperty() format.
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/toLocaleDateString/S15.9.5.6_A3_T2.js b/js/src/tests/test262/built-ins/Date/prototype/toLocaleDateString/S15.9.5.6_A3_T2.js
index d4c4fa11f617..5339b513a262 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/toLocaleDateString/S15.9.5.6_A3_T2.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/toLocaleDateString/S15.9.5.6_A3_T2.js
@@ -8,13 +8,17 @@ info: |
esid: sec-date.prototype.tolocaledatestring
description: Checking DontDelete attribute
---*/
+assert.sameValue(
+ delete Date.prototype.toLocaleDateString.length,
+ true,
+ 'The value of `delete Date.prototype.toLocaleDateString.length` is expected to be true'
+);
-if (delete Date.prototype.toLocaleDateString.length !== true) {
- throw new Test262Error('#1: The Date.prototype.toLocaleDateString.length property does not have the attributes DontDelete');
-}
+assert(
+ !Date.prototype.toLocaleDateString.hasOwnProperty('length'),
+ 'The value of !Date.prototype.toLocaleDateString.hasOwnProperty(\'length\') is expected to be true'
+);
-if (Date.prototype.toLocaleDateString.hasOwnProperty('length')) {
- throw new Test262Error('#2: The Date.prototype.toLocaleDateString.length property does not have the attributes DontDelete');
-}
+// TODO: Convert to verifyProperty() format.
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/toLocaleDateString/S15.9.5.6_A3_T3.js b/js/src/tests/test262/built-ins/Date/prototype/toLocaleDateString/S15.9.5.6_A3_T3.js
index c778fbc08676..23f2fe919df7 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/toLocaleDateString/S15.9.5.6_A3_T3.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/toLocaleDateString/S15.9.5.6_A3_T3.js
@@ -8,15 +8,15 @@ info: |
esid: sec-date.prototype.tolocaledatestring
description: Checking DontEnum attribute
---*/
-
-if (Date.prototype.toLocaleDateString.propertyIsEnumerable('length')) {
- throw new Test262Error('#1: The Date.prototype.toLocaleDateString.length property has the attribute DontEnum');
-}
+assert(
+ !Date.prototype.toLocaleDateString.propertyIsEnumerable('length'),
+ 'The value of !Date.prototype.toLocaleDateString.propertyIsEnumerable(\'length\') is expected to be true'
+);
for (var x in Date.prototype.toLocaleDateString) {
- if (x === "length") {
- throw new Test262Error('#2: The Date.prototype.toLocaleDateString.length has the attribute DontEnum');
- }
+ assert.notSameValue(x, "length", 'The value of x is not "length"');
}
+// TODO: Convert to verifyProperty() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/toLocaleString/S15.9.5.5_A1_T1.js b/js/src/tests/test262/built-ins/Date/prototype/toLocaleString/S15.9.5.5_A1_T1.js
index 96667eeffd5c..462d53f26b59 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/toLocaleString/S15.9.5.5_A1_T1.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/toLocaleString/S15.9.5.5_A1_T1.js
@@ -8,12 +8,18 @@ description: Checking absence of ReadOnly attribute
---*/
var x = Date.prototype.toLocaleString;
-if (x === 1)
+if (x === 1) {
Date.prototype.toLocaleString = 2;
-else
+} else {
Date.prototype.toLocaleString = 1;
-if (Date.prototype.toLocaleString === x) {
- throw new Test262Error('#1: The Date.prototype.toLocaleString has not the attribute ReadOnly');
}
+assert.notSameValue(
+ Date.prototype.toLocaleString,
+ x,
+ 'The value of Date.prototype.toLocaleString is expected to not equal the value of `x`'
+);
+
+// TODO: Convert to verifyProperty() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/toLocaleString/S15.9.5.5_A1_T2.js b/js/src/tests/test262/built-ins/Date/prototype/toLocaleString/S15.9.5.5_A1_T2.js
index e03e6c6d4e64..7048a1c8c413 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/toLocaleString/S15.9.5.5_A1_T2.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/toLocaleString/S15.9.5.5_A1_T2.js
@@ -7,12 +7,17 @@ esid: sec-date.prototype.tolocalestring
description: Checking absence of DontDelete attribute
---*/
-if (delete Date.prototype.toLocaleString === false) {
- throw new Test262Error('#1: The Date.prototype.toLocaleString property has not the attributes DontDelete');
-}
+assert.notSameValue(
+ delete Date.prototype.toLocaleString,
+ false,
+ 'The value of delete Date.prototype.toLocaleString is not false'
+);
-if (Date.prototype.hasOwnProperty('toLocaleString')) {
- throw new Test262Error('#2: The Date.prototype.toLocaleString property has not the attributes DontDelete');
-}
+assert(
+ !Date.prototype.hasOwnProperty('toLocaleString'),
+ 'The value of !Date.prototype.hasOwnProperty(\'toLocaleString\') is expected to be true'
+);
+
+// TODO: Convert to verifyProperty() format.
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/toLocaleString/S15.9.5.5_A1_T3.js b/js/src/tests/test262/built-ins/Date/prototype/toLocaleString/S15.9.5.5_A1_T3.js
index 4aec64709ae4..8cd0d560cc9c 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/toLocaleString/S15.9.5.5_A1_T3.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/toLocaleString/S15.9.5.5_A1_T3.js
@@ -6,15 +6,15 @@ info: The Date.prototype property "toLocaleString" has { DontEnum } attributes
esid: sec-date.prototype.tolocalestring
description: Checking DontEnum attribute
---*/
-
-if (Date.prototype.propertyIsEnumerable('toLocaleString')) {
- throw new Test262Error('#1: The Date.prototype.toLocaleString property has the attribute DontEnum');
-}
+assert(
+ !Date.prototype.propertyIsEnumerable('toLocaleString'),
+ 'The value of !Date.prototype.propertyIsEnumerable(\'toLocaleString\') is expected to be true'
+);
for (var x in Date.prototype) {
- if (x === "toLocaleString") {
- throw new Test262Error('#2: The Date.prototype.toLocaleString has the attribute DontEnum');
- }
+ assert.notSameValue(x, "toLocaleString", 'The value of x is not "toLocaleString"');
}
+// TODO: Convert to verifyProperty() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/toLocaleString/S15.9.5.5_A2_T1.js b/js/src/tests/test262/built-ins/Date/prototype/toLocaleString/S15.9.5.5_A2_T1.js
index 1c64668c109a..a99ec980520c 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/toLocaleString/S15.9.5.5_A2_T1.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/toLocaleString/S15.9.5.5_A2_T1.js
@@ -7,12 +7,16 @@ esid: sec-date.prototype.tolocalestring
description: The "length" property of the "toLocaleString" is 0
---*/
-if (Date.prototype.toLocaleString.hasOwnProperty("length") !== true) {
- throw new Test262Error('#1: The toLocaleString has a "length" property');
-}
+assert.sameValue(
+ Date.prototype.toLocaleString.hasOwnProperty("length"),
+ true,
+ 'Date.prototype.toLocaleString.hasOwnProperty("length") must return true'
+);
-if (Date.prototype.toLocaleString.length !== 0) {
- throw new Test262Error('#2: The "length" property of the toLocaleString is 0');
-}
+assert.sameValue(
+ Date.prototype.toLocaleString.length,
+ 0,
+ 'The value of Date.prototype.toLocaleString.length is expected to be 0'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/toLocaleString/S15.9.5.5_A3_T1.js b/js/src/tests/test262/built-ins/Date/prototype/toLocaleString/S15.9.5.5_A3_T1.js
index a7a53c379d8e..4537937e8b35 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/toLocaleString/S15.9.5.5_A3_T1.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/toLocaleString/S15.9.5.5_A3_T1.js
@@ -12,8 +12,13 @@ includes: [propertyHelper.js]
var x = Date.prototype.toLocaleString.length;
verifyNotWritable(Date.prototype.toLocaleString, "length", null, 1);
-if (Date.prototype.toLocaleString.length !== x) {
- throw new Test262Error('#1: The Date.prototype.toLocaleString.length has the attribute ReadOnly');
-}
+
+assert.sameValue(
+ Date.prototype.toLocaleString.length,
+ x,
+ 'The value of Date.prototype.toLocaleString.length is expected to equal the value of x'
+);
+
+// TODO: Convert to verifyProperty() format.
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/toLocaleString/S15.9.5.5_A3_T2.js b/js/src/tests/test262/built-ins/Date/prototype/toLocaleString/S15.9.5.5_A3_T2.js
index b3c2e34b7a53..29166bae0698 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/toLocaleString/S15.9.5.5_A3_T2.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/toLocaleString/S15.9.5.5_A3_T2.js
@@ -9,12 +9,17 @@ esid: sec-date.prototype.tolocalestring
description: Checking DontDelete attribute
---*/
-if (delete Date.prototype.toLocaleString.length !== true) {
- throw new Test262Error('#1: The Date.prototype.toLocaleString.length property does not have the attributes DontDelete');
-}
+assert.sameValue(
+ delete Date.prototype.toLocaleString.length,
+ true,
+ 'The value of `delete Date.prototype.toLocaleString.length` is expected to be true'
+);
-if (Date.prototype.toLocaleString.hasOwnProperty('length')) {
- throw new Test262Error('#2: The Date.prototype.toLocaleString.length property does not have the attributes DontDelete');
-}
+assert(
+ !Date.prototype.toLocaleString.hasOwnProperty('length'),
+ 'The value of !Date.prototype.toLocaleString.hasOwnProperty(\'length\') is expected to be true'
+);
+
+// TODO: Convert to verifyProperty() format.
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/toLocaleString/S15.9.5.5_A3_T3.js b/js/src/tests/test262/built-ins/Date/prototype/toLocaleString/S15.9.5.5_A3_T3.js
index 15a987c757fb..af48b9388e3b 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/toLocaleString/S15.9.5.5_A3_T3.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/toLocaleString/S15.9.5.5_A3_T3.js
@@ -8,15 +8,15 @@ info: |
esid: sec-date.prototype.tolocalestring
description: Checking DontEnum attribute
---*/
-
-if (Date.prototype.toLocaleString.propertyIsEnumerable('length')) {
- throw new Test262Error('#1: The Date.prototype.toLocaleString.length property has the attribute DontEnum');
-}
+assert(
+ !Date.prototype.toLocaleString.propertyIsEnumerable('length'),
+ 'The value of !Date.prototype.toLocaleString.propertyIsEnumerable(\'length\') is expected to be true'
+);
for (var x in Date.prototype.toLocaleString) {
- if (x === "length") {
- throw new Test262Error('#2: The Date.prototype.toLocaleString.length has the attribute DontEnum');
- }
+ assert.notSameValue(x, "length", 'The value of x is not "length"');
}
+// TODO: Convert to verifyProperty() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/toLocaleTimeString/S15.9.5.7_A1_T1.js b/js/src/tests/test262/built-ins/Date/prototype/toLocaleTimeString/S15.9.5.7_A1_T1.js
index 97ca147fa016..21dd5d44113e 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/toLocaleTimeString/S15.9.5.7_A1_T1.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/toLocaleTimeString/S15.9.5.7_A1_T1.js
@@ -10,12 +10,18 @@ description: Checking absence of ReadOnly attribute
---*/
var x = Date.prototype.toLocaleTimeString;
-if (x === 1)
+if (x === 1) {
Date.prototype.toLocaleTimeString = 2;
-else
+} else {
Date.prototype.toLocaleTimeString = 1;
-if (Date.prototype.toLocaleTimeString === x) {
- throw new Test262Error('#1: The Date.prototype.toLocaleTimeString has not the attribute ReadOnly');
}
+assert.notSameValue(
+ Date.prototype.toLocaleTimeString,
+ x,
+ 'The value of Date.prototype.toLocaleTimeString is expected to not equal the value of `x`'
+);
+
+// TODO: Convert to verifyProperty() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/toLocaleTimeString/S15.9.5.7_A1_T2.js b/js/src/tests/test262/built-ins/Date/prototype/toLocaleTimeString/S15.9.5.7_A1_T2.js
index 1d8be9249ef1..3069df6de63e 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/toLocaleTimeString/S15.9.5.7_A1_T2.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/toLocaleTimeString/S15.9.5.7_A1_T2.js
@@ -9,12 +9,17 @@ esid: sec-date.prototype.tolocaletimestring
description: Checking absence of DontDelete attribute
---*/
-if (delete Date.prototype.toLocaleTimeString === false) {
- throw new Test262Error('#1: The Date.prototype.toLocaleTimeString property has not the attributes DontDelete');
-}
+assert.notSameValue(
+ delete Date.prototype.toLocaleTimeString,
+ false,
+ 'The value of delete Date.prototype.toLocaleTimeString is not false'
+);
-if (Date.prototype.hasOwnProperty('toLocaleTimeString')) {
- throw new Test262Error('#2: The Date.prototype.toLocaleTimeString property has not the attributes DontDelete');
-}
+assert(
+ !Date.prototype.hasOwnProperty('toLocaleTimeString'),
+ 'The value of !Date.prototype.hasOwnProperty(\'toLocaleTimeString\') is expected to be true'
+);
+
+// TODO: Convert to verifyProperty() format.
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/toLocaleTimeString/S15.9.5.7_A1_T3.js b/js/src/tests/test262/built-ins/Date/prototype/toLocaleTimeString/S15.9.5.7_A1_T3.js
index 0e0f49633a4d..ece77abd00ad 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/toLocaleTimeString/S15.9.5.7_A1_T3.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/toLocaleTimeString/S15.9.5.7_A1_T3.js
@@ -8,15 +8,15 @@ info: |
esid: sec-date.prototype.tolocaletimestring
description: Checking DontEnum attribute
---*/
-
-if (Date.prototype.propertyIsEnumerable('toLocaleTimeString')) {
- throw new Test262Error('#1: The Date.prototype.toLocaleTimeString property has the attribute DontEnum');
-}
+assert(
+ !Date.prototype.propertyIsEnumerable('toLocaleTimeString'),
+ 'The value of !Date.prototype.propertyIsEnumerable(\'toLocaleTimeString\') is expected to be true'
+);
for (var x in Date.prototype) {
- if (x === "toLocaleTimeString") {
- throw new Test262Error('#2: The Date.prototype.toLocaleTimeString has the attribute DontEnum');
- }
+ assert.notSameValue(x, "toLocaleTimeString", 'The value of x is not "toLocaleTimeString"');
}
+// TODO: Convert to verifyProperty() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/toLocaleTimeString/S15.9.5.7_A2_T1.js b/js/src/tests/test262/built-ins/Date/prototype/toLocaleTimeString/S15.9.5.7_A2_T1.js
index 30e314fa9fb0..9db46eb03438 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/toLocaleTimeString/S15.9.5.7_A2_T1.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/toLocaleTimeString/S15.9.5.7_A2_T1.js
@@ -7,12 +7,16 @@ esid: sec-date.prototype.tolocaletimestring
description: The "length" property of the "toLocaleTimeString" is 0
---*/
-if (Date.prototype.toLocaleTimeString.hasOwnProperty("length") !== true) {
- throw new Test262Error('#1: The toLocaleTimeString has a "length" property');
-}
+assert.sameValue(
+ Date.prototype.toLocaleTimeString.hasOwnProperty("length"),
+ true,
+ 'Date.prototype.toLocaleTimeString.hasOwnProperty("length") must return true'
+);
-if (Date.prototype.toLocaleTimeString.length !== 0) {
- throw new Test262Error('#2: The "length" property of the toLocaleTimeString is 0');
-}
+assert.sameValue(
+ Date.prototype.toLocaleTimeString.length,
+ 0,
+ 'The value of Date.prototype.toLocaleTimeString.length is expected to be 0'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/toLocaleTimeString/S15.9.5.7_A3_T1.js b/js/src/tests/test262/built-ins/Date/prototype/toLocaleTimeString/S15.9.5.7_A3_T1.js
index c34cd87029a4..d0f4fbabc34c 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/toLocaleTimeString/S15.9.5.7_A3_T1.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/toLocaleTimeString/S15.9.5.7_A3_T1.js
@@ -12,8 +12,13 @@ includes: [propertyHelper.js]
var x = Date.prototype.toLocaleTimeString.length;
verifyNotWritable(Date.prototype.toLocaleTimeString, "length", null, 1);
-if (Date.prototype.toLocaleTimeString.length !== x) {
- throw new Test262Error('#1: The Date.prototype.toLocaleTimeString.length has the attribute ReadOnly');
-}
+
+assert.sameValue(
+ Date.prototype.toLocaleTimeString.length,
+ x,
+ 'The value of Date.prototype.toLocaleTimeString.length is expected to equal the value of x'
+);
+
+// TODO: Convert to verifyProperty() format.
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/toLocaleTimeString/S15.9.5.7_A3_T2.js b/js/src/tests/test262/built-ins/Date/prototype/toLocaleTimeString/S15.9.5.7_A3_T2.js
index 67bd497aaa25..5137a41104e6 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/toLocaleTimeString/S15.9.5.7_A3_T2.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/toLocaleTimeString/S15.9.5.7_A3_T2.js
@@ -9,12 +9,17 @@ esid: sec-date.prototype.tolocaletimestring
description: Checking DontDelete attribute
---*/
-if (delete Date.prototype.toLocaleTimeString.length !== true) {
- throw new Test262Error('#1: The Date.prototype.toLocaleTimeString.length property does not have the attributes DontDelete');
-}
+assert.sameValue(
+ delete Date.prototype.toLocaleTimeString.length,
+ true,
+ 'The value of `delete Date.prototype.toLocaleTimeString.length` is expected to be true'
+);
-if (Date.prototype.toLocaleTimeString.hasOwnProperty('length')) {
- throw new Test262Error('#2: The Date.prototype.toLocaleTimeString.length property does not have the attributes DontDelete');
-}
+assert(
+ !Date.prototype.toLocaleTimeString.hasOwnProperty('length'),
+ 'The value of !Date.prototype.toLocaleTimeString.hasOwnProperty(\'length\') is expected to be true'
+);
+
+// TODO: Convert to verifyProperty() format.
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/toLocaleTimeString/S15.9.5.7_A3_T3.js b/js/src/tests/test262/built-ins/Date/prototype/toLocaleTimeString/S15.9.5.7_A3_T3.js
index e70ed5f07372..8e03eff9be81 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/toLocaleTimeString/S15.9.5.7_A3_T3.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/toLocaleTimeString/S15.9.5.7_A3_T3.js
@@ -8,15 +8,15 @@ info: |
esid: sec-date.prototype.tolocaletimestring
description: Checking DontEnum attribute
---*/
-
-if (Date.prototype.toLocaleTimeString.propertyIsEnumerable('length')) {
- throw new Test262Error('#1: The Date.prototype.toLocaleTimeString.length property has the attribute DontEnum');
-}
+assert(
+ !Date.prototype.toLocaleTimeString.propertyIsEnumerable('length'),
+ 'The value of !Date.prototype.toLocaleTimeString.propertyIsEnumerable(\'length\') is expected to be true'
+);
for (var x in Date.prototype.toLocaleTimeString) {
- if (x === "length") {
- throw new Test262Error('#2: The Date.prototype.toLocaleTimeString.length has the attribute DontEnum');
- }
+ assert.notSameValue(x, "length", 'The value of x is not "length"');
}
+// TODO: Convert to verifyProperty() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/toString/S15.9.5.2_A1_T1.js b/js/src/tests/test262/built-ins/Date/prototype/toString/S15.9.5.2_A1_T1.js
index 97fba980b185..6612e3a747a4 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/toString/S15.9.5.2_A1_T1.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/toString/S15.9.5.2_A1_T1.js
@@ -8,12 +8,18 @@ description: Checking absence of ReadOnly attribute
---*/
var x = Date.prototype.toString;
-if (x === 1)
+if (x === 1) {
Date.prototype.toString = 2;
-else
+} else {
Date.prototype.toString = 1;
-if (Date.prototype.toString === x) {
- throw new Test262Error('#1: The Date.prototype.toString has not the attribute ReadOnly');
}
+assert.notSameValue(
+ Date.prototype.toString,
+ x,
+ 'The value of Date.prototype.toString is expected to not equal the value of `x`'
+);
+
+// TODO: Convert to verifyProperty() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/toString/S15.9.5.2_A1_T2.js b/js/src/tests/test262/built-ins/Date/prototype/toString/S15.9.5.2_A1_T2.js
index a4a537258f07..0395c2e11145 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/toString/S15.9.5.2_A1_T2.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/toString/S15.9.5.2_A1_T2.js
@@ -7,12 +7,12 @@ esid: sec-date.prototype.tostring
description: Checking absence of DontDelete attribute
---*/
-if (delete Date.prototype.toString === false) {
- throw new Test262Error('#1: The Date.prototype.toString property has not the attributes DontDelete');
-}
+assert.notSameValue(delete Date.prototype.toString, false, 'The value of delete Date.prototype.toString is not false');
+assert(
+ !Date.prototype.hasOwnProperty('toString'),
+ 'The value of !Date.prototype.hasOwnProperty(\'toString\') is expected to be true'
+);
-if (Date.prototype.hasOwnProperty('toString')) {
- throw new Test262Error('#2: The Date.prototype.toString property has not the attributes DontDelete');
-}
+// TODO: Convert to verifyProperty() format.
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/toString/S15.9.5.2_A1_T3.js b/js/src/tests/test262/built-ins/Date/prototype/toString/S15.9.5.2_A1_T3.js
index 23e7f989828c..494bbdb2ace0 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/toString/S15.9.5.2_A1_T3.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/toString/S15.9.5.2_A1_T3.js
@@ -6,15 +6,15 @@ info: The Date.prototype property "toString" has { DontEnum } attributes
esid: sec-date.prototype.tostring
description: Checking DontEnum attribute
---*/
-
-if (Date.prototype.propertyIsEnumerable('toString')) {
- throw new Test262Error('#1: The Date.prototype.toString property has the attribute DontEnum');
-}
+assert(
+ !Date.prototype.propertyIsEnumerable('toString'),
+ 'The value of !Date.prototype.propertyIsEnumerable(\'toString\') is expected to be true'
+);
for (var x in Date.prototype) {
- if (x === "toString") {
- throw new Test262Error('#2: The Date.prototype.toString has the attribute DontEnum');
- }
+ assert.notSameValue(x, "toString", 'The value of x is not "toString"');
}
+// TODO: Convert to verifyProperty() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/toString/S15.9.5.2_A2_T1.js b/js/src/tests/test262/built-ins/Date/prototype/toString/S15.9.5.2_A2_T1.js
index d9fa18ae0f40..61390398931c 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/toString/S15.9.5.2_A2_T1.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/toString/S15.9.5.2_A2_T1.js
@@ -7,12 +7,12 @@ esid: sec-date.prototype.tostring
description: The "length" property of the "toString" is 0
---*/
-if (Date.prototype.toString.hasOwnProperty("length") !== true) {
- throw new Test262Error('#1: The toString has a "length" property');
-}
+assert.sameValue(
+ Date.prototype.toString.hasOwnProperty("length"),
+ true,
+ 'Date.prototype.toString.hasOwnProperty("length") must return true'
+);
-if (Date.prototype.toString.length !== 0) {
- throw new Test262Error('#2: The "length" property of the toString is 0');
-}
+assert.sameValue(Date.prototype.toString.length, 0, 'The value of Date.prototype.toString.length is expected to be 0');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/toString/S15.9.5.2_A3_T1.js b/js/src/tests/test262/built-ins/Date/prototype/toString/S15.9.5.2_A3_T1.js
index 2999bf145421..f8505716f7e3 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/toString/S15.9.5.2_A3_T1.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/toString/S15.9.5.2_A3_T1.js
@@ -12,8 +12,13 @@ includes: [propertyHelper.js]
var x = Date.prototype.toString.length;
verifyNotWritable(Date.prototype.toString, "length", null, 1);
-if (Date.prototype.toString.length !== x) {
- throw new Test262Error('#1: The Date.prototype.toString.length has the attribute ReadOnly');
-}
+
+assert.sameValue(
+ Date.prototype.toString.length,
+ x,
+ 'The value of Date.prototype.toString.length is expected to equal the value of x'
+);
+
+// TODO: Convert to verifyProperty() format.
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/toString/S15.9.5.2_A3_T2.js b/js/src/tests/test262/built-ins/Date/prototype/toString/S15.9.5.2_A3_T2.js
index c6a3a9878de0..d265d9f4c3bd 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/toString/S15.9.5.2_A3_T2.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/toString/S15.9.5.2_A3_T2.js
@@ -9,12 +9,17 @@ esid: sec-date.prototype.tostring
description: Checking DontDelete attribute
---*/
-if (delete Date.prototype.toString.length !== true) {
- throw new Test262Error('#1: The Date.prototype.toString.length property does not have the attributes DontDelete');
-}
+assert.sameValue(
+ delete Date.prototype.toString.length,
+ true,
+ 'The value of `delete Date.prototype.toString.length` is expected to be true'
+);
-if (Date.prototype.toString.hasOwnProperty('length')) {
- throw new Test262Error('#2: The Date.prototype.toString.length property does not have the attributes DontDelete');
-}
+assert(
+ !Date.prototype.toString.hasOwnProperty('length'),
+ 'The value of !Date.prototype.toString.hasOwnProperty(\'length\') is expected to be true'
+);
+
+// TODO: Convert to verifyProperty() format.
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/toString/S15.9.5.2_A3_T3.js b/js/src/tests/test262/built-ins/Date/prototype/toString/S15.9.5.2_A3_T3.js
index 7362f4571990..d4b54c6f790e 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/toString/S15.9.5.2_A3_T3.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/toString/S15.9.5.2_A3_T3.js
@@ -8,15 +8,15 @@ info: |
esid: sec-date.prototype.tostring
description: Checking DontEnum attribute
---*/
-
-if (Date.prototype.toString.propertyIsEnumerable('length')) {
- throw new Test262Error('#1: The Date.prototype.toString.length property has the attribute DontEnum');
-}
+assert(
+ !Date.prototype.toString.propertyIsEnumerable('length'),
+ 'The value of !Date.prototype.toString.propertyIsEnumerable(\'length\') is expected to be true'
+);
for (var x in Date.prototype.toString) {
- if (x === "length") {
- throw new Test262Error('#2: The Date.prototype.toString.length has the attribute DontEnum');
- }
+ assert.notSameValue(x, "length", 'The value of x is not "length"');
}
+// TODO: Convert to verifyProperty() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/toTimeString/S15.9.5.4_A1_T1.js b/js/src/tests/test262/built-ins/Date/prototype/toTimeString/S15.9.5.4_A1_T1.js
index 0cceb1e4b045..4b2913c51fd6 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/toTimeString/S15.9.5.4_A1_T1.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/toTimeString/S15.9.5.4_A1_T1.js
@@ -8,12 +8,18 @@ description: Checking absence of ReadOnly attribute
---*/
var x = Date.prototype.toTimeString;
-if (x === 1)
+if (x === 1) {
Date.prototype.toTimeString = 2;
-else
+} else {
Date.prototype.toTimeString = 1;
-if (Date.prototype.toTimeString === x) {
- throw new Test262Error('#1: The Date.prototype.toTimeString has not the attribute ReadOnly');
}
+assert.notSameValue(
+ Date.prototype.toTimeString,
+ x,
+ 'The value of Date.prototype.toTimeString is expected to not equal the value of `x`'
+);
+
+// TODO: Convert to verifyProperty() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/toTimeString/S15.9.5.4_A1_T2.js b/js/src/tests/test262/built-ins/Date/prototype/toTimeString/S15.9.5.4_A1_T2.js
index d876c328affd..8a9830dd56f3 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/toTimeString/S15.9.5.4_A1_T2.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/toTimeString/S15.9.5.4_A1_T2.js
@@ -7,12 +7,17 @@ esid: sec-date.prototype.totimestring
description: Checking absence of DontDelete attribute
---*/
-if (delete Date.prototype.toTimeString === false) {
- throw new Test262Error('#1: The Date.prototype.toTimeString property has not the attributes DontDelete');
-}
+assert.notSameValue(
+ delete Date.prototype.toTimeString,
+ false,
+ 'The value of delete Date.prototype.toTimeString is not false'
+);
-if (Date.prototype.hasOwnProperty('toTimeString')) {
- throw new Test262Error('#2: The Date.prototype.toTimeString property has not the attributes DontDelete');
-}
+assert(
+ !Date.prototype.hasOwnProperty('toTimeString'),
+ 'The value of !Date.prototype.hasOwnProperty(\'toTimeString\') is expected to be true'
+);
+
+// TODO: Convert to verifyProperty() format.
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/toTimeString/S15.9.5.4_A1_T3.js b/js/src/tests/test262/built-ins/Date/prototype/toTimeString/S15.9.5.4_A1_T3.js
index 84780d809f32..c6a0aa0e024d 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/toTimeString/S15.9.5.4_A1_T3.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/toTimeString/S15.9.5.4_A1_T3.js
@@ -6,15 +6,15 @@ info: The Date.prototype property "toTimeString" has { DontEnum } attributes
esid: sec-date.prototype.totimestring
description: Checking DontEnum attribute
---*/
-
-if (Date.prototype.propertyIsEnumerable('toTimeString')) {
- throw new Test262Error('#1: The Date.prototype.toTimeString property has the attribute DontEnum');
-}
+assert(
+ !Date.prototype.propertyIsEnumerable('toTimeString'),
+ 'The value of !Date.prototype.propertyIsEnumerable(\'toTimeString\') is expected to be true'
+);
for (var x in Date.prototype) {
- if (x === "toTimeString") {
- throw new Test262Error('#2: The Date.prototype.toTimeString has the attribute DontEnum');
- }
+ assert.notSameValue(x, "toTimeString", 'The value of x is not "toTimeString"');
}
+// TODO: Convert to verifyProperty() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/toTimeString/S15.9.5.4_A2_T1.js b/js/src/tests/test262/built-ins/Date/prototype/toTimeString/S15.9.5.4_A2_T1.js
index e7299f7a0c8c..2d8c9676f35d 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/toTimeString/S15.9.5.4_A2_T1.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/toTimeString/S15.9.5.4_A2_T1.js
@@ -1,18 +1,22 @@
// Copyright 2009 the Sputnik authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
-
/*---
info: The "length" property of the "toTimeString" is 0
esid: sec-date.prototype.totimestring
description: The "length" property of the "toTimeString" is 0
---*/
-if (Date.prototype.toTimeString.hasOwnProperty("length") !== true) {
- throw new Test262Error('#1: The toTimeString has a "length" property');
-}
+assert.sameValue(
+ Date.prototype.toTimeString.hasOwnProperty("length"),
+ true,
+ 'Date.prototype.toTimeString.hasOwnProperty("length") must return true'
+);
-if (Date.prototype.toTimeString.length !== 0) {
- throw new Test262Error('#2: The "length" property of the toTimeString is 0');
-}
+
+assert.sameValue(
+ Date.prototype.toTimeString.length,
+ 0,
+ 'The value of Date.prototype.toTimeString.length is expected to be 0'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/toTimeString/S15.9.5.4_A3_T1.js b/js/src/tests/test262/built-ins/Date/prototype/toTimeString/S15.9.5.4_A3_T1.js
index bdbac2de2376..8337e86cbf5a 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/toTimeString/S15.9.5.4_A3_T1.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/toTimeString/S15.9.5.4_A3_T1.js
@@ -12,8 +12,13 @@ includes: [propertyHelper.js]
var x = Date.prototype.toTimeString.length;
verifyNotWritable(Date.prototype.toTimeString, "length", null, 1);
-if (Date.prototype.toTimeString.length !== x) {
- throw new Test262Error('#1: The Date.prototype.toTimeString.length has the attribute ReadOnly');
-}
+
+assert.sameValue(
+ Date.prototype.toTimeString.length,
+ x,
+ 'The value of Date.prototype.toTimeString.length is expected to equal the value of x'
+);
+
+// TODO: Convert to verifyProperty() format.
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/toTimeString/S15.9.5.4_A3_T2.js b/js/src/tests/test262/built-ins/Date/prototype/toTimeString/S15.9.5.4_A3_T2.js
index 048d8dd98ef2..27c8d06ee0eb 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/toTimeString/S15.9.5.4_A3_T2.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/toTimeString/S15.9.5.4_A3_T2.js
@@ -8,13 +8,17 @@ info: |
esid: sec-date.prototype.totimestring
description: Checking DontDelete attribute
---*/
+assert.sameValue(
+ delete Date.prototype.toTimeString.length,
+ true,
+ 'The value of `delete Date.prototype.toTimeString.length` is expected to be true'
+);
-if (delete Date.prototype.toTimeString.length !== true) {
- throw new Test262Error('#1: The Date.prototype.toTimeString.length property does not have the attributes DontDelete');
-}
+assert(
+ !Date.prototype.toTimeString.hasOwnProperty('length'),
+ 'The value of !Date.prototype.toTimeString.hasOwnProperty(\'length\') is expected to be true'
+);
-if (Date.prototype.toTimeString.hasOwnProperty('length')) {
- throw new Test262Error('#2: The Date.prototype.toTimeString.length property does not have the attributes DontDelete');
-}
+// TODO: Convert to verifyProperty() format.
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/toTimeString/S15.9.5.4_A3_T3.js b/js/src/tests/test262/built-ins/Date/prototype/toTimeString/S15.9.5.4_A3_T3.js
index 36bf6529886c..ef6033fcc89f 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/toTimeString/S15.9.5.4_A3_T3.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/toTimeString/S15.9.5.4_A3_T3.js
@@ -8,15 +8,15 @@ info: |
esid: sec-date.prototype.totimestring
description: Checking DontEnum attribute
---*/
-
-if (Date.prototype.toTimeString.propertyIsEnumerable('length')) {
- throw new Test262Error('#1: The Date.prototype.toTimeString.length property has the attribute DontEnum');
-}
+assert(
+ !Date.prototype.toTimeString.propertyIsEnumerable('length'),
+ 'The value of !Date.prototype.toTimeString.propertyIsEnumerable(\'length\') is expected to be true'
+);
for (var x in Date.prototype.toTimeString) {
- if (x === "length") {
- throw new Test262Error('#2: The Date.prototype.toTimeString.length has the attribute DontEnum');
- }
+ assert.notSameValue(x, "length", 'The value of x is not "length"');
}
+// TODO: Convert to verifyProperty() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/toUTCString/S15.9.5.42_A1_T1.js b/js/src/tests/test262/built-ins/Date/prototype/toUTCString/S15.9.5.42_A1_T1.js
index 75675ec09eee..8112c69a0024 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/toUTCString/S15.9.5.42_A1_T1.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/toUTCString/S15.9.5.42_A1_T1.js
@@ -8,12 +8,18 @@ description: Checking absence of ReadOnly attribute
---*/
var x = Date.prototype.toUTCString;
-if (x === 1)
+if (x === 1) {
Date.prototype.toUTCString = 2;
-else
+} else {
Date.prototype.toUTCString = 1;
-if (Date.prototype.toUTCString === x) {
- throw new Test262Error('#1: The Date.prototype.toUTCString has not the attribute ReadOnly');
}
+assert.notSameValue(
+ Date.prototype.toUTCString,
+ x,
+ 'The value of Date.prototype.toUTCString is expected to not equal the value of `x`'
+);
+
+// TODO: Convert to verifyProperty() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/toUTCString/S15.9.5.42_A1_T2.js b/js/src/tests/test262/built-ins/Date/prototype/toUTCString/S15.9.5.42_A1_T2.js
index 2c8b66144dd9..381863eb75d8 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/toUTCString/S15.9.5.42_A1_T2.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/toUTCString/S15.9.5.42_A1_T2.js
@@ -7,12 +7,17 @@ esid: sec-date.prototype.toutcstring
description: Checking absence of DontDelete attribute
---*/
-if (delete Date.prototype.toUTCString === false) {
- throw new Test262Error('#1: The Date.prototype.toUTCString property has not the attributes DontDelete');
-}
+assert.notSameValue(
+ delete Date.prototype.toUTCString,
+ false,
+ 'The value of delete Date.prototype.toUTCString is not false'
+);
-if (Date.prototype.hasOwnProperty('toUTCString')) {
- throw new Test262Error('#2: The Date.prototype.toUTCString property has not the attributes DontDelete');
-}
+assert(
+ !Date.prototype.hasOwnProperty('toUTCString'),
+ 'The value of !Date.prototype.hasOwnProperty(\'toUTCString\') is expected to be true'
+);
+
+// TODO: Convert to verifyProperty() format.
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/toUTCString/S15.9.5.42_A1_T3.js b/js/src/tests/test262/built-ins/Date/prototype/toUTCString/S15.9.5.42_A1_T3.js
index bea0b5dd43c2..9f6547954cec 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/toUTCString/S15.9.5.42_A1_T3.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/toUTCString/S15.9.5.42_A1_T3.js
@@ -6,15 +6,15 @@ info: The Date.prototype property "toUTCString" has { DontEnum } attributes
esid: sec-date.prototype.toutcstring
description: Checking DontEnum attribute
---*/
-
-if (Date.prototype.propertyIsEnumerable('toUTCString')) {
- throw new Test262Error('#1: The Date.prototype.toUTCString property has the attribute DontEnum');
-}
+assert(
+ !Date.prototype.propertyIsEnumerable('toUTCString'),
+ 'The value of !Date.prototype.propertyIsEnumerable(\'toUTCString\') is expected to be true'
+);
for (var x in Date.prototype) {
- if (x === "toUTCString") {
- throw new Test262Error('#2: The Date.prototype.toUTCString has the attribute DontEnum');
- }
+ assert.notSameValue(x, "toUTCString", 'The value of x is not "toUTCString"');
}
+// TODO: Convert to verifyProperty() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/toUTCString/S15.9.5.42_A2_T1.js b/js/src/tests/test262/built-ins/Date/prototype/toUTCString/S15.9.5.42_A2_T1.js
index c4bb9d2212b8..b7e15d69aefd 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/toUTCString/S15.9.5.42_A2_T1.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/toUTCString/S15.9.5.42_A2_T1.js
@@ -7,12 +7,16 @@ esid: sec-date.prototype.toutcstring
description: The "length" property of the "toUTCString" is 0
---*/
-if (Date.prototype.toUTCString.hasOwnProperty("length") !== true) {
- throw new Test262Error('#1: The toUTCString has a "length" property');
-}
+assert.sameValue(
+ Date.prototype.toUTCString.hasOwnProperty("length"),
+ true,
+ 'Date.prototype.toUTCString.hasOwnProperty("length") must return true'
+);
-if (Date.prototype.toUTCString.length !== 0) {
- throw new Test262Error('#2: The "length" property of the toUTCString is 0');
-}
+assert.sameValue(
+ Date.prototype.toUTCString.length,
+ 0,
+ 'The value of Date.prototype.toUTCString.length is expected to be 0'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/toUTCString/S15.9.5.42_A3_T1.js b/js/src/tests/test262/built-ins/Date/prototype/toUTCString/S15.9.5.42_A3_T1.js
index c3b1963e7d9b..37634bdfe645 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/toUTCString/S15.9.5.42_A3_T1.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/toUTCString/S15.9.5.42_A3_T1.js
@@ -12,8 +12,13 @@ includes: [propertyHelper.js]
var x = Date.prototype.toUTCString.length;
verifyNotWritable(Date.prototype.toUTCString, "length", null, 1);
-if (Date.prototype.toUTCString.length !== x) {
- throw new Test262Error('#1: The Date.prototype.toUTCString.length has the attribute ReadOnly');
-}
+
+assert.sameValue(
+ Date.prototype.toUTCString.length,
+ x,
+ 'The value of Date.prototype.toUTCString.length is expected to equal the value of x'
+);
+
+// TODO: Convert to verifyProperty() format.
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/toUTCString/S15.9.5.42_A3_T2.js b/js/src/tests/test262/built-ins/Date/prototype/toUTCString/S15.9.5.42_A3_T2.js
index 4fe99d344a7a..23528c870d91 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/toUTCString/S15.9.5.42_A3_T2.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/toUTCString/S15.9.5.42_A3_T2.js
@@ -9,12 +9,17 @@ esid: sec-date.prototype.toutcstring
description: Checking DontDelete attribute
---*/
-if (delete Date.prototype.toUTCString.length !== true) {
- throw new Test262Error('#1: The Date.prototype.toUTCString.length property does not have the attributes DontDelete');
-}
+assert.sameValue(
+ delete Date.prototype.toUTCString.length,
+ true,
+ 'The value of `delete Date.prototype.toUTCString.length` is expected to be true'
+);
-if (Date.prototype.toUTCString.hasOwnProperty('length')) {
- throw new Test262Error('#2: The Date.prototype.toUTCString.length property does not have the attributes DontDelete');
-}
+assert(
+ !Date.prototype.toUTCString.hasOwnProperty('length'),
+ 'The value of !Date.prototype.toUTCString.hasOwnProperty(\'length\') is expected to be true'
+);
+
+// TODO: Convert to verifyProperty() format.
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/toUTCString/S15.9.5.42_A3_T3.js b/js/src/tests/test262/built-ins/Date/prototype/toUTCString/S15.9.5.42_A3_T3.js
index afec331f198c..b15da4c99445 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/toUTCString/S15.9.5.42_A3_T3.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/toUTCString/S15.9.5.42_A3_T3.js
@@ -8,15 +8,15 @@ info: |
esid: sec-date.prototype.toutcstring
description: Checking DontEnum attribute
---*/
-
-if (Date.prototype.toUTCString.propertyIsEnumerable('length')) {
- throw new Test262Error('#1: The Date.prototype.toUTCString.length property has the attribute DontEnum');
-}
+assert(
+ !Date.prototype.toUTCString.propertyIsEnumerable('length'),
+ 'The value of !Date.prototype.toUTCString.propertyIsEnumerable(\'length\') is expected to be true'
+);
for (var x in Date.prototype.toUTCString) {
- if (x === "length") {
- throw new Test262Error('#2: The Date.prototype.toUTCString.length has the attribute DontEnum');
- }
+ assert.notSameValue(x, "length", 'The value of x is not "length"');
}
+// TODO: Convert to verifyProperty() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/valueOf/S15.9.5.8_A1_T1.js b/js/src/tests/test262/built-ins/Date/prototype/valueOf/S15.9.5.8_A1_T1.js
index 9bc839d233fa..704878882aae 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/valueOf/S15.9.5.8_A1_T1.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/valueOf/S15.9.5.8_A1_T1.js
@@ -8,12 +8,18 @@ description: Checking absence of ReadOnly attribute
---*/
var x = Date.prototype.valueOf;
-if (x === 1)
+if (x === 1) {
Date.prototype.valueOf = 2;
-else
+} else {
Date.prototype.valueOf = 1;
-if (Date.prototype.valueOf === x) {
- throw new Test262Error('#1: The Date.prototype.valueOf has not the attribute ReadOnly');
}
+assert.notSameValue(
+ Date.prototype.valueOf,
+ x,
+ 'The value of Date.prototype.valueOf is expected to not equal the value of `x`'
+);
+
+// TODO: Convert to verifyProperty() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/valueOf/S15.9.5.8_A1_T2.js b/js/src/tests/test262/built-ins/Date/prototype/valueOf/S15.9.5.8_A1_T2.js
index c2324c3ba2f6..f19351c81b17 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/valueOf/S15.9.5.8_A1_T2.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/valueOf/S15.9.5.8_A1_T2.js
@@ -7,12 +7,13 @@ esid: sec-date.prototype.valueof
description: Checking absence of DontDelete attribute
---*/
-if (delete Date.prototype.valueOf === false) {
- throw new Test262Error('#1: The Date.prototype.valueOf property has not the attributes DontDelete');
-}
+assert.notSameValue(delete Date.prototype.valueOf, false, 'The value of delete Date.prototype.valueOf is not false');
-if (Date.prototype.hasOwnProperty('valueOf')) {
- throw new Test262Error('#2: The Date.prototype.valueOf property has not the attributes DontDelete');
-}
+assert(
+ !Date.prototype.hasOwnProperty('valueOf'),
+ 'The value of !Date.prototype.hasOwnProperty(\'valueOf\') is expected to be true'
+);
+
+// TODO: Convert to verifyProperty() format.
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/valueOf/S15.9.5.8_A1_T3.js b/js/src/tests/test262/built-ins/Date/prototype/valueOf/S15.9.5.8_A1_T3.js
index 5192ce535fa9..e9c3021e819b 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/valueOf/S15.9.5.8_A1_T3.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/valueOf/S15.9.5.8_A1_T3.js
@@ -6,15 +6,15 @@ info: The Date.prototype property "valueOf" has { DontEnum } attributes
esid: sec-date.prototype.valueof
description: Checking DontEnum attribute
---*/
-
-if (Date.prototype.propertyIsEnumerable('valueOf')) {
- throw new Test262Error('#1: The Date.prototype.valueOf property has the attribute DontEnum');
-}
+assert(
+ !Date.prototype.propertyIsEnumerable('valueOf'),
+ 'The value of !Date.prototype.propertyIsEnumerable(\'valueOf\') is expected to be true'
+);
for (var x in Date.prototype) {
- if (x === "valueOf") {
- throw new Test262Error('#2: The Date.prototype.valueOf has the attribute DontEnum');
- }
+ assert.notSameValue(x, "valueOf", 'The value of x is not "valueOf"');
}
+// TODO: Convert to verifyProperty() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/valueOf/S15.9.5.8_A2_T1.js b/js/src/tests/test262/built-ins/Date/prototype/valueOf/S15.9.5.8_A2_T1.js
index 4ad337408549..1653792cf066 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/valueOf/S15.9.5.8_A2_T1.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/valueOf/S15.9.5.8_A2_T1.js
@@ -7,12 +7,12 @@ esid: sec-date.prototype.valueof
description: The "length" property of the "valueOf" is 0
---*/
-if (Date.prototype.valueOf.hasOwnProperty("length") !== true) {
- throw new Test262Error('#1: The valueOf has a "length" property');
-}
+assert.sameValue(
+ Date.prototype.valueOf.hasOwnProperty("length"),
+ true,
+ 'Date.prototype.valueOf.hasOwnProperty("length") must return true'
+);
-if (Date.prototype.valueOf.length !== 0) {
- throw new Test262Error('#2: The "length" property of the valueOf is 0');
-}
+assert.sameValue(Date.prototype.valueOf.length, 0, 'The value of Date.prototype.valueOf.length is expected to be 0');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/valueOf/S15.9.5.8_A3_T1.js b/js/src/tests/test262/built-ins/Date/prototype/valueOf/S15.9.5.8_A3_T1.js
index 1ef7d37746d3..24e84469c98c 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/valueOf/S15.9.5.8_A3_T1.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/valueOf/S15.9.5.8_A3_T1.js
@@ -12,8 +12,13 @@ includes: [propertyHelper.js]
var x = Date.prototype.valueOf.length;
verifyNotWritable(Date.prototype.valueOf, "length", null, 1);
-if (Date.prototype.valueOf.length !== x) {
- throw new Test262Error('#1: The Date.prototype.valueOf.length has the attribute ReadOnly');
-}
+
+assert.sameValue(
+ Date.prototype.valueOf.length,
+ x,
+ 'The value of Date.prototype.valueOf.length is expected to equal the value of x'
+);
+
+// TODO: Convert to verifyProperty() format.
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/valueOf/S15.9.5.8_A3_T2.js b/js/src/tests/test262/built-ins/Date/prototype/valueOf/S15.9.5.8_A3_T2.js
index 0bfbe53e459d..9cfe3eab5445 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/valueOf/S15.9.5.8_A3_T2.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/valueOf/S15.9.5.8_A3_T2.js
@@ -9,12 +9,17 @@ esid: sec-date.prototype.valueof
description: Checking DontDelete attribute
---*/
-if (delete Date.prototype.valueOf.length !== true) {
- throw new Test262Error('#1: The Date.prototype.valueOf.length property does not have the attributes DontDelete');
-}
+assert.sameValue(
+ delete Date.prototype.valueOf.length,
+ true,
+ 'The value of `delete Date.prototype.valueOf.length` is expected to be true'
+);
-if (Date.prototype.valueOf.hasOwnProperty('length')) {
- throw new Test262Error('#2: The Date.prototype.valueOf.length property does not have the attributes DontDelete');
-}
+assert(
+ !Date.prototype.valueOf.hasOwnProperty('length'),
+ 'The value of !Date.prototype.valueOf.hasOwnProperty(\'length\') is expected to be true'
+);
+
+// TODO: Convert to verifyProperty() format.
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/valueOf/S15.9.5.8_A3_T3.js b/js/src/tests/test262/built-ins/Date/prototype/valueOf/S15.9.5.8_A3_T3.js
index bfd508dfd701..5d3dcf9c67fb 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/valueOf/S15.9.5.8_A3_T3.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/valueOf/S15.9.5.8_A3_T3.js
@@ -8,15 +8,15 @@ info: |
esid: sec-date.prototype.valueof
description: Checking DontEnum attribute
---*/
-
-if (Date.prototype.valueOf.propertyIsEnumerable('length')) {
- throw new Test262Error('#1: The Date.prototype.valueOf.length property has the attribute DontEnum');
-}
+assert(
+ !Date.prototype.valueOf.propertyIsEnumerable('length'),
+ 'The value of !Date.prototype.valueOf.propertyIsEnumerable(\'length\') is expected to be true'
+);
for (var x in Date.prototype.valueOf) {
- if (x === "length") {
- throw new Test262Error('#2: The Date.prototype.valueOf.length has the attribute DontEnum');
- }
+ assert.notSameValue(x, "length", 'The value of x is not "length"');
}
+// TODO: Convert to verifyProperty() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/valueOf/S9.4_A3_T1.js b/js/src/tests/test262/built-ins/Date/prototype/valueOf/S9.4_A3_T1.js
index 049bfe2f6809..65de790c8ea2 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/valueOf/S9.4_A3_T1.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/valueOf/S9.4_A3_T1.js
@@ -12,74 +12,50 @@ description: For testing constructor Date(Number) is used
// CHECK#1
var d1 = new Date(6.54321);
-if (d1.valueOf() !== 6) {
- throw new Test262Error('#1: var d1 = new Date(6.54321); d1.valueOf() === 6;');
-}
+assert.sameValue(d1.valueOf(), 6, 'd1.valueOf() must return 6');
// CHECK#2
var d2 = new Date(-6.54321);
-if (d2.valueOf() !== -6) {
- throw new Test262Error('#2: var d2 = new Date(-6.54321); d2.valueOf() === -6;');
-}
+assert.sameValue(d2.valueOf(), -6, 'd2.valueOf() must return -6');
// CHECK#3
var d3 = new Date(6.54321e2);
-if (d3.valueOf() !== 654) {
- throw new Test262Error('#3: var d3 = new Date(6.54321e2); d3.valueOf() === 654;');
-}
+assert.sameValue(d3.valueOf(), 654, 'd3.valueOf() must return 654');
// CHECK#4
var d4 = new Date(-6.54321e2);
-if (d4.valueOf() !== -654) {
- throw new Test262Error('#4: var d4 = new Date(-6.54321e2); d4.valueOf() === -654;');
-}
+assert.sameValue(d4.valueOf(), -654, 'd4.valueOf() must return -654');
// CHECK#5
var d5 = new Date(0.654321e1);
-if (d5.valueOf() !== 6) {
- throw new Test262Error('#5: var d5 = new Date(0.654321e1); d5.valueOf() === 6;');
-}
+assert.sameValue(d5.valueOf(), 6, 'd5.valueOf() must return 6');
// CHECK#6
var d6 = new Date(-0.654321e1);
-if (d6.valueOf() !== -6) {
- throw new Test262Error('#6: var d6 = new Date(-0.654321e1); d6.valueOf() === -6;');
-}
+assert.sameValue(d6.valueOf(), -6, 'd6.valueOf() must return -6');
// CHECK#7
var d7 = new Date(true);
-if (d7.valueOf() !== 1) {
- throw new Test262Error('#7: var d7 = new Date(true); d7.valueOf() === 1;');
-}
+assert.sameValue(d7.valueOf(), 1, 'd7.valueOf() must return 1');
// CHECK#8
var d8 = new Date(false);
-if (d8.valueOf() !== 0) {
- throw new Test262Error('#8: var d8 = new Date(false); d8.valueOf() === 0;');
-}
+assert.sameValue(d8.valueOf(), 0, 'd8.valueOf() must return 0');
// CHECK#9
var d9 = new Date(1.23e15);
-if (d9.valueOf() !== 1.23e15) {
- throw new Test262Error('#9: var d9 = new Date(1.23e15); d9.valueOf() === 1.23e15;');
-}
+assert.sameValue(d9.valueOf(), 1.23e15, 'd9.valueOf() must return 1.23e15');
// CHECK#10
var d10 = new Date(-1.23e15);
-if (d10.valueOf() !== -1.23e15) {
- throw new Test262Error('#10: var d10 = new Date(-1.23e15); d10.valueOf() === -1.23e15;');
-}
+assert.sameValue(d10.valueOf(), -1.23e15, 'd10.valueOf() must return -1.23e15');
// CHECK#11
var d11 = new Date(1.23e-15);
-if (d11.valueOf() !== 0) {
- throw new Test262Error('#11: var d11 = new Date(1.23e-15); d11.valueOf() === 0;');
-}
+assert.sameValue(d11.valueOf(), 0, 'd11.valueOf() must return 0');
// CHECK#12
var d12 = new Date(-1.23e-15);
-if (d12.valueOf() !== -0) {
- throw new Test262Error('#12: var d12 = new Date(-1.23e-15); d12.valueOf() === -0;');
-}
+assert.sameValue(d12.valueOf(), 0, 'd12.valueOf() must return 0');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Date/prototype/valueOf/S9.4_A3_T2.js b/js/src/tests/test262/built-ins/Date/prototype/valueOf/S9.4_A3_T2.js
index 4654a3dece21..e1747d60d6f9 100644
--- a/js/src/tests/test262/built-ins/Date/prototype/valueOf/S9.4_A3_T2.js
+++ b/js/src/tests/test262/built-ins/Date/prototype/valueOf/S9.4_A3_T2.js
@@ -14,26 +14,22 @@ description: >
// CHECK#1
var d1 = new Date(Number.NaN);
-assert.sameValue(d1.valueOf(), NaN, "NaN");
+assert.sameValue(d1.valueOf(), NaN, 'd1.valueOf() returns NaN');
// CHECK#2
var d2 = new Date(Infinity);
-assert.sameValue(d2.valueOf(), NaN, "Infinity");
+assert.sameValue(d2.valueOf(), NaN, 'd2.valueOf() returns NaN');
// CHECK#3
var d3 = new Date(-Infinity);
-assert.sameValue(d3.valueOf(), NaN, "-Infinity");
+assert.sameValue(d3.valueOf(), NaN, 'd3.valueOf() returns NaN');
// CHECK#4
var d4 = new Date(0);
-if (d4.valueOf() !== 0) {
- throw new Test262Error('#4: var d4 = new Date(0); d4.valueOf() === 0;');
-}
+assert.sameValue(d4.valueOf(), 0, 'd4.valueOf() must return 0');
// CHECK#5
var d5 = new Date(-0);
-if (d5.valueOf() !== -0) {
- throw new Test262Error('#5: var d5 = new Date(-0); d5.valueOf() === -0;');
-}
+assert.sameValue(d5.valueOf(), 0, 'd5.valueOf() must return 0');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Error/prototype/S15.11.3.1_A1_T1.js b/js/src/tests/test262/built-ins/Error/prototype/S15.11.3.1_A1_T1.js
index ddc8bbb4b446..b7f3835e93a0 100644
--- a/js/src/tests/test262/built-ins/Error/prototype/S15.11.3.1_A1_T1.js
+++ b/js/src/tests/test262/built-ins/Error/prototype/S15.11.3.1_A1_T1.js
@@ -13,11 +13,11 @@ var proto = Error.prototype;
//CHECK#1
verifyNotConfigurable(Error, "prototype");
try {
- if ((delete Error.prototype) !== false) {
- throw new Test262Error('#1: Error.prototype has the attribute DontDelete');
- }
+ assert.sameValue(delete Error.prototype, false);
} catch (e) {
- if (e instanceof Test262Error) throw e;
+ if (e instanceof Test262Error) {
+ throw e;
+ }
assert(e instanceof TypeError);
}
//
@@ -31,4 +31,6 @@ if (Error.prototype !== proto) {
//
//////////////////////////////////////////////////////////////////////////////
+// TODO: Convert to verifyProperty() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Error/prototype/S15.11.3.1_A2_T1.js b/js/src/tests/test262/built-ins/Error/prototype/S15.11.3.1_A2_T1.js
index 645a8fdacf3e..ae59d43325e3 100644
--- a/js/src/tests/test262/built-ins/Error/prototype/S15.11.3.1_A2_T1.js
+++ b/js/src/tests/test262/built-ins/Error/prototype/S15.11.3.1_A2_T1.js
@@ -6,21 +6,13 @@ info: Error.prototype property has the attributes {DontEnum}
es5id: 15.11.3.1_A2_T1
description: Checking if enumerating the Error.prototype property fails
---*/
+assert(Error.hasOwnProperty('prototype'), 'Error.hasOwnProperty(\'prototype\') must return true');
-//////////////////////////////////////////////////////////////////////////////
-//CHECK#0
-if (!(Error.hasOwnProperty('prototype'))) {
- throw new Test262Error('#0: Error.hasOwnProperty(\'prototype\') return true. Actual: ' + Error.hasOwnProperty('prototype'));
-}
-//
-//////////////////////////////////////////////////////////////////////////////
+assert(
+ !Error.propertyIsEnumerable('prototype'),
+ 'The value of !Error.propertyIsEnumerable(\'prototype\') is expected to be true'
+);
-
-//////////////////////////////////////////////////////////////////////////////
-// CHECK#1
-if (Error.propertyIsEnumerable('prototype')) {
- throw new Test262Error('#1: Error.propertyIsEnumerable(\'prototype\') return false. Actual: ' + Error.propertyIsEnumerable('prototype'));
-}
//
//////////////////////////////////////////////////////////////////////////////
@@ -30,13 +22,13 @@ if (Error.propertyIsEnumerable('prototype')) {
var cout = 0;
for (var p in Error) {
- if (p === "prototype") cout++;
+ if (p === "prototype") {
+ cout++;
+ }
}
-if (cout !== 0) {
- throw new Test262Error('#2: cout === 0. Actual: ' + cout);
-}
-//
-//////////////////////////////////////////////////////////////////////////////
+assert.sameValue(cout, 0, 'The value of cout is expected to be 0');
+
+// TODO: Convert to verifyProperty() format.
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Error/prototype/S15.11.3.1_A3_T1.js b/js/src/tests/test262/built-ins/Error/prototype/S15.11.3.1_A3_T1.js
index 46d2ec17ac3a..c73918fb5a25 100644
--- a/js/src/tests/test262/built-ins/Error/prototype/S15.11.3.1_A3_T1.js
+++ b/js/src/tests/test262/built-ins/Error/prototype/S15.11.3.1_A3_T1.js
@@ -7,14 +7,7 @@ es5id: 15.11.3.1_A3_T1
description: Checking if varying the Error.prototype property fails
includes: [propertyHelper.js]
---*/
-
-//////////////////////////////////////////////////////////////////////////////
-//CHECK#1
-if (!(Error.hasOwnProperty('prototype'))) {
- throw new Test262Error('#1: Error.hasOwnProperty(\'prototype\') return true. Actual: ' + Error.hasOwnProperty('prototype'));
-}
-//
-//////////////////////////////////////////////////////////////////////////////
+assert(Error.hasOwnProperty('prototype'));
var __obj = Error.prototype;
@@ -22,23 +15,9 @@ verifyNotWritable(Error, "prototype", null, function() {
return "shifted";
});
-//////////////////////////////////////////////////////////////////////////////
-//CHECK#2
-if (Error.prototype !== __obj) {
- throw new Test262Error('#2: __obj = Error.prototype; Error.prototype = function(){return "shifted";}; Error.prototype === __obj. Actual: ' + Error.prototype);
-}
-//
-//////////////////////////////////////////////////////////////////////////////
+assert.sameValue(Error.prototype, __obj);
+
+// TODO: Convert to verifyProperty() format.
-//////////////////////////////////////////////////////////////////////////////
-//CHECK#3
-try {
- Error.prototype();
- throw new Test262Error('#3: "Error.prototype()" lead to throwing exception');
-} catch (e) {
- if (e instanceof Test262Error) throw e;
-}
-//
-//////////////////////////////////////////////////////////////////////////////
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Error/prototype/S15.11.3.1_A4_T1.js b/js/src/tests/test262/built-ins/Error/prototype/S15.11.3.1_A4_T1.js
index ecf984484c72..b98f286a1b45 100644
--- a/js/src/tests/test262/built-ins/Error/prototype/S15.11.3.1_A4_T1.js
+++ b/js/src/tests/test262/built-ins/Error/prototype/S15.11.3.1_A4_T1.js
@@ -6,13 +6,6 @@ info: The Error has property prototype
es5id: 15.11.3.1_A4_T1
description: Checking Error.hasOwnProperty('prototype')
---*/
-
-//////////////////////////////////////////////////////////////////////////////
-//CHECK#1
-if (!(Error.hasOwnProperty('prototype'))) {
- throw new Test262Error('#1: Error.hasOwnProperty(\'prototype\') return true. Actual: ' + Error.hasOwnProperty('prototype'));
-}
-//
-//////////////////////////////////////////////////////////////////////////////
+assert(Error.hasOwnProperty('prototype'), 'Error.hasOwnProperty(\'prototype\') must return true');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Error/prototype/S15.11.4_A1.js b/js/src/tests/test262/built-ins/Error/prototype/S15.11.4_A1.js
index 975e698dbbe5..1c701cc39d1a 100644
--- a/js/src/tests/test262/built-ins/Error/prototype/S15.11.4_A1.js
+++ b/js/src/tests/test262/built-ins/Error/prototype/S15.11.4_A1.js
@@ -8,13 +8,9 @@ info: |
es5id: 15.11.4_A1
description: Get Error.prototype and compare with Object.prototype
---*/
-
-//////////////////////////////////////////////////////////////////////////////
-// CHECK#1
-if (!Object.prototype.isPrototypeOf(Error.prototype)) {
- throw new Test262Error('#1: Object.prototype.isPrototypeOf(Error.prototype) return true. Actual: ' + Object.prototype.isPrototypeOf(Error.prototype));
-}
-//
-//////////////////////////////////////////////////////////////////////////////
+assert(
+ Object.prototype.isPrototypeOf(Error.prototype),
+ 'Object.prototype.isPrototypeOf(Error.prototype) must return true'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Error/prototype/S15.11.4_A2.js b/js/src/tests/test262/built-ins/Error/prototype/S15.11.4_A2.js
index a71101255900..cdd0359b483b 100644
--- a/js/src/tests/test262/built-ins/Error/prototype/S15.11.4_A2.js
+++ b/js/src/tests/test262/built-ins/Error/prototype/S15.11.4_A2.js
@@ -14,12 +14,6 @@ description: >
Error.prototype.toString = Object.prototype.toString;
var __tostr = Error.prototype.toString();
-//////////////////////////////////////////////////////////////////////////////
-//CHECK#1
-if (__tostr !== "[object Object]") {
- throw new Test262Error('#1: Error.prototype.toString=Object.prototype.toString; __tostr = Error.prototype.toString(); __tostr === "[object Object]". Actual: ' + __tostr);
-}
-//
-//////////////////////////////////////////////////////////////////////////////
+assert.sameValue(__tostr, "[object Object]", 'The value of __tostr is expected to be "[object Object]"');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Error/prototype/S15.11.4_A3.js b/js/src/tests/test262/built-ins/Error/prototype/S15.11.4_A3.js
index 58c5272d07dc..782c9354839a 100644
--- a/js/src/tests/test262/built-ins/Error/prototype/S15.11.4_A3.js
+++ b/js/src/tests/test262/built-ins/Error/prototype/S15.11.4_A3.js
@@ -7,15 +7,9 @@ es5id: 15.11.4_A3
description: Checking if call of Error prototype as a function fails
---*/
-//////////////////////////////////////////////////////////////////////////////
-//CHECK#1
-try {
+assert.throws(TypeError, () => {
Error.prototype();
- throw new Test262Error('#1: "Error.prototype()" lead to throwing exception');
-} catch (e) {
- if (e instanceof Test262Error) throw e;
-}
-//
-//////////////////////////////////////////////////////////////////////////////
+ throw new Test262Error();
+});
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Error/prototype/S15.11.4_A4.js b/js/src/tests/test262/built-ins/Error/prototype/S15.11.4_A4.js
index b87c69728ecb..1bdd74a439df 100644
--- a/js/src/tests/test262/built-ins/Error/prototype/S15.11.4_A4.js
+++ b/js/src/tests/test262/built-ins/Error/prototype/S15.11.4_A4.js
@@ -7,15 +7,9 @@ es5id: 15.11.4_A4
description: Checking if creating "new Error.prototype" fails
---*/
-//////////////////////////////////////////////////////////////////////////////
-//CHECK#1
-try {
- var __instance = new Error.prototype;
- throw new Test262Error('#1: "var __instance = new Error.prototype" lead to throwing exception');
-} catch (e) {
- if (e instanceof Test262Error) throw e;
-}
-//
-//////////////////////////////////////////////////////////////////////////////
+assert.throws(TypeError, () => {
+ new Error.prototype();
+ throw new Test262Error();
+});
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Error/prototype/constructor/S15.11.4.1_A1_T2.js b/js/src/tests/test262/built-ins/Error/prototype/constructor/S15.11.4.1_A1_T2.js
index 693870d28ec0..5615ded4afe3 100644
--- a/js/src/tests/test262/built-ins/Error/prototype/constructor/S15.11.4.1_A1_T2.js
+++ b/js/src/tests/test262/built-ins/Error/prototype/constructor/S15.11.4.1_A1_T2.js
@@ -15,46 +15,16 @@ var constr = Error.prototype.constructor;
var err = new constr;
-//////////////////////////////////////////////////////////////////////////////
-// CHECK#0
-if (err === undefined) {
- throw new Test262Error('#0: constr = Error.prototype.constructor; err = new constr; err === undefined');
-}
-//
-//////////////////////////////////////////////////////////////////////////////
-
-//////////////////////////////////////////////////////////////////////////////
-// CHECK#1
-if (err.constructor !== Error) {
- throw new Test262Error('#1: constr = Error.prototype.constructor; err = new constr; err.constructor === Error. Actual: ' + err.constructor);
-}
-//
-//////////////////////////////////////////////////////////////////////////////
-
-//////////////////////////////////////////////////////////////////////////////
-// CHECK#2
-if (!(Error.prototype.isPrototypeOf(err))) {
- throw new Test262Error('#2: constr = Error.prototype.constructor; err = new constr; Error.prototype.isPrototypeOf(err) return true. Actual: ' + Error.prototype.isPrototypeOf(err));
-}
+assert.notSameValue(err, undefined, 'The value of err is expected to not equal ``undefined``');
+assert.sameValue(err.constructor, Error, 'The value of err.constructor is expected to equal the value of Error');
+assert(Error.prototype.isPrototypeOf(err), 'Error.prototype.isPrototypeOf(err) must return true');
//
//////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////
// CHECK#3
Error.prototype.toString = Object.prototype.toString;
-var to_string_result = '[object ' + 'Error' + ']';
-if (err.toString() !== to_string_result) {
- throw new Test262Error('#3: constr = Error.prototype.constructor; err = new constr; Error.prototype.toString=Object.prototype.toString; err.toString() === \'[object Error]\'. Actual: ' + err.toString());
-}
-//
-//////////////////////////////////////////////////////////////////////////////
-
-//////////////////////////////////////////////////////////////////////////////
-// CHECK#4
-if (err.valueOf().toString() !== to_string_result) {
- throw new Test262Error('#4: constr = Error.prototype.constructor; err = new constr; Error.prototype.toString=Object.prototype.toString; err.valueOf().toString() === \'[object Error]\'. Actual: ' + err.valueOf().toString());
-}
-//
-//////////////////////////////////////////////////////////////////////////////
+assert.sameValue(err.toString(), '[object Error]', 'err.toString() must return "[object Error]"');
+assert.sameValue(err.valueOf().toString(), '[object Error]', 'err.valueOf().toString() must return "[object Error]"');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Error/prototype/toString/S15.11.4.4_A2.js b/js/src/tests/test262/built-ins/Error/prototype/toString/S15.11.4.4_A2.js
index 6c99b6324475..0e8aaff45656 100644
--- a/js/src/tests/test262/built-ins/Error/prototype/toString/S15.11.4.4_A2.js
+++ b/js/src/tests/test262/built-ins/Error/prototype/toString/S15.11.4.4_A2.js
@@ -4,22 +4,9 @@
/*---
info: The Error.prototype.toString returns an implementation defined string
es5id: 15.11.4.4_A2
-description: Checking if call of Error.prototype.toSting() fails
+description: Checking if call of Error.prototype.toString() fails
---*/
-//////////////////////////////////////////////////////////////////////////////
-// CHECK#1
-var err1 = new Error("Error");
-try {
- var toStr = err1.toString();
-}
-catch (e) {
- throw new Test262Error('#1: var err1=new Error("Error"); var toStr=err1.toString(); lead to throwing exception. Exception is ' + e);
-}
-if (toStr === undefined) {
- throw new Test262Error('#2: var err1=new Error("Error"); var toStr=err1.toString(); toStr!==undefined. Actual: ' + toStr);
-}
-//
-//////////////////////////////////////////////////////////////////////////////
+assert.notSameValue(new Error("Error").toString(), undefined, 'The value of toStr is expected to not equal ``undefined``');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/FinalizationRegistry/gc-has-one-chance-to-call-cleanupCallback.js b/js/src/tests/test262/built-ins/FinalizationRegistry/gc-has-one-chance-to-call-cleanupCallback.js
index e9e5dc14f78a..1d373e0eb82c 100644
--- a/js/src/tests/test262/built-ins/FinalizationRegistry/gc-has-one-chance-to-call-cleanupCallback.js
+++ b/js/src/tests/test262/built-ins/FinalizationRegistry/gc-has-one-chance-to-call-cleanupCallback.js
@@ -26,7 +26,7 @@ info: |
2. For each FinalizationRegistry finalizationRegistry such that finalizationRegistry.[[Cells]] contains cell, such that cell.[[Target]] is obj,
a. Set cell.[[Target]] to empty.
b. Optionally, perform ! HostCleanupFinalizationRegistry(finalizationRegistry).
-features: [cleanupSome, FinalizationRegistry.prototype.cleanupSome, FinalizationRegistry, async-functions, host-gc-required]
+features: [FinalizationRegistry.prototype.cleanupSome, FinalizationRegistry, async-functions, host-gc-required]
flags: [async, non-deterministic]
includes: [async-gc.js, compareArray.js]
---*/
diff --git a/js/src/tests/test262/built-ins/FinalizationRegistry/prototype/cleanupSome/callback-not-callable-throws.js b/js/src/tests/test262/built-ins/FinalizationRegistry/prototype/cleanupSome/callback-not-callable-throws.js
index 1951092abc30..2e8450b19e64 100644
--- a/js/src/tests/test262/built-ins/FinalizationRegistry/prototype/cleanupSome/callback-not-callable-throws.js
+++ b/js/src/tests/test262/built-ins/FinalizationRegistry/prototype/cleanupSome/callback-not-callable-throws.js
@@ -13,7 +13,7 @@ info: |
3. If finalizationRegistry does not have a [[Cells]] internal slot, throw a TypeError exception.
4. If callback is not undefined and IsCallable(callback) is false, throw a TypeError exception.
...
-features: [FinalizationRegistry.prototype.cleanupSome, cleanupSome, FinalizationRegistry]
+features: [FinalizationRegistry.prototype.cleanupSome, FinalizationRegistry]
---*/
assert.sameValue(typeof FinalizationRegistry.prototype.cleanupSome, 'function');
diff --git a/js/src/tests/test262/built-ins/FinalizationRegistry/prototype/cleanupSome/cleanup-prevented-with-reference.js b/js/src/tests/test262/built-ins/FinalizationRegistry/prototype/cleanupSome/cleanup-prevented-with-reference.js
index ee89a432d9c3..d8c23a7d1e02 100644
--- a/js/src/tests/test262/built-ins/FinalizationRegistry/prototype/cleanupSome/cleanup-prevented-with-reference.js
+++ b/js/src/tests/test262/built-ins/FinalizationRegistry/prototype/cleanupSome/cleanup-prevented-with-reference.js
@@ -14,7 +14,7 @@ info: |
4. If callback is not undefined and IsCallable(callback) is false, throw a TypeError exception.
5. Perform ? CleanupFinalizationRegistry(finalizationRegistry, callback).
6. Return undefined.
-features: [FinalizationRegistry.prototype.cleanupSome, cleanupSome, FinalizationRegistry, host-gc-required]
+features: [FinalizationRegistry.prototype.cleanupSome, FinalizationRegistry, host-gc-required]
includes: [async-gc.js]
flags: [async, non-deterministic]
---*/
diff --git a/js/src/tests/test262/built-ins/FinalizationRegistry/prototype/cleanupSome/cleanup-prevented-with-unregister.js b/js/src/tests/test262/built-ins/FinalizationRegistry/prototype/cleanupSome/cleanup-prevented-with-unregister.js
index 9c26adbb180c..6669be38b219 100644
--- a/js/src/tests/test262/built-ins/FinalizationRegistry/prototype/cleanupSome/cleanup-prevented-with-unregister.js
+++ b/js/src/tests/test262/built-ins/FinalizationRegistry/prototype/cleanupSome/cleanup-prevented-with-unregister.js
@@ -23,7 +23,7 @@ info: |
i. Remove cell from finalizationRegistry.[[Cells]].
ii. Set removed to true.
3. Return removed.
-features: [FinalizationRegistry.prototype.cleanupSome, cleanupSome, FinalizationRegistry, host-gc-required]
+features: [FinalizationRegistry.prototype.cleanupSome, FinalizationRegistry, host-gc-required]
includes: [async-gc.js]
flags: [async, non-deterministic]
---*/
diff --git a/js/src/tests/test262/built-ins/FinalizationRegistry/prototype/cleanupSome/custom-this.js b/js/src/tests/test262/built-ins/FinalizationRegistry/prototype/cleanupSome/custom-this.js
index 2521204f5bcd..1b99dc1917f6 100644
--- a/js/src/tests/test262/built-ins/FinalizationRegistry/prototype/cleanupSome/custom-this.js
+++ b/js/src/tests/test262/built-ins/FinalizationRegistry/prototype/cleanupSome/custom-this.js
@@ -14,7 +14,7 @@ info: |
4. If callback is not undefined and IsCallable(callback) is false, throw a TypeError exception.
5. Perform ! CleanupFinalizationRegistry(finalizationRegistry, callback).
6. Return undefined.
-features: [FinalizationRegistry.prototype.cleanupSome, cleanupSome, FinalizationRegistry]
+features: [FinalizationRegistry.prototype.cleanupSome, FinalizationRegistry]
---*/
var fn = function() {};
diff --git a/js/src/tests/test262/built-ins/FinalizationRegistry/prototype/cleanupSome/holdings-multiple-values.js b/js/src/tests/test262/built-ins/FinalizationRegistry/prototype/cleanupSome/holdings-multiple-values.js
index cc0561b500ae..4c8d99b11aa4 100644
--- a/js/src/tests/test262/built-ins/FinalizationRegistry/prototype/cleanupSome/holdings-multiple-values.js
+++ b/js/src/tests/test262/built-ins/FinalizationRegistry/prototype/cleanupSome/holdings-multiple-values.js
@@ -24,7 +24,7 @@ info: |
...
-features: [FinalizationRegistry.prototype.cleanupSome, cleanupSome, FinalizationRegistry, Symbol, host-gc-required]
+features: [FinalizationRegistry.prototype.cleanupSome, FinalizationRegistry, Symbol, host-gc-required]
includes: [async-gc.js]
flags: [async, non-deterministic]
---*/
diff --git a/js/src/tests/test262/built-ins/FinalizationRegistry/prototype/cleanupSome/length.js b/js/src/tests/test262/built-ins/FinalizationRegistry/prototype/cleanupSome/length.js
index 3bf563aabfb9..797ecd569496 100644
--- a/js/src/tests/test262/built-ins/FinalizationRegistry/prototype/cleanupSome/length.js
+++ b/js/src/tests/test262/built-ins/FinalizationRegistry/prototype/cleanupSome/length.js
@@ -22,7 +22,7 @@ info: |
function object has the attributes { [[Writable]]: false,
[[Enumerable]]: false, [[Configurable]]: true }.
includes: [propertyHelper.js]
-features: [FinalizationRegistry.prototype.cleanupSome, cleanupSome, FinalizationRegistry]
+features: [FinalizationRegistry.prototype.cleanupSome, FinalizationRegistry]
---*/
verifyProperty(FinalizationRegistry.prototype.cleanupSome, 'length', {
diff --git a/js/src/tests/test262/built-ins/FinalizationRegistry/prototype/cleanupSome/name.js b/js/src/tests/test262/built-ins/FinalizationRegistry/prototype/cleanupSome/name.js
index 26b4d18af023..e71415a2c2d0 100644
--- a/js/src/tests/test262/built-ins/FinalizationRegistry/prototype/cleanupSome/name.js
+++ b/js/src/tests/test262/built-ins/FinalizationRegistry/prototype/cleanupSome/name.js
@@ -21,7 +21,7 @@ info: |
object, if it exists, has the attributes { [[Writable]]: false,
[[Enumerable]]: false, [[Configurable]]: true }.
includes: [propertyHelper.js]
-features: [FinalizationRegistry.prototype.cleanupSome, cleanupSome, FinalizationRegistry]
+features: [FinalizationRegistry.prototype.cleanupSome, FinalizationRegistry]
---*/
verifyProperty(FinalizationRegistry.prototype.cleanupSome, 'name', {
diff --git a/js/src/tests/test262/built-ins/FinalizationRegistry/prototype/cleanupSome/prop-desc.js b/js/src/tests/test262/built-ins/FinalizationRegistry/prototype/cleanupSome/prop-desc.js
index dd1dbe3e5069..f942e2c1a497 100644
--- a/js/src/tests/test262/built-ins/FinalizationRegistry/prototype/cleanupSome/prop-desc.js
+++ b/js/src/tests/test262/built-ins/FinalizationRegistry/prototype/cleanupSome/prop-desc.js
@@ -13,7 +13,7 @@ info: |
has the attributes { [[Writable]]: true, [[Enumerable]]: false,
[[Configurable]]: true } unless otherwise specified.
includes: [propertyHelper.js]
-features: [FinalizationRegistry.prototype.cleanupSome, cleanupSome, FinalizationRegistry]
+features: [FinalizationRegistry.prototype.cleanupSome, FinalizationRegistry]
---*/
assert.sameValue(typeof FinalizationRegistry.prototype.cleanupSome, 'function');
diff --git a/js/src/tests/test262/built-ins/FinalizationRegistry/prototype/cleanupSome/reentrancy.js b/js/src/tests/test262/built-ins/FinalizationRegistry/prototype/cleanupSome/reentrancy.js
index a9c4c9f135cc..ebecca0725d9 100644
--- a/js/src/tests/test262/built-ins/FinalizationRegistry/prototype/cleanupSome/reentrancy.js
+++ b/js/src/tests/test262/built-ins/FinalizationRegistry/prototype/cleanupSome/reentrancy.js
@@ -9,7 +9,7 @@ description: >
info: |
FinalizationRegistry.prototype.cleanupSome ( [ callback ] )
-features: [FinalizationRegistry.prototype.cleanupSome, cleanupSome, FinalizationRegistry, host-gc-required]
+features: [FinalizationRegistry.prototype.cleanupSome, FinalizationRegistry, host-gc-required]
includes: [async-gc.js]
flags: [async, non-deterministic]
---*/
diff --git a/js/src/tests/test262/built-ins/FinalizationRegistry/prototype/cleanupSome/return-undefined-with-gc.js b/js/src/tests/test262/built-ins/FinalizationRegistry/prototype/cleanupSome/return-undefined-with-gc.js
index 098930f6dded..ef1f04b0e714 100644
--- a/js/src/tests/test262/built-ins/FinalizationRegistry/prototype/cleanupSome/return-undefined-with-gc.js
+++ b/js/src/tests/test262/built-ins/FinalizationRegistry/prototype/cleanupSome/return-undefined-with-gc.js
@@ -14,7 +14,7 @@ info: |
4. If callback is not undefined and IsCallable(callback) is false, throw a TypeError exception.
5. Perform ? CleanupFinalizationRegistry(finalizationRegistry, callback).
6. Return undefined.
-features: [FinalizationRegistry.prototype.cleanupSome, cleanupSome, FinalizationRegistry, arrow-function, async-functions, async-iteration, class, host-gc-required]
+features: [FinalizationRegistry.prototype.cleanupSome, FinalizationRegistry, arrow-function, async-functions, async-iteration, class, host-gc-required]
includes: [async-gc.js]
flags: [async, non-deterministic]
---*/
diff --git a/js/src/tests/test262/built-ins/FinalizationRegistry/prototype/cleanupSome/return-undefined.js b/js/src/tests/test262/built-ins/FinalizationRegistry/prototype/cleanupSome/return-undefined.js
index 3c37b2bd3cae..6a5ff5a6e5f3 100644
--- a/js/src/tests/test262/built-ins/FinalizationRegistry/prototype/cleanupSome/return-undefined.js
+++ b/js/src/tests/test262/built-ins/FinalizationRegistry/prototype/cleanupSome/return-undefined.js
@@ -14,7 +14,7 @@ info: |
4. If callback is not undefined and IsCallable(callback) is false, throw a TypeError exception.
5. Perform ? CleanupFinalizationRegistry(finalizationRegistry, callback).
6. Return undefined.
-features: [FinalizationRegistry.prototype.cleanupSome, cleanupSome, FinalizationRegistry, arrow-function, async-functions, async-iteration, class]
+features: [FinalizationRegistry.prototype.cleanupSome, FinalizationRegistry, arrow-function, async-functions, async-iteration, class]
---*/
var fn = function() {};
diff --git a/js/src/tests/test262/built-ins/FinalizationRegistry/prototype/cleanupSome/this-does-not-have-internal-cells-throws.js b/js/src/tests/test262/built-ins/FinalizationRegistry/prototype/cleanupSome/this-does-not-have-internal-cells-throws.js
index 88b3221978dd..267e6d3163f4 100644
--- a/js/src/tests/test262/built-ins/FinalizationRegistry/prototype/cleanupSome/this-does-not-have-internal-cells-throws.js
+++ b/js/src/tests/test262/built-ins/FinalizationRegistry/prototype/cleanupSome/this-does-not-have-internal-cells-throws.js
@@ -13,7 +13,7 @@ info: |
3. If finalizationRegistry does not have a [[Cells]] internal slot, throw a TypeError exception.
4. If callback is not undefined and IsCallable(callback) is false, throw a TypeError exception.
...
-features: [FinalizationRegistry.prototype.cleanupSome, cleanupSome, WeakSet, WeakMap, FinalizationRegistry, WeakRef]
+features: [FinalizationRegistry.prototype.cleanupSome, WeakSet, WeakMap, FinalizationRegistry, WeakRef]
---*/
assert.sameValue(typeof FinalizationRegistry.prototype.cleanupSome, 'function');
diff --git a/js/src/tests/test262/built-ins/FinalizationRegistry/prototype/cleanupSome/this-not-object-throws.js b/js/src/tests/test262/built-ins/FinalizationRegistry/prototype/cleanupSome/this-not-object-throws.js
index c89a551ef885..0be906620179 100644
--- a/js/src/tests/test262/built-ins/FinalizationRegistry/prototype/cleanupSome/this-not-object-throws.js
+++ b/js/src/tests/test262/built-ins/FinalizationRegistry/prototype/cleanupSome/this-not-object-throws.js
@@ -13,7 +13,7 @@ info: |
3. If finalizationRegistry does not have a [[Cells]] internal slot, throw a TypeError exception.
4. If callback is not undefined and IsCallable(callback) is false, throw a TypeError exception.
...
-features: [FinalizationRegistry.prototype.cleanupSome, cleanupSome, FinalizationRegistry]
+features: [FinalizationRegistry.prototype.cleanupSome, FinalizationRegistry]
---*/
assert.sameValue(typeof FinalizationRegistry.prototype.cleanupSome, 'function');
diff --git a/js/src/tests/test262/built-ins/FinalizationRegistry/prototype/unregister/unregister-cleaned-up-cell.js b/js/src/tests/test262/built-ins/FinalizationRegistry/prototype/unregister/unregister-cleaned-up-cell.js
index bd0abf397b52..ade30e146bbf 100644
--- a/js/src/tests/test262/built-ins/FinalizationRegistry/prototype/unregister/unregister-cleaned-up-cell.js
+++ b/js/src/tests/test262/built-ins/FinalizationRegistry/prototype/unregister/unregister-cleaned-up-cell.js
@@ -30,7 +30,7 @@ info: |
i. Remove cell from finalizationRegistry.[[Cells]].
ii. Set removed to true.
3. Return removed.
-features: [FinalizationRegistry.prototype.cleanupSome, cleanupSome, FinalizationRegistry, host-gc-required]
+features: [FinalizationRegistry.prototype.cleanupSome, FinalizationRegistry, host-gc-required]
includes: [async-gc.js]
flags: [async, non-deterministic]
---*/
diff --git a/js/src/tests/test262/built-ins/FinalizationRegistry/shell.js b/js/src/tests/test262/built-ins/FinalizationRegistry/shell.js
index e32dd4dbd7c4..d23c2fd8110b 100644
--- a/js/src/tests/test262/built-ins/FinalizationRegistry/shell.js
+++ b/js/src/tests/test262/built-ins/FinalizationRegistry/shell.js
@@ -5,7 +5,7 @@
/*---
description: >
Collection of functions used to capture references cleanup from garbage collectors
-features: [cleanupSome, FinalizationRegistry, Symbol, async-functions]
+features: [FinalizationRegistry.prototype.cleanupSome, FinalizationRegistry, Symbol, async-functions]
flags: [non-deterministic]
defines: [asyncGC, asyncGCDeref, resolveAsyncGC]
---*/
diff --git a/js/src/tests/test262/built-ins/Function/S10.1.1_A1_T3.js b/js/src/tests/test262/built-ins/Function/S10.1.1_A1_T3.js
index b7141cbd2f48..9effff977eda 100644
--- a/js/src/tests/test262/built-ins/Function/S10.1.1_A1_T3.js
+++ b/js/src/tests/test262/built-ins/Function/S10.1.1_A1_T3.js
@@ -11,11 +11,14 @@ description: >
object as a constructor
---*/
-//CHECK#1
var x = new function f1() {
return 1;
};
-if (typeof(x.constructor) !== "function")
- throw new Test262Error('#1: typeof(x.constructor)!=="function"');
+
+assert.sameValue(
+ typeof(x.constructor),
+ "function",
+ 'The value of `typeof(x.constructor)` is expected to be "function"'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Function/S15.3.1_A1_T1.js b/js/src/tests/test262/built-ins/Function/S15.3.1_A1_T1.js
index 928af1a64592..13a751b43b57 100644
--- a/js/src/tests/test262/built-ins/Function/S15.3.1_A1_T1.js
+++ b/js/src/tests/test262/built-ins/Function/S15.3.1_A1_T1.js
@@ -11,32 +11,14 @@ description: Create simple functions and check returned values
var f = Function("return arguments[0];");
-//CHECK#1
-if (!(f instanceof Function)) {
- throw new Test262Error('#1: f instanceof Function');
-}
-
-//CHECK#2
-if (f(1) !== 1) {
- throw new Test262Error('#2: f(1) !== 1');
-}
+assert(f instanceof Function, 'The result of evaluating (f instanceof Function) is expected to be true');
+assert.sameValue(f(1), 1, 'f(1) must return 1');
var g = new Function("return arguments[0];");
-//CHECK#3
-if (!(g instanceof Function)) {
- throw new Test262Error('#3: g instanceof Function');
-}
-
-//CHECK#4
-if (g("A") !== "A") {
- throw new Test262Error('#4: g("A") !== "A"');
-}
-
-//CHECK#5
-if (g("A") !== f("A")) {
- throw new Test262Error('#5: g("A") !== f("A")');
-}
+assert(g instanceof Function, 'The result of evaluating (g instanceof Function) is expected to be true');
+assert.sameValue(g("A"), "A", 'g("A") must return "A"');
+assert.sameValue(g("A"), f("A"), 'g("A") must return the same value returned by f("A")');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Function/S15.3.2.1_A1_T1.js b/js/src/tests/test262/built-ins/Function/S15.3.2.1_A1_T1.js
index cd7af9cdc4d8..4acc08d7cb24 100644
--- a/js/src/tests/test262/built-ins/Function/S15.3.2.1_A1_T1.js
+++ b/js/src/tests/test262/built-ins/Function/S15.3.2.1_A1_T1.js
@@ -20,14 +20,11 @@ var body = {
}
}
-//CHECK#1
try {
var f = new Function(body);
throw new Test262Error('#1: When the Function constructor is called with one argument then body be that argument the following step are taken: call ToString(body)');
} catch (e) {
- if (e !== 7) {
- throw new Test262Error('#1.1: When the Function constructor is called with one argument then body be that argument the following step are taken: call ToString(body)');
- }
+ assert.sameValue(e, 7, 'The value of e is expected to be 7');
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Function/S15.3.2.1_A1_T10.js b/js/src/tests/test262/built-ins/Function/S15.3.2.1_A1_T10.js
index 5a671cb022ae..96b516287afa 100644
--- a/js/src/tests/test262/built-ins/Function/S15.3.2.1_A1_T10.js
+++ b/js/src/tests/test262/built-ins/Function/S15.3.2.1_A1_T10.js
@@ -14,21 +14,13 @@ es5id: 15.3.2.1_A1_T10
description: Value of the function constructor argument is "null"
---*/
-//CHECK#1
try {
var f = new Function(null);
} catch (e) {
throw new Test262Error('#1: test fails with error ' + e);
}
-//CHECK#2
-if (f.constructor !== Function) {
- throw new Test262Error('#2: When the Function constructor is called with one argument then body be that argument and creates a new Function object as specified in 13.2');
-}
-
-//CHECK#3
-if (f() !== undefined) {
- throw new Test262Error('#3: When the Function constructor is called with one argument then body be that argument the following steps are taken...');
-}
+assert.sameValue(f.constructor, Function, 'The value of f.constructor is expected to equal the value of Function');
+assert.sameValue(f(), undefined, 'f() returns undefined');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Function/S15.3.2.1_A1_T11.js b/js/src/tests/test262/built-ins/Function/S15.3.2.1_A1_T11.js
index 8246e5d90654..bbbef017b884 100644
--- a/js/src/tests/test262/built-ins/Function/S15.3.2.1_A1_T11.js
+++ b/js/src/tests/test262/built-ins/Function/S15.3.2.1_A1_T11.js
@@ -14,21 +14,13 @@ es5id: 15.3.2.1_A1_T11
description: Value of the function constructor argument is "undefined"
---*/
-//CHECK#1
try {
var f = new Function(undefined);
} catch (e) {
throw new Test262Error('#1: test failed with error ' + e);
}
-//CHECK#2
-if (f.constructor !== Function) {
- throw new Test262Error('#2: When the Function constructor is called with one argument then body be that argument and creates a new Function object as specified in 13.2');
-}
-
-//CHECK#3
-if (f() !== undefined) {
- throw new Test262Error('#3: When the Function constructor is called with one argument then body be that argument the following steps are taken...');
-}
+assert.sameValue(f.constructor, Function, 'The value of f.constructor is expected to equal the value of Function');
+assert.sameValue(f(), undefined, 'f() returns undefined');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Function/S15.3.2.1_A1_T12.js b/js/src/tests/test262/built-ins/Function/S15.3.2.1_A1_T12.js
index eeb201a5021c..812fac55b8c0 100644
--- a/js/src/tests/test262/built-ins/Function/S15.3.2.1_A1_T12.js
+++ b/js/src/tests/test262/built-ins/Function/S15.3.2.1_A1_T12.js
@@ -14,21 +14,13 @@ es5id: 15.3.2.1_A1_T12
description: Value of the function constructor argument is "void 0"
---*/
-//CHECK#1
try {
var f = new Function(void 0);
} catch (e) {
throw new Test262Error('#1: test failed with error ' + e);
}
-//CHECK#2
-if (f.constructor !== Function) {
- throw new Test262Error('#2: When the Function constructor is called with one argument then body be that argument and creates a new Function object as specified in 13.2');
-}
-
-//CHECK#3
-if (f() !== undefined) {
- throw new Test262Error('#3: When the Function constructor is called with one argument then body be that argument the following steps are taken...');
-}
+assert.sameValue(f.constructor, Function, 'The value of f.constructor is expected to equal the value of Function');
+assert.sameValue(f(), undefined, 'f() returns undefined');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Function/S15.3.2.1_A1_T13.js b/js/src/tests/test262/built-ins/Function/S15.3.2.1_A1_T13.js
index fe8eb7481d1b..2d5138b163fd 100644
--- a/js/src/tests/test262/built-ins/Function/S15.3.2.1_A1_T13.js
+++ b/js/src/tests/test262/built-ins/Function/S15.3.2.1_A1_T13.js
@@ -14,14 +14,14 @@ es5id: 15.3.2.1_A1_T13
description: Value of the function constructor argument is "{}"
---*/
-//CHECK#1
try {
var f = new Function({});
throw new Test262Error('#1: test failed with error ' + e);
} catch (e) {
- if (!(e instanceof SyntaxError)) {
- throw new Test262Error('#1.1: If body is not parsable as FunctionBody then throw a SyntaxError exception');
- }
+ assert(
+ e instanceof SyntaxError,
+ 'The result of evaluating (e instanceof SyntaxError) is expected to be true'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Function/S15.3.2.1_A1_T2.js b/js/src/tests/test262/built-ins/Function/S15.3.2.1_A1_T2.js
index c996dbe58e1f..fa59de885789 100644
--- a/js/src/tests/test262/built-ins/Function/S15.3.2.1_A1_T2.js
+++ b/js/src/tests/test262/built-ins/Function/S15.3.2.1_A1_T2.js
@@ -22,21 +22,13 @@ var body = {
}
};
-//CHECK#1
try {
var f = new Function(body);
} catch (e) {
throw new Test262Error('#1: test failed with error ' + e);
}
-//CHECK#2
-if (f.constructor !== Function) {
- throw new Test262Error('#2: When the Function constructor is called with one argument then body be that argument and creates a new Function object as specified in 13.2');
-}
-
-//CHECK#3
-if (f() !== 1) {
- throw new Test262Error('#3: hen the Function constructor is called with one argument then body be that argument the following steps are taken...');
-}
+assert.sameValue(f.constructor, Function, 'The value of f.constructor is expected to equal the value of Function');
+assert.sameValue(f(), 1, 'f() must return 1');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Function/S15.3.2.1_A1_T3.js b/js/src/tests/test262/built-ins/Function/S15.3.2.1_A1_T3.js
index 915f5da42016..3855e8f181fa 100644
--- a/js/src/tests/test262/built-ins/Function/S15.3.2.1_A1_T3.js
+++ b/js/src/tests/test262/built-ins/Function/S15.3.2.1_A1_T3.js
@@ -14,21 +14,13 @@ es5id: 15.3.2.1_A1_T3
description: Value of the function constructor argument is 1
---*/
-//CHECK#1
try {
var f = new Function(1);
} catch (e) {
throw new Test262Error('#1: test failed with error ' + e);
}
-//CHECK#2
-if (f.constructor !== Function) {
- throw new Test262Error('#2: When the Function constructor is called with one argument then body be that argument and creates a new Function object as specified in 13.2');
-}
-
-//CHECK#3
-if (f() !== undefined) {
- throw new Test262Error('#3: When the Function constructor is called with one argument then body be that argument the following steps are taken...');
-}
+assert.sameValue(f.constructor, Function, 'The value of f.constructor is expected to equal the value of Function');
+assert.sameValue(f(), undefined, 'f() returns undefined');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Function/S15.3.2.1_A1_T4.js b/js/src/tests/test262/built-ins/Function/S15.3.2.1_A1_T4.js
index 1ee0831efe1f..a70dfdffbee8 100644
--- a/js/src/tests/test262/built-ins/Function/S15.3.2.1_A1_T4.js
+++ b/js/src/tests/test262/built-ins/Function/S15.3.2.1_A1_T4.js
@@ -16,22 +16,14 @@ description: >
specified with "undefined"
---*/
-//CHECK#1
try {
var f = new Function(x);
} catch (e) {
throw new Test262Error('#1: test failed with error ' + e);
}
-//CHECK#2
-if (f.constructor !== Function) {
- throw new Test262Error('#2: When the Function constructor is called with one argument then body be that argument and creates a new Function object as specified in 13.2');
-}
-
-//CHECK#3
-if (f() !== undefined) {
- throw new Test262Error('#3: When the Function constructor is called with one argument then body be that argument the following steps are taken...');
-}
+assert.sameValue(f.constructor, Function, 'The value of f.constructor is expected to equal the value of Function');
+assert.sameValue(f(), undefined, 'f() returns undefined');
var x;
diff --git a/js/src/tests/test262/built-ins/Function/S15.3.2.1_A1_T5.js b/js/src/tests/test262/built-ins/Function/S15.3.2.1_A1_T5.js
index b6cb067a33b5..3e628677277f 100644
--- a/js/src/tests/test262/built-ins/Function/S15.3.2.1_A1_T5.js
+++ b/js/src/tests/test262/built-ins/Function/S15.3.2.1_A1_T5.js
@@ -18,21 +18,13 @@ description: >
var body = Object("return \'A\'");
-//CHECK#1
try {
var f = new Function(body);
} catch (e) {
throw new Test262Error('#1: test failed with error ' + e);
}
-//CHECK#2
-if (f.constructor !== Function) {
- throw new Test262Error('#2: When the Function constructor is called with one argument then body be that argument and creates a new Function object as specified in 13.2');
-}
-
-//CHECK#3
-if (f() !== "\u0041") {
- throw new Test262Error('#3: When the Function constructor is called with one argument then body be that argument the following steps are taken...');
-}
+assert.sameValue(f.constructor, Function, 'The value of f.constructor is expected to equal the value of Function');
+assert.sameValue(f(), "\u0041", 'f() must return "u0041"');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Function/S15.3.2.1_A1_T6.js b/js/src/tests/test262/built-ins/Function/S15.3.2.1_A1_T6.js
index 32499569218d..febdfa36fdae 100644
--- a/js/src/tests/test262/built-ins/Function/S15.3.2.1_A1_T6.js
+++ b/js/src/tests/test262/built-ins/Function/S15.3.2.1_A1_T6.js
@@ -16,21 +16,13 @@ description: >
true;"
---*/
-//CHECK#1
try {
var f = new Function("return true;");
} catch (e) {
throw new Test262Error('#1: test failed with error ' + e);
}
-//CHECK#2
-if (f.constructor !== Function) {
- throw new Test262Error('#2: When the Function constructor is called with one argument then body be that argument and creates a new Function object as specified in 13.2');
-}
-
-//CHECK#3
-if (!(f())) {
- throw new Test262Error('#3: When the Function constructor is called with one argument then body be that argument the following steps are taken...');
-}
+assert.sameValue(f.constructor, Function, 'The value of f.constructor is expected to equal the value of Function');
+assert(f(), 'f() must return true');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Function/S15.3.2.1_A1_T7.js b/js/src/tests/test262/built-ins/Function/S15.3.2.1_A1_T7.js
index a432bbb01b2c..8f842acd3fac 100644
--- a/js/src/tests/test262/built-ins/Function/S15.3.2.1_A1_T7.js
+++ b/js/src/tests/test262/built-ins/Function/S15.3.2.1_A1_T7.js
@@ -16,21 +16,13 @@ description: Value of the function constructor argument is "Object(1)"
var body = new Object(1);
-//CHECK#1
try {
var f = new Function(body);
} catch (e) {
throw new Test262Error('#1: test failed with error ' + e);
}
-//CHECK#2
-if (f.constructor !== Function) {
- throw new Test262Error('#2: When the Function constructor is called with one argument then body be that argument and creates a new Function object as specified in 13.2');
-}
-
-//CHECK#3
-if (f() !== undefined) {
- throw new Test262Error('#3: When the Function constructor is called with one argument then body be that argument the following steps are taken...');
-}
+assert.sameValue(f.constructor, Function, 'The value of f.constructor is expected to equal the value of Function');
+assert.sameValue(f(), undefined, 'f() returns undefined');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Function/S15.3.2.1_A1_T8.js b/js/src/tests/test262/built-ins/Function/S15.3.2.1_A1_T8.js
index 5542a75dc46f..5caea00ab74d 100644
--- a/js/src/tests/test262/built-ins/Function/S15.3.2.1_A1_T8.js
+++ b/js/src/tests/test262/built-ins/Function/S15.3.2.1_A1_T8.js
@@ -16,14 +16,14 @@ description: Value of the function constructor argument is "var 1=1;"
var body = "var 1=1;";
-//CHECK#1
try {
var f = new Function(body);
throw new Test262Error('#1: If body is not parsable as FunctionBody then throw a SyntaxError exception');
} catch (e) {
- if (!(e instanceof SyntaxError)) {
- throw new Test262Error('#1.1: If body is not parsable as FunctionBody then throw a SyntaxError exception');
- }
+ assert(
+ e instanceof SyntaxError,
+ 'The result of evaluating (e instanceof SyntaxError) is expected to be true'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Function/S15.3.2.1_A1_T9.js b/js/src/tests/test262/built-ins/Function/S15.3.2.1_A1_T9.js
index 154fcf003736..44e47c4ff326 100644
--- a/js/src/tests/test262/built-ins/Function/S15.3.2.1_A1_T9.js
+++ b/js/src/tests/test262/built-ins/Function/S15.3.2.1_A1_T9.js
@@ -18,14 +18,7 @@ description: >
var f = new Function("return arguments[0];");
-//CHECK#1
-if (!(f instanceof Function)) {
- throw new Test262Error('#3: When the Function constructor is called with one argument then body be that argument and the following steps are taken...');
-}
-
-//CHECK#2
-if (f("A") !== "A") {
- throw new Test262Error('#2: When the Function constructor is called with one argument then body be that argument and the following steps are taken...');
-}
+assert(f instanceof Function, 'The result of evaluating (f instanceof Function) is expected to be true');
+assert.sameValue(f("A"), "A", 'f("A") must return "A"');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Function/S15.3.2.1_A2_T1.js b/js/src/tests/test262/built-ins/Function/S15.3.2.1_A2_T1.js
index 0879ec5782e1..de53a3228f36 100644
--- a/js/src/tests/test262/built-ins/Function/S15.3.2.1_A2_T1.js
+++ b/js/src/tests/test262/built-ins/Function/S15.3.2.1_A2_T1.js
@@ -11,21 +11,13 @@ description: >
"arg3", "return arg1+arg2+arg3;"
---*/
-//CHECK#1
try {
var f = Function("arg1", "arg2", "arg3", "return arg1+arg2+arg3;");
} catch (e) {
throw new Test262Error('#1: test failed');
}
-//CHECK#2
-if (!(f instanceof Function)) {
- throw new Test262Error('#2: It is permissible but not necessary to have one argument for each formal parameter to be specified');
-}
-
-//CHECK#3
-if (f(1, 2, 3) !== 6) {
- throw new Test262Error('#3: It is permissible but not necessary to have one argument for each formal parameter to be specified');
-}
+assert(f instanceof Function, 'The result of evaluating (f instanceof Function) is expected to be true');
+assert.sameValue(f(1, 2, 3), 6, 'f(1, 2, 3) must return 6');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Function/S15.3.2.1_A2_T2.js b/js/src/tests/test262/built-ins/Function/S15.3.2.1_A2_T2.js
index 89ffc53b7148..90d4df122e6f 100644
--- a/js/src/tests/test262/built-ins/Function/S15.3.2.1_A2_T2.js
+++ b/js/src/tests/test262/built-ins/Function/S15.3.2.1_A2_T2.js
@@ -11,21 +11,13 @@ description: >
"arg3", "return arg1+arg2+arg3;"
---*/
-//CHECK#1
try {
var f = Function("arg1, arg2", "arg3", "return arg1+arg2+arg3;");
} catch (e) {
throw new Test262Error('#1: test failed');
}
-//CHECK#2
-if (!(f instanceof Function)) {
- throw new Test262Error('#2: It is permissible but not necessary to have one argument for each formal parameter to be specified');
-}
-
-//CHECK#3
-if (f("AB", "BA", 1) !== "ABBA1") {
- throw new Test262Error('#3: It is permissible but not necessary to have one argument for each formal parameter to be specified');
-}
+assert(f instanceof Function, 'The result of evaluating (f instanceof Function) is expected to be true');
+assert.sameValue(f("AB", "BA", 1), "ABBA1", 'f(AB, BA, 1) must return "ABBA1"');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Function/S15.3.2.1_A2_T3.js b/js/src/tests/test262/built-ins/Function/S15.3.2.1_A2_T3.js
index 678d4fa4532c..d087c6d0d388 100644
--- a/js/src/tests/test262/built-ins/Function/S15.3.2.1_A2_T3.js
+++ b/js/src/tests/test262/built-ins/Function/S15.3.2.1_A2_T3.js
@@ -11,21 +11,13 @@ description: >
arg3", "return arg1+arg2+arg3;"
---*/
-//CHECK#1
try {
var f = Function("arg1, arg2, arg3", "return arg1+arg2+arg3;");
} catch (e) {
throw new Test262Error('#1: test failed');
}
-//CHECK#2
-if (!(f instanceof Function)) {
- throw new Test262Error('#2: It is permissible but not necessary to have one argument for each formal parameter to be specified');
-}
-
-//CHECK#3
-if (f(1, 1, "ABBA") !== "2ABBA") {
- throw new Test262Error('#3: It is permissible but not necessary to have one argument for each formal parameter to be specified');
-}
+assert(f instanceof Function, 'The result of evaluating (f instanceof Function) is expected to be true');
+assert.sameValue(f(1, 1, "ABBA"), "2ABBA", 'f(1, 1, ABBA) must return "2ABBA"');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Function/S15.3.2.1_A2_T4.js b/js/src/tests/test262/built-ins/Function/S15.3.2.1_A2_T4.js
index 1279ca0e6d4b..130295400016 100644
--- a/js/src/tests/test262/built-ins/Function/S15.3.2.1_A2_T4.js
+++ b/js/src/tests/test262/built-ins/Function/S15.3.2.1_A2_T4.js
@@ -19,21 +19,13 @@ var p = {
}
};
-//CHECK#1
try {
var f = Function(p, p, p, "return arg1+arg2+arg3;");
} catch (e) {
throw new Test262Error('#1: test failed');
}
-//CHECK#2
-if (!(f instanceof Function)) {
- throw new Test262Error('#2: It is permissible but not necessary to have one argument for each formal parameter to be specified');
-}
-
-//CHECK#3
-if (f(4, "2", "QUESTION") !== "42QUESTION") {
- throw new Test262Error('#3: It is permissible but not necessary to have one argument for each formal parameter to be specified');
-}
+assert(f instanceof Function, 'The result of evaluating (f instanceof Function) is expected to be true');
+assert.sameValue(f(4, "2", "QUESTION"), "42QUESTION", 'f(4, 2, QUESTION) must return "42QUESTION"');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Function/S15.3.2.1_A2_T5.js b/js/src/tests/test262/built-ins/Function/S15.3.2.1_A2_T5.js
index 34919909e16b..a3633e65348c 100644
--- a/js/src/tests/test262/built-ins/Function/S15.3.2.1_A2_T5.js
+++ b/js/src/tests/test262/built-ins/Function/S15.3.2.1_A2_T5.js
@@ -19,21 +19,13 @@ var p = {
}
};
-//CHECK#1
try {
var f = Function(p + "," + p, p, "return arg1+arg2+arg3;");
} catch (e) {
throw new Test262Error('#1: test failed');
}
-//CHECK#2
-if (!(f instanceof Function)) {
- throw new Test262Error('#2: It is permissible but not necessary to have one argument for each formal parameter to be specified');
-}
-
-//CHECK#3
-if (f("", 1, 2) !== "12") {
- throw new Test262Error('#3: It is permissible but not necessary to have one argument for each formal parameter to be specified');
-}
+assert(f instanceof Function, 'The result of evaluating (f instanceof Function) is expected to be true');
+assert.sameValue(f("", 1, 2), "12", 'f(, 1, 2) must return "12"');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Function/S15.3.2.1_A2_T6.js b/js/src/tests/test262/built-ins/Function/S15.3.2.1_A2_T6.js
index 746ff96cac3f..ec54005d70f5 100644
--- a/js/src/tests/test262/built-ins/Function/S15.3.2.1_A2_T6.js
+++ b/js/src/tests/test262/built-ins/Function/S15.3.2.1_A2_T6.js
@@ -19,21 +19,13 @@ var p = {
}
};
-//CHECK#1
try {
var f = Function(p + "," + p + "," + p, "return arg1+arg2+arg3;");
} catch (e) {
throw new Test262Error('#1: test failed');
}
-//CHECK#2
-if (!(f instanceof Function)) {
- throw new Test262Error('#2: It is permissible but not necessary to have one argument for each formal parameter to be specified');
-}
-
-//CHECK#3
-if (f("", 1, p) !== "1arg4") {
- throw new Test262Error('#3: It is permissible but not necessary to have one argument for each formal parameter to be specified');
-}
+assert(f instanceof Function, 'The result of evaluating (f instanceof Function) is expected to be true');
+assert.sameValue(f("", 1, p), "1arg4", 'f(, 1, {toString: function() {return "arg" + (++i)}}) must return "1arg4"');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Function/S15.3.2.1_A3_T1.js b/js/src/tests/test262/built-ins/Function/S15.3.2.1_A3_T1.js
index 530007cbc3bf..9db71a9e8c29 100644
--- a/js/src/tests/test262/built-ins/Function/S15.3.2.1_A3_T1.js
+++ b/js/src/tests/test262/built-ins/Function/S15.3.2.1_A3_T1.js
@@ -30,14 +30,11 @@ var body = {
}
};
-//CHECK#1
try {
var f = new Function(p, body);
throw new Test262Error('#1: test failed');
} catch (e) {
- if (e !== 1) {
- throw new Test262Error('#1.1: i) Let Result(i) be the first argument; ii) Let P be ToString(Result(i))');
- }
+ assert.sameValue(e, 1, 'The value of e is expected to be 1');
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Function/S15.3.2.1_A3_T10.js b/js/src/tests/test262/built-ins/Function/S15.3.2.1_A3_T10.js
index 79a1bfe4be74..57b0e07aefbe 100644
--- a/js/src/tests/test262/built-ins/Function/S15.3.2.1_A3_T10.js
+++ b/js/src/tests/test262/built-ins/Function/S15.3.2.1_A3_T10.js
@@ -25,14 +25,14 @@ var p = {
}
};
-//CHECK#1
try {
var f = new Function(p, body);
throw new Test262Error('#1: If P is not parsable as a FormalParameterList_opt then throw a SyntaxError exception');
} catch (e) {
- if (!(e instanceof SyntaxError)) {
- throw new Test262Error('#1.1: If P is not parsable as a FormalParameterList_opt then throw a SyntaxError exception');
- }
+ assert(
+ e instanceof SyntaxError,
+ 'The result of evaluating (e instanceof SyntaxError) is expected to be true'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Function/S15.3.2.1_A3_T11.js b/js/src/tests/test262/built-ins/Function/S15.3.2.1_A3_T11.js
index f99e20816f21..a95e64e09def 100644
--- a/js/src/tests/test262/built-ins/Function/S15.3.2.1_A3_T11.js
+++ b/js/src/tests/test262/built-ins/Function/S15.3.2.1_A3_T11.js
@@ -20,21 +20,13 @@ description: >
var p = "a,b,c";
-//CHECK#1
try {
var f = new Function(p, void 0);
} catch (e) {
throw new Test262Error('#1: test failed with error ' + e);
}
-//CHECK#2
-if (f.constructor !== Function) {
- throw new Test262Error('#2: When the Function constructor is called with arguments p, body creates a new Function object as specified in 13.2');
-}
-
-//CHECK#3
-if (f() !== undefined) {
- throw new Test262Error('#3: When the Function constructor is called with arguments p, body the following steps are taken...');
-}
+assert.sameValue(f.constructor, Function, 'The value of f.constructor is expected to equal the value of Function');
+assert.sameValue(f(), undefined, 'f() returns undefined');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Function/S15.3.2.1_A3_T12.js b/js/src/tests/test262/built-ins/Function/S15.3.2.1_A3_T12.js
index 56ec418e936b..20bae194ee78 100644
--- a/js/src/tests/test262/built-ins/Function/S15.3.2.1_A3_T12.js
+++ b/js/src/tests/test262/built-ins/Function/S15.3.2.1_A3_T12.js
@@ -20,21 +20,13 @@ description: >
var p = "a,b,c";
-//CHECK#1
try {
var f = new Function(p, undefined);
} catch (e) {
throw new Test262Error('#1: test failed with error ' + e);
}
-//CHECK#2
-if (f.constructor !== Function) {
- throw new Test262Error('#2: When the Function constructor is called with arguments p, body creates a new Function object as specified in 13.2');
-}
-
-//CHECK#3
-if (f() !== undefined) {
- throw new Test262Error('#3: When the Function constructor is called with arguments p, body the following steps are taken...');
-}
+assert.sameValue(f.constructor, Function, 'The value of f.constructor is expected to equal the value of Function');
+assert.sameValue(f(), undefined, 'f() returns undefined');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Function/S15.3.2.1_A3_T13.js b/js/src/tests/test262/built-ins/Function/S15.3.2.1_A3_T13.js
index 9c4366147bce..935b46e1a904 100644
--- a/js/src/tests/test262/built-ins/Function/S15.3.2.1_A3_T13.js
+++ b/js/src/tests/test262/built-ins/Function/S15.3.2.1_A3_T13.js
@@ -18,21 +18,13 @@ description: Values of the function constructor arguments are "a,b,c" and "null"
var p = "a,b,c";
-//CHECK#1
try {
var f = new Function(p, null);
} catch (e) {
throw new Test262Error('#1: test failed with error ' + e);
}
-//CHECK#2
-if (f.constructor !== Function) {
- throw new Test262Error('#2: When the Function constructor is called with arguments p, body creates a new Function object as specified in 13.2');
-}
-
-//CHECK#3
-if (f() !== undefined) {
- throw new Test262Error('#3: When the Function constructor is called with arguments p, body the following steps are taken...');
-}
+assert.sameValue(f.constructor, Function, 'The value of f.constructor is expected to equal the value of Function');
+assert.sameValue(f(), undefined, 'f() returns undefined');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Function/S15.3.2.1_A3_T14.js b/js/src/tests/test262/built-ins/Function/S15.3.2.1_A3_T14.js
index 6b1edf9bd9bd..4a8210fbc53a 100644
--- a/js/src/tests/test262/built-ins/Function/S15.3.2.1_A3_T14.js
+++ b/js/src/tests/test262/built-ins/Function/S15.3.2.1_A3_T14.js
@@ -20,22 +20,14 @@ description: >
var p = "a,b,c";
-//CHECK#1
try {
var f = new Function(p, body);
} catch (e) {
throw new Test262Error('#1: test failed with error ' + e);
}
-//CHECK#2
-if (f.constructor !== Function) {
- throw new Test262Error('#2: When the Function constructor is called with arguments p, body creates a new Function object as specified in 13.2');
-}
-
-//CHECK#3
-if (f() !== undefined) {
- throw new Test262Error('#3: When the Function constructor is called with arguments p, body the following steps are taken...');
-}
+assert.sameValue(f.constructor, Function, 'The value of f.constructor is expected to equal the value of Function');
+assert.sameValue(f(), undefined, 'f() returns undefined');
var body;
diff --git a/js/src/tests/test262/built-ins/Function/S15.3.2.1_A3_T15.js b/js/src/tests/test262/built-ins/Function/S15.3.2.1_A3_T15.js
index 39d00bac6913..ef7d13699212 100644
--- a/js/src/tests/test262/built-ins/Function/S15.3.2.1_A3_T15.js
+++ b/js/src/tests/test262/built-ins/Function/S15.3.2.1_A3_T15.js
@@ -18,21 +18,13 @@ description: >
strings
---*/
-//CHECK#1
try {
var f = new Function("", "");
} catch (e) {
throw new Test262Error('#1: test failed with error ' + e);
}
-//CHECK#2
-if (f.constructor !== Function) {
- throw new Test262Error('#2: When the Function constructor is called with arguments p, body creates a new Function object as specified in 13.2');
-}
-
-//CHECK#3
-if (f() !== undefined) {
- throw new Test262Error('#3: When the Function constructor is called with arguments p, body the following steps are taken...');
-}
+assert.sameValue(f.constructor, Function, 'The value of f.constructor is expected to equal the value of Function');
+assert.sameValue(f(), undefined, 'f() returns undefined');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Function/S15.3.2.1_A3_T2.js b/js/src/tests/test262/built-ins/Function/S15.3.2.1_A3_T2.js
index ac024e069e9a..ac77392383fb 100644
--- a/js/src/tests/test262/built-ins/Function/S15.3.2.1_A3_T2.js
+++ b/js/src/tests/test262/built-ins/Function/S15.3.2.1_A3_T2.js
@@ -25,21 +25,13 @@ var p = {
};
var body = "return a;";
-//CHECK#1
try {
var f = new Function(p, body);
} catch (e) {
throw new Test262Error('#1: test failed with error ' + e);
}
-//CHECK#2
-if (f.constructor !== Function) {
- throw new Test262Error('#2: When the Function constructor is called with arguments p, body creates a new Function object as specified in 13.2');
-}
-
-//CHECK#3
-if (f(42) !== 42) {
- throw new Test262Error('#3: When the Function constructor is called with arguments p, body creates a new Function object as specified in 13.2');
-}
+assert.sameValue(f.constructor, Function, 'The value of f.constructor is expected to equal the value of Function');
+assert.sameValue(f(42), 42, 'f(42) must return 42');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Function/S15.3.2.1_A3_T3.js b/js/src/tests/test262/built-ins/Function/S15.3.2.1_A3_T3.js
index 6d5e667be796..022feeda7158 100644
--- a/js/src/tests/test262/built-ins/Function/S15.3.2.1_A3_T3.js
+++ b/js/src/tests/test262/built-ins/Function/S15.3.2.1_A3_T3.js
@@ -31,19 +31,13 @@ var body = {
}
};
-//CHECK#1
try {
var f = new Function(p, body);
throw new Test262Error('#1: test failed');
} catch (e) {
- if (e !== "body") {
- throw new Test262Error('#1.1: i) Let Result(i) be the first argument; ii) Let P be ToString(Result(i))');
- }
+ assert.sameValue(e, "body", 'The value of e is expected to be "body"');
}
-//CHECK#2
-if (p !== 1) {
- throw new Test262Error('#2: i) Let Result(i) be the first argument; ii) Let P be ToString(Result(i))');
-}
+assert.sameValue(p, 1, 'The value of p is expected to be 1');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Function/S15.3.2.1_A3_T4.js b/js/src/tests/test262/built-ins/Function/S15.3.2.1_A3_T4.js
index eb52876a7bbd..935747f1c372 100644
--- a/js/src/tests/test262/built-ins/Function/S15.3.2.1_A3_T4.js
+++ b/js/src/tests/test262/built-ins/Function/S15.3.2.1_A3_T4.js
@@ -20,22 +20,14 @@ description: >
var body = "return 1.1;";
-//CHECK#1
try {
var f = new Function(p, body);
} catch (e) {
throw new Test262Error('#1: test failed with error ' + e);
}
-//CHECK#2
-if (f.constructor !== Function) {
- throw new Test262Error('#2: When the Function constructor is called with one argument then body be that argument and creates a new Function object as specified in 13.2');
-}
-
-//CHECK#3
-if (f() !== 1.1) {
- throw new Test262Error('#3: When the Function constructor is called with one argument then body be that argument the following steps are taken...');
-}
+assert.sameValue(f.constructor, Function, 'The value of f.constructor is expected to equal the value of Function');
+assert.sameValue(f(), 1.1, 'f() must return 1.1');
var p;
diff --git a/js/src/tests/test262/built-ins/Function/S15.3.2.1_A3_T5.js b/js/src/tests/test262/built-ins/Function/S15.3.2.1_A3_T5.js
index b28ac17eaee6..6025d613be65 100644
--- a/js/src/tests/test262/built-ins/Function/S15.3.2.1_A3_T5.js
+++ b/js/src/tests/test262/built-ins/Function/S15.3.2.1_A3_T5.js
@@ -20,21 +20,13 @@ description: >
var body = "return \"A\";";
-//CHECK#1
try {
var f = new Function(void 0, body);
} catch (e) {
throw new Test262Error('#1: test failed with error ' + e);
}
-//CHECK#2
-if (f.constructor !== Function) {
- throw new Test262Error('#2: When the Function constructor is called with one argument then body be that argument and creates a new Function object as specified in 13.2');
-}
-
-//CHECK#3
-if (f() !== '\u0041') {
- throw new Test262Error('#3: When the Function constructor is called with one argument then body be that argument the following steps are taken...');
-}
+assert.sameValue(f.constructor, Function, 'The value of f.constructor is expected to equal the value of Function');
+assert.sameValue(f(), '\u0041', 'f() must return "u0041"');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Function/S15.3.2.1_A3_T6.js b/js/src/tests/test262/built-ins/Function/S15.3.2.1_A3_T6.js
index 7065ba77ff0b..d4a4a2e67c45 100644
--- a/js/src/tests/test262/built-ins/Function/S15.3.2.1_A3_T6.js
+++ b/js/src/tests/test262/built-ins/Function/S15.3.2.1_A3_T6.js
@@ -20,14 +20,14 @@ description: >
var body = "return true;";
-//CHECK#1
try {
var f = new Function(null, body);
throw new Test262Error('#1: If P is not parsable as a FormalParameterList_opt then throw a SyntaxError exception');
} catch (e) {
- if (!(e instanceof SyntaxError)) {
- throw new Test262Error('#1.1: If P is not parsable as a FormalParameterList_opt then throw a SyntaxError exception');
- }
+ assert(
+ e instanceof SyntaxError,
+ 'The result of evaluating (e instanceof SyntaxError) is expected to be true'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Function/S15.3.2.1_A3_T7.js b/js/src/tests/test262/built-ins/Function/S15.3.2.1_A3_T7.js
index 8a9dbf2ba912..b31929b23ae9 100644
--- a/js/src/tests/test262/built-ins/Function/S15.3.2.1_A3_T7.js
+++ b/js/src/tests/test262/built-ins/Function/S15.3.2.1_A3_T7.js
@@ -22,21 +22,13 @@ var body = "return a;";
var p = Object("a");
-//CHECK#1
try {
var f = new Function(p, body);
} catch (e) {
throw new Test262Error('#1: test failed with error ' + e);
}
-//CHECK#2
-if (f.constructor !== Function) {
- throw new Test262Error('#2: When the Function constructor is called with one argument then body be that argument and creates a new Function object as specified in 13.2');
-}
-
-//CHECK#3
-if (f(1) !== 1) {
- throw new Test262Error('#3: When the Function constructor is called with one argument then body be that argument the following steps are taken...');
-}
+assert.sameValue(f.constructor, Function, 'The value of f.constructor is expected to equal the value of Function');
+assert.sameValue(f(1), 1, 'f(1) must return 1');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Function/S15.3.2.1_A3_T8.js b/js/src/tests/test262/built-ins/Function/S15.3.2.1_A3_T8.js
index afbe925291fa..15280f6b000b 100644
--- a/js/src/tests/test262/built-ins/Function/S15.3.2.1_A3_T8.js
+++ b/js/src/tests/test262/built-ins/Function/S15.3.2.1_A3_T8.js
@@ -20,21 +20,13 @@ description: >
var body = "return this;";
-//CHECK#1
try {
var f = new Function(undefined, body);
} catch (e) {
throw new Test262Error('#1: test failed with error ' + e);
}
-//CHECK#2
-if (f.constructor !== Function) {
- throw new Test262Error('#2: When the Function constructor is called with one argument then body be that argument and creates a new Function object as specified in 13.2');
-}
-
-//CHECK#3
-if (f() !== this) {
- throw new Test262Error('#3: When the Function constructor is called with one argument then body be that argument the following steps are taken...');
-}
+assert.sameValue(f.constructor, Function, 'The value of f.constructor is expected to equal the value of Function');
+assert.sameValue(f(), this, 'f() must return this');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Function/S15.3.2.1_A3_T9.js b/js/src/tests/test262/built-ins/Function/S15.3.2.1_A3_T9.js
index 776f92aa5cd6..512aaa826df1 100644
--- a/js/src/tests/test262/built-ins/Function/S15.3.2.1_A3_T9.js
+++ b/js/src/tests/test262/built-ins/Function/S15.3.2.1_A3_T9.js
@@ -21,14 +21,14 @@ description: >
var body = "return this;";
var p = "1,1";
-//CHECK#1
try {
var f = new Function(p, body);
throw new Test262Error('#1: If P is not parsable as a FormalParameterList_opt then throw a SyntaxError exception');
} catch (e) {
- if (!(e instanceof SyntaxError)) {
- throw new Test262Error('#1.1: If P is not parsable as a FormalParameterList_opt then throw a SyntaxError exception');
- }
+ assert(
+ e instanceof SyntaxError,
+ 'The result of evaluating (e instanceof SyntaxError) is expected to be true'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Function/S15.3.2_A1.js b/js/src/tests/test262/built-ins/Function/S15.3.2_A1.js
index fbc438eb020a..74138065b8bb 100644
--- a/js/src/tests/test262/built-ins/Function/S15.3.2_A1.js
+++ b/js/src/tests/test262/built-ins/Function/S15.3.2_A1.js
@@ -13,14 +13,7 @@ description: >
var f = new Function;
-//CHECK#1
-if (f.constructor !== Function) {
- throw new Test262Error('#1: When Function is called as part of a new expression, it is a constructor: it initialises the newly created object');
-}
-
-//CHECK#2
-if (f === undefined) {
- throw new Test262Error('#2: When Function is called as part of a new expression, it is a constructor: it initialises the newly created object');
-}
+assert.sameValue(f.constructor, Function, 'The value of f.constructor is expected to equal the value of Function');
+assert.notSameValue(f, undefined, 'The value of f is expected to not equal ``undefined``');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Function/S15.3.3_A1.js b/js/src/tests/test262/built-ins/Function/S15.3.3_A1.js
index 6cc29d218c7b..81462d9c7305 100644
--- a/js/src/tests/test262/built-ins/Function/S15.3.3_A1.js
+++ b/js/src/tests/test262/built-ins/Function/S15.3.3_A1.js
@@ -6,9 +6,6 @@ info: The Function constructor has the property "prototype"
es5id: 15.3.3_A1
description: Checking existence of the property "prototype"
---*/
-
-if (!Function.hasOwnProperty("prototype")) {
- throw new Test262Error('#1: The Function constructor has the property "prototype"');
-}
+assert(Function.hasOwnProperty("prototype"), 'Function.hasOwnProperty("prototype") must return true');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Function/S15.3.3_A2_T1.js b/js/src/tests/test262/built-ins/Function/S15.3.3_A2_T1.js
index 40f5d7b2f502..af19e7d60bc6 100644
--- a/js/src/tests/test262/built-ins/Function/S15.3.3_A2_T1.js
+++ b/js/src/tests/test262/built-ins/Function/S15.3.3_A2_T1.js
@@ -8,10 +8,9 @@ info: |
es5id: 15.3.3_A2_T1
description: Checking prototype of Function
---*/
-
-// CHECK#
-if (!(Function.prototype.isPrototypeOf(Function))) {
- throw new Test262Error('#1: the value of the internal [[Prototype]] property of the Function constructor is the Function prototype object.');
-}
+assert(
+ Function.prototype.isPrototypeOf(Function),
+ 'Function.prototype.isPrototypeOf(Function) must return true'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Function/S15.3.3_A2_T2.js b/js/src/tests/test262/built-ins/Function/S15.3.3_A2_T2.js
index 3cc9b6cb6b76..e15dfca7f809 100644
--- a/js/src/tests/test262/built-ins/Function/S15.3.3_A2_T2.js
+++ b/js/src/tests/test262/built-ins/Function/S15.3.3_A2_T2.js
@@ -11,9 +11,6 @@ description: Add new property to Function.prototype and check it
Function.prototype.indicator = 1;
-//CHECK#
-if (Function.indicator != 1) {
- throw new Test262Error('#1: the value of the internal [[Prototype]] property of the Function constructor is the Function prototype object.');
-}
+assert.sameValue(Function.indicator, 1, 'The value of Function.indicator is expected to be 1');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Function/S15.3.3_A3.js b/js/src/tests/test262/built-ins/Function/S15.3.3_A3.js
index 254678ddd84e..56e68be75db3 100644
--- a/js/src/tests/test262/built-ins/Function/S15.3.3_A3.js
+++ b/js/src/tests/test262/built-ins/Function/S15.3.3_A3.js
@@ -6,15 +6,7 @@ info: Function constructor has length property whose value is 1
es5id: 15.3.3_A3
description: Checking Function.length property
---*/
-
-//CHECK#1
-if (!Function.hasOwnProperty("length")) {
- throw new Test262Error('#1: Function constructor has length property');
-}
-
-//CHECK#2
-if (Function.length !== 1) {
- throw new Test262Error('#2: Function constructor length property value is 1');
-}
+assert(Function.hasOwnProperty("length"), 'Function.hasOwnProperty("length") must return true');
+assert.sameValue(Function.length, 1, 'The value of Function.length is expected to be 1');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Function/S15.3.5_A1_T1.js b/js/src/tests/test262/built-ins/Function/S15.3.5_A1_T1.js
index ed403d99d693..65e07a28de6a 100644
--- a/js/src/tests/test262/built-ins/Function/S15.3.5_A1_T1.js
+++ b/js/src/tests/test262/built-ins/Function/S15.3.5_A1_T1.js
@@ -9,8 +9,10 @@ description: For testing use variable f = new Function
var f = new Function;
-if (Object.prototype.toString.call(f) !== "[object Function]") {
- throw new Test262Error('#1: The value of the [[Class]] property is "Function"');
-}
+assert.sameValue(
+ Object.prototype.toString.call(f),
+ "[object Function]",
+ 'Object.prototype.toString.call(new Function) must return "[object Function]"'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Function/S15.3.5_A1_T2.js b/js/src/tests/test262/built-ins/Function/S15.3.5_A1_T2.js
index ee1cc8187178..915dc25e18fb 100644
--- a/js/src/tests/test262/built-ins/Function/S15.3.5_A1_T2.js
+++ b/js/src/tests/test262/built-ins/Function/S15.3.5_A1_T2.js
@@ -9,8 +9,10 @@ description: For testing use variable f = Function()
var f = Function();
-if (Object.prototype.toString.call(f) !== "[object Function]") {
- throw new Test262Error('#1: The value of the [[Class]] property is "Function"');
-}
+assert.sameValue(
+ Object.prototype.toString.call(f),
+ "[object Function]",
+ 'Object.prototype.toString.call(Function()) must return "[object Function]"'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Function/S15.3.5_A2_T1.js b/js/src/tests/test262/built-ins/Function/S15.3.5_A2_T1.js
index 218419390204..0d13575f7f9c 100644
--- a/js/src/tests/test262/built-ins/Function/S15.3.5_A2_T1.js
+++ b/js/src/tests/test262/built-ins/Function/S15.3.5_A2_T1.js
@@ -6,20 +6,13 @@ info: Every function instance has a [[Call]] property
es5id: 15.3.5_A2_T1
description: For testing call Function("var x =1; this.y=2;return \"OK\";")()
---*/
+assert.sameValue(
+ Function("var x =1; this.y=2;return \"OK\";")(),
+ "OK",
+ 'Function("var x =1; this.y=2;return "OK";")() must return "OK"'
+);
-//CHECK#1
-if (Function("var x =1; this.y=2;return \"OK\";")() !== "OK") {
- throw new Test262Error('#1: Every function instance has a [[Call]] property');
-}
-
-//CHECK#2
-if (typeof x !== "undefined") {
- throw new Test262Error('#2: Every function instance has a [[Call]] property');
-}
-
-//CHECK#3
-if (y !== 2) {
- throw new Test262Error('#3: Every function instance has a [[Call]] property');
-}
+assert.sameValue(typeof x, "undefined", 'The value of `typeof x` is expected to be "undefined"');
+assert.sameValue(y, 2, 'The value of y is expected to be 2');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Function/S15.3.5_A2_T2.js b/js/src/tests/test262/built-ins/Function/S15.3.5_A2_T2.js
index 457d60e89317..cd3611b698d4 100644
--- a/js/src/tests/test262/built-ins/Function/S15.3.5_A2_T2.js
+++ b/js/src/tests/test262/built-ins/Function/S15.3.5_A2_T2.js
@@ -8,20 +8,13 @@ description: >
For testing call (new Function("arg1,arg2","var x =arg1;
this.y=arg2;return arg1+arg2;"))("1",2)
---*/
+assert.sameValue(
+ (new Function("arg1,arg2", "var x =arg1; this.y=arg2;return arg1+arg2;"))("1", 2),
+ "12",
+ 'new Function("arg1,arg2", "var x =arg1; this.y=arg2;return arg1+arg2;")(1, 2) must return "12"'
+);
-//CHECK#1
-if ((new Function("arg1,arg2", "var x =arg1; this.y=arg2;return arg1+arg2;"))("1", 2) !== "12") {
- throw new Test262Error('#1: Every function instance has a [[Call]] property');
-}
-
-//CHECK#2
-if (typeof x !== "undefined") {
- throw new Test262Error('#2: Every function instance has a [[Call]] property');
-}
-
-//CHECK#3
-if (y !== 2) {
- throw new Test262Error('#3: Every function instance has a [[Call]] property');
-}
+assert.sameValue(typeof x, "undefined", 'The value of `typeof x` is expected to be "undefined"');
+assert.sameValue(y, 2, 'The value of y is expected to be 2');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Function/S15.3.5_A3_T1.js b/js/src/tests/test262/built-ins/Function/S15.3.5_A3_T1.js
index 46daa0819480..6ffc3cf72cf1 100644
--- a/js/src/tests/test262/built-ins/Function/S15.3.5_A3_T1.js
+++ b/js/src/tests/test262/built-ins/Function/S15.3.5_A3_T1.js
@@ -10,19 +10,8 @@ description: As constructor use Function("var x =1; this.y=2;return \"OK\";")
var FACTORY = Function("var x =1; this.y=2;return \"OK\";");
var obj = new FACTORY;
-//CHECK#1
-if (typeof obj !== "object") {
- throw new Test262Error('#1: every function instance has a [[Construct]] property');
-}
-
-//CHECK#2
-if (obj.constructor !== FACTORY) {
- throw new Test262Error('#2: every function instance has a [[Construct]] property');
-}
-
-//CHECK#3
-if (obj.y !== 2) {
- throw new Test262Error('#3: every function instance has a [[Construct]] property');
-}
+assert.sameValue(typeof obj, "object", 'The value of `typeof obj` is expected to be "object"');
+assert.sameValue(obj.constructor, FACTORY, 'The value of obj.constructor is expected to equal the value of FACTORY');
+assert.sameValue(obj.y, 2, 'The value of obj.y is expected to be 2');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Function/S15.3.5_A3_T2.js b/js/src/tests/test262/built-ins/Function/S15.3.5_A3_T2.js
index 89990aef1654..c7a26bc9bf87 100644
--- a/js/src/tests/test262/built-ins/Function/S15.3.5_A3_T2.js
+++ b/js/src/tests/test262/built-ins/Function/S15.3.5_A3_T2.js
@@ -12,19 +12,8 @@ description: >
var FACTORY = new Function("arg1,arg2", "var x =1; this.y=arg1+arg2;return \"OK\";");
var obj = new FACTORY("1", 2);
-//CHECK#1
-if (typeof obj !== "object") {
- throw new Test262Error('#1: every function instance has a [[Construct]] property');
-}
-
-//CHECK#2
-if (obj.constructor !== FACTORY) {
- throw new Test262Error('#2: every function instance has a [[Construct]] property');
-}
-
-//CHECK#3
-if (obj.y !== "12") {
- throw new Test262Error('#3: every function instance has a [[Construct]] property');
-}
+assert.sameValue(typeof obj, "object", 'The value of `typeof obj` is expected to be "object"');
+assert.sameValue(obj.constructor, FACTORY, 'The value of obj.constructor is expected to equal the value of FACTORY');
+assert.sameValue(obj.y, "12", 'The value of obj.y is expected to be "12"');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Function/S15.3_A1.js b/js/src/tests/test262/built-ins/Function/S15.3_A1.js
index f62c90af744d..5eb50f3d10c7 100644
--- a/js/src/tests/test262/built-ins/Function/S15.3_A1.js
+++ b/js/src/tests/test262/built-ins/Function/S15.3_A1.js
@@ -11,8 +11,6 @@ var obj = Function;
var thisobj = this.Function;
-if (obj !== thisobj) {
- throw new Test262Error('Function is the property of global');
-}
+assert.sameValue(obj, thisobj, 'The value of obj is expected to equal the value of thisobj');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Function/S15.3_A2_T1.js b/js/src/tests/test262/built-ins/Function/S15.3_A2_T1.js
index ceadc1229012..61b4135e1b37 100644
--- a/js/src/tests/test262/built-ins/Function/S15.3_A2_T1.js
+++ b/js/src/tests/test262/built-ins/Function/S15.3_A2_T1.js
@@ -10,13 +10,13 @@ es5id: 15.3_A2_T1
description: Checking if executing "Function.call(this, "var x / = 1;")" fails
---*/
-//CHECK#
try {
Function.call(this, "var x / = 1;");
} catch (e) {
- if (!(e instanceof SyntaxError)) {
- throw new Test262Error('#1: function body must be valid');
- }
+ assert(
+ e instanceof SyntaxError,
+ 'The result of evaluating (e instanceof SyntaxError) is expected to be true'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Function/S15.3_A2_T2.js b/js/src/tests/test262/built-ins/Function/S15.3_A2_T2.js
index 66a582ee70e0..1c65e11b90a8 100644
--- a/js/src/tests/test262/built-ins/Function/S15.3_A2_T2.js
+++ b/js/src/tests/test262/built-ins/Function/S15.3_A2_T2.js
@@ -10,13 +10,13 @@ es5id: 15.3_A2_T2
description: Checking if executing "Function.call(this, "var #x = 1;")" fails
---*/
-//CHECK#
try {
Function.call(this, "var #x = 1;");
} catch (e) {
- if (!(e instanceof SyntaxError)) {
- throw new Test262Error('#1: function body must be valid');
- }
+ assert(
+ e instanceof SyntaxError,
+ 'The result of evaluating (e instanceof SyntaxError) is expected to be true'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Function/S15.3_A3_T1.js b/js/src/tests/test262/built-ins/Function/S15.3_A3_T1.js
index 3dc476cb7118..b3335ea9bc72 100644
--- a/js/src/tests/test262/built-ins/Function/S15.3_A3_T1.js
+++ b/js/src/tests/test262/built-ins/Function/S15.3_A3_T1.js
@@ -9,7 +9,6 @@ es5id: 15.3_A3_T1
description: First argument is object
---*/
-//CHECK#1 - does not throw
var f = Function.call(mars, "return name;");
var mars = {
name: "mars",
@@ -21,12 +20,8 @@ var f = Function.call(mars, "this.godname=\"ares\"; return this.color;");
var about_mars = f();
-//CHECK#2
-if (about_mars !== undefined) {
- throw new Test262Error('#2: When applied to the Function object itself, thisArg should be ignored');
-}
+assert.sameValue(about_mars, undefined);
-//CHECK#3
if (this.godname !== "ares" && mars.godname === undefined) {
throw new Test262Error('#3: When applied to the Function object itself, thisArg should be ignored');
}
diff --git a/js/src/tests/test262/built-ins/Function/S15.3_A3_T2.js b/js/src/tests/test262/built-ins/Function/S15.3_A3_T2.js
index 9879804736e2..6c1cf334209f 100644
--- a/js/src/tests/test262/built-ins/Function/S15.3_A3_T2.js
+++ b/js/src/tests/test262/built-ins/Function/S15.3_A3_T2.js
@@ -14,16 +14,10 @@ var planet = "mars";
var f = Function.call("blablastring", "return this.color;");
-//CHECK#1
-if (f() !== "red") {
- throw new Test262Error('#1: ');
-}
+assert.sameValue(f(), "red", 'f() must return "red"');
var g = Function.call(null, "return this.planet;");
-//CHECK#2
-if (g() !== "mars") {
- throw new Test262Error('#2: ');
-}
+assert.sameValue(g(), "mars", 'g() must return "mars"');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Function/S15.3_A3_T3.js b/js/src/tests/test262/built-ins/Function/S15.3_A3_T3.js
index f8a470c4aef5..b795780d5973 100644
--- a/js/src/tests/test262/built-ins/Function/S15.3_A3_T3.js
+++ b/js/src/tests/test262/built-ins/Function/S15.3_A3_T3.js
@@ -12,32 +12,24 @@ description: First argument is this, and this don`t have needed variable
var f = Function.call(this, "return planet;");
var g = Function.call(this, "return color;");
-//CHECK#1
-if (f() !== undefined) {
- throw new Test262Error('#1: ');
-}
+assert.sameValue(f(), undefined, 'f() returns undefined');
var planet = "mars";
-//CHECK#2
-if (f() !== "mars") {
- throw new Test262Error('#2: ');
-}
+assert.sameValue(f(), "mars", 'f() must return "mars"');
-//CHECK#3
try {
g();
throw new Test262Error('#3: ');
} catch (e) {
- if (!(e instanceof ReferenceError))
- throw new Test262Error('#3.1: ');
+ assert(
+ e instanceof ReferenceError,
+ 'The result of evaluating (e instanceof ReferenceError) is expected to be true'
+ );
}
this.color = "red";
-//CHECK#4
-if (g() !== "red") {
- throw new Test262Error('#4: ');
-}
+assert.sameValue(g(), "red", 'g() must return "red"');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Function/S15.3_A3_T4.js b/js/src/tests/test262/built-ins/Function/S15.3_A3_T4.js
index 2e0733724f89..0f53c43c301f 100644
--- a/js/src/tests/test262/built-ins/Function/S15.3_A3_T4.js
+++ b/js/src/tests/test262/built-ins/Function/S15.3_A3_T4.js
@@ -11,16 +11,10 @@ description: First argument is this, and this have needed variable
var f = Function.call(this, "return planet;");
-//CHECK#1
-if (f() !== undefined) {
- throw new Test262Error('#1: ');
-}
+assert.sameValue(f(), undefined, 'f() returns undefined');
var planet = "mars";
-//CHECK#2
-if (f() !== "mars") {
- throw new Test262Error('#2: ');
-}
+assert.sameValue(f(), "mars", 'f() must return "mars"');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Function/S15.3_A3_T5.js b/js/src/tests/test262/built-ins/Function/S15.3_A3_T5.js
index 6295b83bc885..041166d5b2cc 100644
--- a/js/src/tests/test262/built-ins/Function/S15.3_A3_T5.js
+++ b/js/src/tests/test262/built-ins/Function/S15.3_A3_T5.js
@@ -14,28 +14,15 @@ description: >
var f = Function.call(this, "return this.planet;");
var g = Function.call(this, "return this.color;");
-//CHECK#1
-if (f() !== undefined) {
- throw new Test262Error('#2: ');
-}
+assert.sameValue(f(), undefined, 'f() returns undefined');
var planet = "mars";
-//CHECK#2
-if (f() !== "mars") {
- throw new Test262Error('#2: ');
-}
-
-//CHECK#3
-if (g() !== undefined) {
- throw new Test262Error('#3: ');
-}
+assert.sameValue(f(), "mars", 'f() must return "mars"');
+assert.sameValue(g(), undefined, 'g() returns undefined');
this.color = "red";
-//CHECK#4
-if (g() !== "red") {
- throw new Test262Error('#4: ');
-}
+assert.sameValue(g(), "red", 'g() must return "red"');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Function/S15.3_A3_T6.js b/js/src/tests/test262/built-ins/Function/S15.3_A3_T6.js
index 3c24942b74b9..e5e0589ea14c 100644
--- a/js/src/tests/test262/built-ins/Function/S15.3_A3_T6.js
+++ b/js/src/tests/test262/built-ins/Function/S15.3_A3_T6.js
@@ -13,16 +13,10 @@ description: >
var f = Function.call(this, "return this.planet;");
-//CHECK#1
-if (f() !== undefined) {
- throw new Test262Error('#1: ');
-}
+assert.sameValue(f(), undefined, 'f() returns undefined');
var planet = "mars";
-//CHECK#2
-if (f() !== "mars") {
- throw new Test262Error('#2: ');
-}
+assert.sameValue(f(), "mars", 'f() must return "mars"');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Function/StrictFunction_reservedwords_with.js b/js/src/tests/test262/built-ins/Function/StrictFunction_reservedwords_with.js
index d6b6ffb779ab..46a21ed5f1b8 100644
--- a/js/src/tests/test262/built-ins/Function/StrictFunction_reservedwords_with.js
+++ b/js/src/tests/test262/built-ins/Function/StrictFunction_reservedwords_with.js
@@ -17,7 +17,7 @@ info: |
---*/
assert.throws(SyntaxError, function() {
- new Function("'use strict'; with ({}) {}");
-});
+ new Function("'use strict'; with ({}) {}");
+}, '`new Function("\'use strict\'; with ({}) {}")` throws a SyntaxError exception');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Function/StrictFunction_restricted-properties-strict.js b/js/src/tests/test262/built-ins/Function/StrictFunction_restricted-properties-strict.js
index 963a68a8d684..54b35534894d 100644
--- a/js/src/tests/test262/built-ins/Function/StrictFunction_restricted-properties-strict.js
+++ b/js/src/tests/test262/built-ins/Function/StrictFunction_restricted-properties-strict.js
@@ -16,39 +16,39 @@ function func() {}
assert.throws(TypeError, function() {
return func.caller;
-});
+}, 'return func.caller throws a TypeError exception');
assert.throws(TypeError, function() {
func.caller = {};
-});
+}, 'func.caller = {} throws a TypeError exception');
assert.throws(TypeError, function() {
return func.arguments;
-});
+}, 'return func.arguments throws a TypeError exception');
assert.throws(TypeError, function() {
func.arguments = {};
-});
+}, 'func.arguments = {} throws a TypeError exception');
var newfunc = new Function('"use strict"');
-assert.sameValue(newfunc.hasOwnProperty('caller'), false, 'strict Functions created using Function constructor do not have own property "caller"');
-assert.sameValue(newfunc.hasOwnProperty('arguments'), false, 'strict Functions created using Function constructor do not have own property "arguments"');
+assert.sameValue(newfunc.hasOwnProperty('caller'), false, 'newfunc.hasOwnProperty(\'caller\') must return false');
+assert.sameValue(newfunc.hasOwnProperty('arguments'), false, 'newfunc.hasOwnProperty(\'arguments\') must return false');
assert.throws(TypeError, function() {
return newfunc.caller;
-});
+}, 'return newfunc.caller throws a TypeError exception');
assert.throws(TypeError, function() {
newfunc.caller = {};
-});
+}, 'newfunc.caller = {} throws a TypeError exception');
assert.throws(TypeError, function() {
return newfunc.arguments;
-});
+}, 'return newfunc.arguments throws a TypeError exception');
assert.throws(TypeError, function() {
newfunc.arguments = {};
-});
+}, 'newfunc.arguments = {} throws a TypeError exception');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Function/internals/Call/class-ctor-realm.js b/js/src/tests/test262/built-ins/Function/internals/Call/class-ctor-realm.js
index 2d43e4791762..7deb05571d2d 100644
--- a/js/src/tests/test262/built-ins/Function/internals/Call/class-ctor-realm.js
+++ b/js/src/tests/test262/built-ins/Function/internals/Call/class-ctor-realm.js
@@ -10,7 +10,7 @@ features: [cross-realm, class]
const realm = $262.createRealm();
const C = realm.global.eval('(class {})');
-const TE = realm.global.eval('TypeError');
+const TE = realm.global.TypeError;
assert.throws(TE, function() {
C();
diff --git a/js/src/tests/test262/built-ins/Function/length/S15.3.5.1_A1_T1.js b/js/src/tests/test262/built-ins/Function/length/S15.3.5.1_A1_T1.js
index 9ad0452780c8..25a578ed6c33 100644
--- a/js/src/tests/test262/built-ins/Function/length/S15.3.5.1_A1_T1.js
+++ b/js/src/tests/test262/built-ins/Function/length/S15.3.5.1_A1_T1.js
@@ -11,14 +11,7 @@ description: Checking length property of Function("arg1,arg2,arg3", null)
var f = new Function("arg1,arg2,arg3", null);
-//CHECK#1
-if (!(f.hasOwnProperty('length'))) {
- throw new Test262Error('#1: the function has length property.');
-}
-
-//CHECK#2
-if (f.length !== 3) {
- throw new Test262Error('#2: The value of the length property is usually an integer that indicates the "typical" number of arguments expected by the function');
-}
+assert(f.hasOwnProperty('length'), 'f.hasOwnProperty(\'length\') must return true');
+assert.sameValue(f.length, 3, 'The value of f.length is expected to be 3');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Function/length/S15.3.5.1_A1_T2.js b/js/src/tests/test262/built-ins/Function/length/S15.3.5.1_A1_T2.js
index d3f3bb8bb5b1..2f92fd4b70bd 100644
--- a/js/src/tests/test262/built-ins/Function/length/S15.3.5.1_A1_T2.js
+++ b/js/src/tests/test262/built-ins/Function/length/S15.3.5.1_A1_T2.js
@@ -13,14 +13,7 @@ description: >
var f = Function("arg1,arg2,arg3", "arg4,arg5", null);
-//CHECK#1
-if (!(f.hasOwnProperty('length'))) {
- throw new Test262Error('#1: the function has length property.');
-}
-
-//CHECK#2
-if (f.length !== 5) {
- throw new Test262Error('#2: The value of the length property is usually an integer that indicates the "typical" number of arguments expected by the function');
-}
+assert(f.hasOwnProperty('length'), 'f.hasOwnProperty(\'length\') must return true');
+assert.sameValue(f.length, 5, 'The value of f.length is expected to be 5');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Function/length/S15.3.5.1_A1_T3.js b/js/src/tests/test262/built-ins/Function/length/S15.3.5.1_A1_T3.js
index 3271a99d31bb..75bb201363b8 100644
--- a/js/src/tests/test262/built-ins/Function/length/S15.3.5.1_A1_T3.js
+++ b/js/src/tests/test262/built-ins/Function/length/S15.3.5.1_A1_T3.js
@@ -13,14 +13,7 @@ description: >
var f = new Function("arg1,arg2,arg3", "arg1,arg2", "arg3", null);
-//CHECK#1
-if (!(f.hasOwnProperty('length'))) {
- throw new Test262Error('#1: the function has length property.');
-}
-
-//CHECK#2
-if (f.length !== 6) {
- throw new Test262Error('#2: The value of the length property is usually an integer that indicates the "typical" number of arguments expected by the function');
-}
+assert(f.hasOwnProperty('length'), 'f.hasOwnProperty(\'length\') must return true');
+assert.sameValue(f.length, 6, 'The value of f.length is expected to be 6');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Function/length/S15.3.5.1_A2_T1.js b/js/src/tests/test262/built-ins/Function/length/S15.3.5.1_A2_T1.js
index 4b8ca0f84e34..9950b42daef5 100644
--- a/js/src/tests/test262/built-ins/Function/length/S15.3.5.1_A2_T1.js
+++ b/js/src/tests/test262/built-ins/Function/length/S15.3.5.1_A2_T1.js
@@ -11,24 +11,11 @@ description: >
var f = new Function("arg1,arg2,arg3", null);
-//CHECK#1
-if (!(f.hasOwnProperty('length'))) {
- throw new Test262Error('#1: the function has length property.');
-}
+assert(f.hasOwnProperty('length'), 'f.hasOwnProperty(\'length\') must return true');
+assert(delete f.length, 'The value of delete f.length is expected to be true');
+assert(!f.hasOwnProperty('length'), 'The value of !f.hasOwnProperty(\'length\') is expected to be true');
+assert.notSameValue(f.length, 3, 'The value of f.length is not 3');
-//CHECK#2
-if (!delete f.length) {
- throw new Test262Error('#2: the function.length property does not have the attributes DontDelete.');
-}
-
-//CHECK#3
-if (f.hasOwnProperty('length')) {
- throw new Test262Error('#3: the function.length property does not have the attributes DontDelete.');
-}
-
-//CHECK#4
-if (f.length === 3) {
- throw new Test262Error('#4: the length property does not have the attributes { DontDelete }');
-}
+// TODO: Convert to verifyProperty() format.
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Function/length/S15.3.5.1_A2_T2.js b/js/src/tests/test262/built-ins/Function/length/S15.3.5.1_A2_T2.js
index 3b9b9566e346..0eeb054a2d62 100644
--- a/js/src/tests/test262/built-ins/Function/length/S15.3.5.1_A2_T2.js
+++ b/js/src/tests/test262/built-ins/Function/length/S15.3.5.1_A2_T2.js
@@ -11,21 +11,13 @@ description: >
var f = Function("arg1,arg2,arg3", "arg4,arg5", null);
-//CHECK#1
-if (!(f.hasOwnProperty('length'))) {
- throw new Test262Error('#1: the function has length property.');
-}
+assert(f.hasOwnProperty('length'), 'f.hasOwnProperty(\'length\') must return true');
delete f.length;
-//CHECK#2
-if (f.hasOwnProperty('length')) {
- throw new Test262Error('#2: the function.length property does not have the attributes DontDelete.');
-}
+assert(!f.hasOwnProperty('length'), 'The value of !f.hasOwnProperty(\'length\') is expected to be true');
+assert.notSameValue(f.length, 5, 'The value of f.length is not 5');
-//CHECK#3
-if (f.length === 5) {
- throw new Test262Error('#3: the length property does not have the attributes { DontDelete }');
-}
+// TODO: Convert to verifyProperty() format.
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Function/length/S15.3.5.1_A2_T3.js b/js/src/tests/test262/built-ins/Function/length/S15.3.5.1_A2_T3.js
index 6b02b5cdb8ca..2bb421ab95f5 100644
--- a/js/src/tests/test262/built-ins/Function/length/S15.3.5.1_A2_T3.js
+++ b/js/src/tests/test262/built-ins/Function/length/S15.3.5.1_A2_T3.js
@@ -11,21 +11,13 @@ description: >
var f = new Function("arg1,arg2,arg3", "arg1,arg2", "arg3", null);
-//CHECK#1
-if (!(f.hasOwnProperty('length'))) {
- throw new Test262Error('#1: the function has length property.');
-}
+assert(f.hasOwnProperty('length'), 'f.hasOwnProperty(\'length\') must return true');
delete f.length;
-//CHECK#2
-if (f.hasOwnProperty('length')) {
- throw new Test262Error('#2: the function.length property does not have the attributes DontDelete.');
-}
+assert(!f.hasOwnProperty('length'), 'The value of !f.hasOwnProperty(\'length\') is expected to be true');
+assert.notSameValue(f.length, 6, 'The value of f.length is not 6');
-//CHECK#3
-if (f.length === 6) {
- throw new Test262Error('#3: the length property does not have the attributes { DontDelete }');
-}
+// TODO: Convert to verifyProperty() format.
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Function/length/S15.3.5.1_A3_T1.js b/js/src/tests/test262/built-ins/Function/length/S15.3.5.1_A3_T1.js
index e512269fddba..0730211a2263 100644
--- a/js/src/tests/test262/built-ins/Function/length/S15.3.5.1_A3_T1.js
+++ b/js/src/tests/test262/built-ins/Function/length/S15.3.5.1_A3_T1.js
@@ -12,31 +12,27 @@ includes: [propertyHelper.js]
var f = new Function("arg1,arg2,arg3", "arg4,arg5", null);
-//CHECK#1
-if (!(f.hasOwnProperty('length'))) {
- throw new Test262Error('#1: the function has length property.');
-}
+assert(f.hasOwnProperty('length'));
var flength = f.length;
verifyNotWritable(f, "length", null, function() {});
-//CHECK#2
-if (f.length !== flength) {
- throw new Test262Error('#2: the function.length property has the attributes ReadOnly');
-}
+assert.sameValue(f.length, flength);
-//CHECK#3
try {
f.length();
throw new Test262Error('#3: the function.length property has the attributes ReadOnly');
} catch (e) {
- if (e instanceof Test262Error) throw e;
+ if (e instanceof Test262Error) {
+ throw e;
+ }
}
-//CHECK#4
if (f.length !== 5) {
throw new Test262Error('#4: the length property has the attributes { ReadOnly }');
}
+// TODO: Convert to verifyProperty() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Function/length/S15.3.5.1_A3_T2.js b/js/src/tests/test262/built-ins/Function/length/S15.3.5.1_A3_T2.js
index 6640da57c313..e98b6827bc30 100644
--- a/js/src/tests/test262/built-ins/Function/length/S15.3.5.1_A3_T2.js
+++ b/js/src/tests/test262/built-ins/Function/length/S15.3.5.1_A3_T2.js
@@ -12,31 +12,27 @@ includes: [propertyHelper.js]
var f = Function("arg1,arg2,arg3", null);
-//CHECK#1
-if (!(f.hasOwnProperty('length'))) {
- throw new Test262Error('#1: the function has length property.');
-}
+assert(f.hasOwnProperty('length'));
var flength = f.length;
verifyNotWritable(f, "length", null, function() {});
-//CHECK#2
-if (f.length !== flength) {
- throw new Test262Error('#2: the function.length property has the attributes ReadOnly');
-}
+assert.sameValue(f.length, flength);
-//CHECK#3
try {
f.length();
throw new Test262Error('#3: the function.length property has the attributes ReadOnly');
} catch (e) {
- if (e instanceof Test262Error) throw e;
+ if (e instanceof Test262Error) {
+ throw e;
+ }
}
-//CHECK#4
if (f.length !== 3) {
throw new Test262Error('#4: the length property has the attributes { ReadOnly }');
}
+// TODO: Convert to verifyProperty() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Function/length/S15.3.5.1_A3_T3.js b/js/src/tests/test262/built-ins/Function/length/S15.3.5.1_A3_T3.js
index bcb4dda53795..99ccfd2c3118 100644
--- a/js/src/tests/test262/built-ins/Function/length/S15.3.5.1_A3_T3.js
+++ b/js/src/tests/test262/built-ins/Function/length/S15.3.5.1_A3_T3.js
@@ -12,31 +12,27 @@ includes: [propertyHelper.js]
var f = new Function("arg1,arg2,arg3", "arg1,arg2", "arg3", null);
-//CHECK#1
-if (!(f.hasOwnProperty('length'))) {
- throw new Test262Error('#1: the function has length property.');
-}
+assert(f.hasOwnProperty('length'));
var flength = f.length;
verifyNotWritable(f, "length", null, function() {});
-//CHECK#2
-if (f.length !== flength) {
- throw new Test262Error('#2: the function.length property has the attributes ReadOnly');
-}
+assert.sameValue(f.length, flength);
-//CHECK#3
try {
f.length();
throw new Test262Error('#3: the function.length property has the attributes ReadOnly');
} catch (e) {
- if (e instanceof Test262Error) throw e;
+ if (e instanceof Test262Error) {
+ throw e;
+ }
}
-//CHECK#4
if (f.length !== 6) {
throw new Test262Error('#4: the length property has the attributes { ReadOnly }');
}
+// TODO: Convert to verifyProperty() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Function/length/S15.3.5.1_A4_T1.js b/js/src/tests/test262/built-ins/Function/length/S15.3.5.1_A4_T1.js
index b7c365559773..bc4d7d1a49ed 100644
--- a/js/src/tests/test262/built-ins/Function/length/S15.3.5.1_A4_T1.js
+++ b/js/src/tests/test262/built-ins/Function/length/S15.3.5.1_A4_T1.js
@@ -11,19 +11,15 @@ description: >
var f = new Function("arg1,arg2,arg3", null);
-//CHECK#1
-if (!(f.hasOwnProperty('length'))) {
- throw new Test262Error('#1: the function has length property.');
-}
+assert(f.hasOwnProperty('length'), 'f.hasOwnProperty(\'length\') must return true');
for (var key in f) {
if (key == "length") {
var lengthenumed = true;
}
}
-//CHECK#2
-if (lengthenumed) {
- throw new Test262Error('#2: the length property has the attributes { DontEnum }');
-}
+assert(!lengthenumed, 'The value of !lengthenumed is expected to be true');
+
+// TODO: Convert to verifyProperty() format.
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Function/length/S15.3.5.1_A4_T2.js b/js/src/tests/test262/built-ins/Function/length/S15.3.5.1_A4_T2.js
index d1fc6ac7264d..25ae5037e85a 100644
--- a/js/src/tests/test262/built-ins/Function/length/S15.3.5.1_A4_T2.js
+++ b/js/src/tests/test262/built-ins/Function/length/S15.3.5.1_A4_T2.js
@@ -11,10 +11,7 @@ description: >
var f = Function("arg1,arg2,arg3", "arg5,arg4", null);
-//CHECK#1
-if (!(f.hasOwnProperty('length'))) {
- throw new Test262Error('#1: the function has length property.');
-}
+assert(f.hasOwnProperty('length'), 'f.hasOwnProperty(\'length\') must return true');
for (var key in f) {
if (key == "length") {
@@ -22,9 +19,8 @@ for (var key in f) {
}
}
-//CHECK#2
-if (lengthenumed) {
- throw new Test262Error('#2: the length property has the attributes { DontEnum }');
-}
+assert(!lengthenumed, 'The value of !lengthenumed is expected to be true');
+
+// TODO: Convert to verifyProperty() format.
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Function/length/S15.3.5.1_A4_T3.js b/js/src/tests/test262/built-ins/Function/length/S15.3.5.1_A4_T3.js
index 018ef1510fc4..a0f6255fc7bc 100644
--- a/js/src/tests/test262/built-ins/Function/length/S15.3.5.1_A4_T3.js
+++ b/js/src/tests/test262/built-ins/Function/length/S15.3.5.1_A4_T3.js
@@ -11,10 +11,7 @@ description: >
var f = new Function("arg1,arg2,arg3", "arg1,arg2", "arg3", null);
-//CHECK#1
-if (!(f.hasOwnProperty('length'))) {
- throw new Test262Error('#1: the function has length property.');
-}
+assert(f.hasOwnProperty('length'), 'f.hasOwnProperty(\'length\') must return true');
for (var key in f) {
if (key == "length") {
@@ -22,9 +19,8 @@ for (var key in f) {
}
}
-//CHECK#2
-if (lengthenumed) {
- throw new Test262Error('#2: the length property has the attributes { DontEnum }');
-}
+assert(!lengthenumed, 'The value of !lengthenumed is expected to be true');
+
+// TODO: Convert to verifyProperty() format.
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Function/prototype/S15.3.3.1_A1.js b/js/src/tests/test262/built-ins/Function/prototype/S15.3.3.1_A1.js
index 16967b3debc5..a48cb62845d1 100644
--- a/js/src/tests/test262/built-ins/Function/prototype/S15.3.3.1_A1.js
+++ b/js/src/tests/test262/built-ins/Function/prototype/S15.3.3.1_A1.js
@@ -14,18 +14,14 @@ verifyNotWritable(Function, "prototype", null, function() {
return "shifted";
});
-//CHECK#1
-if (Function.prototype !== obj) {
- throw new Test262Error('#1: the Function.prototype property has the attributes ReadOnly.');
-}
+assert.sameValue(Function.prototype, obj, 'The value of Function.prototype is expected to equal the value of obj');
-//CHECK#2
try {
- if (Function.prototype() !== undefined) {
- throw new Test262Error('#2: the Function.prototype property has the attributes ReadOnly');
- }
+ assert.sameValue(Function.prototype(), undefined, 'Function.prototype() returns undefined');
} catch (e) {
throw new Test262Error('#2.1: the Function.prototype property has the attributes ReadOnly: ' + e);
}
+// TODO: Convert to verifyProperty() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Function/prototype/S15.3.3.1_A2.js b/js/src/tests/test262/built-ins/Function/prototype/S15.3.3.1_A2.js
index 391d22f154de..5c865b6c54ca 100644
--- a/js/src/tests/test262/built-ins/Function/prototype/S15.3.3.1_A2.js
+++ b/js/src/tests/test262/built-ins/Function/prototype/S15.3.3.1_A2.js
@@ -6,21 +6,22 @@ info: The Function.prototype property has the attribute DontEnum
es5id: 15.3.3.1_A2
description: Checking if enumerating the Function.prototype property fails
---*/
-
-// CHECK#1
-if (Function.propertyIsEnumerable('prototype')) {
- throw new Test262Error('#1: the Function.prototype property has the attributes DontEnum');
-}
+assert(
+ !Function.propertyIsEnumerable('prototype'),
+ 'The value of !Function.propertyIsEnumerable(\'prototype\') is expected to be true'
+);
// CHECK#2
var count = 0;
for (var p in Function) {
- if (p === "prototype") count++;
+ if (p === "prototype") {
+ count++;
+ }
}
-if (count !== 0) {
- throw new Test262Error('#2: the Function.prototype property has the attributes DontEnum');
-}
+assert.sameValue(count, 0, 'The value of count is expected to be 0');
+
+// TODO: Convert to verifyProperty() format.
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Function/prototype/S15.3.3.1_A3.js b/js/src/tests/test262/built-ins/Function/prototype/S15.3.3.1_A3.js
index 82f24d0ae78e..1bf129b24e10 100644
--- a/js/src/tests/test262/built-ins/Function/prototype/S15.3.3.1_A3.js
+++ b/js/src/tests/test262/built-ins/Function/prototype/S15.3.3.1_A3.js
@@ -10,19 +10,19 @@ includes: [propertyHelper.js]
verifyNotConfigurable(Function, "prototype");
-//CHECK#1
try {
- if ((delete Function.prototype) !== false) {
- throw new Test262Error('#1: Function.prototype has the attribute DontDelete');
- }
+ assert.sameValue(delete Function.prototype, false);
} catch (e) {
- if (e instanceof Test262Error) throw e;
+ if (e instanceof Test262Error) {
+ throw e;
+ }
assert(e instanceof TypeError);
}
-//CHECK#2
if (!(Function.hasOwnProperty('prototype'))) {
throw new Test262Error('#2: the Function.prototype property has the attributes DontDelete.');
}
+// TODO: Convert to verifyProperty() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Function/prototype/S15.3.3.1_A4.js b/js/src/tests/test262/built-ins/Function/prototype/S15.3.3.1_A4.js
index 58648319ebb4..a5b8cb8e4f10 100644
--- a/js/src/tests/test262/built-ins/Function/prototype/S15.3.3.1_A4.js
+++ b/js/src/tests/test262/built-ins/Function/prototype/S15.3.3.1_A4.js
@@ -18,9 +18,11 @@ function foo() {}
Object.defineProperty(foo, 'prototype', {
value: {}
});
-if (foo.prototype !==
- Object.getOwnPropertyDescriptor(foo, 'prototype').value) {
- throw new Test262Error("A function.prototype's descriptor lies");
-}
+
+assert.sameValue(
+ foo.prototype,
+ Object.getOwnPropertyDescriptor(foo, 'prototype').value,
+ 'The value of foo.prototype is expected to equal the value of Object.getOwnPropertyDescriptor(foo, \'prototype\').value'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Function/prototype/S15.3.4_A1.js b/js/src/tests/test262/built-ins/Function/prototype/S15.3.4_A1.js
index 7d15a43b5ce5..b8243f7f3471 100644
--- a/js/src/tests/test262/built-ins/Function/prototype/S15.3.4_A1.js
+++ b/js/src/tests/test262/built-ins/Function/prototype/S15.3.4_A1.js
@@ -8,10 +8,10 @@ info: |
es5id: 15.3.4_A1
description: Object.prototype.toString returns [object+[[Class]]+]
---*/
-
-if (Object.prototype.toString.call(Function.prototype) !== "[object Function]") {
- throw new Test262Error('#2: The Function prototype object is itself a Function ' +
- 'object (its [[Class]] is "Function") (15.3.4)');
-}
+assert.sameValue(
+ Object.prototype.toString.call(Function.prototype),
+ "[object Function]",
+ 'Object.prototype.toString.call(Function.prototype) must return "[object Function]"'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Function/prototype/S15.3.4_A2_T1.js b/js/src/tests/test262/built-ins/Function/prototype/S15.3.4_A2_T1.js
index 87f003f0f678..940857145e68 100644
--- a/js/src/tests/test262/built-ins/Function/prototype/S15.3.4_A2_T1.js
+++ b/js/src/tests/test262/built-ins/Function/prototype/S15.3.4_A2_T1.js
@@ -9,11 +9,8 @@ es5id: 15.3.4_A2_T1
description: Call Function.prototype()
---*/
-//CHECK#1
try {
- if (Function.prototype() !== undefined) {
- throw new Test262Error('#1: The Function prototype object is itself a Function object that, when invoked, accepts any arguments and returns undefined');
- }
+ assert.sameValue(Function.prototype(), undefined, 'Function.prototype() returns undefined');
} catch (e) {
throw new Test262Error('#1.1: The Function prototype object is itself a Function object that, when invoked, accepts any arguments and returns undefined: ' + e);
}
diff --git a/js/src/tests/test262/built-ins/Function/prototype/S15.3.4_A2_T2.js b/js/src/tests/test262/built-ins/Function/prototype/S15.3.4_A2_T2.js
index 69284d292b84..7d0f2dbb29ae 100644
--- a/js/src/tests/test262/built-ins/Function/prototype/S15.3.4_A2_T2.js
+++ b/js/src/tests/test262/built-ins/Function/prototype/S15.3.4_A2_T2.js
@@ -9,11 +9,8 @@ es5id: 15.3.4_A2_T2
description: Call Function.prototype(null,void 0)
---*/
-//CHECK#1
try {
- if (Function.prototype(null, void 0) !== undefined) {
- throw new Test262Error('#1: The Function prototype object is itself a Function object that, when invoked, accepts any arguments and returns undefined');
- }
+ assert.sameValue(Function.prototype(null, void 0), undefined, 'Function.prototype(null, void 0) returns undefined');
} catch (e) {
throw new Test262Error('#1.1: The Function prototype object is itself a Function object that, when invoked, accepts any arguments and returns undefined: ' + e);
}
diff --git a/js/src/tests/test262/built-ins/Function/prototype/S15.3.4_A2_T3.js b/js/src/tests/test262/built-ins/Function/prototype/S15.3.4_A2_T3.js
index 5542a2e5d05e..f3139932fa20 100644
--- a/js/src/tests/test262/built-ins/Function/prototype/S15.3.4_A2_T3.js
+++ b/js/src/tests/test262/built-ins/Function/prototype/S15.3.4_A2_T3.js
@@ -9,14 +9,7 @@ es5id: 15.3.4_A2_T3
description: Call Function.prototype(x), where x is undefined variable
---*/
-//CHECK#1
-try {
- if (Function.prototype(x) !== undefined) {
- var x;
- throw new Test262Error('#1: The Function prototype object is itself a Function object that, when invoked, accepts any arguments and returns undefined');
- }
-} catch (e) {
- throw new Test262Error('#1.1: The Function prototype object is itself a Function object that, when invoked, accepts any arguments and returns undefined: ' + e);
-}
+var x;
+assert.sameValue(Function.prototype(x), undefined, 'Function.prototype(x) returns undefined');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Function/prototype/S15.3.4_A3_T1.js b/js/src/tests/test262/built-ins/Function/prototype/S15.3.4_A3_T1.js
index 7e1d4829351b..356d5743f7b1 100644
--- a/js/src/tests/test262/built-ins/Function/prototype/S15.3.4_A3_T1.js
+++ b/js/src/tests/test262/built-ins/Function/prototype/S15.3.4_A3_T1.js
@@ -8,11 +8,10 @@ info: |
es5id: 15.3.4_A3_T1
description: Checking prototype of Function.prototype
---*/
-
-if (Object.getPrototypeOf(Function.prototype) !== Object.prototype) {
- throw new Test262Error('#1: The value of the internal [[Prototype]] property of ' +
- 'the Function prototype object is the Object prototype ' +
- 'object (15.3.4)');
-}
+assert.sameValue(
+ Object.getPrototypeOf(Function.prototype),
+ Object.prototype,
+ 'Object.getPrototypeOf(Function.prototype) returns Object.prototype'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Function/prototype/S15.3.4_A3_T2.js b/js/src/tests/test262/built-ins/Function/prototype/S15.3.4_A3_T2.js
index 9060ded7c256..b0b0561e3133 100644
--- a/js/src/tests/test262/built-ins/Function/prototype/S15.3.4_A3_T2.js
+++ b/js/src/tests/test262/built-ins/Function/prototype/S15.3.4_A3_T2.js
@@ -13,9 +13,6 @@ description: >
Object.prototype.indicator = 1;
-//CHECK#1
-if (Function.prototype.indicator !== 1) {
- throw new Test262Error('#1: The value of the internal [[Prototype]] property of the Function prototype object is the Object prototype object (15.3.2.1)');
-}
+assert.sameValue(Function.prototype.indicator, 1, 'The value of Function.prototype.indicator is expected to be 1');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Function/prototype/S15.3.4_A4.js b/js/src/tests/test262/built-ins/Function/prototype/S15.3.4_A4.js
index 49d158cd5751..f9acf656c022 100644
--- a/js/src/tests/test262/built-ins/Function/prototype/S15.3.4_A4.js
+++ b/js/src/tests/test262/built-ins/Function/prototype/S15.3.4_A4.js
@@ -9,20 +9,22 @@ info: |
es5id: 15.3.4_A4
description: Checking valueOf property at Function.prototype
---*/
+assert.sameValue(
+ Function.prototype.hasOwnProperty("valueOf"),
+ false,
+ 'Function.prototype.hasOwnProperty("valueOf") must return false'
+);
-//CHECK#1
-if (Function.prototype.hasOwnProperty("valueOf") !== false) {
- throw new Test262Error('#1: The Function prototype object does not have a valueOf property of its own');
-}
+assert.notSameValue(
+ typeof Function.prototype.valueOf,
+ "undefined",
+ 'The value of typeof Function.prototype.valueOf is not "undefined"'
+);
-//CHECK#2
-if (typeof Function.prototype.valueOf === "undefined") {
- throw new Test262Error('#2: however, it inherits the valueOf property from the Object prototype Object');
-}
-
-//CHECK#3
-if (Function.prototype.valueOf !== Object.prototype.valueOf) {
- throw new Test262Error('#3: however, it inherits the valueOf property from the Object prototype Object');
-}
+assert.sameValue(
+ Function.prototype.valueOf,
+ Object.prototype.valueOf,
+ 'The value of Function.prototype.valueOf is expected to equal the value of Object.prototype.valueOf'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Function/prototype/S15.3.4_A5.js b/js/src/tests/test262/built-ins/Function/prototype/S15.3.4_A5.js
index 4095d2ebaa47..810420ff434f 100644
--- a/js/src/tests/test262/built-ins/Function/prototype/S15.3.4_A5.js
+++ b/js/src/tests/test262/built-ins/Function/prototype/S15.3.4_A5.js
@@ -11,6 +11,6 @@ description: Checking if creating "new Function.prototype object" fails
assert.throws(TypeError, function() {
new Function.prototype;
-});
+}, '`new Function.prototype` throws a TypeError exception');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Function/prototype/S15.3.5.2_A1_T1.js b/js/src/tests/test262/built-ins/Function/prototype/S15.3.5.2_A1_T1.js
index 417d051f8c05..9497828bbf43 100644
--- a/js/src/tests/test262/built-ins/Function/prototype/S15.3.5.2_A1_T1.js
+++ b/js/src/tests/test262/built-ins/Function/prototype/S15.3.5.2_A1_T1.js
@@ -12,28 +12,25 @@ includes: [propertyHelper.js]
var f = new Function("", null);
-//CHECK#1
-if (!(f.hasOwnProperty('prototype'))) {
- throw new Test262Error('#1: the function has length property.');
-}
+assert(f.hasOwnProperty('prototype'));
var fproto = f.prototype;
verifyNotConfigurable(f, "prototype");
-//CHECK#2
try {
- if ((delete f.prototype) !== false) {
- throw new Test262Error('#2: the prototype property has the attributes { DontDelete }');
- }
+ assert.sameValue(delete f.prototype, false);
} catch (e) {
- if (e instanceof Test262Error) throw e;
+ if (e instanceof Test262Error) {
+ throw e;
+ }
assert(e instanceof TypeError);
}
-//CHECK#3
if (f.prototype !== fproto) {
throw new Test262Error('#3: the prototype property has the attributes { DontDelete }');
}
+// TODO: Convert to verifyProperty() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Function/prototype/S15.3.5.2_A1_T2.js b/js/src/tests/test262/built-ins/Function/prototype/S15.3.5.2_A1_T2.js
index 205a6857f6c5..1f6605344678 100644
--- a/js/src/tests/test262/built-ins/Function/prototype/S15.3.5.2_A1_T2.js
+++ b/js/src/tests/test262/built-ins/Function/prototype/S15.3.5.2_A1_T2.js
@@ -12,28 +12,25 @@ includes: [propertyHelper.js]
var f = Function(void 0, "");
-//CHECK#1
-if (!(f.hasOwnProperty('prototype'))) {
- throw new Test262Error('#1: the function has length property.');
-}
+assert(f.hasOwnProperty('prototype'));
var fproto = f.prototype;
verifyNotConfigurable(f, "prototype");
-//CHECK#2
try {
- if ((delete f.prototype) !== false) {
- throw new Test262Error('#2: the prototype property has the attributes { DontDelete }');
- }
+ assert.sameValue(delete f.prototype, false);
} catch (e) {
- if (e instanceof Test262Error) throw e;
+ if (e instanceof Test262Error) {
+ throw e;
+ }
assert(e instanceof TypeError);
}
-//CHECK#3
if (f.prototype !== fproto) {
throw new Test262Error('#3: the prototype property has the attributes { DontDelete }');
}
+// TODO: Convert to verifyProperty() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Function/prototype/apply/S15.3.4.3_A12.js b/js/src/tests/test262/built-ins/Function/prototype/apply/S15.3.4.3_A12.js
index a22f76612cf2..d57a3bd809d0 100644
--- a/js/src/tests/test262/built-ins/Function/prototype/apply/S15.3.4.3_A12.js
+++ b/js/src/tests/test262/built-ins/Function/prototype/apply/S15.3.4.3_A12.js
@@ -8,10 +8,10 @@ description: >
Checking if obtaining the prototype property of
Function.prototype.apply fails
---*/
-
-//CHECK#1
-if (Function.prototype.apply.prototype !== undefined) {
- throw new Test262Error('#1: Function.prototype.apply has not prototype property' + Function.prototype.apply.prototype);
-}
+assert.sameValue(
+ Function.prototype.apply.prototype,
+ undefined,
+ 'The value of Function.prototype.apply.prototype is expected to equal undefined'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Function/prototype/apply/S15.3.4.3_A1_T1.js b/js/src/tests/test262/built-ins/Function/prototype/apply/S15.3.4.3_A1_T1.js
index 0b9a3c5ea45e..dee75c43ec5d 100644
--- a/js/src/tests/test262/built-ins/Function/prototype/apply/S15.3.4.3_A1_T1.js
+++ b/js/src/tests/test262/built-ins/Function/prototype/apply/S15.3.4.3_A1_T1.js
@@ -14,25 +14,19 @@ description: >
var proto = Function();
-function FACTORY() {};
+function FACTORY() {}
FACTORY.prototype = proto;
var obj = new FACTORY;
-//CHECK#1
-if (typeof obj.apply !== "function") {
- throw new Test262Error('#1: apply method accessed');
-}
+assert.sameValue(typeof obj.apply, "function", 'The value of `typeof obj.apply` is expected to be "function"');
-//CHECK#2
try {
obj.apply();
throw new Test262Error('#2: If the object does not have a [[Call]] property, a TypeError exception is thrown');
} catch (e) {
- if (!(e instanceof TypeError)) {
- throw new Test262Error('#2.1: If the object does not have a [[Call]] property, a TypeError exception is thrown');
- }
+ assert(e instanceof TypeError, 'The result of evaluating (e instanceof TypeError) is expected to be true');
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Function/prototype/apply/S15.3.4.3_A1_T2.js b/js/src/tests/test262/built-ins/Function/prototype/apply/S15.3.4.3_A1_T2.js
index 906bc19eb2af..3bf968716d46 100644
--- a/js/src/tests/test262/built-ins/Function/prototype/apply/S15.3.4.3_A1_T2.js
+++ b/js/src/tests/test262/built-ins/Function/prototype/apply/S15.3.4.3_A1_T2.js
@@ -12,25 +12,19 @@ description: >
property. Prototype of the object is Function.prototype
---*/
-function FACTORY() {};
+function FACTORY() {}
FACTORY.prototype = Function.prototype;
var obj = new FACTORY;
-//CHECK#1
-if (typeof obj.apply !== "function") {
- throw new Test262Error('#1: apply method accessed');
-}
+assert.sameValue(typeof obj.apply, "function", 'The value of `typeof obj.apply` is expected to be "function"');
-//CHECK#2
try {
obj.apply();
throw new Test262Error('#2: If the object does not have a [[Call]] property, a TypeError exception is thrown');
} catch (e) {
- if (!(e instanceof TypeError)) {
- throw new Test262Error('#2.1: If the object does not have a [[Call]] property, a TypeError exception is thrown');
- }
+ assert(e instanceof TypeError, 'The result of evaluating (e instanceof TypeError) is expected to be true');
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Function/prototype/apply/S15.3.4.3_A3_T1.js b/js/src/tests/test262/built-ins/Function/prototype/apply/S15.3.4.3_A3_T1.js
index 8094910003a7..024b06f90c13 100644
--- a/js/src/tests/test262/built-ins/Function/prototype/apply/S15.3.4.3_A3_T1.js
+++ b/js/src/tests/test262/built-ins/Function/prototype/apply/S15.3.4.3_A3_T1.js
@@ -11,9 +11,6 @@ description: Not any arguments at apply function
Function("this.field=\"strawberry\"").apply();
-//CHECK#1
-if (this["field"] !== "strawberry") {
- throw new Test262Error('#1: If thisArg is null or undefined, the called function is passed the global object as the this value');
-}
+assert.sameValue(this["field"], "strawberry", 'The value of this["field"] is expected to be "strawberry"');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Function/prototype/apply/S15.3.4.3_A3_T10.js b/js/src/tests/test262/built-ins/Function/prototype/apply/S15.3.4.3_A3_T10.js
index 61bcd06045bb..2b572d62ec1b 100644
--- a/js/src/tests/test262/built-ins/Function/prototype/apply/S15.3.4.3_A3_T10.js
+++ b/js/src/tests/test262/built-ins/Function/prototype/apply/S15.3.4.3_A3_T10.js
@@ -12,9 +12,6 @@ flags: [noStrict]
eval(" (function(){this.feat=1}).apply()");
-//CHECK#1
-if (this["feat"] !== 1) {
- throw new Test262Error('#1: If thisArg is null or undefined, the called function is passed the global object as the this value');
-}
+assert.sameValue(this["feat"], 1, 'The value of this["feat"] is expected to be 1');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Function/prototype/apply/S15.3.4.3_A3_T2.js b/js/src/tests/test262/built-ins/Function/prototype/apply/S15.3.4.3_A3_T2.js
index 8310c7bb3dec..91c17f39cfa6 100644
--- a/js/src/tests/test262/built-ins/Function/prototype/apply/S15.3.4.3_A3_T2.js
+++ b/js/src/tests/test262/built-ins/Function/prototype/apply/S15.3.4.3_A3_T2.js
@@ -11,9 +11,6 @@ description: Argument at apply function is null
Function("this.field=\"green\"").apply(null);
-//CHECK#1
-if (this["field"] !== "green") {
- throw new Test262Error('#1: If thisArg is null or undefined, the called function is passed the global object as the this value');
-}
+assert.sameValue(this["field"], "green", 'The value of this["field"] is expected to be "green"');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Function/prototype/apply/S15.3.4.3_A3_T3.js b/js/src/tests/test262/built-ins/Function/prototype/apply/S15.3.4.3_A3_T3.js
index 76cf33d08621..a104a919b72b 100644
--- a/js/src/tests/test262/built-ins/Function/prototype/apply/S15.3.4.3_A3_T3.js
+++ b/js/src/tests/test262/built-ins/Function/prototype/apply/S15.3.4.3_A3_T3.js
@@ -11,9 +11,6 @@ description: Argument at apply function is void 0
Function("this.field=\"battle\"").apply(void 0);
-//CHECK#1
-if (this["field"] !== "battle") {
- throw new Test262Error('#1: If thisArg is null or undefined, the called function is passed the global object as the this value');
-}
+assert.sameValue(this["field"], "battle", 'The value of this["field"] is expected to be "battle"');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Function/prototype/apply/S15.3.4.3_A3_T4.js b/js/src/tests/test262/built-ins/Function/prototype/apply/S15.3.4.3_A3_T4.js
index 77a3da08ef44..ae0aaa451913 100644
--- a/js/src/tests/test262/built-ins/Function/prototype/apply/S15.3.4.3_A3_T4.js
+++ b/js/src/tests/test262/built-ins/Function/prototype/apply/S15.3.4.3_A3_T4.js
@@ -11,9 +11,6 @@ description: Argument at apply function is undefined
Function("this.field=\"oil\"").apply(undefined);
-//CHECK#1
-if (this["field"] !== "oil") {
- throw new Test262Error('#1: If thisArg is null or undefined, the called function is passed the global object as the this value');
-}
+assert.sameValue(this["field"], "oil", 'The value of this["field"] is expected to be "oil"');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Function/prototype/apply/S15.3.4.3_A3_T5.js b/js/src/tests/test262/built-ins/Function/prototype/apply/S15.3.4.3_A3_T5.js
index 65201c481dbb..7e898f1b287f 100644
--- a/js/src/tests/test262/built-ins/Function/prototype/apply/S15.3.4.3_A3_T5.js
+++ b/js/src/tests/test262/built-ins/Function/prototype/apply/S15.3.4.3_A3_T5.js
@@ -13,18 +13,11 @@ description: >
function FACTORY() {
Function("this.feat=\"in da haus\"").apply();
-};
+}
var obj = new FACTORY;
-//CHECK#1
-if (this["feat"] !== "in da haus") {
- throw new Test262Error('#1: If thisArg is null or undefined, the called function is passed the global object as the this value');
-}
-
-//CHECK#2
-if (typeof obj.feat !== "undefined") {
- throw new Test262Error('#1: If thisArg is null or undefined, the called function is passed the global object as the this value');
-}
+assert.sameValue(this["feat"], "in da haus", 'The value of this["feat"] is expected to be "in da haus"');
+assert.sameValue(typeof obj.feat, "undefined", 'The value of `typeof obj.feat` is expected to be "undefined"');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Function/prototype/apply/S15.3.4.3_A3_T6.js b/js/src/tests/test262/built-ins/Function/prototype/apply/S15.3.4.3_A3_T6.js
index 6edf5f0fc87f..3da4007a0923 100644
--- a/js/src/tests/test262/built-ins/Function/prototype/apply/S15.3.4.3_A3_T6.js
+++ b/js/src/tests/test262/built-ins/Function/prototype/apply/S15.3.4.3_A3_T6.js
@@ -16,18 +16,11 @@ function FACTORY() {
(function() {
this.feat = "kamon beyba"
}).apply(null);
-};
+}
var obj = new FACTORY;
-//CHECK#1
-if (this["feat"] !== "kamon beyba") {
- throw new Test262Error('#1: If thisArg is null or undefined, the called function is passed the global object as the this value');
-}
-
-//CHECK#2
-if (typeof obj.feat !== "undefined") {
- throw new Test262Error('#1: If thisArg is null or undefined, the called function is passed the global object as the this value');
-}
+assert.sameValue(this["feat"], "kamon beyba", 'The value of this["feat"] is expected to be "kamon beyba"');
+assert.sameValue(typeof obj.feat, "undefined", 'The value of `typeof obj.feat` is expected to be "undefined"');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Function/prototype/apply/S15.3.4.3_A3_T7.js b/js/src/tests/test262/built-ins/Function/prototype/apply/S15.3.4.3_A3_T7.js
index c5c3f7d6d70c..db00cfd8adb8 100644
--- a/js/src/tests/test262/built-ins/Function/prototype/apply/S15.3.4.3_A3_T7.js
+++ b/js/src/tests/test262/built-ins/Function/prototype/apply/S15.3.4.3_A3_T7.js
@@ -16,9 +16,6 @@ description: >
})();
-//CHECK#1
-if (this["feat"] !== "in da haus") {
- throw new Test262Error('#1: If thisArg is null or undefined, the called function is passed the global object as the this value');
-}
+assert.sameValue(this["feat"], "in da haus", 'The value of this["feat"] is expected to be "in da haus"');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Function/prototype/apply/S15.3.4.3_A3_T8.js b/js/src/tests/test262/built-ins/Function/prototype/apply/S15.3.4.3_A3_T8.js
index eda83fd040ac..40fcf50b5797 100644
--- a/js/src/tests/test262/built-ins/Function/prototype/apply/S15.3.4.3_A3_T8.js
+++ b/js/src/tests/test262/built-ins/Function/prototype/apply/S15.3.4.3_A3_T8.js
@@ -18,9 +18,6 @@ flags: [noStrict]
}).apply(undefined);
})();
-//CHECK#1
-if (this["feat"] !== "kamon beyba") {
- throw new Test262Error('#1: If thisArg is null or undefined, the called function is passed the global object as the this value');
-}
+assert.sameValue(this["feat"], "kamon beyba", 'The value of this["feat"] is expected to be "kamon beyba"');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Function/prototype/apply/S15.3.4.3_A3_T9.js b/js/src/tests/test262/built-ins/Function/prototype/apply/S15.3.4.3_A3_T9.js
index 7c29baed0d5d..87ea76102662 100644
--- a/js/src/tests/test262/built-ins/Function/prototype/apply/S15.3.4.3_A3_T9.js
+++ b/js/src/tests/test262/built-ins/Function/prototype/apply/S15.3.4.3_A3_T9.js
@@ -11,9 +11,6 @@ description: Checking by using eval, argument at apply function is void 0
eval(" Function(\"this.feat=1\").apply(void 0) ");
-//CHECK#1
-if (this["feat"] !== 1) {
- throw new Test262Error('#1: If thisArg is null or undefined, the called function is passed the global object as the this value');
-}
+assert.sameValue(this["feat"], 1, 'The value of this["feat"] is expected to be 1');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Function/prototype/apply/S15.3.4.3_A5_T1.js b/js/src/tests/test262/built-ins/Function/prototype/apply/S15.3.4.3_A5_T1.js
index 3f6545be5469..ae2c48c6dc6d 100644
--- a/js/src/tests/test262/built-ins/Function/prototype/apply/S15.3.4.3_A5_T1.js
+++ b/js/src/tests/test262/built-ins/Function/prototype/apply/S15.3.4.3_A5_T1.js
@@ -13,14 +13,7 @@ var obj = 1;
var retobj = Function("this.touched= true; return this;").apply(obj);
-//CHECK#1
-if (typeof obj.touched !== "undefined") {
- throw new Test262Error('#1: If thisArg is not null(defined) the called function is passed ToObject(thisArg) as the this value');
-}
-
-//CHECK#2
-if (!(retobj["touched"])) {
- throw new Test262Error('#2: If thisArg is not null(defined) the called function is passed ToObject(thisArg) as the this value');
-}
+assert.sameValue(typeof obj.touched, "undefined", 'The value of `typeof obj.touched` is expected to be "undefined"');
+assert(retobj["touched"], 'The value of retobj["touched"] is expected to be true');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Function/prototype/apply/S15.3.4.3_A5_T2.js b/js/src/tests/test262/built-ins/Function/prototype/apply/S15.3.4.3_A5_T2.js
index 65e002511159..051f441a1d4b 100644
--- a/js/src/tests/test262/built-ins/Function/prototype/apply/S15.3.4.3_A5_T2.js
+++ b/js/src/tests/test262/built-ins/Function/prototype/apply/S15.3.4.3_A5_T2.js
@@ -13,14 +13,7 @@ var obj = true;
var retobj = new Function("this.touched= true; return this;").apply(obj);
-//CHECK#1
-if (typeof obj.touched !== "undefined") {
- throw new Test262Error('#1: If thisArg is not null(defined) the called function is passed ToObject(thisArg) as the this value');
-}
-
-//CHECK#2
-if (!(retobj["touched"])) {
- throw new Test262Error('#2: If thisArg is not null(defined) the called function is passed ToObject(thisArg) as the this value');
-}
+assert.sameValue(typeof obj.touched, "undefined", 'The value of `typeof obj.touched` is expected to be "undefined"');
+assert(retobj["touched"], 'The value of retobj["touched"] is expected to be true');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Function/prototype/apply/S15.3.4.3_A5_T3.js b/js/src/tests/test262/built-ins/Function/prototype/apply/S15.3.4.3_A5_T3.js
index b0b3ffcd1ddd..42848413ef85 100644
--- a/js/src/tests/test262/built-ins/Function/prototype/apply/S15.3.4.3_A5_T3.js
+++ b/js/src/tests/test262/built-ins/Function/prototype/apply/S15.3.4.3_A5_T3.js
@@ -17,14 +17,7 @@ var retobj = (function() {
return this;
}).apply(obj);
-//CHECK#1
-if (typeof obj.touched !== "undefined") {
- throw new Test262Error('#1: If thisArg is not null(defined) the called function is passed ToObject(thisArg) as the this value');
-}
-
-//CHECK#2
-if (!(retobj["touched"])) {
- throw new Test262Error('#2: If thisArg is not null(defined) the called function is passed ToObject(thisArg) as the this value');
-}
+assert.sameValue(typeof obj.touched, "undefined", 'The value of `typeof obj.touched` is expected to be "undefined"');
+assert(retobj["touched"], 'The value of retobj["touched"] is expected to be true');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Function/prototype/apply/S15.3.4.3_A5_T4.js b/js/src/tests/test262/built-ins/Function/prototype/apply/S15.3.4.3_A5_T4.js
index 5edee1d45261..4a572f5e0346 100644
--- a/js/src/tests/test262/built-ins/Function/prototype/apply/S15.3.4.3_A5_T4.js
+++ b/js/src/tests/test262/built-ins/Function/prototype/apply/S15.3.4.3_A5_T4.js
@@ -17,15 +17,8 @@ f = function() {
retobj = f.apply(obj);
-//CHECK#1
-if (typeof obj !== "undefined") {
- throw new Test262Error('#1: If thisArg is not null(defined) the called function is passed ToObject(thisArg) as the this value');
-}
-
-//CHECK#2
-if (!(retobj["touched"])) {
- throw new Test262Error('#2: If thisArg is not null(defined) the called function is passed ToObject(thisArg) as the this value');
-}
+assert.sameValue(typeof obj, "undefined", 'The value of `typeof obj` is expected to be "undefined"');
+assert(retobj["touched"], 'The value of retobj["touched"] is expected to be true');
var obj;
diff --git a/js/src/tests/test262/built-ins/Function/prototype/apply/S15.3.4.3_A5_T5.js b/js/src/tests/test262/built-ins/Function/prototype/apply/S15.3.4.3_A5_T5.js
index 4eae2ddafe95..ee39f67ee97d 100644
--- a/js/src/tests/test262/built-ins/Function/prototype/apply/S15.3.4.3_A5_T5.js
+++ b/js/src/tests/test262/built-ins/Function/prototype/apply/S15.3.4.3_A5_T5.js
@@ -17,9 +17,6 @@ var obj = {};
f.apply(obj);
-//CHECK#1
-if (!(obj.touched)) {
- throw new Test262Error('#1: If thisArg is not null(defined) the called function is passed ToObject(thisArg) as the this value');
-}
+assert(obj.touched, 'The value of obj.touched is expected to be true');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Function/prototype/apply/S15.3.4.3_A5_T6.js b/js/src/tests/test262/built-ins/Function/prototype/apply/S15.3.4.3_A5_T6.js
index e043d779d2e3..1251383daff8 100644
--- a/js/src/tests/test262/built-ins/Function/prototype/apply/S15.3.4.3_A5_T6.js
+++ b/js/src/tests/test262/built-ins/Function/prototype/apply/S15.3.4.3_A5_T6.js
@@ -15,9 +15,6 @@ var obj = new String("soap");
this.touched = true;
}).apply(obj);
-//CHECK#1
-if (!(obj.touched)) {
- throw new Test262Error('#1: If thisArg is not null(defined) the called function is passed ToObject(thisArg) as the this value');
-}
+assert(obj.touched, 'The value of obj.touched is expected to be true');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Function/prototype/apply/S15.3.4.3_A5_T7.js b/js/src/tests/test262/built-ins/Function/prototype/apply/S15.3.4.3_A5_T7.js
index 0c9ee5e26f69..3e73fd5c2244 100644
--- a/js/src/tests/test262/built-ins/Function/prototype/apply/S15.3.4.3_A5_T7.js
+++ b/js/src/tests/test262/built-ins/Function/prototype/apply/S15.3.4.3_A5_T7.js
@@ -13,9 +13,6 @@ var obj = new Number(1);
Function("this.touched= true;").apply(obj);
-//CHECK#1
-if (!(obj.touched)) {
- throw new Test262Error('#1: If thisArg is not null(defined) the called function is passed ToObject(thisArg) as the this value');
-}
+assert(obj.touched, 'The value of obj.touched is expected to be true');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Function/prototype/apply/S15.3.4.3_A5_T8.js b/js/src/tests/test262/built-ins/Function/prototype/apply/S15.3.4.3_A5_T8.js
index b4b0d1a6a862..4107519a6ecc 100644
--- a/js/src/tests/test262/built-ins/Function/prototype/apply/S15.3.4.3_A5_T8.js
+++ b/js/src/tests/test262/built-ins/Function/prototype/apply/S15.3.4.3_A5_T8.js
@@ -13,9 +13,6 @@ var obj = Function();
new Function("this.touched= true; return this;").apply(obj);
-//CHECK#1
-if (!(obj.touched)) {
- throw new Test262Error('#1: If thisArg is not null(defined) the called function is passed ToObject(thisArg) as the this value');
-}
+assert(obj.touched, 'The value of obj.touched is expected to be true');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Function/prototype/apply/S15.3.4.3_A7_T1.js b/js/src/tests/test262/built-ins/Function/prototype/apply/S15.3.4.3_A7_T1.js
index 9c74c0945488..b87d4f9477e7 100644
--- a/js/src/tests/test262/built-ins/Function/prototype/apply/S15.3.4.3_A7_T1.js
+++ b/js/src/tests/test262/built-ins/Function/prototype/apply/S15.3.4.3_A7_T1.js
@@ -11,9 +11,6 @@ description: argArray is (null,[1])
Function("a1,a2,a3", "this.shifted=a1;").apply(null, [1]);
-//CHECK#1
-if (this["shifted"] !== 1) {
- throw new Test262Error('#1: If argArray is either an array or an arguments object, the function is passed the...');
-}
+assert.sameValue(this["shifted"], 1, 'The value of this["shifted"] is expected to be 1');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Function/prototype/apply/S15.3.4.3_A7_T10.js b/js/src/tests/test262/built-ins/Function/prototype/apply/S15.3.4.3_A7_T10.js
index c4addfc1c1f1..82dbdec6af59 100644
--- a/js/src/tests/test262/built-ins/Function/prototype/apply/S15.3.4.3_A7_T10.js
+++ b/js/src/tests/test262/built-ins/Function/prototype/apply/S15.3.4.3_A7_T10.js
@@ -17,14 +17,12 @@ var obj = {};
Function("a1,a2,a3", "this.shifted=a1+a2+a3;").apply(obj, arguments);
})("", 4, 2);
-//CHECK#1
-if (obj["shifted"] !== "42") {
- throw new Test262Error('#1: If argArray is either an array or an arguments object, the function is passed the...');
-}
+assert.sameValue(obj["shifted"], "42", 'The value of obj["shifted"] is expected to be "42"');
-//CHECK#2
-if (typeof this["shifted"] !== "undefined") {
- throw new Test262Error('#2: If argArray is either an array or an arguments object, the function is passed the...');
-}
+assert.sameValue(
+ typeof this["shifted"],
+ "undefined",
+ 'The value of `typeof this["shifted"]` is expected to be "undefined"'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Function/prototype/apply/S15.3.4.3_A7_T2.js b/js/src/tests/test262/built-ins/Function/prototype/apply/S15.3.4.3_A7_T2.js
index 35834ea3ebb9..6a567da061c3 100644
--- a/js/src/tests/test262/built-ins/Function/prototype/apply/S15.3.4.3_A7_T2.js
+++ b/js/src/tests/test262/built-ins/Function/prototype/apply/S15.3.4.3_A7_T2.js
@@ -11,9 +11,6 @@ description: argArray is (null,[1,2,3])
new Function("a1,a2", "a3", "this.shifted=a2;").apply(null, [1, 2, 3]);
-//CHECK#1
-if (this["shifted"] !== 2) {
- throw new Test262Error('#1: If argArray is either an array or an arguments object, the function is passed the...');
-}
+assert.sameValue(this["shifted"], 2, 'The value of this["shifted"] is expected to be 2');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Function/prototype/apply/S15.3.4.3_A7_T3.js b/js/src/tests/test262/built-ins/Function/prototype/apply/S15.3.4.3_A7_T3.js
index a4413810d35e..cc892830b3a5 100644
--- a/js/src/tests/test262/built-ins/Function/prototype/apply/S15.3.4.3_A7_T3.js
+++ b/js/src/tests/test262/built-ins/Function/prototype/apply/S15.3.4.3_A7_T3.js
@@ -21,14 +21,12 @@ var obj = {};
Function(p, "a2,a3", "this.shifted=a1;").apply(obj, new Array("nine", "inch", "nails"));
-//CHECK#1
-if (obj["shifted"] !== "nine") {
- throw new Test262Error('#1: If argArray is either an array or an arguments object, the function is passed the...');
-}
+assert.sameValue(obj["shifted"], "nine", 'The value of obj["shifted"] is expected to be "nine"');
-//CHECK#2
-if (typeof this["shifted"] !== "undefined") {
- throw new Test262Error('#2: If argArray is either an array or an arguments object, the function is passed the...');
-}
+assert.sameValue(
+ typeof this["shifted"],
+ "undefined",
+ 'The value of `typeof this["shifted"]` is expected to be "undefined"'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Function/prototype/apply/S15.3.4.3_A7_T4.js b/js/src/tests/test262/built-ins/Function/prototype/apply/S15.3.4.3_A7_T4.js
index 2ad746974c3d..cba2cedc0669 100644
--- a/js/src/tests/test262/built-ins/Function/prototype/apply/S15.3.4.3_A7_T4.js
+++ b/js/src/tests/test262/built-ins/Function/prototype/apply/S15.3.4.3_A7_T4.js
@@ -25,14 +25,12 @@ new Function(p, p, p, "this.shifted=a3;").apply(obj, (function() {
return arguments;
})("a", "b", "c"));
-//CHECK#1
-if (obj["shifted"] !== "c") {
- throw new Test262Error('#1: If argArray is either an array or an arguments object, the function is passed the...');
-}
+assert.sameValue(obj["shifted"], "c", 'The value of obj["shifted"] is expected to be "c"');
-//CHECK#2
-if (typeof this["shifted"] !== "undefined") {
- throw new Test262Error('#2: If argArray is either an array or an arguments object, the function is passed the...');
-}
+assert.sameValue(
+ typeof this["shifted"],
+ "undefined",
+ 'The value of `typeof this["shifted"]` is expected to be "undefined"'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Function/prototype/apply/S15.3.4.3_A7_T5.js b/js/src/tests/test262/built-ins/Function/prototype/apply/S15.3.4.3_A7_T5.js
index 25c6afc46e1a..42df4ad2c047 100644
--- a/js/src/tests/test262/built-ins/Function/prototype/apply/S15.3.4.3_A7_T5.js
+++ b/js/src/tests/test262/built-ins/Function/prototype/apply/S15.3.4.3_A7_T5.js
@@ -15,14 +15,7 @@ function FACTORY() {
var obj = new FACTORY("", 1, 2);
-//CHECK#1
-if (this["shifted"] !== "12") {
- throw new Test262Error('#1: If argArray is either an array or an arguments object, the function is passed the...');
-}
-
-//CHECK#2
-if (typeof obj.shifted !== "undefined") {
- throw new Test262Error('#2: If argArray is either an array or an arguments object, the function is passed the...');
-}
+assert.sameValue(this["shifted"], "12", 'The value of this["shifted"] is expected to be "12"');
+assert.sameValue(typeof obj.shifted, "undefined", 'The value of `typeof obj.shifted` is expected to be "undefined"');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Function/prototype/apply/S15.3.4.3_A7_T6.js b/js/src/tests/test262/built-ins/Function/prototype/apply/S15.3.4.3_A7_T6.js
index c9b404d13e23..fd83bfcb70ad 100644
--- a/js/src/tests/test262/built-ins/Function/prototype/apply/S15.3.4.3_A7_T6.js
+++ b/js/src/tests/test262/built-ins/Function/prototype/apply/S15.3.4.3_A7_T6.js
@@ -15,14 +15,12 @@ function FACTORY() {
var obj = new FACTORY("", 4, 2);
-//CHECK#1
-if (obj["shifted"] !== "42") {
- throw new Test262Error('#1: If argArray is either an array or an arguments object, the function is passed the...');
-}
+assert.sameValue(obj["shifted"], "42", 'The value of obj["shifted"] is expected to be "42"');
-//CHECK#2
-if (typeof this["shifted"] !== "undefined") {
- throw new Test262Error('#2: If argArray is either an array or an arguments object, the function is passed the...');
-}
+assert.sameValue(
+ typeof this["shifted"],
+ "undefined",
+ 'The value of `typeof this["shifted"]` is expected to be "undefined"'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Function/prototype/apply/S15.3.4.3_A7_T7.js b/js/src/tests/test262/built-ins/Function/prototype/apply/S15.3.4.3_A7_T7.js
index fcbe0ea841f9..7bea364ab326 100644
--- a/js/src/tests/test262/built-ins/Function/prototype/apply/S15.3.4.3_A7_T7.js
+++ b/js/src/tests/test262/built-ins/Function/prototype/apply/S15.3.4.3_A7_T7.js
@@ -15,9 +15,6 @@ description: >
Function("a1,a2,a3", "this.shifted=a1+a2+a3;").apply(null, arguments);
})("", 1, 2);
-//CHECK#1
-if (this["shifted"] !== "12") {
- throw new Test262Error('#1: If argArray is either an array or an arguments object, the function is passed the...');
-}
+assert.sameValue(this["shifted"], "12", 'The value of this["shifted"] is expected to be "12"');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Function/prototype/apply/S15.3.4.3_A7_T8.js b/js/src/tests/test262/built-ins/Function/prototype/apply/S15.3.4.3_A7_T8.js
index ea06638479c5..cec72bf167a5 100644
--- a/js/src/tests/test262/built-ins/Function/prototype/apply/S15.3.4.3_A7_T8.js
+++ b/js/src/tests/test262/built-ins/Function/prototype/apply/S15.3.4.3_A7_T8.js
@@ -15,9 +15,6 @@ description: >
Function("a1,a2,a3", "this.shifted=a1+a2+a3;").apply(this, arguments);
})("", 4, 2);
-//CHECK#2
-if (this["shifted"] !== "42") {
- throw new Test262Error('#2: If argArray is either an array or an arguments object, the function is passed the...');
-}
+assert.sameValue(this["shifted"], "42", 'The value of this["shifted"] is expected to be "42"');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Function/prototype/apply/S15.3.4.3_A7_T9.js b/js/src/tests/test262/built-ins/Function/prototype/apply/S15.3.4.3_A7_T9.js
index 95cb1789e6d8..3b5b7295e9e4 100644
--- a/js/src/tests/test262/built-ins/Function/prototype/apply/S15.3.4.3_A7_T9.js
+++ b/js/src/tests/test262/built-ins/Function/prototype/apply/S15.3.4.3_A7_T9.js
@@ -19,14 +19,12 @@ function FACTORY() {
var obj = new FACTORY("", 1, 2);
-//CHECK#1
-if (typeof this["shifted"] !== "undefined") {
- throw new Test262Error('#1: If argArray is either an array or an arguments object, the function is passed the...');
-}
+assert.sameValue(
+ typeof this["shifted"],
+ "undefined",
+ 'The value of `typeof this["shifted"]` is expected to be "undefined"'
+);
-//CHECK#2
-if (obj.shifted !== "12") {
- throw new Test262Error('#2: If argArray is either an array or an arguments object, the function is passed the...');
-}
+assert.sameValue(obj.shifted, "12", 'The value of obj.shifted is expected to be "12"');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Function/prototype/apply/S15.3.4.3_A8_T1.js b/js/src/tests/test262/built-ins/Function/prototype/apply/S15.3.4.3_A8_T1.js
deleted file mode 100644
index f83414e963d2..000000000000
--- a/js/src/tests/test262/built-ins/Function/prototype/apply/S15.3.4.3_A8_T1.js
+++ /dev/null
@@ -1,19 +0,0 @@
-// Copyright 2009 the Sputnik authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-info: Function.prototype.apply can`t be used as [[Construct]] caller
-es5id: 15.3.4.3_A8_T1
-description: Checking if creating "new Function.prototype.apply" fails
----*/
-
-try {
- var obj = new Function.prototype.apply;
- throw new Test262Error('#1: Function.prototype.apply can\'t be used as [[Construct]] caller');
-} catch (e) {
- if (!(e instanceof TypeError)) {
- throw new Test262Error('#1.1: Function.prototype.apply can\'t be used as [[Construct]] caller');
- }
-}
-
-reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Function/prototype/apply/S15.3.4.3_A8_T2.js b/js/src/tests/test262/built-ins/Function/prototype/apply/S15.3.4.3_A8_T2.js
deleted file mode 100644
index fbbab18b5dd8..000000000000
--- a/js/src/tests/test262/built-ins/Function/prototype/apply/S15.3.4.3_A8_T2.js
+++ /dev/null
@@ -1,19 +0,0 @@
-// Copyright 2009 the Sputnik authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-info: Function.prototype.apply can`t be used as [[Construct]] caller
-es5id: 15.3.4.3_A8_T2
-description: Checking if creating "new Function.prototype.apply()" fails
----*/
-
-try {
- var obj = new Function.prototype.apply();
- throw new Test262Error('#1: Function.prototype.apply can\'t be used as [[Construct]] caller');
-} catch (e) {
- if (!(e instanceof TypeError)) {
- throw new Test262Error('#1.1: Function.prototype.apply can\'t be used as [[Construct]] caller');
- }
-}
-
-reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Function/prototype/apply/S15.3.4.3_A8_T3.js b/js/src/tests/test262/built-ins/Function/prototype/apply/S15.3.4.3_A8_T3.js
index ef7ed67ad5e3..6abf2d08879e 100644
--- a/js/src/tests/test262/built-ins/Function/prototype/apply/S15.3.4.3_A8_T3.js
+++ b/js/src/tests/test262/built-ins/Function/prototype/apply/S15.3.4.3_A8_T3.js
@@ -11,9 +11,7 @@ try {
var obj = new Function.apply;
throw new Test262Error('#1: Function.prototype.apply can\'t be used as [[Construct]] caller');
} catch (e) {
- if (!(e instanceof TypeError)) {
- throw new Test262Error('#1.1: Function.prototype.apply can\'t be used as [[Construct]] caller');
- }
+ assert(e instanceof TypeError, 'The result of evaluating (e instanceof TypeError) is expected to be true');
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Function/prototype/apply/S15.3.4.3_A8_T4.js b/js/src/tests/test262/built-ins/Function/prototype/apply/S15.3.4.3_A8_T4.js
index 04d805bd7994..d2a4f31ecbb2 100644
--- a/js/src/tests/test262/built-ins/Function/prototype/apply/S15.3.4.3_A8_T4.js
+++ b/js/src/tests/test262/built-ins/Function/prototype/apply/S15.3.4.3_A8_T4.js
@@ -11,9 +11,7 @@ try {
var obj = new(Function("this.p1=1").apply);
throw new Test262Error('#1: Function.prototype.apply can\'t be used as [[Construct]] caller');
} catch (e) {
- if (!(e instanceof TypeError)) {
- throw new Test262Error('#1.1: Function.prototype.apply can\'t be used as [[Construct]] caller');
- }
+ assert(e instanceof TypeError, 'The result of evaluating (e instanceof TypeError) is expected to be true');
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Function/prototype/apply/S15.3.4.3_A8_T5.js b/js/src/tests/test262/built-ins/Function/prototype/apply/S15.3.4.3_A8_T5.js
index 8578c63d937e..f5adac61f123 100644
--- a/js/src/tests/test262/built-ins/Function/prototype/apply/S15.3.4.3_A8_T5.js
+++ b/js/src/tests/test262/built-ins/Function/prototype/apply/S15.3.4.3_A8_T5.js
@@ -12,9 +12,7 @@ try {
var obj = new FACTORY();
throw new Test262Error('#1: Function.prototype.apply can\'t be used as [[Construct]] caller');
} catch (e) {
- if (!(e instanceof TypeError)) {
- throw new Test262Error('#1.1: Function.prototype.apply can\'t be used as [[Construct]] caller');
- }
+ assert(e instanceof TypeError, 'The result of evaluating (e instanceof TypeError) is expected to be true');
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Function/prototype/apply/S15.3.4.3_A8_T6.js b/js/src/tests/test262/built-ins/Function/prototype/apply/S15.3.4.3_A8_T6.js
index c830140f5cef..4f278d44c13b 100644
--- a/js/src/tests/test262/built-ins/Function/prototype/apply/S15.3.4.3_A8_T6.js
+++ b/js/src/tests/test262/built-ins/Function/prototype/apply/S15.3.4.3_A8_T6.js
@@ -9,16 +9,12 @@ description: >
f(){this.p1=1;};return f").apply())" fails
---*/
-//CHECK#1
try {
var obj = new(Function("function f(){this.p1=1;};return f").apply());
} catch (e) {
throw new Test262Error('#1: Function.prototype.apply can\'t be used as [[Construct]] caller');
}
-//CHECK#2
-if (obj.p1 !== 1) {
- throw new Test262Error('#2: Function.prototype.apply can\'t be used as [[Construct]] caller');
-}
+assert.sameValue(obj.p1, 1, 'The value of obj.p1 is expected to be 1');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Function/prototype/apply/not-a-constructor.js b/js/src/tests/test262/built-ins/Function/prototype/apply/not-a-constructor.js
index ae390849e4bc..43275e54f01e 100644
--- a/js/src/tests/test262/built-ins/Function/prototype/apply/not-a-constructor.js
+++ b/js/src/tests/test262/built-ins/Function/prototype/apply/not-a-constructor.js
@@ -27,9 +27,12 @@ assert.sameValue(
'isConstructor(Function.prototype.apply) must return false'
);
+assert.throws(TypeError, () => {
+ new Function.prototype.apply;
+}, '`new Function.prototype.apply` throws TypeError');
+
assert.throws(TypeError, () => {
new Function.prototype.apply();
}, '`new Function.prototype.apply()` throws TypeError');
-
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Function/prototype/bind/S15.3.4.5_A1.js b/js/src/tests/test262/built-ins/Function/prototype/bind/S15.3.4.5_A1.js
index df1bee5f050f..6a3d1fc9dd27 100644
--- a/js/src/tests/test262/built-ins/Function/prototype/bind/S15.3.4.5_A1.js
+++ b/js/src/tests/test262/built-ins/Function/prototype/bind/S15.3.4.5_A1.js
@@ -18,6 +18,6 @@ function baz() {
assert.throws(TypeError, function() {
baz();
-});
+}, 'baz() throws a TypeError exception');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Function/prototype/bind/S15.3.4.5_A13.js b/js/src/tests/test262/built-ins/Function/prototype/bind/S15.3.4.5_A13.js
index b17bad8ae124..01147fa0e9e4 100644
--- a/js/src/tests/test262/built-ins/Function/prototype/bind/S15.3.4.5_A13.js
+++ b/js/src/tests/test262/built-ins/Function/prototype/bind/S15.3.4.5_A13.js
@@ -8,6 +8,6 @@ description: If IsCallable(func) is false, then throw a TypeError exception.
assert.throws(TypeError, function() {
Function.prototype.bind.call(undefined, {});
-});
+}, 'Function.prototype.bind.call(undefined, {}) throws a TypeError exception');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Function/prototype/bind/S15.3.4.5_A14.js b/js/src/tests/test262/built-ins/Function/prototype/bind/S15.3.4.5_A14.js
index 2412d6d4ac49..ef80439ee130 100644
--- a/js/src/tests/test262/built-ins/Function/prototype/bind/S15.3.4.5_A14.js
+++ b/js/src/tests/test262/built-ins/Function/prototype/bind/S15.3.4.5_A14.js
@@ -8,6 +8,6 @@ description: If IsCallable(func) is false, then throw a TypeError exception.
assert.throws(TypeError, function() {
Function.prototype.bind.call(null, {});
-});
+}, 'Function.prototype.bind.call(null, {}) throws a TypeError exception');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Function/prototype/bind/S15.3.4.5_A15.js b/js/src/tests/test262/built-ins/Function/prototype/bind/S15.3.4.5_A15.js
index 9eb8a23f534d..31ea5be65f17 100644
--- a/js/src/tests/test262/built-ins/Function/prototype/bind/S15.3.4.5_A15.js
+++ b/js/src/tests/test262/built-ins/Function/prototype/bind/S15.3.4.5_A15.js
@@ -8,6 +8,6 @@ description: If IsCallable(func) is false, then throw a TypeError exception.
assert.throws(TypeError, function() {
Function.prototype.bind.call({}, {});
-});
+}, 'Function.prototype.bind.call({}, {}) throws a TypeError exception');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Function/prototype/bind/S15.3.4.5_A16.js b/js/src/tests/test262/built-ins/Function/prototype/bind/S15.3.4.5_A16.js
index 5b54ba0a247f..22cb39531b67 100644
--- a/js/src/tests/test262/built-ins/Function/prototype/bind/S15.3.4.5_A16.js
+++ b/js/src/tests/test262/built-ins/Function/prototype/bind/S15.3.4.5_A16.js
@@ -19,9 +19,7 @@ if (typeof re === 'function') {
throw new Test262Error('#1: If IsCallable(func) is false, ' +
'then (bind should) throw a TypeError exception');
} catch (e) {
- if (!(e instanceof TypeError)) {
- throw new Test262Error('#1: TypeError expected. Actual: ' + e);
- }
+ assert(e instanceof TypeError, 'The result of evaluating (e instanceof TypeError) is expected to be true');
}
}
diff --git a/js/src/tests/test262/built-ins/Function/prototype/bind/S15.3.4.5_A2.js b/js/src/tests/test262/built-ins/Function/prototype/bind/S15.3.4.5_A2.js
index 0e26ba2243be..fe00b327a97e 100644
--- a/js/src/tests/test262/built-ins/Function/prototype/bind/S15.3.4.5_A2.js
+++ b/js/src/tests/test262/built-ins/Function/prototype/bind/S15.3.4.5_A2.js
@@ -18,6 +18,6 @@ function baz() {
assert.throws(TypeError, function() {
baz();
-});
+}, 'baz() throws a TypeError exception');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Function/prototype/bind/S15.3.4.5_A3.js b/js/src/tests/test262/built-ins/Function/prototype/bind/S15.3.4.5_A3.js
index 425b5c436bba..334561651a8b 100644
--- a/js/src/tests/test262/built-ins/Function/prototype/bind/S15.3.4.5_A3.js
+++ b/js/src/tests/test262/built-ins/Function/prototype/bind/S15.3.4.5_A3.js
@@ -5,9 +5,9 @@
es5id: 15.3.4.5_A3
description: Function.prototype.bind must exist
---*/
-
-if (!('bind' in Function.prototype)) {
- throw new Test262Error('Function.prototype.bind is missing');
-}
+assert(
+ 'bind' in Function.prototype,
+ 'The result of evaluating (\'bind\' in Function.prototype) is expected to be true'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Function/prototype/bind/S15.3.4.5_A5.js b/js/src/tests/test262/built-ins/Function/prototype/bind/S15.3.4.5_A5.js
index 87afc9b8af6c..55061a1aa522 100644
--- a/js/src/tests/test262/built-ins/Function/prototype/bind/S15.3.4.5_A5.js
+++ b/js/src/tests/test262/built-ins/Function/prototype/bind/S15.3.4.5_A5.js
@@ -13,8 +13,11 @@ function construct(f, args) {
return new bound();
}
var d = construct(Date, [1957, 4, 27]);
-if (Object.prototype.toString.call(d) !== '[object Date]') {
- throw new Test262Error('Using the Date constructor via .bind did not create a Date.');
-}
+
+assert.sameValue(
+ Object.prototype.toString.call(d),
+ '[object Date]',
+ 'Object.prototype.toString.call(construct(Date, [1957, 4, 27])) must return "[object Date]"'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A10.js b/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A10.js
index d32014eef6eb..fbe9afc864b2 100644
--- a/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A10.js
+++ b/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A10.js
@@ -9,11 +9,10 @@ description: >
fails
includes: [propertyHelper.js]
---*/
-
-//CHECK#1
-if (!(Function.prototype.call.hasOwnProperty('length'))) {
- throw new Test262Error('#1: the Function.prototype.call has length property.');
-}
+assert(
+ Function.prototype.call.hasOwnProperty('length'),
+ 'Function.prototype.call.hasOwnProperty(\'length\') must return true'
+);
var obj = Function.prototype.call.length;
@@ -21,9 +20,12 @@ verifyNotWritable(Function.prototype.call, "length", null, function() {
return "shifted";
});
-//CHECK#2
-if (Function.prototype.call.length !== obj) {
- throw new Test262Error('#2: the Function.prototype.call length property has the attributes ReadOnly.');
-}
+assert.sameValue(
+ Function.prototype.call.length,
+ obj,
+ 'The value of Function.prototype.call.length is expected to equal the value of obj'
+);
+
+// TODO: Convert to verifyProperty() format.
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A11.js b/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A11.js
index be1b8ec98ae9..9263fb61136e 100644
--- a/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A11.js
+++ b/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A11.js
@@ -8,22 +8,21 @@ description: >
Checking if enumerating the Function.prototype.call.length
property fails
---*/
+assert(
+ Function.prototype.call.hasOwnProperty('length'),
+ 'Function.prototype.call.hasOwnProperty(\'length\') must return true'
+);
-//CHECK#0
-if (!(Function.prototype.call.hasOwnProperty('length'))) {
- throw new Test262Error('#0: the Function.prototype.call has length property.');
-}
-
-
-// CHECK#1
-if (Function.prototype.call.propertyIsEnumerable('length')) {
- throw new Test262Error('#1: the Function.prototype.call.length property has the attributes DontEnum');
-}
+assert(
+ !Function.prototype.call.propertyIsEnumerable('length'),
+ 'The value of !Function.prototype.call.propertyIsEnumerable(\'length\') is expected to be true'
+);
// CHECK#2
for (var p in Function.prototype.call) {
- if (p === "length")
- throw new Test262Error('#2: the Function.prototype.call.length property has the attributes DontEnum');
+ assert.notSameValue(p, "length", 'The value of p is not "length"');
}
+// TODO: Convert to verifyProperty() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A12.js b/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A12.js
index e3f1586d8664..1ad9112456ec 100644
--- a/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A12.js
+++ b/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A12.js
@@ -8,10 +8,10 @@ description: >
Checking if obtaining the prototype property of
Function.prototype.call fails
---*/
-
-//CHECK#1
-if (Function.prototype.call.prototype !== undefined) {
- throw new Test262Error('#1: Function.prototype.call has not prototype property' + Function.prototype.call.prototype);
-}
+assert.sameValue(
+ Function.prototype.call.prototype,
+ undefined,
+ 'The value of Function.prototype.call.prototype is expected to equal undefined'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A13.js b/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A13.js
index ec28751eeef0..4e028072748d 100644
--- a/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A13.js
+++ b/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A13.js
@@ -8,6 +8,6 @@ description: If IsCallable(func) is false, then throw a TypeError exception.
assert.throws(TypeError, function() {
Function.prototype.call.call(undefined, {});
-});
+}, 'Function.prototype.call.call(undefined, {}) throws a TypeError exception');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A14.js b/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A14.js
index 3a98c3641359..4d0b259054b5 100644
--- a/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A14.js
+++ b/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A14.js
@@ -8,6 +8,6 @@ description: If IsCallable(func) is false, then throw a TypeError exception.
assert.throws(TypeError, function() {
Function.prototype.call.call(null, {});
-});
+}, 'Function.prototype.call.call(null, {}) throws a TypeError exception');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A15.js b/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A15.js
index c4ca5a0914ef..412b447fc4d8 100644
--- a/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A15.js
+++ b/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A15.js
@@ -8,6 +8,6 @@ description: If IsCallable(func) is false, then throw a TypeError exception.
assert.throws(TypeError, function() {
Function.prototype.call.call({}, {});
-});
+}, 'Function.prototype.call.call({}, {}) throws a TypeError exception');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A16.js b/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A16.js
index e4ecdafad153..604e931effe2 100644
--- a/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A16.js
+++ b/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A16.js
@@ -19,9 +19,7 @@ if (typeof re === 'function') {
throw new Test262Error('#1: If IsCallable(func) is false, ' +
'then (bind should) throw a TypeError exception');
} catch (e) {
- if (!(e instanceof TypeError)) {
- throw new Test262Error('#1: TypeError expected. Actual: ' + e);
- }
+ assert(e instanceof TypeError, 'The result of evaluating (e instanceof TypeError) is expected to be true');
}
}
diff --git a/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A1_T1.js b/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A1_T1.js
index 77d3524780d1..2181d122e717 100644
--- a/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A1_T1.js
+++ b/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A1_T1.js
@@ -14,25 +14,19 @@ description: >
var proto = Function();
-function FACTORY() {};
+function FACTORY() {}
FACTORY.prototype = proto;
var obj = new FACTORY;
-//CHECK#1
-if (typeof obj.call !== "function") {
- throw new Test262Error('#1: call method accessed');
-}
+assert.sameValue(typeof obj.call, "function", 'The value of `typeof obj.call` is expected to be "function"');
-//CHECK#2
try {
obj.call();
throw new Test262Error('#2: If the object does not have a [[Call]] property, a TypeError exception is thrown');
} catch (e) {
- if (!(e instanceof TypeError)) {
- throw new Test262Error('#2.1: If the object does not have a [[Call]] property, a TypeError exception is thrown');
- }
+ assert(e instanceof TypeError, 'The result of evaluating (e instanceof TypeError) is expected to be true');
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A1_T2.js b/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A1_T2.js
index 432c40e2b937..b0fe479c164f 100644
--- a/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A1_T2.js
+++ b/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A1_T2.js
@@ -12,25 +12,19 @@ description: >
property. Prototype of the object is Function.prototype
---*/
-function FACTORY() {};
+function FACTORY() {}
FACTORY.prototype = Function.prototype;
var obj = new FACTORY;
-//CHECK#1
-if (typeof obj.call !== "function") {
- throw new Test262Error('#1: call method accessed');
-}
+assert.sameValue(typeof obj.call, "function", 'The value of `typeof obj.call` is expected to be "function"');
-//CHECK#2
try {
obj.call();
throw new Test262Error('#2: If the object does not have a [[Call]] property, a TypeError exception is thrown');
} catch (e) {
- if (!(e instanceof TypeError)) {
- throw new Test262Error('#2.1: If the object does not have a [[Call]] property, a TypeError exception is thrown');
- }
+ assert(e instanceof TypeError, 'The result of evaluating (e instanceof TypeError) is expected to be true');
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A2_T1.js b/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A2_T1.js
index 75da761dd61b..ad0916147734 100644
--- a/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A2_T1.js
+++ b/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A2_T1.js
@@ -6,20 +6,18 @@ info: The length property of the call method is 1
es5id: 15.3.4.4_A2_T1
description: Checking Function.prototype.call.length
---*/
+assert.sameValue(
+ typeof Function.prototype.call,
+ "function",
+ 'The value of `typeof Function.prototype.call` is expected to be "function"'
+);
-//CHECK#1
-if (typeof Function.prototype.call !== "function") {
- throw new Test262Error('#1: call method defined');
-}
+assert.notSameValue(
+ typeof Function.prototype.call.length,
+ "undefined",
+ 'The value of typeof Function.prototype.call.length is not "undefined"'
+);
-//CHECK#2
-if (typeof Function.prototype.call.length === "undefined") {
- throw new Test262Error('#2: length property of call method defined');
-}
-
-//CHECK#3
-if (Function.prototype.call.length !== 1) {
- throw new Test262Error('#3: The length property of the call method is 1');
-}
+assert.sameValue(Function.prototype.call.length, 1, 'The value of Function.prototype.call.length is expected to be 1');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A2_T2.js b/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A2_T2.js
index a10fc9fff382..d0845a1a8566 100644
--- a/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A2_T2.js
+++ b/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A2_T2.js
@@ -9,19 +9,8 @@ description: Checking f.call.length, where f is new Function
var f = new Function;
-//CHECK#1
-if (typeof f.call !== "function") {
- throw new Test262Error('#1: call method accessed');
-}
-
-//CHECK#2
-if (typeof f.call.length === "undefined") {
- throw new Test262Error('#2: length property of call method defined');
-}
-
-//CHECK#3
-if (f.call.length !== 1) {
- throw new Test262Error('#3: The length property of the call method is 1');
-}
+assert.sameValue(typeof f.call, "function", 'The value of `typeof f.call` is expected to be "function"');
+assert.notSameValue(typeof f.call.length, "undefined", 'The value of typeof f.call.length is not "undefined"');
+assert.sameValue(f.call.length, 1, 'The value of f.call.length is expected to be 1');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A3_T1.js b/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A3_T1.js
index ae1f34a99150..58dd4fa91be3 100644
--- a/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A3_T1.js
+++ b/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A3_T1.js
@@ -11,9 +11,6 @@ description: Not any arguments at call function
Function("this.field=\"strawberry\"").call();
-//CHECK#1
-if (this["field"] !== "strawberry") {
- throw new Test262Error('#1: If thisArg is null or undefined, the called function is passed the global object as the this value');
-}
+assert.sameValue(this["field"], "strawberry", 'The value of this["field"] is expected to be "strawberry"');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A3_T10.js b/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A3_T10.js
index 6129c4d14e53..5ba2630d126c 100644
--- a/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A3_T10.js
+++ b/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A3_T10.js
@@ -12,9 +12,6 @@ flags: [noStrict]
eval(" (function(){this.feat=1}).call()");
-//CHECK#1
-if (this["feat"] !== 1) {
- throw new Test262Error('#1: If thisArg is null or undefined, the called function is passed the global object as the this value');
-}
+assert.sameValue(this["feat"], 1, 'The value of this["feat"] is expected to be 1');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A3_T2.js b/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A3_T2.js
index 05b7fb23fd84..b2012d589d51 100644
--- a/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A3_T2.js
+++ b/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A3_T2.js
@@ -11,9 +11,6 @@ description: Argument at call function is null
Function("this.field=\"green\"").call(null);
-//CHECK#1
-if (this["field"] !== "green") {
- throw new Test262Error('#1: If thisArg is null or undefined, the called function is passed the global object as the this value');
-}
+assert.sameValue(this["field"], "green", 'The value of this["field"] is expected to be "green"');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A3_T3.js b/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A3_T3.js
index cc98b78202f2..770dbb618359 100644
--- a/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A3_T3.js
+++ b/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A3_T3.js
@@ -11,9 +11,6 @@ description: Argument at call function is void 0
Function("this.field=\"battle\"").call(void 0);
-//CHECK#1
-if (this["field"] !== "battle") {
- throw new Test262Error('#1: If thisArg is null or undefined, the called function is passed the global object as the this value');
-}
+assert.sameValue(this["field"], "battle", 'The value of this["field"] is expected to be "battle"');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A3_T4.js b/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A3_T4.js
index 8ff0a896a8fe..a7c48ffbef7b 100644
--- a/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A3_T4.js
+++ b/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A3_T4.js
@@ -11,9 +11,6 @@ description: Argument at call function is undefined
Function("this.field=\"oil\"").call(undefined);
-//CHECK#1
-if (this["field"] !== "oil") {
- throw new Test262Error('#1: If thisArg is null or undefined, the called function is passed the global object as the this value');
-}
+assert.sameValue(this["field"], "oil", 'The value of this["field"] is expected to be "oil"');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A3_T5.js b/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A3_T5.js
index 717dd7ff0af1..7e107200d7b7 100644
--- a/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A3_T5.js
+++ b/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A3_T5.js
@@ -13,18 +13,11 @@ description: >
function FACTORY() {
Function("this.feat=\"in da haus\"").call();
-};
+}
var obj = new FACTORY;
-//CHECK#1
-if (this["feat"] !== "in da haus") {
- throw new Test262Error('#1: If thisArg is null or undefined, the called function is passed the global object as the this value');
-}
-
-//CHECK#2
-if (typeof obj.feat !== "undefined") {
- throw new Test262Error('#1: If thisArg is null or undefined, the called function is passed the global object as the this value');
-}
+assert.sameValue(this["feat"], "in da haus", 'The value of this["feat"] is expected to be "in da haus"');
+assert.sameValue(typeof obj.feat, "undefined", 'The value of `typeof obj.feat` is expected to be "undefined"');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A3_T6.js b/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A3_T6.js
index 426f1a6e6c32..1b91976f6dcb 100644
--- a/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A3_T6.js
+++ b/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A3_T6.js
@@ -16,18 +16,11 @@ function FACTORY() {
(function() {
this.feat = "kamon beyba"
}).call(null);
-};
+}
var obj = new FACTORY;
-//CHECK#1
-if (this["feat"] !== "kamon beyba") {
- throw new Test262Error('#1: If thisArg is null or undefined, the called function is passed the global object as the this value');
-}
-
-//CHECK#2
-if (typeof obj.feat !== "undefined") {
- throw new Test262Error('#1: If thisArg is null or undefined, the called function is passed the global object as the this value');
-}
+assert.sameValue(this["feat"], "kamon beyba", 'The value of this["feat"] is expected to be "kamon beyba"');
+assert.sameValue(typeof obj.feat, "undefined", 'The value of `typeof obj.feat` is expected to be "undefined"');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A3_T7.js b/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A3_T7.js
index 75fa8c8ba5c9..4bbb732e069b 100644
--- a/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A3_T7.js
+++ b/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A3_T7.js
@@ -16,9 +16,6 @@ description: >
})();
-//CHECK#1
-if (this["feat"] !== "in da haus") {
- throw new Test262Error('#1: If thisArg is null or undefined, the called function is passed the global object as the this value');
-}
+assert.sameValue(this["feat"], "in da haus", 'The value of this["feat"] is expected to be "in da haus"');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A3_T8.js b/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A3_T8.js
index 251febcccf59..7bf141e483ec 100644
--- a/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A3_T8.js
+++ b/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A3_T8.js
@@ -19,9 +19,6 @@ flags: [noStrict]
})();
-//CHECK#1
-if (this["feat"] !== "kamon beyba") {
- throw new Test262Error('#1: If thisArg is null or undefined, the called function is passed the global object as the this value');
-}
+assert.sameValue(this["feat"], "kamon beyba", 'The value of this["feat"] is expected to be "kamon beyba"');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A3_T9.js b/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A3_T9.js
index cfd821b02201..47962ebc3056 100644
--- a/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A3_T9.js
+++ b/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A3_T9.js
@@ -12,9 +12,6 @@ description: Checking by using eval, argument at call function is void 0
eval(" Function(\"this.feat=1\").call(void 0) ");
-//CHECK#1
-if (this["feat"] !== 1) {
- throw new Test262Error('#1: If thisArg is null or undefined, the called function is passed the global object as the this value');
-}
+assert.sameValue(this["feat"], 1, 'The value of this["feat"] is expected to be 1');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A5_T1.js b/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A5_T1.js
index 2b805c4e640d..4255230d8313 100644
--- a/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A5_T1.js
+++ b/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A5_T1.js
@@ -13,14 +13,7 @@ var obj = 1;
var retobj = Function("this.touched= true; return this;").call(obj);
-//CHECK#1
-if (typeof obj.touched !== "undefined") {
- throw new Test262Error('#1: If thisArg is not null(defined) the called function is passed ToObject(thisArg) as the this value');
-}
-
-//CHECK#2
-if (!(retobj["touched"])) {
- throw new Test262Error('#2: If thisArg is not null(defined) the called function is passed ToObject(thisArg) as the this value');
-}
+assert.sameValue(typeof obj.touched, "undefined", 'The value of `typeof obj.touched` is expected to be "undefined"');
+assert(retobj["touched"], 'The value of retobj["touched"] is expected to be true');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A5_T2.js b/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A5_T2.js
index 77f422ae9ff0..7194b044be40 100644
--- a/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A5_T2.js
+++ b/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A5_T2.js
@@ -13,14 +13,7 @@ var obj = true;
var retobj = new Function("this.touched= true; return this;").call(obj);
-//CHECK#1
-if (typeof obj.touched !== "undefined") {
- throw new Test262Error('#1: If thisArg is not null(defined) the called function is passed ToObject(thisArg) as the this value');
-}
-
-//CHECK#2
-if (!(retobj["touched"])) {
- throw new Test262Error('#2: If thisArg is not null(defined) the called function is passed ToObject(thisArg) as the this value');
-}
+assert.sameValue(typeof obj.touched, "undefined", 'The value of `typeof obj.touched` is expected to be "undefined"');
+assert(retobj["touched"], 'The value of retobj["touched"] is expected to be true');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A5_T3.js b/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A5_T3.js
index 0ad49bf505d9..8b5c52d4d0d5 100644
--- a/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A5_T3.js
+++ b/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A5_T3.js
@@ -17,14 +17,7 @@ var retobj = (function() {
return this;
}).call(obj);
-//CHECK#1
-if (typeof obj.touched !== "undefined") {
- throw new Test262Error('#1: If thisArg is not null(defined) the called function is passed ToObject(thisArg) as the this value');
-}
-
-//CHECK#2
-if (!(retobj["touched"])) {
- throw new Test262Error('#2: If thisArg is not null(defined) the called function is passed ToObject(thisArg) as the this value');
-}
+assert.sameValue(typeof obj.touched, "undefined", 'The value of `typeof obj.touched` is expected to be "undefined"');
+assert(retobj["touched"], 'The value of retobj["touched"] is expected to be true');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A5_T4.js b/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A5_T4.js
index f7565e6edef3..f2e10b1020b4 100644
--- a/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A5_T4.js
+++ b/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A5_T4.js
@@ -17,15 +17,8 @@ var f = function() {
var retobj = f.call(obj);
-//CHECK#1
-if (typeof obj !== "undefined") {
- throw new Test262Error('#1: If thisArg is not null(defined) the called function is passed ToObject(thisArg) as the this value');
-}
-
-//CHECK#2
-if (!(retobj["touched"])) {
- throw new Test262Error('#2: If thisArg is not null(defined) the called function is passed ToObject(thisArg) as the this value');
-}
+assert.sameValue(typeof obj, "undefined", 'The value of `typeof obj` is expected to be "undefined"');
+assert(retobj["touched"], 'The value of retobj["touched"] is expected to be true');
var obj;
diff --git a/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A5_T5.js b/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A5_T5.js
index a2aef9d7c674..e1e34c9ade2e 100644
--- a/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A5_T5.js
+++ b/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A5_T5.js
@@ -17,9 +17,6 @@ var obj = {};
f.call(obj);
-//CHECK#1
-if (!(obj.touched)) {
- throw new Test262Error('#1: If thisArg is not null(defined) the called function is passed ToObject(thisArg) as the this value');
-}
+assert(obj.touched, 'The value of obj.touched is expected to be true');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A5_T6.js b/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A5_T6.js
index f0ec0415917e..1a1d96d6cf99 100644
--- a/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A5_T6.js
+++ b/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A5_T6.js
@@ -15,9 +15,6 @@ var obj = new String("soap");
this.touched = true;
}).call(obj);
-//CHECK#1
-if (!(obj.touched)) {
- throw new Test262Error('#1: If thisArg is not null(defined) the called function is passed ToObject(thisArg) as the this value');
-}
+assert(obj.touched, 'The value of obj.touched is expected to be true');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A5_T7.js b/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A5_T7.js
index 79c2a3a2499e..0497ca630d57 100644
--- a/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A5_T7.js
+++ b/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A5_T7.js
@@ -13,9 +13,6 @@ var obj = new Number(1);
Function("this.touched= true;").call(obj);
-//CHECK#1
-if (!(obj.touched)) {
- throw new Test262Error('#1: If thisArg is not null(defined) the called function is passed ToObject(thisArg) as the this value');
-}
+assert(obj.touched, 'The value of obj.touched is expected to be true');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A5_T8.js b/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A5_T8.js
index 8208469c8c40..bd7a7d454bac 100644
--- a/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A5_T8.js
+++ b/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A5_T8.js
@@ -13,9 +13,6 @@ var obj = Function();
new Function("this.touched= true; return this;").call(obj);
-//CHECK#1
-if (!(obj.touched)) {
- throw new Test262Error('#1: If thisArg is not null(defined) the called function is passed ToObject(thisArg) as the this value');
-}
+assert(obj.touched, 'The value of obj.touched is expected to be true');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A6_T1.js b/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A6_T1.js
index 105c50203594..095ca34cd725 100644
--- a/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A6_T1.js
+++ b/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A6_T1.js
@@ -11,19 +11,13 @@ description: Argunemts of call function is (null,[1])
Function("a1,a2,a3", "this.shifted=a1;").call(null, [1]);
-//CHECK#1
-if (this["shifted"].constructor !== Array) {
- throw new Test262Error('#1: The call method takes one or more arguments, thisArg and (optionally) arg1, arg2 etc, and performs a function call using the [[Call]] property of the object');
-}
+assert.sameValue(
+ this["shifted"].constructor,
+ Array,
+ 'The value of this["shifted"].constructor is expected to equal the value of Array'
+);
-//CHECK#2
-if (this["shifted"].length !== 1) {
- throw new Test262Error('#2: The call method takes one or more arguments, thisArg and (optionally) arg1, arg2 etc, and performs a function call using the [[Call]] property of the object');
-}
-
-//CHECK#3
-if (this["shifted"][0] !== 1) {
- throw new Test262Error('#3: The call method takes one or more arguments, thisArg and (optionally) arg1, arg2 etc, and performs a function call using the [[Call]] property of the object');
-}
+assert.sameValue(this["shifted"].length, 1, 'The value of this["shifted"].length is expected to be 1');
+assert.sameValue(this["shifted"][0], 1, 'The value of this["shifted"][0] is expected to be 1');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A6_T10.js b/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A6_T10.js
index f05f05063e72..dbdc95ea2ac4 100644
--- a/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A6_T10.js
+++ b/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A6_T10.js
@@ -17,14 +17,12 @@ var obj = {};
Function("a1,a2,a3", "this.shifted=a1.length+a2+a3;").call(obj, arguments, "", "2");
})("", 4, 2, "a");
-//CHECK#1
-if (obj["shifted"] !== "42") {
- throw new Test262Error('#1: The call method takes one or more arguments, thisArg and (optionally) arg1, arg2 etc, and performs a function call using the [[Call]] property of the object');
-}
+assert.sameValue(obj["shifted"], "42", 'The value of obj["shifted"] is expected to be "42"');
-//CHECK#2
-if (typeof this["shifted"] !== "undefined") {
- throw new Test262Error('#2: The call method takes one or more arguments, thisArg and (optionally) arg1, arg2 etc, and performs a function call using the [[Call]] property of the object');
-}
+assert.sameValue(
+ typeof this["shifted"],
+ "undefined",
+ 'The value of `typeof this["shifted"]` is expected to be "undefined"'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A6_T2.js b/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A6_T2.js
index 80ff852261e3..55ca9efc3b51 100644
--- a/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A6_T2.js
+++ b/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A6_T2.js
@@ -11,12 +11,8 @@ description: Argunemts of call function is (null,[3,2,1])
new Function("a1,a2", "a3", "this.shifted=a1;").call(null, [3, 2, 1]);
-//CHECK#1
-if (this["shifted"].length !== 3) {
- throw new Test262Error('#1: The call method takes one or more arguments, thisArg and (optionally) arg1, arg2 etc, and performs a function call using the [[Call]] property of the object');
-}
+assert.sameValue(this["shifted"].length, 3);
-//CHECK#2
if ((this["shifted"][0] !== 3) || (this["shifted"][1] !== 2) || (this["shifted"][2] !== 1)) {
throw new Test262Error('#2: The call method takes one or more arguments, thisArg and (optionally) arg1, arg2 etc, and performs a function call using the [[Call]] property of the object');
}
diff --git a/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A6_T3.js b/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A6_T3.js
index 9ccbad446f85..b64be6bfb107 100644
--- a/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A6_T3.js
+++ b/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A6_T3.js
@@ -23,17 +23,12 @@ var obj = {};
Function(p, "a2,a3", "this.shifted=a1;").call(obj, new Array("nine", "inch", "nails"));
-//CHECK#1
-if (obj["shifted"].length !== 3) {
- throw new Test262Error('#1: The call method takes one or more arguments, thisArg and (optionally) arg1, arg2 etc, and performs a function call using the [[Call]] property of the object');
-}
+assert.sameValue(obj["shifted"].length, 3);
-//CHECK#2
if ((obj["shifted"][0] !== "nine") || (obj["shifted"][1] !== "inch") || (obj["shifted"][2] !== "nails")) {
throw new Test262Error('#2: The call method takes one or more arguments, thisArg and (optionally) arg1, arg2 etc, and performs a function call using the [[Call]] property of the object');
}
-//CHECK#3
if (typeof this["shifted"] !== "undefined") {
throw new Test262Error('#3: The call method takes one or more arguments, thisArg and (optionally) arg1, arg2 etc, and performs a function call using the [[Call]] property of the object');
}
diff --git a/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A6_T4.js b/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A6_T4.js
index ec9625e8950d..9050ef44f8d7 100644
--- a/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A6_T4.js
+++ b/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A6_T4.js
@@ -25,14 +25,12 @@ new Function(p, p, p, "this.shifted=a3+a2+a1.length;").call(obj, (function() {
return arguments;
})("a", "b", "c", "d"), "", 2);
-//CHECK#1
-if (obj["shifted"] !== "24") {
- throw new Test262Error('#1: The call method takes one or more arguments, thisArg and (optionally) arg1, arg2 etc, and performs a function call using the [[Call]] property of the object');
-}
+assert.sameValue(obj["shifted"], "24", 'The value of obj["shifted"] is expected to be "24"');
-//CHECK#2
-if (typeof this["shifted"] !== "undefined") {
- throw new Test262Error('#2: The call method takes one or more arguments, thisArg and (optionally) arg1, arg2 etc, and performs a function call using the [[Call]] property of the object');
-}
+assert.sameValue(
+ typeof this["shifted"],
+ "undefined",
+ 'The value of `typeof this["shifted"]` is expected to be "undefined"'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A6_T5.js b/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A6_T5.js
index 755e873de9e0..232a96d70bcb 100644
--- a/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A6_T5.js
+++ b/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A6_T5.js
@@ -17,14 +17,7 @@ function FACTORY() {
var obj = new FACTORY("", 1, 2, "A");
-//CHECK#1
-if (this["shifted"] !== "42") {
- throw new Test262Error('#1: The call method takes one or more arguments, thisArg and (optionally) arg1, arg2 etc, and performs a function call using the [[Call]] property of the object');
-}
-
-//CHECK#2
-if (typeof obj.shifted !== "undefined") {
- throw new Test262Error('#2: The call method takes one or more arguments, thisArg and (optionally) arg1, arg2 etc, and performs a function call using the [[Call]] property of the object');
-}
+assert.sameValue(this["shifted"], "42", 'The value of this["shifted"] is expected to be "42"');
+assert.sameValue(typeof obj.shifted, "undefined", 'The value of `typeof obj.shifted` is expected to be "undefined"');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A6_T6.js b/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A6_T6.js
index 889b425f2256..f69635c16884 100644
--- a/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A6_T6.js
+++ b/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A6_T6.js
@@ -17,14 +17,12 @@ function FACTORY() {
var obj = new FACTORY("", 4, 2, "A");
-//CHECK#1
-if (obj["shifted"] !== "42") {
- throw new Test262Error('#1: The call method takes one or more arguments, thisArg and (optionally) arg1, arg2 etc, and performs a function call using the [[Call]] property of the object');
-}
+assert.sameValue(obj["shifted"], "42", 'The value of obj["shifted"] is expected to be "42"');
-//CHECK#2
-if (typeof this["shifted"] !== "undefined") {
- throw new Test262Error('#2: The call method takes one or more arguments, thisArg and (optionally) arg1, arg2 etc, and performs a function call using the [[Call]] property of the object');
-}
+assert.sameValue(
+ typeof this["shifted"],
+ "undefined",
+ 'The value of `typeof this["shifted"]` is expected to be "undefined"'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A6_T7.js b/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A6_T7.js
index f801719f0d56..ad606b30934c 100644
--- a/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A6_T7.js
+++ b/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A6_T7.js
@@ -15,9 +15,6 @@ description: >
Function("a1,a2,a3", "this.shifted=a1.length+a2+a3;").call(null, arguments, "", 2);
})("", 1, 2, true);
-//CHECK#1
-if (this["shifted"] !== "42") {
- throw new Test262Error('#1: The call method takes one or more arguments, thisArg and (optionally) arg1, arg2 etc, and performs a function call using the [[Call]] property of the object');
-}
+assert.sameValue(this["shifted"], "42", 'The value of this["shifted"] is expected to be "42"');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A6_T8.js b/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A6_T8.js
index 7222d7fee0dc..7bf2c014a901 100644
--- a/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A6_T8.js
+++ b/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A6_T8.js
@@ -15,9 +15,6 @@ description: >
Function("a1,a2,a3", "this.shifted=a1.length+a2+a3;").call(this, arguments, "", 2);
})("", 4, 2, null);
-//CHECK#2
-if (this["shifted"] !== "42") {
- throw new Test262Error('#2: The call method takes one or more arguments, thisArg and (optionally) arg1, arg2 etc, and performs a function call using the [[Call]] property of the object');
-}
+assert.sameValue(this["shifted"], "42", 'The value of this["shifted"] is expected to be "42"');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A6_T9.js b/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A6_T9.js
index 788a273d5488..cca95016d207 100644
--- a/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A6_T9.js
+++ b/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A6_T9.js
@@ -19,14 +19,12 @@ function FACTORY() {
var obj = new FACTORY("", 1, 2, void 0);
-//CHECK#1
-if (typeof this["shifted"] !== "undefined") {
- throw new Test262Error('#1: If argArray is either an array or an arguments object, the function is passed the...');
-}
+assert.sameValue(
+ typeof this["shifted"],
+ "undefined",
+ 'The value of `typeof this["shifted"]` is expected to be "undefined"'
+);
-//CHECK#2
-if (obj.shifted !== "42") {
- throw new Test262Error('#2: If argArray is either an array or an arguments object, the function is passed the...');
-}
+assert.sameValue(obj.shifted, "42", 'The value of obj.shifted is expected to be "42"');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A7_T1.js b/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A7_T1.js
deleted file mode 100644
index 46937f839a8b..000000000000
--- a/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A7_T1.js
+++ /dev/null
@@ -1,19 +0,0 @@
-// Copyright 2009 the Sputnik authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-info: Function.prototype.call can't be used as [[Construct]] caller
-es5id: 15.3.4.4_A7_T1
-description: Checking if creating "new Function.prototype.call" fails
----*/
-
-try {
- var obj = new Function.prototype.call;
- throw new Test262Error('#1: Function.prototype.call can\'t be used as [[Construct]] caller');
-} catch (e) {
- if (!(e instanceof TypeError)) {
- throw new Test262Error('#1.1: Function.prototype.call can\'t be used as [[Construct]] caller');
- }
-}
-
-reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A7_T2.js b/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A7_T2.js
deleted file mode 100644
index c86d9fe3ac6c..000000000000
--- a/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A7_T2.js
+++ /dev/null
@@ -1,20 +0,0 @@
-// Copyright 2009 the Sputnik authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-info: Function.prototype.call can't be used as [[Construct]] caller
-es5id: 15.3.4.4_A7_T2
-description: Checking if creating "new Function.prototype.call()" fails
----*/
-
-try {
- var FACTORY = Function.prototype.call;
- var obj = new FACTORY();
- throw new Test262Error('#1: Function.prototype.call can\'t be used as [[Construct]] caller');
-} catch (e) {
- if (!(e instanceof TypeError)) {
- throw new Test262Error('#1.1: Function.prototype.call can\'t be used as [[Construct]] caller');
- }
-}
-
-reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A7_T3.js b/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A7_T3.js
index 71843f468fde..c567e3cd9972 100644
--- a/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A7_T3.js
+++ b/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A7_T3.js
@@ -11,9 +11,7 @@ try {
var obj = new Function.call;
throw new Test262Error('#1: Function.prototype.call can\'t be used as [[Construct]] caller');
} catch (e) {
- if (!(e instanceof TypeError)) {
- throw new Test262Error('#1.1: Function.prototype.call can\'t be used as [[Construct]] caller');
- }
+ assert(e instanceof TypeError, 'The result of evaluating (e instanceof TypeError) is expected to be true');
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A7_T4.js b/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A7_T4.js
index f2c988889e00..0134e8f31522 100644
--- a/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A7_T4.js
+++ b/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A7_T4.js
@@ -11,9 +11,7 @@ try {
var obj = new(Function("this.p1=1").call);
throw new Test262Error('#1: Function.prototype.call can\'t be used as [[Construct]] caller');
} catch (e) {
- if (!(e instanceof TypeError)) {
- throw new Test262Error('#1.1: Function.prototype.call can\'t be used as [[Construct]] caller');
- }
+ assert(e instanceof TypeError, 'The result of evaluating (e instanceof TypeError) is expected to be true');
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A7_T5.js b/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A7_T5.js
index 49a20ced0774..2c911dda0b4c 100644
--- a/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A7_T5.js
+++ b/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A7_T5.js
@@ -12,9 +12,7 @@ try {
var obj = new FACTORY();
throw new Test262Error('#1: Function.prototype.call can\'t be used as [[Construct]] caller');
} catch (e) {
- if (!(e instanceof TypeError)) {
- throw new Test262Error('#1.1: Function.prototype.call can\'t be used as [[Construct]] caller');
- }
+ assert(e instanceof TypeError, 'The result of evaluating (e instanceof TypeError) is expected to be true');
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A7_T6.js b/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A7_T6.js
index 68ec1f77433e..5e0c6494de0e 100644
--- a/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A7_T6.js
+++ b/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A7_T6.js
@@ -9,16 +9,12 @@ description: >
f(){this.p1=1;};return f").call())" fails
---*/
-//CHECK#1
try {
var obj = new(Function("function f(){this.p1=1;};return f").call());
} catch (e) {
throw new Test262Error('#1: Function.prototype.call can\'t be used as [[Construct]] caller');
}
-//CHECK#2
-if (obj.p1 !== 1) {
- throw new Test262Error('#2: Function.prototype.call can\'t be used as [[Construct]] caller');
-}
+assert.sameValue(obj.p1, 1, 'The value of obj.p1 is expected to be 1');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A9.js b/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A9.js
index a8a5caa9a0bf..043f28af3cdd 100644
--- a/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A9.js
+++ b/js/src/tests/test262/built-ins/Function/prototype/call/S15.3.4.4_A9.js
@@ -10,20 +10,21 @@ description: >
Checking if deleting the Function.prototype.call.length property
fails
---*/
+assert(
+ Function.prototype.call.hasOwnProperty('length'),
+ 'Function.prototype.call.hasOwnProperty(\'length\') must return true'
+);
-//CHECK#0
-if (!(Function.prototype.call.hasOwnProperty('length'))) {
- throw new Test262Error('#0: the Function.prototype.call has length property');
-}
+assert(
+ delete Function.prototype.call.length,
+ 'The value of delete Function.prototype.call.length is expected to be true'
+);
-//CHECK#1
-if (!delete Function.prototype.call.length) {
- throw new Test262Error('#1: The Function.prototype.call.length property does not have the attributes DontDelete');
-}
+assert(
+ !Function.prototype.call.hasOwnProperty('length'),
+ 'The value of !Function.prototype.call.hasOwnProperty(\'length\') is expected to be true'
+);
-//CHECK#2
-if (Function.prototype.call.hasOwnProperty('length')) {
- throw new Test262Error('#2: The Function.prototype.call.length property does not have the attributes DontDelete');
-}
+// TODO: Convert to verifyProperty() format.
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Function/prototype/call/not-a-constructor.js b/js/src/tests/test262/built-ins/Function/prototype/call/not-a-constructor.js
index 6858ea919444..1ae179235e27 100644
--- a/js/src/tests/test262/built-ins/Function/prototype/call/not-a-constructor.js
+++ b/js/src/tests/test262/built-ins/Function/prototype/call/not-a-constructor.js
@@ -31,5 +31,13 @@ assert.throws(TypeError, () => {
new Function.prototype.call();
}, '`new Function.prototype.call()` throws TypeError');
+assert.throws(TypeError, () => {
+ new Function.prototype.call;
+}, '`new Function.prototype.call` throws TypeError');
+
+var call = Function.prototype.call;
+assert.throws(TypeError, () => {
+ new call;
+}, '`new call()` throws TypeError');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Function/prototype/constructor/S15.3.4.1_A1_T1.js b/js/src/tests/test262/built-ins/Function/prototype/constructor/S15.3.4.1_A1_T1.js
index 4e6b0f0f9ab6..95b8bc023cbe 100644
--- a/js/src/tests/test262/built-ins/Function/prototype/constructor/S15.3.4.1_A1_T1.js
+++ b/js/src/tests/test262/built-ins/Function/prototype/constructor/S15.3.4.1_A1_T1.js
@@ -8,10 +8,10 @@ info: |
es5id: 15.3.4.1_A1_T1
description: Checking Function.prototype.constructor
---*/
-
-//CHECK#1
-if (Function.prototype.constructor !== Function) {
- throw new Test262Error('#1: The initial value of Function.prototype.constructor is the built-in Function constructor');
-}
+assert.sameValue(
+ Function.prototype.constructor,
+ Function,
+ 'The value of Function.prototype.constructor is expected to equal the value of Function'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Function/prototype/restricted-property-arguments.js b/js/src/tests/test262/built-ins/Function/prototype/restricted-property-arguments.js
index 477cd51805b8..fc2a877636d4 100644
--- a/js/src/tests/test262/built-ins/Function/prototype/restricted-property-arguments.js
+++ b/js/src/tests/test262/built-ins/Function/prototype/restricted-property-arguments.js
@@ -3,8 +3,7 @@
/*---
description: Intrinsic %FunctionPrototype% has poisoned own property "arguments"
-includes:
- - propertyHelper.js
+includes: [propertyHelper.js]
es6id: 8.2.2 S12, 9.2.7
---*/
diff --git a/js/src/tests/test262/built-ins/Function/prototype/restricted-property-caller.js b/js/src/tests/test262/built-ins/Function/prototype/restricted-property-caller.js
index d8164c843a5e..23daa62fddf9 100644
--- a/js/src/tests/test262/built-ins/Function/prototype/restricted-property-caller.js
+++ b/js/src/tests/test262/built-ins/Function/prototype/restricted-property-caller.js
@@ -3,8 +3,7 @@
/*---
description: Intrinsic %FunctionPrototype% has poisoned own property "caller"
-includes:
- - propertyHelper.js
+includes: [propertyHelper.js]
es6id: 8.2.2 S12, 9.2.7
---*/
diff --git a/js/src/tests/test262/built-ins/Function/prototype/toString/S15.3.4.2_A10.js b/js/src/tests/test262/built-ins/Function/prototype/toString/S15.3.4.2_A10.js
index 579640731068..66a078c52cd2 100644
--- a/js/src/tests/test262/built-ins/Function/prototype/toString/S15.3.4.2_A10.js
+++ b/js/src/tests/test262/built-ins/Function/prototype/toString/S15.3.4.2_A10.js
@@ -9,19 +9,21 @@ description: >
property fails
includes: [propertyHelper.js]
---*/
-
-//CHECK#1
-if (!(Function.prototype.toString.hasOwnProperty('length'))) {
- throw new Test262Error('#1: the Function.prototype.toString has length property.');
-}
+assert(
+ Function.prototype.toString.hasOwnProperty('length'),
+ 'Function.prototype.toString.hasOwnProperty(\'length\') must return true'
+);
var obj = Function.prototype.toString.length;
verifyNotWritable(Function.prototype.toString, "length", null, function(){return "shifted";});
-//CHECK#2
-if (Function.prototype.toString.length !== obj) {
- throw new Test262Error('#2: the Function.prototype.toString length property has the attributes ReadOnly.');
-}
+assert.sameValue(
+ Function.prototype.toString.length,
+ obj,
+ 'The value of Function.prototype.toString.length is expected to equal the value of obj'
+);
+
+// TODO: Convert to verifyProperty() format.
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Function/prototype/toString/S15.3.4.2_A11.js b/js/src/tests/test262/built-ins/Function/prototype/toString/S15.3.4.2_A11.js
index c401db2c9576..380f72c93f44 100644
--- a/js/src/tests/test262/built-ins/Function/prototype/toString/S15.3.4.2_A11.js
+++ b/js/src/tests/test262/built-ins/Function/prototype/toString/S15.3.4.2_A11.js
@@ -6,15 +6,15 @@ info: The length property of the toString method is 0
es5id: 15.3.4.2_A11
description: Checking Function.prototype.toString.length
---*/
+assert(
+ Function.prototype.toString.hasOwnProperty("length"),
+ 'Function.prototype.toString.hasOwnProperty("length") must return true'
+);
-//CHECK#1
-if (!(Function.prototype.toString.hasOwnProperty("length"))) {
- throw new Test262Error('#1: The Function.prototype.toString has the length property');
-}
-
-//CHECK#2
-if (Function.prototype.toString.length !== 0) {
- throw new Test262Error('#2: The length property of the toString method is 0');
-}
+assert.sameValue(
+ Function.prototype.toString.length,
+ 0,
+ 'The value of Function.prototype.toString.length is expected to be 0'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Function/prototype/toString/S15.3.4.2_A12.js b/js/src/tests/test262/built-ins/Function/prototype/toString/S15.3.4.2_A12.js
index e6b90da9a8e8..854d7ee3599d 100644
--- a/js/src/tests/test262/built-ins/Function/prototype/toString/S15.3.4.2_A12.js
+++ b/js/src/tests/test262/built-ins/Function/prototype/toString/S15.3.4.2_A12.js
@@ -10,6 +10,6 @@ description: >
assert.throws(TypeError, function() {
Function.prototype.toString.call(undefined);
-});
+}, 'Function.prototype.toString.call(undefined) throws a TypeError exception');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Function/prototype/toString/S15.3.4.2_A13.js b/js/src/tests/test262/built-ins/Function/prototype/toString/S15.3.4.2_A13.js
index 19f624e3cdb9..59400e6d15a8 100644
--- a/js/src/tests/test262/built-ins/Function/prototype/toString/S15.3.4.2_A13.js
+++ b/js/src/tests/test262/built-ins/Function/prototype/toString/S15.3.4.2_A13.js
@@ -10,6 +10,6 @@ description: >
assert.throws(TypeError, function() {
Function.prototype.toString.call(null);
-});
+}, 'Function.prototype.toString.call(null) throws a TypeError exception');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Function/prototype/toString/S15.3.4.2_A14.js b/js/src/tests/test262/built-ins/Function/prototype/toString/S15.3.4.2_A14.js
index ad895cfb13ea..eabf5af56835 100644
--- a/js/src/tests/test262/built-ins/Function/prototype/toString/S15.3.4.2_A14.js
+++ b/js/src/tests/test262/built-ins/Function/prototype/toString/S15.3.4.2_A14.js
@@ -10,6 +10,6 @@ description: >
assert.throws(TypeError, function() {
Function.prototype.toString.call({});
-});
+}, 'Function.prototype.toString.call({}) throws a TypeError exception');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Function/prototype/toString/S15.3.4.2_A16.js b/js/src/tests/test262/built-ins/Function/prototype/toString/S15.3.4.2_A16.js
index 13cf65c94c74..308b4ffbd46d 100644
--- a/js/src/tests/test262/built-ins/Function/prototype/toString/S15.3.4.2_A16.js
+++ b/js/src/tests/test262/built-ins/Function/prototype/toString/S15.3.4.2_A16.js
@@ -16,6 +16,6 @@ var obj = {toString: Function.prototype.toString};
assert.throws(TypeError, function() {
String(obj);
-});
+}, 'String(obj) throws a TypeError exception');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Function/prototype/toString/S15.3.4.2_A6.js b/js/src/tests/test262/built-ins/Function/prototype/toString/S15.3.4.2_A6.js
index 3c9accea606c..8a6acb5b5881 100644
--- a/js/src/tests/test262/built-ins/Function/prototype/toString/S15.3.4.2_A6.js
+++ b/js/src/tests/test262/built-ins/Function/prototype/toString/S15.3.4.2_A6.js
@@ -8,10 +8,10 @@ description: >
Checking if obtaining the prototype property of
Function.prototype.toString fails
---*/
-
-//CHECK#1
-if (Function.prototype.toString.prototype !== undefined) {
- throw new Test262Error('#1: Function.prototype.toString has not prototype property'+Function.prototype.toString.prototype);
-}
+assert.sameValue(
+ Function.prototype.toString.prototype,
+ undefined,
+ 'The value of Function.prototype.toString.prototype is expected to equal undefined'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Function/prototype/toString/S15.3.4.2_A7.js b/js/src/tests/test262/built-ins/Function/prototype/toString/S15.3.4.2_A7.js
deleted file mode 100644
index 4da4238fe5fb..000000000000
--- a/js/src/tests/test262/built-ins/Function/prototype/toString/S15.3.4.2_A7.js
+++ /dev/null
@@ -1,16 +0,0 @@
-// Copyright 2009 the Sputnik authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-info: Function.prototype.toString can't be used as constructor
-es5id: 15.3.4.2_A7
-description: Checking if creating "new Function.prototype.toString" fails
----*/
-
-var FACTORY = Function.prototype.toString;
-
-assert.throws(TypeError, function() {
- new FACTORY;
-});
-
-reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Function/prototype/toString/S15.3.4.2_A8.js b/js/src/tests/test262/built-ins/Function/prototype/toString/S15.3.4.2_A8.js
index f3929e648776..d8cf033e4d1e 100644
--- a/js/src/tests/test262/built-ins/Function/prototype/toString/S15.3.4.2_A8.js
+++ b/js/src/tests/test262/built-ins/Function/prototype/toString/S15.3.4.2_A8.js
@@ -8,22 +8,21 @@ description: >
Checking if enumerating the Function.prototype.toString.length
property fails
---*/
+assert(
+ Function.prototype.toString.hasOwnProperty('length'),
+ 'Function.prototype.toString.hasOwnProperty(\'length\') must return true'
+);
-//CHECK#0
-if (!(Function.prototype.toString.hasOwnProperty('length'))) {
- throw new Test262Error('#0: the Function.prototype.toString has length property.');
-}
-
-
-// CHECK#1
-if (Function.prototype.toString.propertyIsEnumerable('length')) {
- throw new Test262Error('#1: the Function.prototype.toString.length property has the attributes DontEnum');
-}
+assert(
+ !Function.prototype.toString.propertyIsEnumerable('length'),
+ 'The value of !Function.prototype.toString.propertyIsEnumerable(\'length\') is expected to be true'
+);
// CHECK#2
for (var p in Function.prototype.toString){
- if (p==="length")
- throw new Test262Error('#2: the Function.prototype.toString.length property has the attributes DontEnum');
+ assert.notSameValue(p, "length", 'The value of p is not "length"');
}
+// TODO: Convert to verifyProperty() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Function/prototype/toString/S15.3.4.2_A9.js b/js/src/tests/test262/built-ins/Function/prototype/toString/S15.3.4.2_A9.js
index ebbc6da37371..5e2676e33080 100644
--- a/js/src/tests/test262/built-ins/Function/prototype/toString/S15.3.4.2_A9.js
+++ b/js/src/tests/test262/built-ins/Function/prototype/toString/S15.3.4.2_A9.js
@@ -10,20 +10,21 @@ description: >
Checking if deleting the Function.prototype.toString.length
property fails
---*/
+assert(
+ Function.prototype.toString.hasOwnProperty('length'),
+ 'Function.prototype.toString.hasOwnProperty(\'length\') must return true'
+);
-//CHECK#0
-if (!(Function.prototype.toString.hasOwnProperty('length'))) {
- throw new Test262Error('#0: the Function.prototype.toString has length property');
-}
+assert(
+ delete Function.prototype.toString.length,
+ 'The value of delete Function.prototype.toString.length is expected to be true'
+);
-//CHECK#1
-if (!delete Function.prototype.toString.length) {
- throw new Test262Error('#1: The Function.prototype.toString.length property does not have the attributes DontDelete');
-}
+assert(
+ !Function.prototype.toString.hasOwnProperty('length'),
+ 'The value of !Function.prototype.toString.hasOwnProperty(\'length\') is expected to be true'
+);
-//CHECK#2
-if (Function.prototype.toString.hasOwnProperty('length')) {
- throw new Test262Error('#2: The Function.prototype.toString.length property does not have the attributes DontDelete');
-}
+// TODO: Convert to verifyProperty() format.
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Function/prototype/toString/not-a-constructor.js b/js/src/tests/test262/built-ins/Function/prototype/toString/not-a-constructor.js
index b8f98d243682..b13c0c51a27b 100644
--- a/js/src/tests/test262/built-ins/Function/prototype/toString/not-a-constructor.js
+++ b/js/src/tests/test262/built-ins/Function/prototype/toString/not-a-constructor.js
@@ -31,5 +31,9 @@ assert.throws(TypeError, () => {
new Function.prototype.toString();
}, '`new Function.prototype.toString()` throws TypeError');
+var toString = Function.prototype.toString;
+assert.throws(TypeError, () => {
+ new toString;
+}, '`new toString` throws TypeError');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Infinity/S15.1.1.2_A1.js b/js/src/tests/test262/built-ins/Infinity/S15.1.1.2_A1.js
index d2846b887675..5d590b58c084 100644
--- a/js/src/tests/test262/built-ins/Infinity/S15.1.1.2_A1.js
+++ b/js/src/tests/test262/built-ins/Infinity/S15.1.1.2_A1.js
@@ -6,26 +6,14 @@ info: The initial value of Infinity is Number.POSITIVE_INFINITY
es5id: 15.1.1.2_A1
description: Use typeof, isNaN, isFinite
---*/
+assert.sameValue(typeof(Infinity), "number", 'The value of `typeof(Infinity)` is expected to be "number"');
+assert.sameValue(isFinite(Infinity), false, 'isFinite(Infinity) must return false');
+assert.sameValue(isNaN(Infinity), false, 'isNaN(Infinity) must return false');
-// CHECK#1
-if (typeof(Infinity) !== "number") {
- throw new Test262Error('#1: typeof(Infinity) === "number". Actual: ' + (typeof(Infinity)));
-}
-
-// CHECK#2
-if (isFinite(Infinity) !== false) {
- throw new Test262Error('#2: Infinity === Not-a-Finite. Actual: ' + (Infinity));
-}
-
-// CHECK#3
-if (isNaN(Infinity) !== false) {
- throw new Test262Error('#3: Infinity === Not-a-Number. Actual: ' + (Infinity));
-}
-
-
-// CHECK#4
-if (Infinity !== Number.POSITIVE_INFINITY) {
- throw new Test262Error('#4: Infinity === Number.POSITIVE_INFINITY. Actual: ' + (Infinity));
-}
+assert.sameValue(
+ Infinity,
+ Number.POSITIVE_INFINITY,
+ 'The value of Infinity is expected to equal the value of Number.POSITIVE_INFINITY'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Infinity/S15.1.1.2_A2_T2.js b/js/src/tests/test262/built-ins/Infinity/S15.1.1.2_A2_T2.js
index 2353668b1f92..ab3a30005c25 100644
--- a/js/src/tests/test262/built-ins/Infinity/S15.1.1.2_A2_T2.js
+++ b/js/src/tests/test262/built-ins/Infinity/S15.1.1.2_A2_T2.js
@@ -10,8 +10,8 @@ flags: [noStrict]
// CHECK#1
Infinity = true;
-if (typeof(Infinity) === "boolean") {
- throw new Test262Error('#1: Infinity = true; typeof(Infinity) !== "boolean". Actual: ' + (typeof(Infinity)));
-}
+assert.notSameValue(typeof(Infinity), "boolean", 'The value of typeof(Infinity) is not "boolean"');
+
+// TODO: Convert to verifyProperty() format.
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Infinity/S15.1.1.2_A3_T2.js b/js/src/tests/test262/built-ins/Infinity/S15.1.1.2_A3_T2.js
index f3a299cca3f8..c168f458a0fa 100644
--- a/js/src/tests/test262/built-ins/Infinity/S15.1.1.2_A3_T2.js
+++ b/js/src/tests/test262/built-ins/Infinity/S15.1.1.2_A3_T2.js
@@ -7,10 +7,8 @@ es5id: 15.1.1.2_A3_T2
description: Use delete
flags: [noStrict]
---*/
+assert.sameValue(delete Infinity, false, 'The value of `delete Infinity` is expected to be false');
-// CHECK#1
-if (delete Infinity !== false) {
- throw new Test262Error('#1: delete Infinity === false. Actual: ' + (delete Infinity));
-}
+// TODO: Convert to verifyProperty() format.
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Infinity/S15.1.1.2_A4.js b/js/src/tests/test262/built-ins/Infinity/S15.1.1.2_A4.js
index cd12aa07679b..c54ce9e7c11a 100644
--- a/js/src/tests/test262/built-ins/Infinity/S15.1.1.2_A4.js
+++ b/js/src/tests/test262/built-ins/Infinity/S15.1.1.2_A4.js
@@ -9,9 +9,9 @@ description: Use for-in statement
// CHECK#1
for (var prop in this) {
- if (prop === "Infinity") {
- throw new Test262Error('#1: The Infinity is DontEnum');
- }
+ assert.notSameValue(prop, "Infinity", 'The value of prop is not "Infinity"');
}
+// TODO: Convert to verifyProperty() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/JSON/parse/S15.12.2_A1.js b/js/src/tests/test262/built-ins/JSON/parse/S15.12.2_A1.js
index 5f0d77d7aa0b..2de3caa3c943 100644
--- a/js/src/tests/test262/built-ins/JSON/parse/S15.12.2_A1.js
+++ b/js/src/tests/test262/built-ins/JSON/parse/S15.12.2_A1.js
@@ -8,11 +8,13 @@ description: Tests that JSON.parse treats "__proto__" as a regular property name
---*/
var x = JSON.parse('{"__proto__":[]}');
-if (Object.getPrototypeOf(x) !== Object.prototype) {
- throw new Test262Error('#1: JSON.parse confused by "__proto__"');
-}
-if (!Array.isArray(x.__proto__)) {
- throw new Test262Error('#2: JSON.parse did not set "__proto__" as a regular property');
-}
+
+assert.sameValue(
+ Object.getPrototypeOf(x),
+ Object.prototype,
+ 'Object.getPrototypeOf("JSON.parse(\'{"__proto__":[]}\')") returns Object.prototype'
+);
+
+assert(Array.isArray(x.__proto__), 'Array.isArray(x.__proto__) must return true');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Map/bigint-number-same-value.js b/js/src/tests/test262/built-ins/Map/bigint-number-same-value.js
new file mode 100644
index 000000000000..783afd421b4a
--- /dev/null
+++ b/js/src/tests/test262/built-ins/Map/bigint-number-same-value.js
@@ -0,0 +1,46 @@
+// Copyright (C) 2021 Rick Waldron. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-map.prototype.set
+description: >
+ Observing the expected behavior of keys when a BigInt and Number have
+ the same value.
+info: |
+ Map.prototype.set ( key , value )
+
+ ...
+ Let p be the Record {[[key]]: key, [[value]]: value}.
+ Append p as the last element of entries.
+ ...
+
+features: [BigInt]
+---*/
+
+const number = 9007199254740991;
+const bigint = 9007199254740991n;
+
+const m = new Map([
+ [number, number],
+ [bigint, bigint],
+]);
+
+assert.sameValue(m.size, 2);
+assert.sameValue(m.has(number), true);
+assert.sameValue(m.has(bigint), true);
+
+assert.sameValue(m.get(number), number);
+assert.sameValue(m.get(bigint), bigint);
+
+m.delete(number);
+assert.sameValue(m.size, 1);
+assert.sameValue(m.has(number), false);
+m.delete(bigint);
+assert.sameValue(m.size, 0);
+assert.sameValue(m.has(bigint), false);
+
+m.set(number, number);
+assert.sameValue(m.size, 1);
+m.set(bigint, bigint);
+assert.sameValue(m.size, 2);
+
+reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Map/constructor.js b/js/src/tests/test262/built-ins/Map/constructor.js
index f96f47fd44fc..f37c74de67de 100644
--- a/js/src/tests/test262/built-ins/Map/constructor.js
+++ b/js/src/tests/test262/built-ins/Map/constructor.js
@@ -1,7 +1,7 @@
// Copyright (C) 2015 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
-es6id: 23.1.1
+esid: sec-map-constructor
description: >
The Map constructor is the %Map% intrinsic object and the initial value of the
Map property of the global object.
diff --git a/js/src/tests/test262/built-ins/Map/does-not-throw-when-set-is-not-callable.js b/js/src/tests/test262/built-ins/Map/does-not-throw-when-set-is-not-callable.js
index d61fa0435e6c..9d758b00161d 100644
--- a/js/src/tests/test262/built-ins/Map/does-not-throw-when-set-is-not-callable.js
+++ b/js/src/tests/test262/built-ins/Map/does-not-throw-when-set-is-not-callable.js
@@ -1,7 +1,7 @@
// Copyright (C) 2015 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
-es6id: 23.1.1.1
+esid: sec-map-iterable
description: >
Creating a new Map object without arguments doesn't throw if `set` is not
callable
diff --git a/js/src/tests/test262/built-ins/Map/get-set-method-failure.js b/js/src/tests/test262/built-ins/Map/get-set-method-failure.js
index 0f00f969cf3b..978a6a3a2720 100644
--- a/js/src/tests/test262/built-ins/Map/get-set-method-failure.js
+++ b/js/src/tests/test262/built-ins/Map/get-set-method-failure.js
@@ -1,7 +1,7 @@
// Copyright (C) 2015 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
-es6id: 23.1.1.1
+esid: sec-map-iterable
description: >
new Map returns abrupt from getting Map.prototype.set.
info: |
diff --git a/js/src/tests/test262/built-ins/Map/iterable-calls-set.js b/js/src/tests/test262/built-ins/Map/iterable-calls-set.js
index 56fd358a2bb6..26c58a78d104 100644
--- a/js/src/tests/test262/built-ins/Map/iterable-calls-set.js
+++ b/js/src/tests/test262/built-ins/Map/iterable-calls-set.js
@@ -1,7 +1,7 @@
// Copyright (C) 2015 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
-es6id: 23.1.1.1
+esid: sec-map-iterable
description: >
new Map calls `set` for each item on the iterable argument in order.
info: |
@@ -36,8 +36,8 @@ var map = new Map(iterable);
assert.sameValue(counter, 2, "`Map.prototype.set` called twice.");
-assert(compareArray(results[0], iterable[0]));
-assert(compareArray(results[1], iterable[1]));
+assert.compareArray(results[0], iterable[0]);
+assert.compareArray(results[1], iterable[1]);
assert.sameValue(_this[0], map);
assert.sameValue(_this[1], map);
diff --git a/js/src/tests/test262/built-ins/Map/iterator-close-after-set-failure.js b/js/src/tests/test262/built-ins/Map/iterator-close-after-set-failure.js
index 234d358cea5b..17645d1ccb53 100644
--- a/js/src/tests/test262/built-ins/Map/iterator-close-after-set-failure.js
+++ b/js/src/tests/test262/built-ins/Map/iterator-close-after-set-failure.js
@@ -1,7 +1,7 @@
// Copyright (C) 2015 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
-es6id: 23.1.1.1
+esid: sec-map-iterable
description: >
The iterator is closed when `Map.prototype.set` throws an error.
info: |
diff --git a/js/src/tests/test262/built-ins/Map/iterator-item-first-entry-returns-abrupt.js b/js/src/tests/test262/built-ins/Map/iterator-item-first-entry-returns-abrupt.js
index 3d8d2bb7dbea..0f311043383e 100644
--- a/js/src/tests/test262/built-ins/Map/iterator-item-first-entry-returns-abrupt.js
+++ b/js/src/tests/test262/built-ins/Map/iterator-item-first-entry-returns-abrupt.js
@@ -1,7 +1,7 @@
// Copyright (C) 2015 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
-es6id: 23.1.1.1
+esid: sec-map-iterable
description: >
Closes iterator if item first entry completes abruptly.
info: |
diff --git a/js/src/tests/test262/built-ins/Map/iterator-item-second-entry-returns-abrupt.js b/js/src/tests/test262/built-ins/Map/iterator-item-second-entry-returns-abrupt.js
index bc475f47eea1..b7eefd9891be 100644
--- a/js/src/tests/test262/built-ins/Map/iterator-item-second-entry-returns-abrupt.js
+++ b/js/src/tests/test262/built-ins/Map/iterator-item-second-entry-returns-abrupt.js
@@ -1,7 +1,7 @@
// Copyright (C) 2015 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
-es6id: 23.1.1.1
+esid: sec-map-iterable
description: >
Closes iterator if item second entry completes abruptly.
info: |
diff --git a/js/src/tests/test262/built-ins/Map/iterator-items-are-not-object-close-iterator.js b/js/src/tests/test262/built-ins/Map/iterator-items-are-not-object-close-iterator.js
index 8daeef13d7e4..62d40c0bbf87 100644
--- a/js/src/tests/test262/built-ins/Map/iterator-items-are-not-object-close-iterator.js
+++ b/js/src/tests/test262/built-ins/Map/iterator-items-are-not-object-close-iterator.js
@@ -1,7 +1,7 @@
// Copyright (C) 2015 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
-es6id: 23.1.1.1
+esid: sec-map-iterable
description: >
Closes the iterator after `not Object` error.
info: |
diff --git a/js/src/tests/test262/built-ins/Map/iterator-items-are-not-object.js b/js/src/tests/test262/built-ins/Map/iterator-items-are-not-object.js
index b08b82516905..3dc770ae8daa 100644
--- a/js/src/tests/test262/built-ins/Map/iterator-items-are-not-object.js
+++ b/js/src/tests/test262/built-ins/Map/iterator-items-are-not-object.js
@@ -1,7 +1,7 @@
// Copyright (C) 2015 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
-es6id: 23.1.1.1
+esid: sec-map-iterable
description: >
Throws a TypeError if iterable items are not Objects.
info: |
diff --git a/js/src/tests/test262/built-ins/Map/iterator-next-failure.js b/js/src/tests/test262/built-ins/Map/iterator-next-failure.js
index 65c2fd7d3dca..a60349a5e438 100644
--- a/js/src/tests/test262/built-ins/Map/iterator-next-failure.js
+++ b/js/src/tests/test262/built-ins/Map/iterator-next-failure.js
@@ -1,7 +1,7 @@
// Copyright (C) 2015 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
-es6id: 23.1.1.1
+esid: sec-map-iterable
description: >
The iterator is closed when iterable `next` throws an error.
info: |
diff --git a/js/src/tests/test262/built-ins/Map/iterator-value-failure.js b/js/src/tests/test262/built-ins/Map/iterator-value-failure.js
index d0cc7f4e4637..d7d684df21c8 100644
--- a/js/src/tests/test262/built-ins/Map/iterator-value-failure.js
+++ b/js/src/tests/test262/built-ins/Map/iterator-value-failure.js
@@ -1,7 +1,7 @@
// Copyright (C) 2015 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
-es6id: 23.1.1.1
+esid: sec-map-iterable
description: >
The iterator is closed when iterable `next` value throws an error.
info: |
diff --git a/js/src/tests/test262/built-ins/Map/map-iterable-empty-does-not-call-set.js b/js/src/tests/test262/built-ins/Map/map-iterable-empty-does-not-call-set.js
index b561e0a8f148..26461bb7f98a 100644
--- a/js/src/tests/test262/built-ins/Map/map-iterable-empty-does-not-call-set.js
+++ b/js/src/tests/test262/built-ins/Map/map-iterable-empty-does-not-call-set.js
@@ -1,7 +1,7 @@
// Copyright (C) 2015 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
-es6id: 23.1.1.1
+esid: sec-map-iterable
description: >
A Map constructed with an empty iterable argument does not call set.
info: |
diff --git a/js/src/tests/test262/built-ins/Map/map-iterable-throws-when-set-is-not-callable.js b/js/src/tests/test262/built-ins/Map/map-iterable-throws-when-set-is-not-callable.js
index 233c87520819..bd69dd063648 100644
--- a/js/src/tests/test262/built-ins/Map/map-iterable-throws-when-set-is-not-callable.js
+++ b/js/src/tests/test262/built-ins/Map/map-iterable-throws-when-set-is-not-callable.js
@@ -1,7 +1,7 @@
// Copyright (C) 2015 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
-es6id: 23.1.1.1
+esid: sec-map-iterable
description: >
Throws a TypeError if `set` is not callable on Map constructor with a
iterable argument.
diff --git a/js/src/tests/test262/built-ins/Map/map-iterable.js b/js/src/tests/test262/built-ins/Map/map-iterable.js
index 82d8e1985e2d..32918cea9bd5 100644
--- a/js/src/tests/test262/built-ins/Map/map-iterable.js
+++ b/js/src/tests/test262/built-ins/Map/map-iterable.js
@@ -1,7 +1,7 @@
// Copyright (C) 2015 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
-es6id: 23.1.1.1
+esid: sec-map-iterable
description: >
Contructor returns a map object set with the elements from the iterable
argument.
diff --git a/js/src/tests/test262/built-ins/Map/map-no-iterable-does-not-call-set.js b/js/src/tests/test262/built-ins/Map/map-no-iterable-does-not-call-set.js
index 1eb4fd5b1306..0d293d61c7d3 100644
--- a/js/src/tests/test262/built-ins/Map/map-no-iterable-does-not-call-set.js
+++ b/js/src/tests/test262/built-ins/Map/map-no-iterable-does-not-call-set.js
@@ -1,7 +1,7 @@
// Copyright (C) 2015 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
-es6id: 23.1.1.1
+esid: sec-map-iterable
description: >
A Map constructed without a iterable argument does not call set.
info: |
diff --git a/js/src/tests/test262/built-ins/Map/map-no-iterable.js b/js/src/tests/test262/built-ins/Map/map-no-iterable.js
index 4ac19417914b..e1793ef57862 100644
--- a/js/src/tests/test262/built-ins/Map/map-no-iterable.js
+++ b/js/src/tests/test262/built-ins/Map/map-no-iterable.js
@@ -1,7 +1,7 @@
// Copyright (C) 2015 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
-es6id: 23.1.1.1
+esid: sec-map-iterable
description: >
Returns the new Map object with the new empty list if the iterable argument is
undefined.
diff --git a/js/src/tests/test262/built-ins/Map/map.js b/js/src/tests/test262/built-ins/Map/map.js
index 19187bf12e09..211626fc6ec4 100644
--- a/js/src/tests/test262/built-ins/Map/map.js
+++ b/js/src/tests/test262/built-ins/Map/map.js
@@ -1,7 +1,7 @@
// Copyright (C) 2015 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
-es6id: 23.1.1.1
+esid: sec-map-iterable
description: >
Map descriptor as a standard built-in object.
info: |
diff --git a/js/src/tests/test262/built-ins/Map/name.js b/js/src/tests/test262/built-ins/Map/name.js
index 9eec4210dd33..4ff6542786de 100644
--- a/js/src/tests/test262/built-ins/Map/name.js
+++ b/js/src/tests/test262/built-ins/Map/name.js
@@ -1,7 +1,7 @@
// Copyright (C) 2015 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
-es6id: 23.1.1.1
+esid: sec-map-iterable
description: Map.name value and descriptor.
info: |
Map ( [ iterable ] )
diff --git a/js/src/tests/test262/built-ins/Map/newtarget.js b/js/src/tests/test262/built-ins/Map/newtarget.js
index 628d014865f0..36f820fac794 100644
--- a/js/src/tests/test262/built-ins/Map/newtarget.js
+++ b/js/src/tests/test262/built-ins/Map/newtarget.js
@@ -1,7 +1,7 @@
// Copyright (C) 2015 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
-es6id: 23.1.1.1
+esid: sec-map-iterable
description: >
The new Map object's prototype is Map.prototype
info: |
diff --git a/js/src/tests/test262/built-ins/Map/prototype/Symbol.iterator.js b/js/src/tests/test262/built-ins/Map/prototype/Symbol.iterator.js
index f36d1319fc01..cd54db305b58 100644
--- a/js/src/tests/test262/built-ins/Map/prototype/Symbol.iterator.js
+++ b/js/src/tests/test262/built-ins/Map/prototype/Symbol.iterator.js
@@ -1,7 +1,7 @@
// Copyright (C) 2014 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
-es6id: 23.1.3.12
+esid: sec-map.prototype-@@iterator
description: Initial state of the Symbol.iterator property
info: |
The initial value of the @@iterator property is the same function object as
diff --git a/js/src/tests/test262/built-ins/Map/prototype/Symbol.toStringTag.js b/js/src/tests/test262/built-ins/Map/prototype/Symbol.toStringTag.js
index 403b73a5187d..a26629037205 100644
--- a/js/src/tests/test262/built-ins/Map/prototype/Symbol.toStringTag.js
+++ b/js/src/tests/test262/built-ins/Map/prototype/Symbol.toStringTag.js
@@ -1,7 +1,7 @@
// Copyright (C) 2015 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
-es6id: 23.1.3.13
+esid: sec-map.prototype-@@tostringtag
description: >
`Symbol.toStringTag` property descriptor
info: |
diff --git a/js/src/tests/test262/built-ins/Map/prototype/clear/clear-map.js b/js/src/tests/test262/built-ins/Map/prototype/clear/clear-map.js
index c2035dd42dea..5cd54d887365 100644
--- a/js/src/tests/test262/built-ins/Map/prototype/clear/clear-map.js
+++ b/js/src/tests/test262/built-ins/Map/prototype/clear/clear-map.js
@@ -1,7 +1,7 @@
// Copyright (C) 2015 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
-es6id: 23.1.3.1
+esid: sec-map.prototype.clear
description: >
Clears a Map.
info: |
diff --git a/js/src/tests/test262/built-ins/Map/prototype/clear/clear.js b/js/src/tests/test262/built-ins/Map/prototype/clear/clear.js
index 8160750a6ba8..3cc3a7f8bfac 100644
--- a/js/src/tests/test262/built-ins/Map/prototype/clear/clear.js
+++ b/js/src/tests/test262/built-ins/Map/prototype/clear/clear.js
@@ -1,7 +1,7 @@
// Copyright (C) 2015 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
-es6id: 23.1.3.1
+esid: sec-map.prototype.clear
description: >
Map.prototype.clear ( )
diff --git a/js/src/tests/test262/built-ins/Map/prototype/clear/context-is-not-map-object.js b/js/src/tests/test262/built-ins/Map/prototype/clear/context-is-not-map-object.js
index 0ac7ce809484..56a74bf16502 100644
--- a/js/src/tests/test262/built-ins/Map/prototype/clear/context-is-not-map-object.js
+++ b/js/src/tests/test262/built-ins/Map/prototype/clear/context-is-not-map-object.js
@@ -1,7 +1,7 @@
// Copyright (C) 2015 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
-es6id: 23.1.3.1
+esid: sec-map.prototype.clear
description: >
Throws a TypeError if `this` does not have a [[MapData]] internal slot.
info: |
diff --git a/js/src/tests/test262/built-ins/Map/prototype/clear/context-is-not-object.js b/js/src/tests/test262/built-ins/Map/prototype/clear/context-is-not-object.js
index 171ed317ebdf..c0403d215992 100644
--- a/js/src/tests/test262/built-ins/Map/prototype/clear/context-is-not-object.js
+++ b/js/src/tests/test262/built-ins/Map/prototype/clear/context-is-not-object.js
@@ -1,7 +1,7 @@
// Copyright (C) 2015 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
-es6id: 23.1.3.1
+esid: sec-map.prototype.clear
description: >
Throws a TypeError if `this` is not an Object.
info: |
diff --git a/js/src/tests/test262/built-ins/Map/prototype/clear/context-is-set-object-throws.js b/js/src/tests/test262/built-ins/Map/prototype/clear/context-is-set-object-throws.js
index 562c2b0ccbb7..e09a49314ee2 100644
--- a/js/src/tests/test262/built-ins/Map/prototype/clear/context-is-set-object-throws.js
+++ b/js/src/tests/test262/built-ins/Map/prototype/clear/context-is-set-object-throws.js
@@ -1,7 +1,7 @@
// Copyright (C) 2015 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
-es6id: 23.1.3.1
+esid: sec-map.prototype.clear
description: >
Throws a TypeError if `this` is a Set object.
info: |
diff --git a/js/src/tests/test262/built-ins/Map/prototype/clear/context-is-weakmap-object-throws.js b/js/src/tests/test262/built-ins/Map/prototype/clear/context-is-weakmap-object-throws.js
index d465404f203d..ab2097b38b30 100644
--- a/js/src/tests/test262/built-ins/Map/prototype/clear/context-is-weakmap-object-throws.js
+++ b/js/src/tests/test262/built-ins/Map/prototype/clear/context-is-weakmap-object-throws.js
@@ -1,7 +1,7 @@
// Copyright (C) 2015 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
-es6id: 23.1.3.1
+esid: sec-map.prototype.clear
description: >
Throws a TypeError if `this` is a WeakMap object.
info: |
diff --git a/js/src/tests/test262/built-ins/Map/prototype/clear/length.js b/js/src/tests/test262/built-ins/Map/prototype/clear/length.js
index e8cc8ee28550..7cc8f3126fdc 100644
--- a/js/src/tests/test262/built-ins/Map/prototype/clear/length.js
+++ b/js/src/tests/test262/built-ins/Map/prototype/clear/length.js
@@ -1,7 +1,7 @@
// Copyright (C) 2015 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
-es6id: 23.1.3.1
+esid: sec-map.prototype.clear
description: >
Map.prototype.clear.length value and descriptor.
info: |
diff --git a/js/src/tests/test262/built-ins/Map/prototype/clear/map-data-list-is-preserved.js b/js/src/tests/test262/built-ins/Map/prototype/clear/map-data-list-is-preserved.js
index 45776fdf7339..269cecf34682 100644
--- a/js/src/tests/test262/built-ins/Map/prototype/clear/map-data-list-is-preserved.js
+++ b/js/src/tests/test262/built-ins/Map/prototype/clear/map-data-list-is-preserved.js
@@ -1,7 +1,7 @@
// Copyright (C) 2015 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
-es6id: 23.1.3.1
+esid: sec-map.prototype.clear
description: >
The existing [[MapData]] List is preserved.
info: |
diff --git a/js/src/tests/test262/built-ins/Map/prototype/clear/name.js b/js/src/tests/test262/built-ins/Map/prototype/clear/name.js
index 4f3192f74d11..0bef8b8fe7c9 100644
--- a/js/src/tests/test262/built-ins/Map/prototype/clear/name.js
+++ b/js/src/tests/test262/built-ins/Map/prototype/clear/name.js
@@ -1,7 +1,7 @@
// Copyright (C) 2015 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
-es6id: 23.1.3.1
+esid: sec-map.prototype.clear
description: >
Map.prototype.entries.name value and descriptor.
info: |
diff --git a/js/src/tests/test262/built-ins/Map/prototype/clear/returns-undefined.js b/js/src/tests/test262/built-ins/Map/prototype/clear/returns-undefined.js
index 84790473b3aa..396511db2f56 100644
--- a/js/src/tests/test262/built-ins/Map/prototype/clear/returns-undefined.js
+++ b/js/src/tests/test262/built-ins/Map/prototype/clear/returns-undefined.js
@@ -1,7 +1,7 @@
// Copyright (C) 2015 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
-es6id: 23.1.3.1
+esid: sec-map.prototype.clear
description: >
Returns undefined.
info: |
diff --git a/js/src/tests/test262/built-ins/Map/prototype/constructor.js b/js/src/tests/test262/built-ins/Map/prototype/constructor.js
index 0b731c694c20..6e09bd7231ec 100644
--- a/js/src/tests/test262/built-ins/Map/prototype/constructor.js
+++ b/js/src/tests/test262/built-ins/Map/prototype/constructor.js
@@ -1,7 +1,7 @@
// Copyright (C) 2015 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
-es6id: 23.1.3.2
+esid: sec-map-constructor
description: Map.prototype.constructor value and descriptor
info: |
The initial value of Map.prototype.constructor is the intrinsic object %Map%.
diff --git a/js/src/tests/test262/built-ins/Map/prototype/delete/context-is-not-map-object.js b/js/src/tests/test262/built-ins/Map/prototype/delete/context-is-not-map-object.js
index 9443d41d46fb..310e802730c8 100644
--- a/js/src/tests/test262/built-ins/Map/prototype/delete/context-is-not-map-object.js
+++ b/js/src/tests/test262/built-ins/Map/prototype/delete/context-is-not-map-object.js
@@ -1,7 +1,7 @@
// Copyright (C) 2015 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
-es6id: 23.1.3.3
+esid: sec-map.prototype.delete
description: >
Throws a TypeError if `this` does not have a [[MapData]] internal slot.
info: |
diff --git a/js/src/tests/test262/built-ins/Map/prototype/delete/context-is-not-object.js b/js/src/tests/test262/built-ins/Map/prototype/delete/context-is-not-object.js
index cd4d92a8a8bc..c2eaabf156d1 100644
--- a/js/src/tests/test262/built-ins/Map/prototype/delete/context-is-not-object.js
+++ b/js/src/tests/test262/built-ins/Map/prototype/delete/context-is-not-object.js
@@ -1,7 +1,7 @@
// Copyright (C) 2015 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
-es6id: 23.1.3.3
+esid: sec-map.prototype.delete
description: >
Throws a TypeError if `this` is not an Object.
info: |
diff --git a/js/src/tests/test262/built-ins/Map/prototype/delete/context-is-set-object-throws.js b/js/src/tests/test262/built-ins/Map/prototype/delete/context-is-set-object-throws.js
index ab0c778afafc..152c54616d20 100644
--- a/js/src/tests/test262/built-ins/Map/prototype/delete/context-is-set-object-throws.js
+++ b/js/src/tests/test262/built-ins/Map/prototype/delete/context-is-set-object-throws.js
@@ -1,7 +1,7 @@
// Copyright (C) 2015 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
-es6id: 23.1.3.3
+esid: sec-map.prototype.delete
description: >
Throws a TypeError if `this` is a Set object.
info: |
diff --git a/js/src/tests/test262/built-ins/Map/prototype/delete/context-is-weakmap-object-throws.js b/js/src/tests/test262/built-ins/Map/prototype/delete/context-is-weakmap-object-throws.js
index bf61a5e71bc2..ed9b730ba3e0 100644
--- a/js/src/tests/test262/built-ins/Map/prototype/delete/context-is-weakmap-object-throws.js
+++ b/js/src/tests/test262/built-ins/Map/prototype/delete/context-is-weakmap-object-throws.js
@@ -1,7 +1,7 @@
// Copyright (C) 2015 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
-es6id: 23.1.3.3
+esid: sec-map.prototype.delete
description: >
Throws a TypeError if `this` is a WeakMap object.
info: |
diff --git a/js/src/tests/test262/built-ins/Map/prototype/delete/delete.js b/js/src/tests/test262/built-ins/Map/prototype/delete/delete.js
index 2458200e6efa..7aca1a2ff705 100644
--- a/js/src/tests/test262/built-ins/Map/prototype/delete/delete.js
+++ b/js/src/tests/test262/built-ins/Map/prototype/delete/delete.js
@@ -1,7 +1,7 @@
// Copyright (C) 2015 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
-es6id: 23.1.3.3
+esid: sec-map.prototype.delete
description: >
Map.prototype.delete ( )
diff --git a/js/src/tests/test262/built-ins/Map/prototype/delete/does-not-break-iterators.js b/js/src/tests/test262/built-ins/Map/prototype/delete/does-not-break-iterators.js
index 2f7ddb4a47f3..28e4a365127b 100644
--- a/js/src/tests/test262/built-ins/Map/prototype/delete/does-not-break-iterators.js
+++ b/js/src/tests/test262/built-ins/Map/prototype/delete/does-not-break-iterators.js
@@ -1,7 +1,7 @@
// Copyright (C) 2015 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
-es6id: 23.1.3.3
+esid: sec-map.prototype.delete
description: >
Deleting an entry does not break a [[MapData]] List.
info: |
diff --git a/js/src/tests/test262/built-ins/Map/prototype/delete/length.js b/js/src/tests/test262/built-ins/Map/prototype/delete/length.js
index 4dc4dcb6ddd4..2be05ee2b1cb 100644
--- a/js/src/tests/test262/built-ins/Map/prototype/delete/length.js
+++ b/js/src/tests/test262/built-ins/Map/prototype/delete/length.js
@@ -1,7 +1,7 @@
// Copyright (C) 2015 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
-es6id: 23.1.3.3
+esid: sec-map.prototype.delete
description: >
Map.prototype.delete.length value and descriptor.
info: |
diff --git a/js/src/tests/test262/built-ins/Map/prototype/delete/name.js b/js/src/tests/test262/built-ins/Map/prototype/delete/name.js
index 265086297d03..dcacf4f3eee6 100644
--- a/js/src/tests/test262/built-ins/Map/prototype/delete/name.js
+++ b/js/src/tests/test262/built-ins/Map/prototype/delete/name.js
@@ -1,7 +1,7 @@
// Copyright (C) 2015 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
-es6id: 23.1.3.3
+esid: sec-map.prototype.delete
description: >
Map.prototype.delete.name value and descriptor.
info: |
diff --git a/js/src/tests/test262/built-ins/Map/prototype/delete/returns-false.js b/js/src/tests/test262/built-ins/Map/prototype/delete/returns-false.js
index 8a3a3fe45f3a..975d6e6ceb23 100644
--- a/js/src/tests/test262/built-ins/Map/prototype/delete/returns-false.js
+++ b/js/src/tests/test262/built-ins/Map/prototype/delete/returns-false.js
@@ -1,7 +1,7 @@
// Copyright (C) 2015 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
-es6id: 23.1.3.3
+esid: sec-map.prototype.delete
description: >
Returns false when it does not delete an entry.
info: |
diff --git a/js/src/tests/test262/built-ins/Map/prototype/delete/returns-true-for-deleted-entry.js b/js/src/tests/test262/built-ins/Map/prototype/delete/returns-true-for-deleted-entry.js
index 3b9ffc44940e..11b650212185 100644
--- a/js/src/tests/test262/built-ins/Map/prototype/delete/returns-true-for-deleted-entry.js
+++ b/js/src/tests/test262/built-ins/Map/prototype/delete/returns-true-for-deleted-entry.js
@@ -1,7 +1,7 @@
// Copyright (C) 2015 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
-es6id: 23.1.3.3
+esid: sec-map.prototype.delete
description: >
Returns true when deletes an entry.
info: |
diff --git a/js/src/tests/test262/built-ins/Map/prototype/descriptor.js b/js/src/tests/test262/built-ins/Map/prototype/descriptor.js
index a1d5287cd5b3..6e4de86aff21 100644
--- a/js/src/tests/test262/built-ins/Map/prototype/descriptor.js
+++ b/js/src/tests/test262/built-ins/Map/prototype/descriptor.js
@@ -1,7 +1,7 @@
// Copyright (C) 2015 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
-es6id: 23.1.2.1
+esid: sec-map.prototype
description: Map.prototype property attributes.
info: |
This property has the attributes { [[Writable]]: false, [[Enumerable]]: false,
diff --git a/js/src/tests/test262/built-ins/Map/prototype/entries/does-not-have-mapdata-internal-slot-set.js b/js/src/tests/test262/built-ins/Map/prototype/entries/does-not-have-mapdata-internal-slot-set.js
index 6fb16af8cc76..d3b6325a6c05 100644
--- a/js/src/tests/test262/built-ins/Map/prototype/entries/does-not-have-mapdata-internal-slot-set.js
+++ b/js/src/tests/test262/built-ins/Map/prototype/entries/does-not-have-mapdata-internal-slot-set.js
@@ -1,7 +1,7 @@
// Copyright (C) 2015 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
-es6id: 23.1.3.4
+esid: sec-map.prototype.entries
description: >
Throws a TypeError if `this` is a Set object.
info: |
diff --git a/js/src/tests/test262/built-ins/Map/prototype/entries/does-not-have-mapdata-internal-slot-weakmap.js b/js/src/tests/test262/built-ins/Map/prototype/entries/does-not-have-mapdata-internal-slot-weakmap.js
index 4aa2bd38b392..87eb91ab40f0 100644
--- a/js/src/tests/test262/built-ins/Map/prototype/entries/does-not-have-mapdata-internal-slot-weakmap.js
+++ b/js/src/tests/test262/built-ins/Map/prototype/entries/does-not-have-mapdata-internal-slot-weakmap.js
@@ -1,7 +1,7 @@
// Copyright (C) 2015 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
-es6id: 23.1.3.4
+esid: sec-map.prototype.entries
description: >
Throws a TypeError if `this` is a WeakMap object.
info: |
diff --git a/js/src/tests/test262/built-ins/Map/prototype/entries/does-not-have-mapdata-internal-slot.js b/js/src/tests/test262/built-ins/Map/prototype/entries/does-not-have-mapdata-internal-slot.js
index c62687482a88..ce76b2353e0f 100644
--- a/js/src/tests/test262/built-ins/Map/prototype/entries/does-not-have-mapdata-internal-slot.js
+++ b/js/src/tests/test262/built-ins/Map/prototype/entries/does-not-have-mapdata-internal-slot.js
@@ -1,7 +1,7 @@
// Copyright (C) 2015 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
-es6id: 23.1.3.4
+esid: sec-map.prototype.entries
description: >
Throws a TypeError if `this` object does not have a [[MapData]] internal slot.
info: |
diff --git a/js/src/tests/test262/built-ins/Map/prototype/entries/entries.js b/js/src/tests/test262/built-ins/Map/prototype/entries/entries.js
index 102c6f095126..c4a37be588a3 100644
--- a/js/src/tests/test262/built-ins/Map/prototype/entries/entries.js
+++ b/js/src/tests/test262/built-ins/Map/prototype/entries/entries.js
@@ -1,7 +1,7 @@
// Copyright (C) 2015 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
-es6id: 23.1.3.4
+esid: sec-map.prototype.entries
description: >
Property type and descriptor.
info: |
diff --git a/js/src/tests/test262/built-ins/Map/prototype/entries/length.js b/js/src/tests/test262/built-ins/Map/prototype/entries/length.js
index 061fb37a9f78..593e9181333f 100644
--- a/js/src/tests/test262/built-ins/Map/prototype/entries/length.js
+++ b/js/src/tests/test262/built-ins/Map/prototype/entries/length.js
@@ -1,7 +1,7 @@
// Copyright (C) 2015 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
-es6id: 23.1.3.4
+esid: sec-map.prototype.entries
description: >
Map.prototype.entries.length value and descriptor.
info: |
diff --git a/js/src/tests/test262/built-ins/Map/prototype/entries/name.js b/js/src/tests/test262/built-ins/Map/prototype/entries/name.js
index ccdd641cf2f5..533b2fa97ee5 100644
--- a/js/src/tests/test262/built-ins/Map/prototype/entries/name.js
+++ b/js/src/tests/test262/built-ins/Map/prototype/entries/name.js
@@ -1,7 +1,7 @@
// Copyright (C) 2015 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
-es6id: 23.1.3.4
+esid: sec-map.prototype.entries
description: >
Map.prototype.entries.name value and descriptor.
info: |
diff --git a/js/src/tests/test262/built-ins/Map/prototype/entries/returns-iterator-empty.js b/js/src/tests/test262/built-ins/Map/prototype/entries/returns-iterator-empty.js
index 7b467ef46e00..adda70f48377 100644
--- a/js/src/tests/test262/built-ins/Map/prototype/entries/returns-iterator-empty.js
+++ b/js/src/tests/test262/built-ins/Map/prototype/entries/returns-iterator-empty.js
@@ -1,7 +1,7 @@
// Copyright (C) 2015 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
-es6id: 23.1.3.4
+esid: sec-map.prototype.entries
description: >
Returns an iterator on an empty Map object.
info: |
diff --git a/js/src/tests/test262/built-ins/Map/prototype/entries/returns-iterator.js b/js/src/tests/test262/built-ins/Map/prototype/entries/returns-iterator.js
index c258f17ca60c..aeae3eb81b3b 100644
--- a/js/src/tests/test262/built-ins/Map/prototype/entries/returns-iterator.js
+++ b/js/src/tests/test262/built-ins/Map/prototype/entries/returns-iterator.js
@@ -1,7 +1,7 @@
// Copyright (C) 2015 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
-es6id: 23.1.3.4
+esid: sec-map.prototype.entries
description: >
Returns an iterator.
info: |
diff --git a/js/src/tests/test262/built-ins/Map/prototype/entries/this-not-object-throw.js b/js/src/tests/test262/built-ins/Map/prototype/entries/this-not-object-throw.js
index 17c6914fd834..3b8144ef05e9 100644
--- a/js/src/tests/test262/built-ins/Map/prototype/entries/this-not-object-throw.js
+++ b/js/src/tests/test262/built-ins/Map/prototype/entries/this-not-object-throw.js
@@ -1,7 +1,7 @@
// Copyright (C) 2015 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
-es6id: 23.1.3.4
+esid: sec-map.prototype.entries
description: >
Throws a TypeError if `this` is not an Object.
info: |
diff --git a/js/src/tests/test262/built-ins/Map/prototype/forEach/callback-parameters.js b/js/src/tests/test262/built-ins/Map/prototype/forEach/callback-parameters.js
index 68f1d1fe770a..80120ec0f33f 100644
--- a/js/src/tests/test262/built-ins/Map/prototype/forEach/callback-parameters.js
+++ b/js/src/tests/test262/built-ins/Map/prototype/forEach/callback-parameters.js
@@ -1,7 +1,7 @@
// Copyright (C) 2015 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
-es6id: 23.1.3.5
+esid: sec-map.prototype.forEach
description: >
Verify the parameters order on the given callback.
info: |
diff --git a/js/src/tests/test262/built-ins/Map/prototype/forEach/callback-result-is-abrupt.js b/js/src/tests/test262/built-ins/Map/prototype/forEach/callback-result-is-abrupt.js
index 2a99ee3ba1b3..db210e806ad4 100644
--- a/js/src/tests/test262/built-ins/Map/prototype/forEach/callback-result-is-abrupt.js
+++ b/js/src/tests/test262/built-ins/Map/prototype/forEach/callback-result-is-abrupt.js
@@ -1,7 +1,7 @@
// Copyright (C) 2015 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
-es6id: 23.1.3.5
+esid: sec-map.prototype.forEach
description: >
Returns error from callback result is abrupt.
info: |
diff --git a/js/src/tests/test262/built-ins/Map/prototype/forEach/callback-this-non-strict.js b/js/src/tests/test262/built-ins/Map/prototype/forEach/callback-this-non-strict.js
index a20afec5b512..d28c2691d26c 100644
--- a/js/src/tests/test262/built-ins/Map/prototype/forEach/callback-this-non-strict.js
+++ b/js/src/tests/test262/built-ins/Map/prototype/forEach/callback-this-non-strict.js
@@ -1,7 +1,7 @@
// Copyright (C) 2015 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
-es6id: 23.1.3.5
+esid: sec-map.prototype.forEach
description: >
If a thisArg is not provided, undefined will be used as the this value for
each invocation of callbackfn.
diff --git a/js/src/tests/test262/built-ins/Map/prototype/forEach/callback-this-strict-strict.js b/js/src/tests/test262/built-ins/Map/prototype/forEach/callback-this-strict-strict.js
index 1a8006089b57..97abaf89b5ca 100644
--- a/js/src/tests/test262/built-ins/Map/prototype/forEach/callback-this-strict-strict.js
+++ b/js/src/tests/test262/built-ins/Map/prototype/forEach/callback-this-strict-strict.js
@@ -2,7 +2,7 @@
// Copyright (C) 2015 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
-es6id: 23.1.3.5
+esid: sec-map.prototype.forEach
description: >
If a thisArg is not provided, undefined will be used as the this value for
each invocation of callbackfn.
diff --git a/js/src/tests/test262/built-ins/Map/prototype/forEach/deleted-values-during-foreach.js b/js/src/tests/test262/built-ins/Map/prototype/forEach/deleted-values-during-foreach.js
index 84c773f4a4f2..76498de30013 100644
--- a/js/src/tests/test262/built-ins/Map/prototype/forEach/deleted-values-during-foreach.js
+++ b/js/src/tests/test262/built-ins/Map/prototype/forEach/deleted-values-during-foreach.js
@@ -1,7 +1,7 @@
// Copyright (C) 2015 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
-es6id: 23.1.3.5
+esid: sec-map.prototype.forEach
description: >
Map state with deleted values during forEach.
info: |
diff --git a/js/src/tests/test262/built-ins/Map/prototype/forEach/does-not-have-mapdata-internal-slot-set.js b/js/src/tests/test262/built-ins/Map/prototype/forEach/does-not-have-mapdata-internal-slot-set.js
index 1cfea0915f67..45dff89fd353 100644
--- a/js/src/tests/test262/built-ins/Map/prototype/forEach/does-not-have-mapdata-internal-slot-set.js
+++ b/js/src/tests/test262/built-ins/Map/prototype/forEach/does-not-have-mapdata-internal-slot-set.js
@@ -1,7 +1,7 @@
// Copyright (C) 2015 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
-es6id: 23.1.3.5
+esid: sec-map.prototype.forEach
description: >
Throws a TypeError if `this` is a Set object.
info: |
diff --git a/js/src/tests/test262/built-ins/Map/prototype/forEach/does-not-have-mapdata-internal-slot-weakmap.js b/js/src/tests/test262/built-ins/Map/prototype/forEach/does-not-have-mapdata-internal-slot-weakmap.js
index deb205d22732..f53d2ca50a43 100644
--- a/js/src/tests/test262/built-ins/Map/prototype/forEach/does-not-have-mapdata-internal-slot-weakmap.js
+++ b/js/src/tests/test262/built-ins/Map/prototype/forEach/does-not-have-mapdata-internal-slot-weakmap.js
@@ -1,7 +1,7 @@
// Copyright (C) 2015 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
-es6id: 23.1.3.5
+esid: sec-map.prototype.forEach
description: >
Throws a TypeError if `this` is a WeakMap object.
info: |
diff --git a/js/src/tests/test262/built-ins/Map/prototype/forEach/does-not-have-mapdata-internal-slot.js b/js/src/tests/test262/built-ins/Map/prototype/forEach/does-not-have-mapdata-internal-slot.js
index 4030d454a8c6..1f7f9c860cd9 100644
--- a/js/src/tests/test262/built-ins/Map/prototype/forEach/does-not-have-mapdata-internal-slot.js
+++ b/js/src/tests/test262/built-ins/Map/prototype/forEach/does-not-have-mapdata-internal-slot.js
@@ -1,7 +1,7 @@
// Copyright (C) 2015 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
-es6id: 23.1.3.5
+esid: sec-map.prototype.forEach
description: >
Throws a TypeError if `this` object does not have a [[MapData]] internal slot.
info: |
diff --git a/js/src/tests/test262/built-ins/Map/prototype/forEach/first-argument-is-not-callable.js b/js/src/tests/test262/built-ins/Map/prototype/forEach/first-argument-is-not-callable.js
index 630484f435f2..c88ef521af8a 100644
--- a/js/src/tests/test262/built-ins/Map/prototype/forEach/first-argument-is-not-callable.js
+++ b/js/src/tests/test262/built-ins/Map/prototype/forEach/first-argument-is-not-callable.js
@@ -1,7 +1,7 @@
// Copyright (C) 2015 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
-es6id: 23.1.3.5
+esid: sec-map.prototype.forEach
description: >
Throws a TypeError if first argument is not callable.
info: |
diff --git a/js/src/tests/test262/built-ins/Map/prototype/forEach/forEach.js b/js/src/tests/test262/built-ins/Map/prototype/forEach/forEach.js
index 267898297239..20f4b5b7587c 100644
--- a/js/src/tests/test262/built-ins/Map/prototype/forEach/forEach.js
+++ b/js/src/tests/test262/built-ins/Map/prototype/forEach/forEach.js
@@ -1,7 +1,7 @@
// Copyright (C) 2015 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
-es6id: 23.1.3.5
+esid: sec-map.prototype.forEach
description: >
Property type and descriptor.
info: |
diff --git a/js/src/tests/test262/built-ins/Map/prototype/forEach/iterates-in-key-insertion-order.js b/js/src/tests/test262/built-ins/Map/prototype/forEach/iterates-in-key-insertion-order.js
index e064c061ef5c..24012f435ba5 100644
--- a/js/src/tests/test262/built-ins/Map/prototype/forEach/iterates-in-key-insertion-order.js
+++ b/js/src/tests/test262/built-ins/Map/prototype/forEach/iterates-in-key-insertion-order.js
@@ -1,7 +1,7 @@
// Copyright (C) 2015 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
-es6id: 23.1.3.5
+esid: sec-map.prototype.forEach
description: >
Repeats for each non-empty record, in original key insertion order.
info: |
diff --git a/js/src/tests/test262/built-ins/Map/prototype/forEach/iterates-values-added-after-foreach-begins.js b/js/src/tests/test262/built-ins/Map/prototype/forEach/iterates-values-added-after-foreach-begins.js
index eb120ee61113..f728b86d9bb8 100644
--- a/js/src/tests/test262/built-ins/Map/prototype/forEach/iterates-values-added-after-foreach-begins.js
+++ b/js/src/tests/test262/built-ins/Map/prototype/forEach/iterates-values-added-after-foreach-begins.js
@@ -1,7 +1,7 @@
// Copyright (C) 2015 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
-es6id: 23.1.3.5
+esid: sec-map.prototype.forEach
description: >
New keys are visited if created during forEach execution.
info: |
diff --git a/js/src/tests/test262/built-ins/Map/prototype/forEach/iterates-values-deleted-then-readded.js b/js/src/tests/test262/built-ins/Map/prototype/forEach/iterates-values-deleted-then-readded.js
index 1f2d8a62b87b..a0cce8e52551 100644
--- a/js/src/tests/test262/built-ins/Map/prototype/forEach/iterates-values-deleted-then-readded.js
+++ b/js/src/tests/test262/built-ins/Map/prototype/forEach/iterates-values-deleted-then-readded.js
@@ -1,7 +1,7 @@
// Copyright (C) 2015 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
-es6id: 23.1.3.5
+esid: sec-map.prototype.forEach
description: >
New keys are visited if created during forEach execution.
info: |
diff --git a/js/src/tests/test262/built-ins/Map/prototype/forEach/length.js b/js/src/tests/test262/built-ins/Map/prototype/forEach/length.js
index 072bdb3ea417..d0e0c95dc8ef 100644
--- a/js/src/tests/test262/built-ins/Map/prototype/forEach/length.js
+++ b/js/src/tests/test262/built-ins/Map/prototype/forEach/length.js
@@ -1,7 +1,7 @@
// Copyright (C) 2015 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
-es6id: 23.1.3.5
+esid: sec-map.prototype.forEach
description: >
Map.prototype.forEach.length value and descriptor.
info: |
diff --git a/js/src/tests/test262/built-ins/Map/prototype/forEach/name.js b/js/src/tests/test262/built-ins/Map/prototype/forEach/name.js
index 7656ab1df1ad..ea6f8c57fd89 100644
--- a/js/src/tests/test262/built-ins/Map/prototype/forEach/name.js
+++ b/js/src/tests/test262/built-ins/Map/prototype/forEach/name.js
@@ -1,7 +1,7 @@
// Copyright (C) 2015 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
-es6id: 23.1.3.5
+esid: sec-map.prototype.forEach
description: >
Map.prototype.forEach.name value and descriptor.
info: |
diff --git a/js/src/tests/test262/built-ins/Map/prototype/forEach/return-undefined.js b/js/src/tests/test262/built-ins/Map/prototype/forEach/return-undefined.js
index 8e3a0d52f338..f3f2d3b2fde1 100644
--- a/js/src/tests/test262/built-ins/Map/prototype/forEach/return-undefined.js
+++ b/js/src/tests/test262/built-ins/Map/prototype/forEach/return-undefined.js
@@ -1,7 +1,7 @@
// Copyright (C) 2015 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
-es6id: 23.1.3.5
+esid: sec-map.prototype.forEach
description: >
Returns undefined.
info: |
diff --git a/js/src/tests/test262/built-ins/Map/prototype/forEach/second-parameter-as-callback-context.js b/js/src/tests/test262/built-ins/Map/prototype/forEach/second-parameter-as-callback-context.js
index 162b3c047c6b..16c5def0d456 100644
--- a/js/src/tests/test262/built-ins/Map/prototype/forEach/second-parameter-as-callback-context.js
+++ b/js/src/tests/test262/built-ins/Map/prototype/forEach/second-parameter-as-callback-context.js
@@ -1,7 +1,7 @@
// Copyright (C) 2015 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
-es6id: 23.1.3.5
+esid: sec-map.prototype.forEach
description: >
If a thisArg parameter is provided, it will be used as the this value for each
invocation of callbackfn.
diff --git a/js/src/tests/test262/built-ins/Map/prototype/forEach/this-not-object-throw.js b/js/src/tests/test262/built-ins/Map/prototype/forEach/this-not-object-throw.js
index 649b4778357d..0e281c65857e 100644
--- a/js/src/tests/test262/built-ins/Map/prototype/forEach/this-not-object-throw.js
+++ b/js/src/tests/test262/built-ins/Map/prototype/forEach/this-not-object-throw.js
@@ -1,7 +1,7 @@
// Copyright (C) 2015 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
-es6id: 23.1.3.5
+esid: sec-map.prototype.forEach
description: >
Throws a TypeError if `this` is not an Object.
info: |
diff --git a/js/src/tests/test262/built-ins/Map/prototype/get/does-not-have-mapdata-internal-slot-set.js b/js/src/tests/test262/built-ins/Map/prototype/get/does-not-have-mapdata-internal-slot-set.js
index 1bb2bd09b818..05dd6be15b29 100644
--- a/js/src/tests/test262/built-ins/Map/prototype/get/does-not-have-mapdata-internal-slot-set.js
+++ b/js/src/tests/test262/built-ins/Map/prototype/get/does-not-have-mapdata-internal-slot-set.js
@@ -1,7 +1,7 @@
// Copyright (C) 2015 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
-es6id: 23.1.3.6
+esid: sec-map.prototype.get
description: >
Throws a TypeError if `this` is a Set object.
info: |
diff --git a/js/src/tests/test262/built-ins/Map/prototype/get/does-not-have-mapdata-internal-slot-weakmap.js b/js/src/tests/test262/built-ins/Map/prototype/get/does-not-have-mapdata-internal-slot-weakmap.js
index 06a6ad62b61c..618f1201df08 100644
--- a/js/src/tests/test262/built-ins/Map/prototype/get/does-not-have-mapdata-internal-slot-weakmap.js
+++ b/js/src/tests/test262/built-ins/Map/prototype/get/does-not-have-mapdata-internal-slot-weakmap.js
@@ -1,7 +1,7 @@
// Copyright (C) 2015 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
-es6id: 23.1.3.6
+esid: sec-map.prototype.get
description: >
Throws a TypeError if `this` is a WeakMap object.
info: |
diff --git a/js/src/tests/test262/built-ins/Map/prototype/get/does-not-have-mapdata-internal-slot.js b/js/src/tests/test262/built-ins/Map/prototype/get/does-not-have-mapdata-internal-slot.js
index 0e3c065582eb..1cc52a9e222e 100644
--- a/js/src/tests/test262/built-ins/Map/prototype/get/does-not-have-mapdata-internal-slot.js
+++ b/js/src/tests/test262/built-ins/Map/prototype/get/does-not-have-mapdata-internal-slot.js
@@ -1,7 +1,7 @@
// Copyright (C) 2015 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
-es6id: 23.1.3.6
+esid: sec-map.prototype.get
description: >
Throws a TypeError if `this` object does not have a [[MapData]] internal slot.
info: |
diff --git a/js/src/tests/test262/built-ins/Map/prototype/get/get.js b/js/src/tests/test262/built-ins/Map/prototype/get/get.js
index 2463ed994302..98525e86462e 100644
--- a/js/src/tests/test262/built-ins/Map/prototype/get/get.js
+++ b/js/src/tests/test262/built-ins/Map/prototype/get/get.js
@@ -1,7 +1,7 @@
// Copyright (C) 2015 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
-es6id: 23.1.3.6
+esid: sec-map.prototype.get
description: >
Property type and descriptor.
info: |
diff --git a/js/src/tests/test262/built-ins/Map/prototype/get/length.js b/js/src/tests/test262/built-ins/Map/prototype/get/length.js
index 7c7ba35a4d97..4d6e66ffcb6a 100644
--- a/js/src/tests/test262/built-ins/Map/prototype/get/length.js
+++ b/js/src/tests/test262/built-ins/Map/prototype/get/length.js
@@ -1,7 +1,7 @@
// Copyright (C) 2015 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
-es6id: 23.1.3.6
+esid: sec-map.prototype.get
description: >
Map.prototype.get.length value and descriptor.
info: |
diff --git a/js/src/tests/test262/built-ins/Map/prototype/get/name.js b/js/src/tests/test262/built-ins/Map/prototype/get/name.js
index 986bb39b67d8..ef63a260eeb7 100644
--- a/js/src/tests/test262/built-ins/Map/prototype/get/name.js
+++ b/js/src/tests/test262/built-ins/Map/prototype/get/name.js
@@ -1,7 +1,7 @@
// Copyright (C) 2015 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
-es6id: 23.1.3.6
+esid: sec-map.prototype.get
description: >
Map.prototype.get.name value and descriptor.
info: |
diff --git a/js/src/tests/test262/built-ins/Map/prototype/get/returns-undefined.js b/js/src/tests/test262/built-ins/Map/prototype/get/returns-undefined.js
index 220528d5da61..9af716299312 100644
--- a/js/src/tests/test262/built-ins/Map/prototype/get/returns-undefined.js
+++ b/js/src/tests/test262/built-ins/Map/prototype/get/returns-undefined.js
@@ -1,7 +1,7 @@
// Copyright (C) 2015 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
-es6id: 23.1.3.6
+esid: sec-map.prototype.get
description: >
Returns undefined when key is not on the map.
info: |
diff --git a/js/src/tests/test262/built-ins/Map/prototype/get/returns-value-different-key-types.js b/js/src/tests/test262/built-ins/Map/prototype/get/returns-value-different-key-types.js
index a495876ee8e0..b773a87e48eb 100644
--- a/js/src/tests/test262/built-ins/Map/prototype/get/returns-value-different-key-types.js
+++ b/js/src/tests/test262/built-ins/Map/prototype/get/returns-value-different-key-types.js
@@ -1,7 +1,7 @@
// Copyright (C) 2015 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
-es6id: 23.1.3.6
+esid: sec-map.prototype.get
description: >
Returns the value from the specified key on different types.
info: |
diff --git a/js/src/tests/test262/built-ins/Map/prototype/get/returns-value-normalized-zero-key.js b/js/src/tests/test262/built-ins/Map/prototype/get/returns-value-normalized-zero-key.js
index b2671b3d006d..194b18600208 100644
--- a/js/src/tests/test262/built-ins/Map/prototype/get/returns-value-normalized-zero-key.js
+++ b/js/src/tests/test262/built-ins/Map/prototype/get/returns-value-normalized-zero-key.js
@@ -1,7 +1,7 @@
// Copyright (C) 2015 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
-es6id: 23.1.3.6
+esid: sec-map.prototype.get
description: >
-0 and +0 are normalized to +0;
info: |
diff --git a/js/src/tests/test262/built-ins/Map/prototype/get/this-not-object-throw.js b/js/src/tests/test262/built-ins/Map/prototype/get/this-not-object-throw.js
index 360a5b3999de..46d5ea11af34 100644
--- a/js/src/tests/test262/built-ins/Map/prototype/get/this-not-object-throw.js
+++ b/js/src/tests/test262/built-ins/Map/prototype/get/this-not-object-throw.js
@@ -1,7 +1,7 @@
// Copyright (C) 2015 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
-es6id: 23.1.3.6
+esid: sec-map.prototype.get
description: >
Throws a TypeError if `this` is not an Object.
info: |
diff --git a/js/src/tests/test262/built-ins/Map/prototype/has/does-not-have-mapdata-internal-slot-set.js b/js/src/tests/test262/built-ins/Map/prototype/has/does-not-have-mapdata-internal-slot-set.js
index 5cc316d7b215..be7b3296ead4 100644
--- a/js/src/tests/test262/built-ins/Map/prototype/has/does-not-have-mapdata-internal-slot-set.js
+++ b/js/src/tests/test262/built-ins/Map/prototype/has/does-not-have-mapdata-internal-slot-set.js
@@ -1,7 +1,7 @@
// Copyright (C) 2015 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
-es6id: 23.1.3.7
+esid: sec-map.prototype.has
description: >
Throws a TypeError if `this` is a Set object.
info: |
diff --git a/js/src/tests/test262/built-ins/Map/prototype/has/does-not-have-mapdata-internal-slot-weakmap.js b/js/src/tests/test262/built-ins/Map/prototype/has/does-not-have-mapdata-internal-slot-weakmap.js
index e0dfd6c4590d..d470bbdb8c10 100644
--- a/js/src/tests/test262/built-ins/Map/prototype/has/does-not-have-mapdata-internal-slot-weakmap.js
+++ b/js/src/tests/test262/built-ins/Map/prototype/has/does-not-have-mapdata-internal-slot-weakmap.js
@@ -1,7 +1,7 @@
// Copyright (C) 2015 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
-es6id: 23.1.3.7
+esid: sec-map.prototype.has
description: >
Throws a TypeError if `this` is a WeakMap object.
info: |
diff --git a/js/src/tests/test262/built-ins/Map/prototype/has/does-not-have-mapdata-internal-slot.js b/js/src/tests/test262/built-ins/Map/prototype/has/does-not-have-mapdata-internal-slot.js
index 78bf50665505..77cb5284b264 100644
--- a/js/src/tests/test262/built-ins/Map/prototype/has/does-not-have-mapdata-internal-slot.js
+++ b/js/src/tests/test262/built-ins/Map/prototype/has/does-not-have-mapdata-internal-slot.js
@@ -1,7 +1,7 @@
// Copyright (C) 2015 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
-es6id: 23.1.3.7
+esid: sec-map.prototype.has
description: >
Throws a TypeError if `this` object does not have a [[MapData]] internal slot.
info: |
diff --git a/js/src/tests/test262/built-ins/Map/prototype/has/has.js b/js/src/tests/test262/built-ins/Map/prototype/has/has.js
index d90141e50b8f..0ff8d0b6eb85 100644
--- a/js/src/tests/test262/built-ins/Map/prototype/has/has.js
+++ b/js/src/tests/test262/built-ins/Map/prototype/has/has.js
@@ -1,7 +1,7 @@
// Copyright (C) 2015 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
-es6id: 23.1.3.7
+esid: sec-map.prototype.has
description: >
Property type and descriptor.
info: |
diff --git a/js/src/tests/test262/built-ins/Map/prototype/has/length.js b/js/src/tests/test262/built-ins/Map/prototype/has/length.js
index be24d24fcadf..d5e9b5b48efc 100644
--- a/js/src/tests/test262/built-ins/Map/prototype/has/length.js
+++ b/js/src/tests/test262/built-ins/Map/prototype/has/length.js
@@ -1,7 +1,7 @@
// Copyright (C) 2015 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
-es6id: 23.1.3.7
+esid: sec-map.prototype.has
description: >
Map.prototype.has.length value and descriptor.
info: |
diff --git a/js/src/tests/test262/built-ins/Map/prototype/has/name.js b/js/src/tests/test262/built-ins/Map/prototype/has/name.js
index 11d7853e3ff3..82e1dc3f0146 100644
--- a/js/src/tests/test262/built-ins/Map/prototype/has/name.js
+++ b/js/src/tests/test262/built-ins/Map/prototype/has/name.js
@@ -1,7 +1,7 @@
// Copyright (C) 2015 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
-es6id: 23.1.3.7
+esid: sec-map.prototype.has
description: >
Map.prototype.has.name value and descriptor.
info: |
diff --git a/js/src/tests/test262/built-ins/Map/prototype/has/normalizes-zero-key.js b/js/src/tests/test262/built-ins/Map/prototype/has/normalizes-zero-key.js
index faadc82fc497..8bdc66d59cfe 100644
--- a/js/src/tests/test262/built-ins/Map/prototype/has/normalizes-zero-key.js
+++ b/js/src/tests/test262/built-ins/Map/prototype/has/normalizes-zero-key.js
@@ -1,7 +1,7 @@
// Copyright (C) 2015 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
-es6id: 23.1.3.7
+esid: sec-map.prototype.has
description: >
-0 and +0 are normalized to +0;
info: |
diff --git a/js/src/tests/test262/built-ins/Map/prototype/has/return-false-different-key-types.js b/js/src/tests/test262/built-ins/Map/prototype/has/return-false-different-key-types.js
index 31e7c6d24e5f..a790c9964c12 100644
--- a/js/src/tests/test262/built-ins/Map/prototype/has/return-false-different-key-types.js
+++ b/js/src/tests/test262/built-ins/Map/prototype/has/return-false-different-key-types.js
@@ -1,7 +1,7 @@
// Copyright (C) 2015 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
-es6id: 23.1.3.7
+esid: sec-map.prototype.has
description: >
Returns true for existing keys, using different key types.
info: |
diff --git a/js/src/tests/test262/built-ins/Map/prototype/has/return-true-different-key-types.js b/js/src/tests/test262/built-ins/Map/prototype/has/return-true-different-key-types.js
index b90060e93a18..1d56cae345cf 100644
--- a/js/src/tests/test262/built-ins/Map/prototype/has/return-true-different-key-types.js
+++ b/js/src/tests/test262/built-ins/Map/prototype/has/return-true-different-key-types.js
@@ -1,7 +1,7 @@
// Copyright (C) 2015 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
-es6id: 23.1.3.7
+esid: sec-map.prototype.has
description: >
Returns true for existing keys, using different key types.
info: |
diff --git a/js/src/tests/test262/built-ins/Map/prototype/has/this-not-object-throw.js b/js/src/tests/test262/built-ins/Map/prototype/has/this-not-object-throw.js
index 3c76da555b6a..219a48a2ae77 100644
--- a/js/src/tests/test262/built-ins/Map/prototype/has/this-not-object-throw.js
+++ b/js/src/tests/test262/built-ins/Map/prototype/has/this-not-object-throw.js
@@ -1,7 +1,7 @@
// Copyright (C) 2015 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
-es6id: 23.1.3.7
+esid: sec-map.prototype.has
description: >
Throws a TypeError if `this` is not an Object.
info: |
diff --git a/js/src/tests/test262/built-ins/Map/prototype/keys/does-not-have-mapdata-internal-slot-set.js b/js/src/tests/test262/built-ins/Map/prototype/keys/does-not-have-mapdata-internal-slot-set.js
index e0ce7827079b..b32534b4a092 100644
--- a/js/src/tests/test262/built-ins/Map/prototype/keys/does-not-have-mapdata-internal-slot-set.js
+++ b/js/src/tests/test262/built-ins/Map/prototype/keys/does-not-have-mapdata-internal-slot-set.js
@@ -1,7 +1,7 @@
// Copyright (C) 2015 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
-es6id: 23.1.3.8
+esid: sec-map.prototype.keys
description: >
Throws a TypeError if `this` is a Set object.
info: |
diff --git a/js/src/tests/test262/built-ins/Map/prototype/keys/does-not-have-mapdata-internal-slot-weakmap.js b/js/src/tests/test262/built-ins/Map/prototype/keys/does-not-have-mapdata-internal-slot-weakmap.js
index 2a0f750f91f7..b12d4c2a9622 100644
--- a/js/src/tests/test262/built-ins/Map/prototype/keys/does-not-have-mapdata-internal-slot-weakmap.js
+++ b/js/src/tests/test262/built-ins/Map/prototype/keys/does-not-have-mapdata-internal-slot-weakmap.js
@@ -1,7 +1,7 @@
// Copyright (C) 2015 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
-es6id: 23.1.3.8
+esid: sec-map.prototype.keys
description: >
Throws a TypeError if `this` is a WeakMap object.
info: |
diff --git a/js/src/tests/test262/built-ins/Map/prototype/keys/does-not-have-mapdata-internal-slot.js b/js/src/tests/test262/built-ins/Map/prototype/keys/does-not-have-mapdata-internal-slot.js
index af2864b3cdc9..7869123ad130 100644
--- a/js/src/tests/test262/built-ins/Map/prototype/keys/does-not-have-mapdata-internal-slot.js
+++ b/js/src/tests/test262/built-ins/Map/prototype/keys/does-not-have-mapdata-internal-slot.js
@@ -1,7 +1,7 @@
// Copyright (C) 2015 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
-es6id: 23.1.3.8
+esid: sec-map.prototype.keys
description: >
Throws a TypeError if `this` object does not have a [[MapData]] internal slot.
info: |
diff --git a/js/src/tests/test262/built-ins/Map/prototype/keys/keys.js b/js/src/tests/test262/built-ins/Map/prototype/keys/keys.js
index 1c9b01aca817..3ba771c73562 100644
--- a/js/src/tests/test262/built-ins/Map/prototype/keys/keys.js
+++ b/js/src/tests/test262/built-ins/Map/prototype/keys/keys.js
@@ -1,7 +1,7 @@
// Copyright (C) 2015 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
-es6id: 23.1.3.8
+esid: sec-map.prototype.keys
description: >
Property type and descriptor.
info: |
diff --git a/js/src/tests/test262/built-ins/Map/prototype/keys/length.js b/js/src/tests/test262/built-ins/Map/prototype/keys/length.js
index 2821d98197c0..6a5c19fd9691 100644
--- a/js/src/tests/test262/built-ins/Map/prototype/keys/length.js
+++ b/js/src/tests/test262/built-ins/Map/prototype/keys/length.js
@@ -1,7 +1,7 @@
// Copyright (C) 2015 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
-es6id: 23.1.3.8
+esid: sec-map.prototype.keys
description: >
Map.prototype.keys.length value and descriptor.
info: |
diff --git a/js/src/tests/test262/built-ins/Map/prototype/keys/name.js b/js/src/tests/test262/built-ins/Map/prototype/keys/name.js
index 95c8920db712..ce3aa466612a 100644
--- a/js/src/tests/test262/built-ins/Map/prototype/keys/name.js
+++ b/js/src/tests/test262/built-ins/Map/prototype/keys/name.js
@@ -1,7 +1,7 @@
// Copyright (C) 2015 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
-es6id: 23.1.3.8
+esid: sec-map.prototype.keys
description: >
Map.prototype.keys.name value and descriptor.
info: |
diff --git a/js/src/tests/test262/built-ins/Map/prototype/keys/returns-iterator-empty.js b/js/src/tests/test262/built-ins/Map/prototype/keys/returns-iterator-empty.js
index 7791949cc06c..d00763f142b1 100644
--- a/js/src/tests/test262/built-ins/Map/prototype/keys/returns-iterator-empty.js
+++ b/js/src/tests/test262/built-ins/Map/prototype/keys/returns-iterator-empty.js
@@ -1,7 +1,7 @@
// Copyright (C) 2015 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
-es6id: 23.1.3.8
+esid: sec-map.prototype.keys
description: >
Returns an iterator on an empty Map object.
info: |
diff --git a/js/src/tests/test262/built-ins/Map/prototype/keys/returns-iterator.js b/js/src/tests/test262/built-ins/Map/prototype/keys/returns-iterator.js
index 6a4f0925ef0c..4fbcff7d2183 100644
--- a/js/src/tests/test262/built-ins/Map/prototype/keys/returns-iterator.js
+++ b/js/src/tests/test262/built-ins/Map/prototype/keys/returns-iterator.js
@@ -1,7 +1,7 @@
// Copyright (C) 2015 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
-es6id: 23.1.3.8
+esid: sec-map.prototype.keys
description: >
Returns an iterator.
info: |
diff --git a/js/src/tests/test262/built-ins/Map/prototype/keys/this-not-object-throw.js b/js/src/tests/test262/built-ins/Map/prototype/keys/this-not-object-throw.js
index cdea87a66372..14fc88245d10 100644
--- a/js/src/tests/test262/built-ins/Map/prototype/keys/this-not-object-throw.js
+++ b/js/src/tests/test262/built-ins/Map/prototype/keys/this-not-object-throw.js
@@ -1,7 +1,7 @@
// Copyright (C) 2015 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
-es6id: 23.1.3.8
+esid: sec-map.prototype.keys
description: >
Throws a TypeError if `this` is not an Object.
info: |
diff --git a/js/src/tests/test262/built-ins/Map/prototype/set/append-new-values-normalizes-zero-key.js b/js/src/tests/test262/built-ins/Map/prototype/set/append-new-values-normalizes-zero-key.js
index 9a5401a41fcd..55122ae9adf1 100644
--- a/js/src/tests/test262/built-ins/Map/prototype/set/append-new-values-normalizes-zero-key.js
+++ b/js/src/tests/test262/built-ins/Map/prototype/set/append-new-values-normalizes-zero-key.js
@@ -1,7 +1,7 @@
// Copyright (C) 2015 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
-es6id: 23.1.3.9
+esid: sec-map.prototype.set
description: >
Appends new value in the map normalizing +0 and -0.
info: |
diff --git a/js/src/tests/test262/built-ins/Map/prototype/set/append-new-values-return-map.js b/js/src/tests/test262/built-ins/Map/prototype/set/append-new-values-return-map.js
index 61b2768adfb5..a7c2008bab36 100644
--- a/js/src/tests/test262/built-ins/Map/prototype/set/append-new-values-return-map.js
+++ b/js/src/tests/test262/built-ins/Map/prototype/set/append-new-values-return-map.js
@@ -1,7 +1,7 @@
// Copyright (C) 2015 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
-es6id: 23.1.3.9
+esid: sec-map.prototype.set
description: >
Map.prototype.set returns the given `this` object.
info: |
diff --git a/js/src/tests/test262/built-ins/Map/prototype/set/append-new-values.js b/js/src/tests/test262/built-ins/Map/prototype/set/append-new-values.js
index 6ee18502f23f..f567db5d72b4 100644
--- a/js/src/tests/test262/built-ins/Map/prototype/set/append-new-values.js
+++ b/js/src/tests/test262/built-ins/Map/prototype/set/append-new-values.js
@@ -1,7 +1,7 @@
// Copyright (C) 2015 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
-es6id: 23.1.3.9
+esid: sec-map.prototype.set
description: >
Append a new value as the last element of entries.
info: |
diff --git a/js/src/tests/test262/built-ins/Map/prototype/set/does-not-have-mapdata-internal-slot-set.js b/js/src/tests/test262/built-ins/Map/prototype/set/does-not-have-mapdata-internal-slot-set.js
index 56776de5ecc5..9a80c6f6cf6d 100644
--- a/js/src/tests/test262/built-ins/Map/prototype/set/does-not-have-mapdata-internal-slot-set.js
+++ b/js/src/tests/test262/built-ins/Map/prototype/set/does-not-have-mapdata-internal-slot-set.js
@@ -1,7 +1,7 @@
// Copyright (C) 2015 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
-es6id: 23.1.3.9
+esid: sec-map.prototype.set
description: >
Throws a TypeError if `this` is a Set object.
info: |
diff --git a/js/src/tests/test262/built-ins/Map/prototype/set/does-not-have-mapdata-internal-slot-weakmap.js b/js/src/tests/test262/built-ins/Map/prototype/set/does-not-have-mapdata-internal-slot-weakmap.js
index c3050b5e3e5c..cbabc7bab1d7 100644
--- a/js/src/tests/test262/built-ins/Map/prototype/set/does-not-have-mapdata-internal-slot-weakmap.js
+++ b/js/src/tests/test262/built-ins/Map/prototype/set/does-not-have-mapdata-internal-slot-weakmap.js
@@ -1,7 +1,7 @@
// Copyright (C) 2015 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
-es6id: 23.1.3.9
+esid: sec-map.prototype.set
description: >
Throws a TypeError if `this` is a WeakMap object.
info: |
diff --git a/js/src/tests/test262/built-ins/Map/prototype/set/does-not-have-mapdata-internal-slot.js b/js/src/tests/test262/built-ins/Map/prototype/set/does-not-have-mapdata-internal-slot.js
index 5934f5acc75c..ff591840b351 100644
--- a/js/src/tests/test262/built-ins/Map/prototype/set/does-not-have-mapdata-internal-slot.js
+++ b/js/src/tests/test262/built-ins/Map/prototype/set/does-not-have-mapdata-internal-slot.js
@@ -1,7 +1,7 @@
// Copyright (C) 2015 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
-es6id: 23.1.3.9
+esid: sec-map.prototype.set
description: >
Throws a TypeError if `this` object does not have a [[MapData]] internal slot.
info: |
diff --git a/js/src/tests/test262/built-ins/Map/prototype/set/length.js b/js/src/tests/test262/built-ins/Map/prototype/set/length.js
index 573208670a2f..939b633c34d7 100644
--- a/js/src/tests/test262/built-ins/Map/prototype/set/length.js
+++ b/js/src/tests/test262/built-ins/Map/prototype/set/length.js
@@ -1,7 +1,7 @@
// Copyright (C) 2015 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
-es6id: 23.1.3.9
+esid: sec-map.prototype.set
description: >
Map.prototype.set.length value and descriptor.
info: |
diff --git a/js/src/tests/test262/built-ins/Map/prototype/set/name.js b/js/src/tests/test262/built-ins/Map/prototype/set/name.js
index 8f41b1adda89..7c0b83f69674 100644
--- a/js/src/tests/test262/built-ins/Map/prototype/set/name.js
+++ b/js/src/tests/test262/built-ins/Map/prototype/set/name.js
@@ -1,7 +1,7 @@
// Copyright (C) 2015 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
-es6id: 23.1.3.9
+esid: sec-map.prototype.set
description: >
Map.prototype.set.name value and descriptor.
info: |
diff --git a/js/src/tests/test262/built-ins/Map/prototype/set/replaces-a-value-normalizes-zero-key.js b/js/src/tests/test262/built-ins/Map/prototype/set/replaces-a-value-normalizes-zero-key.js
index 675193a542df..6c4b708a16f1 100644
--- a/js/src/tests/test262/built-ins/Map/prototype/set/replaces-a-value-normalizes-zero-key.js
+++ b/js/src/tests/test262/built-ins/Map/prototype/set/replaces-a-value-normalizes-zero-key.js
@@ -1,7 +1,7 @@
// Copyright (C) 2015 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
-es6id: 23.1.3.9
+esid: sec-map.prototype.set
description: >
Replaces a value in the map normalizing +0 and -0.
info: |
diff --git a/js/src/tests/test262/built-ins/Map/prototype/set/replaces-a-value-returns-map.js b/js/src/tests/test262/built-ins/Map/prototype/set/replaces-a-value-returns-map.js
index 7619f756279a..b7f0e189091e 100644
--- a/js/src/tests/test262/built-ins/Map/prototype/set/replaces-a-value-returns-map.js
+++ b/js/src/tests/test262/built-ins/Map/prototype/set/replaces-a-value-returns-map.js
@@ -1,7 +1,7 @@
// Copyright (C) 2015 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
-es6id: 23.1.3.9
+esid: sec-map.prototype.set
description: >
Map.prototype.set returns the given `this` map object.
info: |
diff --git a/js/src/tests/test262/built-ins/Map/prototype/set/replaces-a-value.js b/js/src/tests/test262/built-ins/Map/prototype/set/replaces-a-value.js
index 4fa2a58fa388..9fe4e95c3ff0 100644
--- a/js/src/tests/test262/built-ins/Map/prototype/set/replaces-a-value.js
+++ b/js/src/tests/test262/built-ins/Map/prototype/set/replaces-a-value.js
@@ -1,7 +1,7 @@
// Copyright (C) 2015 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
-es6id: 23.1.3.9
+esid: sec-map.prototype.set
description: >
Replaces a value in the map.
info: |
diff --git a/js/src/tests/test262/built-ins/Map/prototype/set/set.js b/js/src/tests/test262/built-ins/Map/prototype/set/set.js
index d38341daa097..f8a12db77917 100644
--- a/js/src/tests/test262/built-ins/Map/prototype/set/set.js
+++ b/js/src/tests/test262/built-ins/Map/prototype/set/set.js
@@ -1,7 +1,7 @@
// Copyright (C) 2015 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
-es6id: 23.1.3.9
+esid: sec-map.prototype.set
description: >
Property type and descriptor.
info: |
diff --git a/js/src/tests/test262/built-ins/Map/prototype/set/this-not-object-throw.js b/js/src/tests/test262/built-ins/Map/prototype/set/this-not-object-throw.js
index c75043c11554..7f42b3e5efae 100644
--- a/js/src/tests/test262/built-ins/Map/prototype/set/this-not-object-throw.js
+++ b/js/src/tests/test262/built-ins/Map/prototype/set/this-not-object-throw.js
@@ -1,7 +1,7 @@
// Copyright (C) 2015 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
-es6id: 23.1.3.9
+esid: sec-map.prototype.set
description: >
Throws a TypeError if `this` is not an Object.
info: |
diff --git a/js/src/tests/test262/built-ins/Map/prototype/size/does-not-have-mapdata-internal-slot-set.js b/js/src/tests/test262/built-ins/Map/prototype/size/does-not-have-mapdata-internal-slot-set.js
index 44a432c7e6fb..228d8068bab9 100644
--- a/js/src/tests/test262/built-ins/Map/prototype/size/does-not-have-mapdata-internal-slot-set.js
+++ b/js/src/tests/test262/built-ins/Map/prototype/size/does-not-have-mapdata-internal-slot-set.js
@@ -1,14 +1,12 @@
// Copyright (C) 2015 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
-es6id: 23.1.3.10
+esid: sec-get-map.prototype.size
description: >
Throws a TypeError if `this` is a Set object.
info: |
- Map.prototype.set ( key , value )
-
...
- 3. If M does not have a [[MapData]] internal slot, throw a TypeError
+ If M does not have a [[MapData]] internal slot, throw a TypeError
exception.
...
features: [Set]
diff --git a/js/src/tests/test262/built-ins/Map/prototype/size/does-not-have-mapdata-internal-slot-weakmap.js b/js/src/tests/test262/built-ins/Map/prototype/size/does-not-have-mapdata-internal-slot-weakmap.js
index da31eea7e60c..a2385ada8c08 100644
--- a/js/src/tests/test262/built-ins/Map/prototype/size/does-not-have-mapdata-internal-slot-weakmap.js
+++ b/js/src/tests/test262/built-ins/Map/prototype/size/does-not-have-mapdata-internal-slot-weakmap.js
@@ -1,7 +1,7 @@
// Copyright (C) 2015 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
-es6id: 23.1.3.9
+esid: sec-get-map.prototype.size
description: >
Throws a TypeError if `this` is a WeakMap object.
info: |
diff --git a/js/src/tests/test262/built-ins/Map/prototype/size/does-not-have-mapdata-internal-slot.js b/js/src/tests/test262/built-ins/Map/prototype/size/does-not-have-mapdata-internal-slot.js
index 7cac8871ee20..00ba29073dcc 100644
--- a/js/src/tests/test262/built-ins/Map/prototype/size/does-not-have-mapdata-internal-slot.js
+++ b/js/src/tests/test262/built-ins/Map/prototype/size/does-not-have-mapdata-internal-slot.js
@@ -1,7 +1,7 @@
// Copyright (C) 2015 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
-es6id: 23.1.3.9
+esid: sec-get-map.prototype.size
description: >
Throws a TypeError if `this` object does not have a [[MapData]] internal slot.
info: |
diff --git a/js/src/tests/test262/built-ins/Map/prototype/size/length.js b/js/src/tests/test262/built-ins/Map/prototype/size/length.js
index ed357b3cc214..b3812e1ec64d 100644
--- a/js/src/tests/test262/built-ins/Map/prototype/size/length.js
+++ b/js/src/tests/test262/built-ins/Map/prototype/size/length.js
@@ -1,7 +1,7 @@
// Copyright (C) 2015 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
-es6id: 23.1.3.10
+esid: sec-get-map.prototype.size
description: >
Map.prototype.size.length value and descriptor.
info: |
diff --git a/js/src/tests/test262/built-ins/Map/prototype/size/name.js b/js/src/tests/test262/built-ins/Map/prototype/size/name.js
index 4c60a9651015..596e1a23c51f 100644
--- a/js/src/tests/test262/built-ins/Map/prototype/size/name.js
+++ b/js/src/tests/test262/built-ins/Map/prototype/size/name.js
@@ -1,7 +1,7 @@
// Copyright (C) 2015 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
-es6id: 23.1.3.10
+esid: sec-get-map.prototype.size
description: >
Map.prototype.size.name value and descriptor.
info: |
diff --git a/js/src/tests/test262/built-ins/Map/prototype/size/returns-count-of-present-values-before-after-set-clear.js b/js/src/tests/test262/built-ins/Map/prototype/size/returns-count-of-present-values-before-after-set-clear.js
index 8d22fb0bde68..94316f9055e8 100644
--- a/js/src/tests/test262/built-ins/Map/prototype/size/returns-count-of-present-values-before-after-set-clear.js
+++ b/js/src/tests/test262/built-ins/Map/prototype/size/returns-count-of-present-values-before-after-set-clear.js
@@ -1,7 +1,7 @@
// Copyright (C) 2015 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
-es6id: 23.1.3.10
+esid: sec-get-map.prototype.size
description: >
Returns count of present values before and after using `set` and `clear`.
info: |
diff --git a/js/src/tests/test262/built-ins/Map/prototype/size/returns-count-of-present-values-before-after-set-delete.js b/js/src/tests/test262/built-ins/Map/prototype/size/returns-count-of-present-values-before-after-set-delete.js
index d0934a81499a..3903b4403342 100644
--- a/js/src/tests/test262/built-ins/Map/prototype/size/returns-count-of-present-values-before-after-set-delete.js
+++ b/js/src/tests/test262/built-ins/Map/prototype/size/returns-count-of-present-values-before-after-set-delete.js
@@ -1,7 +1,7 @@
// Copyright (C) 2015 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
-es6id: 23.1.3.10
+esid: sec-get-map.prototype.size
description: >
Returns count of present values before and after using `set` and `delete`.
info: |
diff --git a/js/src/tests/test262/built-ins/Map/prototype/size/returns-count-of-present-values-by-insertion.js b/js/src/tests/test262/built-ins/Map/prototype/size/returns-count-of-present-values-by-insertion.js
index 20cc59a7d056..f8dcb3497bb2 100644
--- a/js/src/tests/test262/built-ins/Map/prototype/size/returns-count-of-present-values-by-insertion.js
+++ b/js/src/tests/test262/built-ins/Map/prototype/size/returns-count-of-present-values-by-insertion.js
@@ -1,7 +1,7 @@
// Copyright (C) 2015 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
-es6id: 23.1.3.10
+esid: sec-get-map.prototype.size
description: >
Returns count of present values inserted with set.
info: |
diff --git a/js/src/tests/test262/built-ins/Map/prototype/size/returns-count-of-present-values-by-iterable.js b/js/src/tests/test262/built-ins/Map/prototype/size/returns-count-of-present-values-by-iterable.js
index 200d42926a4e..f8ca96cf0bb6 100644
--- a/js/src/tests/test262/built-ins/Map/prototype/size/returns-count-of-present-values-by-iterable.js
+++ b/js/src/tests/test262/built-ins/Map/prototype/size/returns-count-of-present-values-by-iterable.js
@@ -1,7 +1,7 @@
// Copyright (C) 2015 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
-es6id: 23.1.3.10
+esid: sec-get-map.prototype.size
description: >
Returns count of present values inserted via iterable argument.
info: |
diff --git a/js/src/tests/test262/built-ins/Map/prototype/size/size.js b/js/src/tests/test262/built-ins/Map/prototype/size/size.js
index 8e3d9ec6e78a..c13c0c58ac7a 100644
--- a/js/src/tests/test262/built-ins/Map/prototype/size/size.js
+++ b/js/src/tests/test262/built-ins/Map/prototype/size/size.js
@@ -1,7 +1,7 @@
// Copyright (C) 2015 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
-es6id: 23.1.3.10
+esid: sec-get-map.prototype.size
description: >
Property type and descriptor.
info: |
diff --git a/js/src/tests/test262/built-ins/Map/prototype/size/this-not-object-throw.js b/js/src/tests/test262/built-ins/Map/prototype/size/this-not-object-throw.js
index 7df988ccbd54..aa1f911dbcfc 100644
--- a/js/src/tests/test262/built-ins/Map/prototype/size/this-not-object-throw.js
+++ b/js/src/tests/test262/built-ins/Map/prototype/size/this-not-object-throw.js
@@ -1,7 +1,7 @@
// Copyright (C) 2015 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
-es6id: 23.1.3.10
+esid: sec-get-map.prototype.size
description: >
Throws a TypeError if `this` is not an Object.
info: |
diff --git a/js/src/tests/test262/built-ins/Map/prototype/values/does-not-have-mapdata-internal-slot-set.js b/js/src/tests/test262/built-ins/Map/prototype/values/does-not-have-mapdata-internal-slot-set.js
index e6bae49dc209..489e6b7331f6 100644
--- a/js/src/tests/test262/built-ins/Map/prototype/values/does-not-have-mapdata-internal-slot-set.js
+++ b/js/src/tests/test262/built-ins/Map/prototype/values/does-not-have-mapdata-internal-slot-set.js
@@ -1,7 +1,7 @@
// Copyright (C) 2015 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
-es6id: 23.1.3.11
+esid: sec-map.prototype.values
description: >
Throws a TypeError if `this` is a Set object.
info: |
diff --git a/js/src/tests/test262/built-ins/Map/prototype/values/does-not-have-mapdata-internal-slot-weakmap.js b/js/src/tests/test262/built-ins/Map/prototype/values/does-not-have-mapdata-internal-slot-weakmap.js
index 0a47c8df37b6..82f02364b6b8 100644
--- a/js/src/tests/test262/built-ins/Map/prototype/values/does-not-have-mapdata-internal-slot-weakmap.js
+++ b/js/src/tests/test262/built-ins/Map/prototype/values/does-not-have-mapdata-internal-slot-weakmap.js
@@ -1,7 +1,7 @@
// Copyright (C) 2015 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
-es6id: 23.1.3.11
+esid: sec-map.prototype.values
description: >
Throws a TypeError if `this` is a WeakMap object.
info: |
diff --git a/js/src/tests/test262/built-ins/Map/prototype/values/does-not-have-mapdata-internal-slot.js b/js/src/tests/test262/built-ins/Map/prototype/values/does-not-have-mapdata-internal-slot.js
index 06e0790ccde2..65ea9ca971ed 100644
--- a/js/src/tests/test262/built-ins/Map/prototype/values/does-not-have-mapdata-internal-slot.js
+++ b/js/src/tests/test262/built-ins/Map/prototype/values/does-not-have-mapdata-internal-slot.js
@@ -1,7 +1,7 @@
// Copyright (C) 2015 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
-es6id: 23.1.3.11
+esid: sec-map.prototype.values
description: >
Throws a TypeError if `this` object does not have a [[MapData]] internal slot.
info: |
diff --git a/js/src/tests/test262/built-ins/Map/prototype/values/length.js b/js/src/tests/test262/built-ins/Map/prototype/values/length.js
index 61aad1377529..304cdd798382 100644
--- a/js/src/tests/test262/built-ins/Map/prototype/values/length.js
+++ b/js/src/tests/test262/built-ins/Map/prototype/values/length.js
@@ -1,7 +1,7 @@
// Copyright (C) 2015 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
-es6id: 23.1.3.11
+esid: sec-map.prototype.values
description: >
Map.prototype.values.length value and descriptor.
info: |
diff --git a/js/src/tests/test262/built-ins/Map/prototype/values/name.js b/js/src/tests/test262/built-ins/Map/prototype/values/name.js
index b003edde22d3..03827d01f3d9 100644
--- a/js/src/tests/test262/built-ins/Map/prototype/values/name.js
+++ b/js/src/tests/test262/built-ins/Map/prototype/values/name.js
@@ -1,7 +1,7 @@
// Copyright (C) 2015 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
-es6id: 23.1.3.11
+esid: sec-map.prototype.values
description: >
Map.prototype.values.name value and descriptor.
info: |
diff --git a/js/src/tests/test262/built-ins/Map/prototype/values/returns-iterator-empty.js b/js/src/tests/test262/built-ins/Map/prototype/values/returns-iterator-empty.js
index 4f90ebb16251..990723ff8708 100644
--- a/js/src/tests/test262/built-ins/Map/prototype/values/returns-iterator-empty.js
+++ b/js/src/tests/test262/built-ins/Map/prototype/values/returns-iterator-empty.js
@@ -1,7 +1,7 @@
// Copyright (C) 2015 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
-es6id: 23.1.3.11
+esid: sec-map.prototype.values
description: >
Returns an iterator on an empty Map object.
info: |
diff --git a/js/src/tests/test262/built-ins/Map/prototype/values/returns-iterator.js b/js/src/tests/test262/built-ins/Map/prototype/values/returns-iterator.js
index 3fa7e712d159..006b4975fc24 100644
--- a/js/src/tests/test262/built-ins/Map/prototype/values/returns-iterator.js
+++ b/js/src/tests/test262/built-ins/Map/prototype/values/returns-iterator.js
@@ -1,7 +1,7 @@
// Copyright (C) 2015 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
-es6id: 23.1.3.11
+esid: sec-map.prototype.values
description: >
Returns an iterator.
info: |
diff --git a/js/src/tests/test262/built-ins/Map/prototype/values/this-not-object-throw.js b/js/src/tests/test262/built-ins/Map/prototype/values/this-not-object-throw.js
index 59a5580fd457..372aec3a0254 100644
--- a/js/src/tests/test262/built-ins/Map/prototype/values/this-not-object-throw.js
+++ b/js/src/tests/test262/built-ins/Map/prototype/values/this-not-object-throw.js
@@ -1,7 +1,7 @@
// Copyright (C) 2015 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
-es6id: 23.1.3.11
+esid: sec-map.prototype.values
description: >
Throws a TypeError if `this` is not an Object.
info: |
diff --git a/js/src/tests/test262/built-ins/Map/prototype/values/values.js b/js/src/tests/test262/built-ins/Map/prototype/values/values.js
index 5504c7a23d70..3ec0c35c6ff6 100644
--- a/js/src/tests/test262/built-ins/Map/prototype/values/values.js
+++ b/js/src/tests/test262/built-ins/Map/prototype/values/values.js
@@ -1,7 +1,7 @@
// Copyright (C) 2015 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
-es6id: 23.1.3.11
+esid: sec-map.prototype.values
description: >
Property type and descriptor.
info: |
diff --git a/js/src/tests/test262/built-ins/Map/symbol-as-entry-key.js b/js/src/tests/test262/built-ins/Map/symbol-as-entry-key.js
deleted file mode 100644
index 3bb5d3dc1b83..000000000000
--- a/js/src/tests/test262/built-ins/Map/symbol-as-entry-key.js
+++ /dev/null
@@ -1,20 +0,0 @@
-// Copyright (C) 2013 the V8 project authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-/*---
-es6id: 19.4
-description: >
- Symbol as Map key
-features: [Symbol]
----*/
-var map = new Map();
-var sym = Symbol();
-
-map.set(sym, 1);
-
-assert.sameValue(map.size, 1, "The value of `map.size` is `1`, after executing `map.set(sym, 1)`");
-assert.sameValue(map.has(sym), true, "`map.has(sym)` returns `true`");
-assert.sameValue(map.get(sym), 1, "`map.get(sym)` returns `1`");
-assert.sameValue(map.delete(sym), true, "`map.delete(sym)` returns `true`");
-assert.sameValue(map.size, 0, "The value of `map.size` is `0`");
-
-reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Map/undefined-newtarget.js b/js/src/tests/test262/built-ins/Map/undefined-newtarget.js
index 31e4067208f7..94e6bd397a86 100644
--- a/js/src/tests/test262/built-ins/Map/undefined-newtarget.js
+++ b/js/src/tests/test262/built-ins/Map/undefined-newtarget.js
@@ -1,7 +1,7 @@
// Copyright (C) 2015 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
-es6id: 23.1.1.1
+esid: sec-map-iterable
description: >
Throws a TypeError if Map is called without a newTarget.
info: |
diff --git a/js/src/tests/test262/built-ins/Map/valid-keys.js b/js/src/tests/test262/built-ins/Map/valid-keys.js
new file mode 100644
index 000000000000..a162436b4899
--- /dev/null
+++ b/js/src/tests/test262/built-ins/Map/valid-keys.js
@@ -0,0 +1,486 @@
+// |reftest| skip-if(!this.hasOwnProperty('WeakRef')) -- WeakRef is not enabled unconditionally
+// Copyright (C) 2021 Rick Waldron. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-map.prototype.set
+description: Observing the expected behavior of valid keys
+info: |
+ Map.prototype.set ( key , value )
+
+ ...
+ Let p be the Record {[[key]]: key, [[value]]: value}.
+ Append p as the last element of entries.
+ ...
+
+features: [BigInt, Symbol, TypedArray, WeakRef]
+---*/
+
+
+const negativeZero = -0;
+const positiveZero = +0;
+const zero = 0;
+const one = 1;
+const twoRaisedToFiftyThreeMinusOne = 2 ** 53 - 1;
+const int32Array = new Int32Array([zero, one]);
+const uint32Array = new Uint32Array([zero, one]);
+const n = 100000000000000000000000000000000000000000000000000000000000000000000000000000000001n;
+const bigInt = BigInt('100000000000000000000000000000000000000000000000000000000000000000000000000000000001');
+const n1 = 1n;
+const n53 = 9007199254740991n;
+const fiftyThree = BigInt('9007199254740991');
+const bigInt64Array = new BigInt64Array([n1, n53]);
+const bigUint64Array = new BigUint64Array([n1, n53]);
+const symbol = Symbol('');
+const object = {};
+const array = {};
+const string = '';
+const booleanTrue = true;
+const booleanFalse = true;
+const functionExprValue = function() {};
+const arrowFunctionValue = () => {};
+const classValue = class {};
+const map = new Map();
+const set = new Set();
+const weakMap = new WeakMap();
+const weakRef = new WeakRef({});
+const weakSet = new WeakSet();
+const nullValue = null;
+const undefinedValue = undefined;
+let unassigned;
+
+{
+ const m = new Map([[negativeZero, negativeZero]]);
+ assert.sameValue(m.size, 1);
+ assert.sameValue(m.has(negativeZero), true);
+ assert.sameValue(m.get(negativeZero), negativeZero);
+ m.delete(negativeZero);
+ assert.sameValue(m.size, 0);
+ assert.sameValue(m.has(negativeZero), false);
+ m.set(negativeZero, negativeZero);
+ assert.sameValue(m.size, 1);
+ assert.sameValue(m.has(negativeZero), true);
+ assert.sameValue(m.get(negativeZero), negativeZero);
+};
+
+{
+ const m = new Map([[positiveZero, positiveZero]]);
+ assert.sameValue(m.size, 1);
+ assert.sameValue(m.has(positiveZero), true);
+ assert.sameValue(m.get(positiveZero), positiveZero);
+ m.delete(positiveZero);
+ assert.sameValue(m.size, 0);
+ assert.sameValue(m.has(positiveZero), false);
+ m.set(positiveZero, positiveZero);
+ assert.sameValue(m.size, 1);
+ assert.sameValue(m.has(positiveZero), true);
+ assert.sameValue(m.get(positiveZero), positiveZero);
+};
+
+{
+ const m = new Map([[zero, zero]]);
+ assert.sameValue(m.size, 1);
+ assert.sameValue(m.has(zero), true);
+ assert.sameValue(m.get(zero), zero);
+ m.delete(zero);
+ assert.sameValue(m.size, 0);
+ assert.sameValue(m.has(zero), false);
+ m.set(zero, zero);
+ assert.sameValue(m.size, 1);
+ assert.sameValue(m.has(zero), true);
+ assert.sameValue(m.get(zero), zero);
+};
+
+{
+ const m = new Map([[one, one]]);
+ assert.sameValue(m.size, 1);
+ assert.sameValue(m.has(one), true);
+ assert.sameValue(m.get(one), one);
+ m.delete(one);
+ assert.sameValue(m.size, 0);
+ assert.sameValue(m.has(one), false);
+ m.set(one, one);
+ assert.sameValue(m.size, 1);
+ assert.sameValue(m.has(one), true);
+ assert.sameValue(m.get(one), one);
+};
+
+{
+ const m = new Map([[twoRaisedToFiftyThreeMinusOne, twoRaisedToFiftyThreeMinusOne]]);
+ assert.sameValue(m.size, 1);
+ assert.sameValue(m.has(twoRaisedToFiftyThreeMinusOne), true);
+ assert.sameValue(m.get(twoRaisedToFiftyThreeMinusOne), twoRaisedToFiftyThreeMinusOne);
+ m.delete(twoRaisedToFiftyThreeMinusOne);
+ assert.sameValue(m.size, 0);
+ assert.sameValue(m.has(twoRaisedToFiftyThreeMinusOne), false);
+ m.set(twoRaisedToFiftyThreeMinusOne, twoRaisedToFiftyThreeMinusOne);
+ assert.sameValue(m.size, 1);
+ assert.sameValue(m.has(twoRaisedToFiftyThreeMinusOne), true);
+ assert.sameValue(m.get(twoRaisedToFiftyThreeMinusOne), twoRaisedToFiftyThreeMinusOne);
+};
+
+{
+ const m = new Map([[int32Array, int32Array]]);
+ assert.sameValue(m.size, 1);
+ assert.sameValue(m.has(int32Array), true);
+ assert.sameValue(m.get(int32Array), int32Array);
+ m.delete(int32Array);
+ assert.sameValue(m.size, 0);
+ assert.sameValue(m.has(int32Array), false);
+ m.set(int32Array, int32Array);
+ assert.sameValue(m.size, 1);
+ assert.sameValue(m.has(int32Array), true);
+ assert.sameValue(m.get(int32Array), int32Array);
+};
+
+{
+ const m = new Map([[uint32Array, uint32Array]]);
+ assert.sameValue(m.size, 1);
+ assert.sameValue(m.has(uint32Array), true);
+ assert.sameValue(m.get(uint32Array), uint32Array);
+ m.delete(uint32Array);
+ assert.sameValue(m.size, 0);
+ assert.sameValue(m.has(uint32Array), false);
+ m.set(uint32Array, uint32Array);
+ assert.sameValue(m.size, 1);
+ assert.sameValue(m.has(uint32Array), true);
+ assert.sameValue(m.get(uint32Array), uint32Array);
+};
+
+{
+ const m = new Map([[n, n]]);
+ assert.sameValue(m.size, 1);
+ assert.sameValue(m.has(n), true);
+ assert.sameValue(m.get(n), n);
+ m.delete(n);
+ assert.sameValue(m.size, 0);
+ assert.sameValue(m.has(n), false);
+ m.set(n, n);
+ assert.sameValue(m.size, 1);
+ assert.sameValue(m.has(n), true);
+ assert.sameValue(m.get(n), n);
+};
+
+{
+ const m = new Map([[bigInt, bigInt]]);
+ assert.sameValue(m.size, 1);
+ assert.sameValue(m.has(bigInt), true);
+ assert.sameValue(m.get(bigInt), bigInt);
+ m.delete(bigInt);
+ assert.sameValue(m.size, 0);
+ assert.sameValue(m.has(bigInt), false);
+ m.set(bigInt, bigInt);
+ assert.sameValue(m.size, 1);
+ assert.sameValue(m.has(bigInt), true);
+ assert.sameValue(m.get(bigInt), bigInt);
+};
+
+{
+ const m = new Map([[n1, n1]]);
+ assert.sameValue(m.size, 1);
+ assert.sameValue(m.has(n1), true);
+ assert.sameValue(m.get(n1), n1);
+ m.delete(n1);
+ assert.sameValue(m.size, 0);
+ assert.sameValue(m.has(n1), false);
+ m.set(n1, n1);
+ assert.sameValue(m.size, 1);
+ assert.sameValue(m.has(n1), true);
+ assert.sameValue(m.get(n1), n1);
+};
+
+{
+ const m = new Map([[n53, n53]]);
+ assert.sameValue(m.size, 1);
+ assert.sameValue(m.has(n53), true);
+ assert.sameValue(m.get(n53), n53);
+ m.delete(n53);
+ assert.sameValue(m.size, 0);
+ assert.sameValue(m.has(n53), false);
+ m.set(n53, n53);
+ assert.sameValue(m.size, 1);
+ assert.sameValue(m.has(n53), true);
+ assert.sameValue(m.get(n53), n53);
+};
+
+{
+ const m = new Map([[fiftyThree, fiftyThree]]);
+ assert.sameValue(m.size, 1);
+ assert.sameValue(m.has(fiftyThree), true);
+ assert.sameValue(m.get(fiftyThree), fiftyThree);
+ m.delete(fiftyThree);
+ assert.sameValue(m.size, 0);
+ assert.sameValue(m.has(fiftyThree), false);
+ m.set(fiftyThree, fiftyThree);
+ assert.sameValue(m.size, 1);
+ assert.sameValue(m.has(fiftyThree), true);
+ assert.sameValue(m.get(fiftyThree), fiftyThree);
+};
+
+{
+ const m = new Map([[bigInt64Array, bigInt64Array]]);
+ assert.sameValue(m.size, 1);
+ assert.sameValue(m.has(bigInt64Array), true);
+ assert.sameValue(m.get(bigInt64Array), bigInt64Array);
+ m.delete(bigInt64Array);
+ assert.sameValue(m.size, 0);
+ assert.sameValue(m.has(bigInt64Array), false);
+ m.set(bigInt64Array, bigInt64Array);
+ assert.sameValue(m.size, 1);
+ assert.sameValue(m.has(bigInt64Array), true);
+ assert.sameValue(m.get(bigInt64Array), bigInt64Array);
+};
+
+{
+ const m = new Map([[bigUint64Array, bigUint64Array]]);
+ assert.sameValue(m.size, 1);
+ assert.sameValue(m.has(bigUint64Array), true);
+ assert.sameValue(m.get(bigUint64Array), bigUint64Array);
+ m.delete(bigUint64Array);
+ assert.sameValue(m.size, 0);
+ assert.sameValue(m.has(bigUint64Array), false);
+ m.set(bigUint64Array, bigUint64Array);
+ assert.sameValue(m.size, 1);
+ assert.sameValue(m.has(bigUint64Array), true);
+ assert.sameValue(m.get(bigUint64Array), bigUint64Array);
+};
+
+{
+ const m = new Map([[symbol, symbol]]);
+ assert.sameValue(m.size, 1);
+ assert.sameValue(m.has(symbol), true);
+ assert.sameValue(m.get(symbol), symbol);
+ m.delete(symbol);
+ assert.sameValue(m.size, 0);
+ assert.sameValue(m.has(symbol), false);
+ m.set(symbol, symbol);
+ assert.sameValue(m.size, 1);
+ assert.sameValue(m.has(symbol), true);
+ assert.sameValue(m.get(symbol), symbol);
+};
+
+{
+ const m = new Map([[object, object]]);
+ assert.sameValue(m.size, 1);
+ assert.sameValue(m.has(object), true);
+ assert.sameValue(m.get(object), object);
+ m.delete(object);
+ assert.sameValue(m.size, 0);
+ assert.sameValue(m.has(object), false);
+ m.set(object, object);
+ assert.sameValue(m.size, 1);
+ assert.sameValue(m.has(object), true);
+ assert.sameValue(m.get(object), object);
+};
+
+{
+ const m = new Map([[array, array]]);
+ assert.sameValue(m.size, 1);
+ assert.sameValue(m.has(array), true);
+ assert.sameValue(m.get(array), array);
+ m.delete(array);
+ assert.sameValue(m.size, 0);
+ assert.sameValue(m.has(array), false);
+ m.set(array, array);
+ assert.sameValue(m.size, 1);
+ assert.sameValue(m.has(array), true);
+ assert.sameValue(m.get(array), array);
+};
+
+{
+ const m = new Map([[string, string]]);
+ assert.sameValue(m.size, 1);
+ assert.sameValue(m.has(string), true);
+ assert.sameValue(m.get(string), string);
+ m.delete(string);
+ assert.sameValue(m.size, 0);
+ assert.sameValue(m.has(string), false);
+ m.set(string, string);
+ assert.sameValue(m.size, 1);
+ assert.sameValue(m.has(string), true);
+ assert.sameValue(m.get(string), string);
+};
+
+{
+ const m = new Map([[booleanTrue, booleanTrue]]);
+ assert.sameValue(m.size, 1);
+ assert.sameValue(m.has(booleanTrue), true);
+ assert.sameValue(m.get(booleanTrue), booleanTrue);
+ m.delete(booleanTrue);
+ assert.sameValue(m.size, 0);
+ assert.sameValue(m.has(booleanTrue), false);
+ m.set(booleanTrue, booleanTrue);
+ assert.sameValue(m.size, 1);
+ assert.sameValue(m.has(booleanTrue), true);
+ assert.sameValue(m.get(booleanTrue), booleanTrue);
+};
+
+{
+ const m = new Map([[booleanFalse, booleanFalse]]);
+ assert.sameValue(m.size, 1);
+ assert.sameValue(m.has(booleanFalse), true);
+ assert.sameValue(m.get(booleanFalse), booleanFalse);
+ m.delete(booleanFalse);
+ assert.sameValue(m.size, 0);
+ assert.sameValue(m.has(booleanFalse), false);
+ m.set(booleanFalse, booleanFalse);
+ assert.sameValue(m.size, 1);
+ assert.sameValue(m.has(booleanFalse), true);
+ assert.sameValue(m.get(booleanFalse), booleanFalse);
+};
+
+{
+ const m = new Map([[functionExprValue, functionExprValue]]);
+ assert.sameValue(m.size, 1);
+ assert.sameValue(m.has(functionExprValue), true);
+ assert.sameValue(m.get(functionExprValue), functionExprValue);
+ m.delete(functionExprValue);
+ assert.sameValue(m.size, 0);
+ assert.sameValue(m.has(functionExprValue), false);
+ m.set(functionExprValue, functionExprValue);
+ assert.sameValue(m.size, 1);
+ assert.sameValue(m.has(functionExprValue), true);
+ assert.sameValue(m.get(functionExprValue), functionExprValue);
+};
+
+{
+ const m = new Map([[arrowFunctionValue, arrowFunctionValue]]);
+ assert.sameValue(m.size, 1);
+ assert.sameValue(m.has(arrowFunctionValue), true);
+ assert.sameValue(m.get(arrowFunctionValue), arrowFunctionValue);
+ m.delete(arrowFunctionValue);
+ assert.sameValue(m.size, 0);
+ assert.sameValue(m.has(arrowFunctionValue), false);
+ m.set(arrowFunctionValue, arrowFunctionValue);
+ assert.sameValue(m.size, 1);
+ assert.sameValue(m.has(arrowFunctionValue), true);
+ assert.sameValue(m.get(arrowFunctionValue), arrowFunctionValue);
+};
+
+{
+ const m = new Map([[classValue, classValue]]);
+ assert.sameValue(m.size, 1);
+ assert.sameValue(m.has(classValue), true);
+ assert.sameValue(m.get(classValue), classValue);
+ m.delete(classValue);
+ assert.sameValue(m.size, 0);
+ assert.sameValue(m.has(classValue), false);
+ m.set(classValue, classValue);
+ assert.sameValue(m.size, 1);
+ assert.sameValue(m.has(classValue), true);
+ assert.sameValue(m.get(classValue), classValue);
+};
+
+{
+ const m = new Map([[map, map]]);
+ assert.sameValue(m.size, 1);
+ assert.sameValue(m.has(map), true);
+ assert.sameValue(m.get(map), map);
+ m.delete(map);
+ assert.sameValue(m.size, 0);
+ assert.sameValue(m.has(map), false);
+ m.set(map, map);
+ assert.sameValue(m.size, 1);
+ assert.sameValue(m.has(map), true);
+ assert.sameValue(m.get(map), map);
+};
+
+{
+ const m = new Map([[set, set]]);
+ assert.sameValue(m.size, 1);
+ assert.sameValue(m.has(set), true);
+ assert.sameValue(m.get(set), set);
+ m.delete(set);
+ assert.sameValue(m.size, 0);
+ assert.sameValue(m.has(set), false);
+ m.set(set, set);
+ assert.sameValue(m.size, 1);
+ assert.sameValue(m.has(set), true);
+ assert.sameValue(m.get(set), set);
+};
+
+{
+ const m = new Map([[weakMap, weakMap]]);
+ assert.sameValue(m.size, 1);
+ assert.sameValue(m.has(weakMap), true);
+ assert.sameValue(m.get(weakMap), weakMap);
+ m.delete(weakMap);
+ assert.sameValue(m.size, 0);
+ assert.sameValue(m.has(weakMap), false);
+ m.set(weakMap, weakMap);
+ assert.sameValue(m.size, 1);
+ assert.sameValue(m.has(weakMap), true);
+ assert.sameValue(m.get(weakMap), weakMap);
+};
+
+{
+ const m = new Map([[weakRef, weakRef]]);
+ assert.sameValue(m.size, 1);
+ assert.sameValue(m.has(weakRef), true);
+ assert.sameValue(m.get(weakRef), weakRef);
+ m.delete(weakRef);
+ assert.sameValue(m.size, 0);
+ assert.sameValue(m.has(weakRef), false);
+ m.set(weakRef, weakRef);
+ assert.sameValue(m.size, 1);
+ assert.sameValue(m.has(weakRef), true);
+ assert.sameValue(m.get(weakRef), weakRef);
+};
+
+{
+ const m = new Map([[weakSet, weakSet]]);
+ assert.sameValue(m.size, 1);
+ assert.sameValue(m.has(weakSet), true);
+ assert.sameValue(m.get(weakSet), weakSet);
+ m.delete(weakSet);
+ assert.sameValue(m.size, 0);
+ assert.sameValue(m.has(weakSet), false);
+ m.set(weakSet, weakSet);
+ assert.sameValue(m.size, 1);
+ assert.sameValue(m.has(weakSet), true);
+ assert.sameValue(m.get(weakSet), weakSet);
+};
+
+{
+ const m = new Map([[nullValue, nullValue]]);
+ assert.sameValue(m.size, 1);
+ assert.sameValue(m.has(nullValue), true);
+ assert.sameValue(m.get(nullValue), nullValue);
+ m.delete(nullValue);
+ assert.sameValue(m.size, 0);
+ assert.sameValue(m.has(nullValue), false);
+ m.set(nullValue, nullValue);
+ assert.sameValue(m.size, 1);
+ assert.sameValue(m.has(nullValue), true);
+ assert.sameValue(m.get(nullValue), nullValue);
+};
+
+{
+ const m = new Map([[undefinedValue, undefinedValue]]);
+ assert.sameValue(m.size, 1);
+ assert.sameValue(m.has(undefinedValue), true);
+ assert.sameValue(m.get(undefinedValue), undefinedValue);
+ m.delete(undefinedValue);
+ assert.sameValue(m.size, 0);
+ assert.sameValue(m.has(undefinedValue), false);
+ m.set(undefinedValue, undefinedValue);
+ assert.sameValue(m.size, 1);
+ assert.sameValue(m.has(undefinedValue), true);
+ assert.sameValue(m.get(undefinedValue), undefinedValue);
+};
+
+{
+ const m = new Map([[unassigned, unassigned]]);
+ assert.sameValue(m.size, 1);
+ assert.sameValue(m.has(unassigned), true);
+ assert.sameValue(m.get(unassigned), unassigned);
+ m.delete(unassigned);
+ assert.sameValue(m.size, 0);
+ assert.sameValue(m.has(unassigned), false);
+ m.set(unassigned, unassigned);
+ assert.sameValue(m.size, 1);
+ assert.sameValue(m.has(unassigned), true);
+ assert.sameValue(m.get(unassigned), unassigned);
+};
+
+
+reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Math/hypot/Math.hypot_ToNumberErr.js b/js/src/tests/test262/built-ins/Math/hypot/Math.hypot_ToNumberErr.js
new file mode 100644
index 000000000000..ae2fc40f1bd7
--- /dev/null
+++ b/js/src/tests/test262/built-ins/Math/hypot/Math.hypot_ToNumberErr.js
@@ -0,0 +1,37 @@
+// Copyright (c) 2021 Richard Gibson. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+description: >
+ Math.hypot should coerce all arguments before inspecting them.
+esid: sec-math.hypot
+info: |
+ 1. Let _coerced_ be a new empty List.
+ 2. For each element _arg_ of _args_, do
+ a. Let _n_ be ? ToNumber(_arg_).
+ b. Append _n_ to _coerced_.
+ 3. For each element _number_ of _coerced_, do
+---*/
+
+var counter = 0;
+
+assert.throws(
+ Test262Error,
+ function() {
+ Math.hypot(
+ Infinity,
+ -Infinity,
+ NaN,
+ 0,
+ -0,
+ {valueOf: function(){ throw new Test262Error(); }},
+ {valueOf: function(){ counter++; }}
+ );
+ },
+ 'Math.hypot propagates an abrupt completion from coercing an argument to Number'
+);
+
+assert.sameValue(counter, 0,
+ 'Math.hypot aborts argument processing at the first abrupt completion');
+
+reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Math/hypot/Math.hypot_Zero_2.js b/js/src/tests/test262/built-ins/Math/hypot/Math.hypot_Zero_2.js
index 7471d21e795b..0e121bd021c1 100644
--- a/js/src/tests/test262/built-ins/Math/hypot/Math.hypot_Zero_2.js
+++ b/js/src/tests/test262/built-ins/Math/hypot/Math.hypot_Zero_2.js
@@ -2,14 +2,18 @@
// This code is governed by the BSD license found in the LICENSE file.
/*---
+esid: sec-math.hypot
es6id: 20.2.2.18
author: Ryan Lewis
-description: Return 0 if all arguments being are 0 or -0.
+description: Math.hypot should return 0 if all arguments are 0 or -0.
---*/
+assert.sameValue(Math.hypot(0), 0, 'Math.hypot(0)');
+assert.sameValue(Math.hypot(-0), 0, 'Math.hypot(-0)');
assert.sameValue(Math.hypot(0, 0), 0, 'Math.hypot(0, 0)');
assert.sameValue(Math.hypot(0, -0), 0, 'Math.hypot(0, -0)');
assert.sameValue(Math.hypot(-0, 0), 0, 'Math.hypot(-0, 0)');
assert.sameValue(Math.hypot(-0, -0), 0, 'Math.hypot(-0, -0)');
+assert.sameValue(Math.hypot(0, -0, -0), 0, 'Math.hypot(0, -0, -0)');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/NaN/S15.1.1.1_A2_T2.js b/js/src/tests/test262/built-ins/NaN/S15.1.1.1_A2_T2.js
index f33563710095..43a4423d3c96 100644
--- a/js/src/tests/test262/built-ins/NaN/S15.1.1.1_A2_T2.js
+++ b/js/src/tests/test262/built-ins/NaN/S15.1.1.1_A2_T2.js
@@ -10,8 +10,8 @@ flags: [noStrict]
// CHECK#1
NaN = true;
-if (typeof(NaN) === "boolean") {
- throw new Test262Error('#1: NaN = true; typeof(NaN) !== "boolean". Actual: ' + (typeof(NaN)));
-}
+assert.notSameValue(typeof(NaN), "boolean", 'The value of typeof(NaN) is not "boolean"');
+
+// TODO: Convert to verifyProperty() format.
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/NaN/S15.1.1.1_A3_T2.js b/js/src/tests/test262/built-ins/NaN/S15.1.1.1_A3_T2.js
index 431fb6e5065b..6402c7dbd7ab 100644
--- a/js/src/tests/test262/built-ins/NaN/S15.1.1.1_A3_T2.js
+++ b/js/src/tests/test262/built-ins/NaN/S15.1.1.1_A3_T2.js
@@ -7,10 +7,8 @@ es5id: 15.1.1.1_A3_T2
description: Use delete
flags: [noStrict]
---*/
+assert.sameValue(delete NaN, false, 'The value of `delete NaN` is expected to be false');
-// CHECK#1
-if (delete NaN !== false) {
- throw new Test262Error('#1: delete NaN === false. Actual: ' + (delete NaN));
-}
+// TODO: Convert to verifyProperty() format.
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/NaN/S15.1.1.1_A4.js b/js/src/tests/test262/built-ins/NaN/S15.1.1.1_A4.js
index c31137ae8367..86a17cc3e87c 100644
--- a/js/src/tests/test262/built-ins/NaN/S15.1.1.1_A4.js
+++ b/js/src/tests/test262/built-ins/NaN/S15.1.1.1_A4.js
@@ -9,9 +9,9 @@ description: Use for-in statement
// CHECK#1
for (var prop in this) {
- if (prop === "NaN") {
- throw new Test262Error('#1: The NaN is DontEnum');
- }
+ assert.notSameValue(prop, "NaN", 'The value of prop is not "NaN"');
}
+// TODO: Convert to verifyProperty() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Number/MAX_VALUE/S15.7.3.2_A2.js b/js/src/tests/test262/built-ins/Number/MAX_VALUE/S15.7.3.2_A2.js
index 5e4422c7c4b1..11e996f7df3b 100644
--- a/js/src/tests/test262/built-ins/Number/MAX_VALUE/S15.7.3.2_A2.js
+++ b/js/src/tests/test262/built-ins/Number/MAX_VALUE/S15.7.3.2_A2.js
@@ -11,8 +11,8 @@ includes: [propertyHelper.js]
// CHECK#1
var x = Number.MAX_VALUE;
verifyNotWritable(Number, "MAX_VALUE", null, 1);
-if (Number.MAX_VALUE !== x) {
- throw new Test262Error('#1: x = Number.MAX_VALUE; Number.MAX_VALUE = 1; Number.MAX_VALUE === x');
-}
+assert.sameValue(Number.MAX_VALUE, x, 'The value of Number.MAX_VALUE is expected to equal the value of x');
+
+// TODO: Convert to verifyProperty() format.
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Number/MAX_VALUE/S15.7.3.2_A3.js b/js/src/tests/test262/built-ins/Number/MAX_VALUE/S15.7.3.2_A3.js
index af9e6e7e74af..17717c902cdb 100644
--- a/js/src/tests/test262/built-ins/Number/MAX_VALUE/S15.7.3.2_A3.js
+++ b/js/src/tests/test262/built-ins/Number/MAX_VALUE/S15.7.3.2_A3.js
@@ -12,12 +12,14 @@ verifyNotConfigurable(Number, "MAX_VALUE");
// CHECK#1
try {
- if (delete Number.MAX_VALUE !== false) {
- throw new Test262Error('#1: delete Number.MAX_VALUE === false');
- }
+ assert.sameValue(delete Number.MAX_VALUE, false);
} catch (e) {
- if (e instanceof Test262Error) throw e;
+ if (e instanceof Test262Error) {
+ throw e;
+ }
assert(e instanceof TypeError);
}
+// TODO: Convert to verifyProperty() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Number/MAX_VALUE/S15.7.3.2_A4.js b/js/src/tests/test262/built-ins/Number/MAX_VALUE/S15.7.3.2_A4.js
index 07e079a95c10..03668588ecbe 100644
--- a/js/src/tests/test262/built-ins/Number/MAX_VALUE/S15.7.3.2_A4.js
+++ b/js/src/tests/test262/built-ins/Number/MAX_VALUE/S15.7.3.2_A4.js
@@ -7,15 +7,15 @@ es5id: 15.7.3.2_A4
description: Checking if enumerating Number.MAX_VALUE fails
---*/
-//CHECK#1
for (var x in Number) {
- if (x === "MAX_VALUE") {
- throw new Test262Error('#1: Number.MAX_VALUE has the attribute DontEnum');
- }
+ assert.notSameValue(x, "MAX_VALUE", 'The value of x is not "MAX_VALUE"');
}
-if (Number.propertyIsEnumerable('MAX_VALUE')) {
- throw new Test262Error('#2: Number.MAX_VALUE has the attribute DontEnum');
-}
+assert(
+ !Number.propertyIsEnumerable('MAX_VALUE'),
+ 'The value of !Number.propertyIsEnumerable(\'MAX_VALUE\') is expected to be true'
+);
+
+// TODO: Convert to verifyProperty() format.
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Number/MIN_VALUE/S15.7.3.3_A2.js b/js/src/tests/test262/built-ins/Number/MIN_VALUE/S15.7.3.3_A2.js
index 45f88a9d0854..450fcf96b841 100644
--- a/js/src/tests/test262/built-ins/Number/MIN_VALUE/S15.7.3.3_A2.js
+++ b/js/src/tests/test262/built-ins/Number/MIN_VALUE/S15.7.3.3_A2.js
@@ -11,8 +11,8 @@ includes: [propertyHelper.js]
// CHECK#1
var x = Number.MIN_VALUE;
verifyNotWritable(Number, "MIN_VALUE", null, 1);
-if (Number.MIN_VALUE !== x) {
- throw new Test262Error('#1: x = Number.MIN_VALUE; Number.MIN_VALUE = 1; Number.MIN_VALUE === x');
-}
+assert.sameValue(Number.MIN_VALUE, x, 'The value of Number.MIN_VALUE is expected to equal the value of x');
+
+// TODO: Convert to verifyProperty() format.
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Number/MIN_VALUE/S15.7.3.3_A3.js b/js/src/tests/test262/built-ins/Number/MIN_VALUE/S15.7.3.3_A3.js
index c5ce7358b8ec..9411c6c300e5 100644
--- a/js/src/tests/test262/built-ins/Number/MIN_VALUE/S15.7.3.3_A3.js
+++ b/js/src/tests/test262/built-ins/Number/MIN_VALUE/S15.7.3.3_A3.js
@@ -10,14 +10,15 @@ includes: [propertyHelper.js]
verifyNotConfigurable(Number, "MIN_VALUE");
-//CHECK#1
try {
- if (delete Number.MIN_VALUE !== false) {
- throw new Test262Error('#1: delete Number.MIN_VALUE === false');
- }
+ assert.sameValue(delete Number.MIN_VALUE, false);
} catch (e) {
- if (e instanceof Test262Error) throw e;
+ if (e instanceof Test262Error) {
+ throw e;
+ }
assert(e instanceof TypeError);
}
+// TODO: Convert to verifyProperty() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Number/MIN_VALUE/S15.7.3.3_A4.js b/js/src/tests/test262/built-ins/Number/MIN_VALUE/S15.7.3.3_A4.js
index e7cd9a6c8736..3bbbd9f5163f 100644
--- a/js/src/tests/test262/built-ins/Number/MIN_VALUE/S15.7.3.3_A4.js
+++ b/js/src/tests/test262/built-ins/Number/MIN_VALUE/S15.7.3.3_A4.js
@@ -7,15 +7,15 @@ es5id: 15.7.3.3_A4
description: Checking if enumerating Number.MIN_VALUE fails
---*/
-//CHECK#1
for (var x in Number) {
- if (x === "MIN_VALUE") {
- throw new Test262Error('#1: Number.MIN_VALUE has the attribute DontEnum');
- }
+ assert.notSameValue(x, "MIN_VALUE", 'The value of x is not "MIN_VALUE"');
}
-if (Number.propertyIsEnumerable('MIN_VALUE')) {
- throw new Test262Error('#2: Number.MIN_VALUE has the attribute DontEnum');
-}
+assert(
+ !Number.propertyIsEnumerable('MIN_VALUE'),
+ 'The value of !Number.propertyIsEnumerable(\'MIN_VALUE\') is expected to be true'
+);
+
+// TODO: Convert to verifyProperty() format.
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Number/NEGATIVE_INFINITY/S15.7.3.5_A1.js b/js/src/tests/test262/built-ins/Number/NEGATIVE_INFINITY/S15.7.3.5_A1.js
index db589cc4e505..aa19a869b19f 100644
--- a/js/src/tests/test262/built-ins/Number/NEGATIVE_INFINITY/S15.7.3.5_A1.js
+++ b/js/src/tests/test262/built-ins/Number/NEGATIVE_INFINITY/S15.7.3.5_A1.js
@@ -6,14 +6,6 @@ info: Number.NEGATIVE_INFINITY is -Infinity
es5id: 15.7.3.5_A1
description: Checking sign and finiteness of Number.NEGATIVE_INFINITY
---*/
-
-// CHECK#1
-if (isFinite(Number.NEGATIVE_INFINITY) !== false) {
- throw new Test262Error('#1: Number.NEGATIVE_INFINITY === Not-a-Finite');
-} else {
- if ((Number.NEGATIVE_INFINITY < 0) !== true) {
- throw new Test262Error('#1: Number.NEGATIVE_INFINITY === -Infinity');
- }
-}
+assert.sameValue(isFinite(Number.NEGATIVE_INFINITY), false, 'isFinite(Number.NEGATIVE_INFINITY) must return false');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Number/NEGATIVE_INFINITY/S15.7.3.5_A2.js b/js/src/tests/test262/built-ins/Number/NEGATIVE_INFINITY/S15.7.3.5_A2.js
index a426f4042be5..483c818acc0a 100644
--- a/js/src/tests/test262/built-ins/Number/NEGATIVE_INFINITY/S15.7.3.5_A2.js
+++ b/js/src/tests/test262/built-ins/Number/NEGATIVE_INFINITY/S15.7.3.5_A2.js
@@ -10,12 +10,12 @@ includes: [propertyHelper.js]
// CHECK#1
verifyNotWritable(Number, "NEGATIVE_INFINITY", null, 1);
-if (isFinite(Number.NEGATIVE_INFINITY)) {
- throw new Test262Error('#1: Number.NEGATIVE_INFINITY = 1; Number.NEGATIVE_INFINITY === -Infinity');
-} else {
- if (Number.NEGATIVE_INFINITY >= 0) {
- throw new Test262Error('#1: Number.NEGATIVE_INFINITY = 1; Number.NEGATIVE_INFINITY === -Infinity');
- }
-}
+
+assert(
+ !isFinite(Number.NEGATIVE_INFINITY),
+ 'The value of !isFinite(Number.NEGATIVE_INFINITY) is expected to be true'
+);
+
+// TODO: Convert to verifyProperty() format.
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Number/POSITIVE_INFINITY/S15.7.3.6_A1.js b/js/src/tests/test262/built-ins/Number/POSITIVE_INFINITY/S15.7.3.6_A1.js
index 9f1bb8daf4ca..952ffa04ba02 100644
--- a/js/src/tests/test262/built-ins/Number/POSITIVE_INFINITY/S15.7.3.6_A1.js
+++ b/js/src/tests/test262/built-ins/Number/POSITIVE_INFINITY/S15.7.3.6_A1.js
@@ -6,14 +6,6 @@ info: Number.POSITIVE_INFINITY is +Infinity
es5id: 15.7.3.6_A1
description: Checking sign and finiteness of Number.POSITIVE_INFINITY
---*/
-
-// CHECK#1
-if (isFinite(Number.POSITIVE_INFINITY) !== false) {
- throw new Test262Error('#1: Number.POSITIVE_INFINITY === Not-a-Finite');
-} else {
- if ((Number.POSITIVE_INFINITY > 0) !== true) {
- throw new Test262Error('#1: Number.POSITIVE_INFINITY === +Infinity');
- }
-}
+assert.sameValue(isFinite(Number.POSITIVE_INFINITY), false, 'isFinite(Number.POSITIVE_INFINITY) must return false');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Number/POSITIVE_INFINITY/S15.7.3.6_A2.js b/js/src/tests/test262/built-ins/Number/POSITIVE_INFINITY/S15.7.3.6_A2.js
index 34cb2a02bd6e..f4cb7e4165b9 100644
--- a/js/src/tests/test262/built-ins/Number/POSITIVE_INFINITY/S15.7.3.6_A2.js
+++ b/js/src/tests/test262/built-ins/Number/POSITIVE_INFINITY/S15.7.3.6_A2.js
@@ -10,12 +10,12 @@ includes: [propertyHelper.js]
// CHECK#1
verifyNotWritable(Number, "POSITIVE_INFINITY", null, 1);
-if (isFinite(Number.POSITIVE_INFINITY)) {
- throw new Test262Error('#1: Number.POSITIVE_INFINITY = 1; Number.POSITIVE_INFINITY === +Infinity');
-} else {
- if (Number.POSITIVE_INFINITY <= 0) {
- throw new Test262Error('#1: Number.POSITIVE_INFINITY = 1; Number.POSITIVE_INFINITY === +Infinity');
- }
-}
+
+assert(
+ !isFinite(Number.POSITIVE_INFINITY),
+ 'The value of !isFinite(Number.POSITIVE_INFINITY) is expected to be true'
+);
+
+// TODO: Convert to verifyProperty() format.
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Number/S15.7.1.1_A1.js b/js/src/tests/test262/built-ins/Number/S15.7.1.1_A1.js
index c6ee7ca43c80..0e4eb4fc9277 100644
--- a/js/src/tests/test262/built-ins/Number/S15.7.1.1_A1.js
+++ b/js/src/tests/test262/built-ins/Number/S15.7.1.1_A1.js
@@ -8,28 +8,23 @@ info: |
es5id: 15.7.1.1_A1
description: Used values "10", 10, new String("10"), new Object(10) and "abc"
---*/
+assert.sameValue(typeof Number("10"), "number", 'The value of `typeof Number("10")` is expected to be "number"');
+assert.sameValue(typeof Number(10), "number", 'The value of `typeof Number(10)` is expected to be "number"');
-//CHECK#1
-if (typeof Number("10") !== "number") {
- throw new Test262Error('#1: typeof Number("10") should be "number", actual is "' + typeof Number("10") + '"');
-}
+assert.sameValue(
+ typeof Number(new String("10")),
+ "number",
+ 'The value of `typeof Number(new String("10"))` is expected to be "number"'
+);
-//CHECK#2
-if (typeof Number(10) !== "number") {
- throw new Test262Error('#2: typeof Number(10) should be "number", actual is "' + typeof Number(10) + '"');
-}
+assert.sameValue(
+ typeof Number(new Object(10)),
+ "number",
+ 'The value of `typeof Number(new Object(10))` is expected to be "number"'
+);
-//CHECK#3
-if (typeof Number(new String("10")) !== "number") {
- throw new Test262Error('#3: typeof Number(new String("10")) should be "number", actual is "' + typeof Number(new String("10")) + '"');
-}
-
-//CHECK#4
-if (typeof Number(new Object(10)) !== "number") {
- throw new Test262Error('#4: typeof Number(new Object(10)) should be "number", actual is "' + typeof Number(new Object(10)) + '"');
-}
-
-//CHECK #5
-assert.sameValue(Number("abc"), NaN, "Number('abc')");
+assert.sameValue(Number("abc"), NaN, 'Number("abc") returns NaN');
+assert.sameValue(Number("INFINITY"), NaN, 'Number("INFINITY") returns NaN');
+assert.sameValue(Number("infinity"), NaN, 'Number("infinity") returns NaN');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Number/S15.7.1.1_A2.js b/js/src/tests/test262/built-ins/Number/S15.7.1.1_A2.js
index f1fcccc9de98..33366b121ccf 100644
--- a/js/src/tests/test262/built-ins/Number/S15.7.1.1_A2.js
+++ b/js/src/tests/test262/built-ins/Number/S15.7.1.1_A2.js
@@ -6,17 +6,7 @@ info: Number() returns +0
es5id: 15.7.1.1_A2
description: Call Number() and check result
---*/
-
-//CHECK#1
-if (typeof Number() !== "number") {
- throw new Test262Error('#1: typeof Number() should be "number", actual is "' + typeof Number() + '"');
-}
-
-//CHECK#2
-if (Number() !== 0) {
- throw new Test262Error('#2: Number() === 0, actual is ' + Number());
-} else if (1 / Number() !== Number.POSITIVE_INFINITY) {
- throw new Test262Error('#2: Number() === +0, actual is ' + Number());
-}
+assert.sameValue(typeof Number(), "number", 'The value of `typeof Number()` is expected to be "number"');
+assert.sameValue(Number(), 0, 'Number() must return 0');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Number/S15.7.2.1_A1.js b/js/src/tests/test262/built-ins/Number/S15.7.2.1_A1.js
index 8ebe554fd559..098440c68ac0 100644
--- a/js/src/tests/test262/built-ins/Number/S15.7.2.1_A1.js
+++ b/js/src/tests/test262/built-ins/Number/S15.7.2.1_A1.js
@@ -8,49 +8,21 @@ info: |
es5id: 15.7.2.1_A1
description: Checking type of the newly created object and it value
---*/
+assert.sameValue(typeof new Number(), "object", 'The value of `typeof new Number()` is expected to be "object"');
+assert.notSameValue(new Number(), undefined, 'new Number() is expected to not equal ``undefined``');
-//CHECK#1
-if (typeof new Number() !== "object") {
- throw new Test262Error("#1: typeof new Number() === 'object'");
-}
-
-//CHECK#2
-if (new Number() === undefined) {
- throw new Test262Error("#2: new Number() should not be undefined");
-}
-
-//CHECK#3
var x3 = new Number();
-if (typeof x3 !== "object") {
- throw new Test262Error("#3: typeof new Number() === 'object'");
-}
+assert.sameValue(typeof x3, "object", 'The value of `typeof x3` is expected to be "object"');
-//CHECK#4
var x4 = new Number();
-if (x4 === undefined) {
- throw new Test262Error("#4: new Number() should not be undefined");
-}
+assert.notSameValue(x4, undefined, 'The value of x4 is expected to not equal ``undefined``');
+assert.sameValue(typeof new Number(10), "object", 'The value of `typeof new Number(10)` is expected to be "object"');
+assert.notSameValue(new Number(10), undefined, 'new Number(10) is expected to not equal ``undefined``');
-//CHECK#5
-if (typeof new Number(10) !== "object") {
- throw new Test262Error("#5: typeof new Number(10) === 'object'");
-}
-
-//CHECK#6
-if (new Number(10) === undefined) {
- throw new Test262Error("#6: new Number(10) should not be undefined");
-}
-
-//CHECK#7
var x7 = new Number(10);
-if (typeof x7 !== "object") {
- throw new Test262Error("#7: typeof new Number(10) === 'object'");
-}
+assert.sameValue(typeof x7, "object", 'The value of `typeof x7` is expected to be "object"');
-//CHECK#8
var x8 = new Number(10);
-if (x8 === undefined) {
- throw new Test262Error("#8: new Number(10) should not be undefined");
-}
+assert.notSameValue(x8, undefined, 'The value of x8 is expected to not equal ``undefined``');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Number/S15.7.2.1_A2.js b/js/src/tests/test262/built-ins/Number/S15.7.2.1_A2.js
index bc986ee73db5..a20ca2036a1f 100644
--- a/js/src/tests/test262/built-ins/Number/S15.7.2.1_A2.js
+++ b/js/src/tests/test262/built-ins/Number/S15.7.2.1_A2.js
@@ -12,20 +12,22 @@ description: Checking prototype property of the newly created objects
// CHECK#1
var x1 = new Number(1);
-if (typeof x1.constructor.prototype !== "object") {
- throw new Test262Error('#1: typeof x1.constructor.prototype === "object"');
-}
-//CHECK#2
+assert.sameValue(
+ typeof x1.constructor.prototype,
+ "object",
+ 'The value of `typeof x1.constructor.prototype` is expected to be "object"'
+);
+
var x2 = new Number(2);
-if (!Number.prototype.isPrototypeOf(x2)) {
- throw new Test262Error('#2: Number.prototype.isPrototypeOf(x2)');
-}
+assert(Number.prototype.isPrototypeOf(x2), 'Number.prototype.isPrototypeOf(x2) must return true');
-//CHECK#3
var x3 = new Number(3);
-if (Number.prototype !== x3.constructor.prototype) {
- throw new Test262Error('#3: Number.prototype === x3.constructor.prototype');
-}
+
+assert.sameValue(
+ Number.prototype,
+ x3.constructor.prototype,
+ 'The value of Number.prototype is expected to equal the value of x3.constructor.prototype'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Number/S15.7.2.1_A3.js b/js/src/tests/test262/built-ins/Number/S15.7.2.1_A3.js
index 42ac50b299ca..769160fe4777 100644
--- a/js/src/tests/test262/built-ins/Number/S15.7.2.1_A3.js
+++ b/js/src/tests/test262/built-ins/Number/S15.7.2.1_A3.js
@@ -9,18 +9,10 @@ es5id: 15.7.2.1_A3
description: Checking value of the newly created object
---*/
-//CHECK#1
var x1 = new Number(1);
-if (x1.valueOf() !== 1) {
- throw new Test262Error('#1: var x1 = new Number(1); x1.valueOf() === 1');
-}
+assert.sameValue(x1.valueOf(), 1, 'x1.valueOf() must return 1');
-//CHECK#2
var x2 = new Number();
-if (x2.valueOf() !== 0) {
- throw new Test262Error('#2.1: var x2 = new Number(); x2.valueOf() === 0');
-} else if (1 / x2.valueOf() !== Number.POSITIVE_INFINITY) {
- throw new Test262Error('#2.2: var x2 = new Number(); x2.valueOf() === +0');
-}
+assert.sameValue(x2.valueOf(), 0, 'x2.valueOf() must return 0');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Number/S15.7.2.1_A4.js b/js/src/tests/test262/built-ins/Number/S15.7.2.1_A4.js
index 9e912712725b..828f6ee7e420 100644
--- a/js/src/tests/test262/built-ins/Number/S15.7.2.1_A4.js
+++ b/js/src/tests/test262/built-ins/Number/S15.7.2.1_A4.js
@@ -13,9 +13,6 @@ delete Number.prototype.toString;
var obj = new Number();
-//CHECK#1
-if (obj.toString() !== "[object Number]") {
- throw new Test262Error('#1: The [[Class]] property of the newly constructed object is set to "Number"');
-}
+assert.sameValue(obj.toString(), "[object Number]", 'obj.toString() must return "[object Number]"');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Number/S15.7.3_A1.js b/js/src/tests/test262/built-ins/Number/S15.7.3_A1.js
index 5a405c90c585..6c437d1647a4 100644
--- a/js/src/tests/test262/built-ins/Number/S15.7.3_A1.js
+++ b/js/src/tests/test262/built-ins/Number/S15.7.3_A1.js
@@ -6,9 +6,6 @@ info: The Number constructor has the property "prototype"
es5id: 15.7.3_A1
description: Checking existence of the property "prototype"
---*/
-
-if (!Number.hasOwnProperty("prototype")) {
- throw new Test262Error('#1: The Number constructor has the property "prototype"');
-}
+assert(Number.hasOwnProperty("prototype"), 'Number.hasOwnProperty("prototype") must return true');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Number/S15.7.3_A2.js b/js/src/tests/test262/built-ins/Number/S15.7.3_A2.js
index 65aded8d2cc2..461661c9274b 100644
--- a/js/src/tests/test262/built-ins/Number/S15.7.3_A2.js
+++ b/js/src/tests/test262/built-ins/Number/S15.7.3_A2.js
@@ -6,9 +6,6 @@ info: The Number constructor has the property "MAX_VALUE"
es5id: 15.7.3_A2
description: Checking existence of the property "MAX_VALUE"
---*/
-
-if (!Number.hasOwnProperty("MAX_VALUE")) {
- throw new Test262Error('#1: The Number constructor has the property "MAX_VALUE"');
-}
+assert(Number.hasOwnProperty("MAX_VALUE"), 'Number.hasOwnProperty("MAX_VALUE") must return true');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Number/S15.7.3_A3.js b/js/src/tests/test262/built-ins/Number/S15.7.3_A3.js
index 8bdb666036ea..667be90e5d7e 100644
--- a/js/src/tests/test262/built-ins/Number/S15.7.3_A3.js
+++ b/js/src/tests/test262/built-ins/Number/S15.7.3_A3.js
@@ -6,9 +6,6 @@ info: The Number constructor has the property "MIN_VALUE"
es5id: 15.7.3_A3
description: Checking existence of the property "MIN_VALUE"
---*/
-
-if (!Number.hasOwnProperty("MIN_VALUE")) {
- throw new Test262Error('#1: The Number constructor has the property "MIN_VALUE"');
-}
+assert(Number.hasOwnProperty("MIN_VALUE"), 'Number.hasOwnProperty("MIN_VALUE") must return true');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Number/S15.7.3_A4.js b/js/src/tests/test262/built-ins/Number/S15.7.3_A4.js
index 4e70d1fa830c..a29ab88e7c30 100644
--- a/js/src/tests/test262/built-ins/Number/S15.7.3_A4.js
+++ b/js/src/tests/test262/built-ins/Number/S15.7.3_A4.js
@@ -6,9 +6,6 @@ info: The Number constructor has the property "NaN"
es5id: 15.7.3_A4
description: Checking existence of the property "NaN"
---*/
-
-if (!Number.hasOwnProperty("NaN")) {
- throw new Test262Error('#1: The Number constructor has the property "NaN"');
-}
+assert(Number.hasOwnProperty("NaN"), 'Number.hasOwnProperty("NaN") must return true');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Number/S15.7.3_A5.js b/js/src/tests/test262/built-ins/Number/S15.7.3_A5.js
index 4fc802b404d8..1532cb554724 100644
--- a/js/src/tests/test262/built-ins/Number/S15.7.3_A5.js
+++ b/js/src/tests/test262/built-ins/Number/S15.7.3_A5.js
@@ -6,9 +6,9 @@ info: The Number constructor has the property "NEGATIVE_INFINITY"
es5id: 15.7.3_A5
description: Checking existence of the property "NEGATIVE_INFINITY"
---*/
-
-if (!Number.hasOwnProperty("NEGATIVE_INFINITY")) {
- throw new Test262Error('#1: The Number constructor has the property "NEGATIVE_INFINITY"');
-}
+assert(
+ Number.hasOwnProperty("NEGATIVE_INFINITY"),
+ 'Number.hasOwnProperty("NEGATIVE_INFINITY") must return true'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Number/S15.7.3_A6.js b/js/src/tests/test262/built-ins/Number/S15.7.3_A6.js
index d2aad1ac0471..6128b1e3b1ce 100644
--- a/js/src/tests/test262/built-ins/Number/S15.7.3_A6.js
+++ b/js/src/tests/test262/built-ins/Number/S15.7.3_A6.js
@@ -6,9 +6,9 @@ info: The Number constructor has the property "POSITIVE_INFINITY"
es5id: 15.7.3_A6
description: Checking existence of the property "POSITIVE_INFINITY"
---*/
-
-if (!Number.hasOwnProperty("POSITIVE_INFINITY")) {
- throw new Test262Error('#1: The Number constructor has the property "POSITIVE_INFINITY"');
-}
+assert(
+ Number.hasOwnProperty("POSITIVE_INFINITY"),
+ 'Number.hasOwnProperty("POSITIVE_INFINITY") must return true'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Number/S15.7.3_A7.js b/js/src/tests/test262/built-ins/Number/S15.7.3_A7.js
index 8addb25d5ddb..ddeff380b126 100644
--- a/js/src/tests/test262/built-ins/Number/S15.7.3_A7.js
+++ b/js/src/tests/test262/built-ins/Number/S15.7.3_A7.js
@@ -8,10 +8,9 @@ info: |
es5id: 15.7.3_A7
description: Checking Function.prototype.isPrototypeOf(Number)
---*/
-
-//CHECK#1
-if (!(Function.prototype.isPrototypeOf(Number))) {
- throw new Test262Error('#1: the value of the internal [[Prototype]] property of the Number constructor is the Function prototype object.');
-}
+assert(
+ Function.prototype.isPrototypeOf(Number),
+ 'Function.prototype.isPrototypeOf(Number) must return true'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Number/S15.7.3_A8.js b/js/src/tests/test262/built-ins/Number/S15.7.3_A8.js
index 5414ed90a0c5..d2a8008e1372 100644
--- a/js/src/tests/test262/built-ins/Number/S15.7.3_A8.js
+++ b/js/src/tests/test262/built-ins/Number/S15.7.3_A8.js
@@ -6,15 +6,7 @@ info: Number constructor has length property whose value is 1
es5id: 15.7.3_A8
description: Checking Number.length property
---*/
-
-//CHECK#1
-if (!Number.hasOwnProperty("length")) {
- throw new Test262Error('#1: Number constructor has length property');
-}
-
-//CHECK#2
-if (Number.length !== 1) {
- throw new Test262Error('#2: Number constructor length property value is 1');
-}
+assert(Number.hasOwnProperty("length"), 'Number.hasOwnProperty("length") must return true');
+assert.sameValue(Number.length, 1, 'The value of Number.length is expected to be 1');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Number/S15.7.5_A1_T01.js b/js/src/tests/test262/built-ins/Number/S15.7.5_A1_T01.js
index 4c928170a722..17087e7bebdb 100644
--- a/js/src/tests/test262/built-ins/Number/S15.7.5_A1_T01.js
+++ b/js/src/tests/test262/built-ins/Number/S15.7.5_A1_T01.js
@@ -8,15 +8,16 @@ info: |
es5id: 15.7.5_A1_T01
description: Checking property constructor
---*/
+assert.sameValue(
+ (new Number()).hasOwnProperty("constructor"),
+ false,
+ '(new Number()).hasOwnProperty("constructor") must return false'
+);
-//CHECK#1
-if ((new Number()).hasOwnProperty("constructor") !== false) {
- throw new Test262Error('#1: Number instance must have no special property "constructor"');
-}
-
-//CHECK#2
-if ((new Number()).constructor !== Number.prototype.constructor) {
- throw new Test262Error('#2: Number instance property "constructor" must be inherited from Number prototype object');
-}
+assert.sameValue(
+ (new Number()).constructor,
+ Number.prototype.constructor,
+ 'The value of (new Number()).constructor is expected to equal the value of Number.prototype.constructor'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Number/S15.7.5_A1_T02.js b/js/src/tests/test262/built-ins/Number/S15.7.5_A1_T02.js
index 7f4346b9ade6..0133a5363520 100644
--- a/js/src/tests/test262/built-ins/Number/S15.7.5_A1_T02.js
+++ b/js/src/tests/test262/built-ins/Number/S15.7.5_A1_T02.js
@@ -8,15 +8,16 @@ info: |
es5id: 15.7.5_A1_T02
description: Checking property toString
---*/
+assert.sameValue(
+ (new Number()).hasOwnProperty("toString"),
+ false,
+ '(new Number()).hasOwnProperty("toString") must return false'
+);
-//CHECK#1
-if ((new Number()).hasOwnProperty("toString") !== false) {
- throw new Test262Error('#1: Number instance must have no special property "toString"');
-}
-
-//CHECK#2
-if ((new Number()).toString !== Number.prototype.toString) {
- throw new Test262Error('#2: Number instance property "toString" must be inherited from Number prototype object');
-}
+assert.sameValue(
+ (new Number()).toString,
+ Number.prototype.toString,
+ 'The value of (new Number()).toString is expected to equal the value of Number.prototype.toString'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Number/S15.7.5_A1_T03.js b/js/src/tests/test262/built-ins/Number/S15.7.5_A1_T03.js
index cf55508e0cf9..e44a4fca309f 100644
--- a/js/src/tests/test262/built-ins/Number/S15.7.5_A1_T03.js
+++ b/js/src/tests/test262/built-ins/Number/S15.7.5_A1_T03.js
@@ -8,15 +8,16 @@ info: |
es5id: 15.7.5_A1_T03
description: Checking property toLocaleString
---*/
+assert.sameValue(
+ (new Number()).hasOwnProperty("toLocaleString"),
+ false,
+ '(new Number()).hasOwnProperty("toLocaleString") must return false'
+);
-//CHECK#1
-if ((new Number()).hasOwnProperty("toLocaleString") !== false) {
- throw new Test262Error('#1: Number instance must have no special property "toLocaleString"');
-}
-
-//CHECK#2
-if ((new Number()).toLocaleString !== Number.prototype.toLocaleString) {
- throw new Test262Error('#2: Number instance property "toLocaleString" must be inherited from Number prototype object');
-}
+assert.sameValue(
+ (new Number()).toLocaleString,
+ Number.prototype.toLocaleString,
+ 'The value of (new Number()).toLocaleString is expected to equal the value of Number.prototype.toLocaleString'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Number/S15.7.5_A1_T04.js b/js/src/tests/test262/built-ins/Number/S15.7.5_A1_T04.js
index f5fc5257076d..15fc2b0174cb 100644
--- a/js/src/tests/test262/built-ins/Number/S15.7.5_A1_T04.js
+++ b/js/src/tests/test262/built-ins/Number/S15.7.5_A1_T04.js
@@ -8,15 +8,16 @@ info: |
es5id: 15.7.5_A1_T04
description: Checking property valueOf
---*/
+assert.sameValue(
+ (new Number()).hasOwnProperty("valueOf"),
+ false,
+ '(new Number()).hasOwnProperty("valueOf") must return false'
+);
-//CHECK#1
-if ((new Number()).hasOwnProperty("valueOf") !== false) {
- throw new Test262Error('#1: Number instance must have no special property "valueOf"');
-}
-
-//CHECK#2
-if ((new Number()).valueOf !== Number.prototype.valueOf) {
- throw new Test262Error('#2: Number instance property "valueOf" must be inherited from Number prototype object');
-}
+assert.sameValue(
+ (new Number()).valueOf,
+ Number.prototype.valueOf,
+ 'The value of (new Number()).valueOf is expected to equal the value of Number.prototype.valueOf'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Number/S15.7.5_A1_T05.js b/js/src/tests/test262/built-ins/Number/S15.7.5_A1_T05.js
index 466c8c84e2d7..9018d6943749 100644
--- a/js/src/tests/test262/built-ins/Number/S15.7.5_A1_T05.js
+++ b/js/src/tests/test262/built-ins/Number/S15.7.5_A1_T05.js
@@ -8,15 +8,16 @@ info: |
es5id: 15.7.5_A1_T05
description: Checking property toFixed
---*/
+assert.sameValue(
+ (new Number()).hasOwnProperty("toFixed"),
+ false,
+ '(new Number()).hasOwnProperty("toFixed") must return false'
+);
-//CHECK#1
-if ((new Number()).hasOwnProperty("toFixed") !== false) {
- throw new Test262Error('#1: Number instance must have no special property "toFixed"');
-}
-
-//CHECK#2
-if ((new Number()).toFixed !== Number.prototype.toFixed) {
- throw new Test262Error('#2: Number instance property "toFixed" must be inherited from Number prototype object');
-}
+assert.sameValue(
+ (new Number()).toFixed,
+ Number.prototype.toFixed,
+ 'The value of (new Number()).toFixed is expected to equal the value of Number.prototype.toFixed'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Number/S15.7.5_A1_T06.js b/js/src/tests/test262/built-ins/Number/S15.7.5_A1_T06.js
index fcf95953f3ae..171fee6baacb 100644
--- a/js/src/tests/test262/built-ins/Number/S15.7.5_A1_T06.js
+++ b/js/src/tests/test262/built-ins/Number/S15.7.5_A1_T06.js
@@ -8,15 +8,16 @@ info: |
es5id: 15.7.5_A1_T06
description: Checking property toExponential
---*/
+assert.sameValue(
+ (new Number()).hasOwnProperty("toExponential"),
+ false,
+ '(new Number()).hasOwnProperty("toExponential") must return false'
+);
-//CHECK#1
-if ((new Number()).hasOwnProperty("toExponential") !== false) {
- throw new Test262Error('#1: Number instance must have no special property "toExponential"');
-}
-
-//CHECK#2
-if ((new Number()).toExponential !== Number.prototype.toExponential) {
- throw new Test262Error('#2: Number instance property "toExponential" must be inherited from Number prototype object');
-}
+assert.sameValue(
+ (new Number()).toExponential,
+ Number.prototype.toExponential,
+ 'The value of (new Number()).toExponential is expected to equal the value of Number.prototype.toExponential'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Number/S15.7.5_A1_T07.js b/js/src/tests/test262/built-ins/Number/S15.7.5_A1_T07.js
index eaacbdad6b4b..0425a8f39da5 100644
--- a/js/src/tests/test262/built-ins/Number/S15.7.5_A1_T07.js
+++ b/js/src/tests/test262/built-ins/Number/S15.7.5_A1_T07.js
@@ -8,15 +8,16 @@ info: |
es5id: 15.7.5_A1_T07
description: Checking property toPrecision
---*/
+assert.sameValue(
+ (new Number()).hasOwnProperty("toPrecision"),
+ false,
+ '(new Number()).hasOwnProperty("toPrecision") must return false'
+);
-//CHECK#1
-if ((new Number()).hasOwnProperty("toPrecision") !== false) {
- throw new Test262Error('#1: Number instance must have no special property "toPrecision"');
-}
-
-//CHECK#2
-if ((new Number()).toPrecision !== Number.prototype.toPrecision) {
- throw new Test262Error('#2: Number instance property "toPrecision" must be inherited from Number prototype object');
-}
+assert.sameValue(
+ (new Number()).toPrecision,
+ Number.prototype.toPrecision,
+ 'The value of (new Number()).toPrecision is expected to equal the value of Number.prototype.toPrecision'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Number/S8.12.8_A3.js b/js/src/tests/test262/built-ins/Number/S8.12.8_A3.js
index 43fb538de043..8026aeb04e9e 100644
--- a/js/src/tests/test262/built-ins/Number/S8.12.8_A3.js
+++ b/js/src/tests/test262/built-ins/Number/S8.12.8_A3.js
@@ -21,9 +21,12 @@ try
return new Object();
}
}
- if (Number(__obj) !== 1) {
- throw new Test262Error('#1.1: var __obj = {toNumber: function() {return "1"}, valueOf: function() {return new Object();}}; Number(__obj) === 1. Actual: ' + (Number(__obj)));
- }
+
+ assert.sameValue(
+ Number(__obj),
+ 1,
+ 'Number("{toString: function() {return "1"}, valueOf: function() {return new Object();}}) must return 1'
+ );
}
catch (e)
{
diff --git a/js/src/tests/test262/built-ins/Number/S8.12.8_A4.js b/js/src/tests/test262/built-ins/Number/S8.12.8_A4.js
index 99ab54e57911..368cccc2afef 100644
--- a/js/src/tests/test262/built-ins/Number/S8.12.8_A4.js
+++ b/js/src/tests/test262/built-ins/Number/S8.12.8_A4.js
@@ -26,9 +26,11 @@ try
}
catch (e)
{
- if ((e instanceof TypeError) !== true) {
- throw new Test262Error('#1.2: var __obj = {valueOf:function(){return new Object;},toNumber: function() {return new Object();}}; Number(__obj) throw TypeError. Actual: ' + (e));
- }
+ assert.sameValue(
+ e instanceof TypeError,
+ true,
+ 'The result of evaluating (e instanceof TypeError) is expected to be true'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Number/S9.1_A1_T1.js b/js/src/tests/test262/built-ins/Number/S9.1_A1_T1.js
index 1f46ead2b3c4..0b1ba8b0b454 100644
--- a/js/src/tests/test262/built-ins/Number/S9.1_A1_T1.js
+++ b/js/src/tests/test262/built-ins/Number/S9.1_A1_T1.js
@@ -20,9 +20,12 @@ var object = {
return 0
}
};
-if (Number(object) !== 1) {
- throw new Test262Error('#1: var object = {valueOf: function() {return "1"}, toString: function() {return 0}}; Number(object) === 1. Actual: ' + (Number(object)));
-}
+
+assert.sameValue(
+ Number(object),
+ 1,
+ 'Number({valueOf: function() {return "1"}, toString: function() {return 0}}) must return 1'
+);
// CHECK#2
var object = {
@@ -33,8 +36,11 @@ var object = {
return "0"
}
};
-if (Number(object) !== 0) {
- throw new Test262Error('#2: var object = {valueOf: function() {return {}}, toString: function() {return "0"}}; Number(object) === 0. Actual: ' + (Number(object)));
-}
+
+assert.sameValue(
+ Number(object),
+ 0,
+ 'Number({valueOf: function() {return {}}, toString: function() {return "0"}}) must return 0'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Number/S9.3.1_A1.js b/js/src/tests/test262/built-ins/Number/S9.3.1_A1.js
index 0a0c24c1b2d3..dc7a2cbbfaec 100644
--- a/js/src/tests/test262/built-ins/Number/S9.3.1_A1.js
+++ b/js/src/tests/test262/built-ins/Number/S9.3.1_A1.js
@@ -6,14 +6,6 @@ info: "The MV of StringNumericLiteral ::: [empty] is 0"
es5id: 9.3.1_A1
description: Number('') convert to Number by explicit transformation
---*/
-
-// CHECK#1
-if (Number("") !== 0) {
- throw new Test262Error('#1.1: Number("") === 0. Actual: ' + (Number("")));
-} else {
- if (1 / Number("") !== Number.POSITIVE_INFINITY) {
- throw new Test262Error('#1.2: Number("") == +0. Actual: -0');
- }
-}
+assert.sameValue(Number(""), 0, 'Number("") must return 0');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Number/S9.3.1_A10.js b/js/src/tests/test262/built-ins/Number/S9.3.1_A10.js
index 93ed99fc1f55..c472cc68ec72 100644
--- a/js/src/tests/test262/built-ins/Number/S9.3.1_A10.js
+++ b/js/src/tests/test262/built-ins/Number/S9.3.1_A10.js
@@ -9,10 +9,6 @@ info: |
es5id: 9.3.1_A10
description: Compare Number('.12345') with +('12345')*1e-5
---*/
-
-// CHECK#1
-if (Number(".12345") !== +("12345") * 1e-5) {
- throw new Test262Error('#1: Number(".12345") === +("12345")*1e-5');
-}
+assert.sameValue(+('12345')*1e-5, 0.12345);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Number/S9.3.1_A11.js b/js/src/tests/test262/built-ins/Number/S9.3.1_A11.js
index 59e138aeff99..7c6fd6935a03 100644
--- a/js/src/tests/test262/built-ins/Number/S9.3.1_A11.js
+++ b/js/src/tests/test262/built-ins/Number/S9.3.1_A11.js
@@ -11,15 +11,11 @@ description: >
Compare Number('.12345e6') with +('12345')*1e1, and
Number('.12345e-3') !== Number('12345')*1e-8
---*/
+assert.sameValue(+('12345')*1e1, 0.12345e6);
-// CHECK#1
-if (Number(".12345e6") !== +("12345") * 1e1) {
- throw new Test262Error('#1: Number(".12345e6") === +("12345")*1e1');
-}
-
-// CHECK#2
-if (Number(".12345e-3") !== Number("12345") * 1e-8) {
- throw new Test262Error('#2: Number(".12345e-3") === Number("12345")*1e-8');
-}
+assert.sameValue(
+ Number(".12345e-3"),
+ 0.00012345
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Number/S9.3.1_A12.js b/js/src/tests/test262/built-ins/Number/S9.3.1_A12.js
index f344d613cfed..9c4620550638 100644
--- a/js/src/tests/test262/built-ins/Number/S9.3.1_A12.js
+++ b/js/src/tests/test262/built-ins/Number/S9.3.1_A12.js
@@ -10,15 +10,7 @@ description: >
Compare Number('12345e6') with +('12345')*1e1, and
Number('12345e-6') !== Number('12345')*1e-6
---*/
-
-// CHECK#1
-if (Number("12345e6") !== +("12345") * 1e6) {
- throw new Test262Error('#1: Number("12345e6") === +("12345")*1e6');
-}
-
-// CHECK#2
-if (Number("12345e-6") !== Number("12345") * 1e-6) {
- throw new Test262Error('#2: Number("12345e-6") === Number("12345")*1e-6');
-}
+assert.sameValue(Number("12345e6"), 12345000000, 'Number("12345e6") must return 12345000000');
+assert.sameValue(Number("12345e-6"), 0.012345, 'Number("12345e-6") must return 0.012345');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Number/S9.3.1_A13.js b/js/src/tests/test262/built-ins/Number/S9.3.1_A13.js
index ee14d3145143..75eff28871d9 100644
--- a/js/src/tests/test262/built-ins/Number/S9.3.1_A13.js
+++ b/js/src/tests/test262/built-ins/Number/S9.3.1_A13.js
@@ -8,20 +8,22 @@ info: |
es5id: 9.3.1_A13
description: Compare '12' with Number("1")*10+Number("2") and analogous
---*/
+assert.sameValue(
+ +("12"),
+ 12,
+ 'The value of `+("12")` is expected to be 12'
+);
-// CHECK#1
-if (+("12") !== Number("1") * 10 + Number("2")) {
- throw new Test262Error('#1: +("12") === Number("1")*10+Number("2")');
-}
+assert.sameValue(
+ Number("123"),
+ 123,
+ 'Number("123") must return 123'
+);
-// CHECK#2
-if (Number("123") !== Number("12") * 10 + Number("3")) {
- throw new Test262Error('#2: Number("123") === Number("12")*10+Number("3")');
-}
-
-// CHECK#2
-if (Number("1234") !== Number("123") * 10 + Number("4")) {
- throw new Test262Error('#2: Number("1234") === Number("123")*10+Number("4")');
-}
+assert.sameValue(
+ Number("1234"),
+ 1234,
+ 'Number("1234") must return 1234'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Number/S9.3.1_A14.js b/js/src/tests/test262/built-ins/Number/S9.3.1_A14.js
index 3a20d457cc04..fd93b601f8e4 100644
--- a/js/src/tests/test262/built-ins/Number/S9.3.1_A14.js
+++ b/js/src/tests/test262/built-ins/Number/S9.3.1_A14.js
@@ -6,10 +6,6 @@ info: "The MV of SignedInteger ::: + DecimalDigits is the MV of DecimalDigits"
es5id: 9.3.1_A14
description: Compare Number('+1234567890') with +('1234567890')
---*/
-
-// CHECK#1
-if (Number("+1234567890") !== +("1234567890")) {
- throw new Test262Error('#1: Number("+1234567890") === +("1234567890")');
-}
+assert.sameValue(Number("+1234567890"), 1234567890, 'Number("+1234567890") must return 1234567890');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Number/S9.3.1_A15.js b/js/src/tests/test262/built-ins/Number/S9.3.1_A15.js
index d027a0684ac0..f0ca373bd01a 100644
--- a/js/src/tests/test262/built-ins/Number/S9.3.1_A15.js
+++ b/js/src/tests/test262/built-ins/Number/S9.3.1_A15.js
@@ -8,10 +8,10 @@ info: |
es5id: 9.3.1_A15
description: Compare -Number('1234567890') with ('-1234567890')
---*/
-
-// CHECK#1
-if (+("-1234567890") !== -Number("1234567890")) {
- throw new Test262Error('#1: +("-1234567890") === -Number("1234567890")');
-}
+assert.sameValue(
+ +("-1234567890"),
+ -1234567890,
+ 'The value of `+("-1234567890")` is expected to be -1234567890'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Number/S9.3.1_A16.js b/js/src/tests/test262/built-ins/Number/S9.3.1_A16.js
index 33ad0790295c..f8736d7d624a 100644
--- a/js/src/tests/test262/built-ins/Number/S9.3.1_A16.js
+++ b/js/src/tests/test262/built-ins/Number/S9.3.1_A16.js
@@ -6,20 +6,8 @@ info: "The MV of DecimalDigit ::: 0 or of HexDigit ::: 0 is 0"
es5id: 9.3.1_A16
description: Compare Number('0x0') and Number('0X0') with 0
---*/
-
-// CHECK#1
-if (Number("0") !== 0) {
- throw new Test262Error('#1: Number("0") === 0. Actual: ' + (Number("0")));
-}
-
-// CHECK#2
-if (+("0x0") !== 0) {
- throw new Test262Error('#2: +("0x0") === 0. Actual: ' + (+("0x0")));
-}
-
-// CHECK#3
-if (Number("0X0") !== 0) {
- throw new Test262Error('#3: Number("0X0") === 0. Actual: ' + (Number("0X0")));
-}
+assert.sameValue(Number("0"), 0, 'Number("0") must return 0');
+assert.sameValue(+("0x0"), 0, 'The value of `+("0x0")` is expected to be 0');
+assert.sameValue(Number("0X0"), 0, 'Number("0X0") must return 0');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Number/S9.3.1_A17.js b/js/src/tests/test262/built-ins/Number/S9.3.1_A17.js
index 7deb85d631f0..a2890bf77c7f 100644
--- a/js/src/tests/test262/built-ins/Number/S9.3.1_A17.js
+++ b/js/src/tests/test262/built-ins/Number/S9.3.1_A17.js
@@ -6,20 +6,8 @@ info: "The MV of DecimalDigit ::: 1 or of HexDigit ::: 1 is 1"
es5id: 9.3.1_A17
description: Compare Number('0x1') and Number('0X1') with 1
---*/
-
-// CHECK#1
-if (Number("1") !== 1) {
- throw new Test262Error('#1: Number("1") === 1. Actual: ' + (Number("1")));
-}
-
-// CHECK#2
-if (Number("0x1") !== 1) {
- throw new Test262Error('#2: Number("0x1") === 1. Actual: ' + (Number("0x1")));
-}
-
-// CHECK#3
-if (+("0X1") !== 1) {
- throw new Test262Error('#3: +("0X1") === 1. Actual: ' + (+("0X1")));
-}
+assert.sameValue(Number("1"), 1, 'Number("1") must return 1');
+assert.sameValue(Number("0x1"), 1, 'Number("0x1") must return 1');
+assert.sameValue(+("0X1"), 1, 'The value of `+("0X1")` is expected to be 1');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Number/S9.3.1_A18.js b/js/src/tests/test262/built-ins/Number/S9.3.1_A18.js
index 82d00d5fb324..624beabf606d 100644
--- a/js/src/tests/test262/built-ins/Number/S9.3.1_A18.js
+++ b/js/src/tests/test262/built-ins/Number/S9.3.1_A18.js
@@ -6,20 +6,8 @@ info: "The MV of DecimalDigit ::: 2 or of HexDigit ::: 2 is 2"
es5id: 9.3.1_A18
description: Compare Number('0x2') and Number('0X2') with 2
---*/
-
-// CHECK#1
-if (+("2") !== 2) {
- throw new Test262Error('#1: +("2") === 2. Actual: ' + (+("2")));
-}
-
-// CHECK#2
-if (Number("0x2") !== 2) {
- throw new Test262Error('#2: Number("0x2") === 2. Actual: ' + (Number("0x2")));
-}
-
-// CHECK#3
-if (Number("0X2") !== 2) {
- throw new Test262Error('#3: Number("0X2") === 2. Actual: ' + (Number("0X2")));
-}
+assert.sameValue(+("2"), 2, 'The value of `+("2")` is expected to be 2');
+assert.sameValue(Number("0x2"), 2, 'Number("0x2") must return 2');
+assert.sameValue(Number("0X2"), 2, 'Number("0X2") must return 2');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Number/S9.3.1_A19.js b/js/src/tests/test262/built-ins/Number/S9.3.1_A19.js
index aacc923dc594..0a8dce1020f0 100644
--- a/js/src/tests/test262/built-ins/Number/S9.3.1_A19.js
+++ b/js/src/tests/test262/built-ins/Number/S9.3.1_A19.js
@@ -6,20 +6,8 @@ info: "The MV of DecimalDigit ::: 3 or of HexDigit ::: 3 is 3"
es5id: 9.3.1_A19
description: Compare Number('0x3') and Number('0X3') with 3
---*/
-
-// CHECK#1
-if (Number("3") !== 3) {
- throw new Test262Error('#1: Number("3") === 3. Actual: ' + (Number("3")));
-}
-
-// CHECK#2
-if (+("0x3") !== 3) {
- throw new Test262Error('#2: +("0x3") === 3. Actual: ' + (+("0x3")));
-}
-
-// CHECK#3
-if (Number("0X3") !== 3) {
- throw new Test262Error('#3: Number("0X3") === 3. Actual: ' + (Number("0X3")));
-}
+assert.sameValue(Number("3"), 3, 'Number("3") must return 3');
+assert.sameValue(+("0x3"), 3, 'The value of `+("0x3")` is expected to be 3');
+assert.sameValue(Number("0X3"), 3, 'Number("0X3") must return 3');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Number/S9.3.1_A2.js b/js/src/tests/test262/built-ins/Number/S9.3.1_A2.js
index 834c4b543f94..69a8293140d3 100644
--- a/js/src/tests/test262/built-ins/Number/S9.3.1_A2.js
+++ b/js/src/tests/test262/built-ins/Number/S9.3.1_A2.js
@@ -8,275 +8,40 @@ description: >
Strings with various WhiteSpaces convert to Number by explicit
transformation
---*/
+assert.sameValue(
+ Number("\u0009\u000C\u0020\u00A0\u000B\u000A\u000D\u2028\u2029\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000"),
+ 0,
+ 'Number("u0009u000Cu0020u00A0u000Bu000Au000Du2028u2029u1680u2000u2001u2002u2003u2004u2005u2006u2007u2008u2009u200Au202Fu205Fu3000") must return 0'
+);
-// CHECK#1
-if (Number("\u0009\u000C\u0020\u00A0\u000B\u000A\u000D\u2028\u2029\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000") !== 0) {
- throw new Test262Error('#1.1: Number("\\u0009\\u000C\\u0020\\u00A0\\u000B\\u000A\\u000D\\u2028\\u2029\\u1680\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000") === 0. Actual: ' + (Number("\u0009\u000C\u0020\u00A0\u000B\u000A\u000D\u2028\u2029\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000")));
-} else {
- if (1 / Number("\u0009\u000C\u0020\u00A0\u000B\u000A\u000D\u2028\u2029\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000") !== Number.POSITIVE_INFINITY) {
- throw new Test262Error('#1.2: Number("\\u0009\\u000C\\u0020\\u00A0\\u000B\\u000A\\u000D\\u2028\\u2029\\u1680\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000") === +0. Actual: -0');
- }
-}
-
-// CHECK#2
-if (Number(" ") !== 0) {
- throw new Test262Error('#2.1: Number(" ") === 0. Actual: ' + (Number(" ")));
-} else {
- if (1 / Number(" ") !== Number.POSITIVE_INFINITY) {
- throw new Test262Error('#2.2: Number(" ") === +0. Actual: -0');
- }
-}
-
-// CHECK#3
-if (Number("\t") !== 0) {
- throw new Test262Error('#3.1: Number("\\t") === 0. Actual: ' + (Number("\t")));
-} else {
- if (1 / Number("\t") !== Number.POSITIVE_INFINITY) {
- throw new Test262Error('#3.2: Number("\\t") === +0. Actual: -0');
- }
-}
-
-// CHECK#4
-if (Number("\r") !== 0) {
- throw new Test262Error('#4.1: Number("\\r") === 0. Actual: ' + (Number("\r")));
-} else {
- if (1 / Number("\r") !== Number.POSITIVE_INFINITY) {
- throw new Test262Error('#4.2: Number("\\r") === +0. Actual: -0');
- }
-}
-
-// CHECK#5
-if (Number("\n") !== 0) {
- throw new Test262Error('#5.1: Number("\\n") === 0. Actual: ' + (Number("\n")));
-} else {
- if (1 / Number("\n") !== Number.POSITIVE_INFINITY) {
- throw new Test262Error('#5.2: Number("\\n") === +0. Actual: -0');
- }
-}
-
-// CHECK#6
-if (Number("\f") !== 0) {
- throw new Test262Error('#6.1: Number("\\f") === 0. Actual: ' + (Number("\f")));
-} else {
- if (1 / Number("\f") !== Number.POSITIVE_INFINITY) {
- throw new Test262Error('#6.2: Number("\\f") === +0. Actual: -0');
- }
-}
-
-// CHECK#7
-if (Number("\u0009") !== 0) {
- throw new Test262Error('#7.1: Number("\\u0009") === 0. Actual: ' + (Number("\u0009")));
-} else {
- if (1 / Number("\u0009") !== Number.POSITIVE_INFINITY) {
- throw new Test262Error('#7.2: Number("\\u0009") === +0. Actual: -0');
- }
-}
-
-// CHECK#8
-if (Number("\u000A") !== 0) {
- throw new Test262Error('#8.1: Number("\\u000A") === 0. Actual: ' + (Number("\u000A")));
-} else {
- if (1 / Number("\u000A") !== Number.POSITIVE_INFINITY) {
- throw new Test262Error('#8.2: Number("\\u000A") === +0. Actual: -0');
- }
-}
-
-// CHECK#9
-if (Number("\u000B") !== 0) {
- throw new Test262Error('#9.1: Number("\\u000B") === 0. Actual: ' + (Number("\u000B")));
-} else {
- if (1 / Number("\u000B") !== Number.POSITIVE_INFINITY) {
- throw new Test262Error('#9.1.2: Number("\\u000B") === +0. Actual: -0');
- }
-}
-
-// CHECK#10
-if (Number("\u000C") !== 0) {
- throw new Test262Error('#10.1: Number("\\u000C") === 0. Actual: ' + (Number("\u000C")));
-} else {
- if (1 / Number("\u000C") !== Number.POSITIVE_INFINITY) {
- throw new Test262Error('#10.2: Number("\\u000C") === +0. Actual: -0');
- }
-}
-
-// CHECK#11
-if (Number("\u000D") !== 0) {
- throw new Test262Error('#11.1: Number("\\u000D") === 0. Actual: ' + (Number("\u000D")));
-} else {
- if (1 / Number("\u000D") !== Number.POSITIVE_INFINITY) {
- throw new Test262Error('#11.2: Number("\\u000D") === +0. Actual: -0');
- }
-}
-
-// CHECK#12
-if (Number("\u00A0") !== 0) {
- throw new Test262Error('#12.1: Number("\\u00A0") === 0. Actual: ' + (Number("\u00A0")));
-} else {
- if (1 / Number("\u00A0") !== Number.POSITIVE_INFINITY) {
- throw new Test262Error('#12.2: Number("\\u00A0") === +0. Actual: -0');
- }
-}
-
-// CHECK#13
-if (Number("\u0020") !== 0) {
- throw new Test262Error('#13.1: Number("\\u0020") === 0. Actual: ' + (Number("\u0020")));
-} else {
- if (1 / Number("\u0020") !== Number.POSITIVE_INFINITY) {
- throw new Test262Error('#13.2: Number("\\u0020") === +0. Actual: -0');
- }
-}
-
-// CHECK#14
-if (Number("\u2028") !== 0) {
- throw new Test262Error('#14.1: Number("\\u2028") === 0. Actual: ' + (Number("\u2028")));
-} else {
- if (1 / Number("\u2028") !== Number.POSITIVE_INFINITY) {
- throw new Test262Error('#14.2: Number("\\u2028") === +0. Actual: -0');
- }
-}
-
-// CHECK#15
-if (Number("\u2029") !== 0) {
- throw new Test262Error('#15.1: Number("\\u2029") === 0. Actual: ' + (Number("\u2029")));
-} else {
- if (1 / Number("\u2029") !== Number.POSITIVE_INFINITY) {
- throw new Test262Error('#15.2: Number("\\u2029") === +0. Actual: -0');
- }
-}
-
-// CHECK#16
-if (Number("\u1680") !== 0) {
- throw new Test262Error('#16.1: Number("\\u1680") === 0. Actual: ' + (Number("\u1680")));
-} else {
- if (1 / Number("\u1680") !== Number.POSITIVE_INFINITY) {
- throw new Test262Error('#16.2: Number("\\u1680") === +0. Actual: -0');
- }
-}
-
-// CHECK#17
-if (Number("\u2000") !== 0) {
- throw new Test262Error('#17.1: Number("\\u2000") === 0. Actual: ' + (Number("\u2000")));
-} else {
- if (1 / Number("\u2000") !== Number.POSITIVE_INFINITY) {
- throw new Test262Error('#17.2: Number("\\u2000") === +0. Actual: -0');
- }
-}
-
-// CHECK#18
-if (Number("\u2001") !== 0) {
- throw new Test262Error('#18.1: Number("\\u2001") === 0. Actual: ' + (Number("\u2001")));
-} else {
- if (1 / Number("\u2001") !== Number.POSITIVE_INFINITY) {
- throw new Test262Error('#18.2: Number("\\u2001") === +0. Actual: -0');
- }
-}
-
-// CHECK#19
-if (Number("\u2002") !== 0) {
- throw new Test262Error('#19.1: Number("\\u2002") === 0. Actual: ' + (Number("\u2002")));
-} else {
- if (1 / Number("\u2002") !== Number.POSITIVE_INFINITY) {
- throw new Test262Error('#19.2: Number("\\u2002") === +0. Actual: -0');
- }
-}
-
-// CHECK#20
-if (Number("\u2003") !== 0) {
- throw new Test262Error('#20.1: Number("\\u2003") === 0. Actual: ' + (Number("\u2003")));
-} else {
- if (1 / Number("\u2003") !== Number.POSITIVE_INFINITY) {
- throw new Test262Error('#20.2: Number("\\u2003") === +0. Actual: -0');
- }
-}
-
-// CHECK#21
-if (Number("\u2004") !== 0) {
- throw new Test262Error('#21.1: Number("\\u2004") === 0. Actual: ' + (Number("\u2004")));
-} else {
- if (1 / Number("\u2004") !== Number.POSITIVE_INFINITY) {
- throw new Test262Error('#21.2: Number("\\u2004") === +0. Actual: -0');
- }
-}
-
-// CHECK#22
-if (Number("\u2005") !== 0) {
- throw new Test262Error('#22.1: Number("\\u2005") === 0. Actual: ' + (Number("\u2005")));
-} else {
- if (1 / Number("\u2005") !== Number.POSITIVE_INFINITY) {
- throw new Test262Error('#22.2: Number("\\u2005") === +0. Actual: -0');
- }
-}
-
-// CHECK#23
-if (Number("\u2006") !== 0) {
- throw new Test262Error('#23.1: Number("\\u2006") === 0. Actual: ' + (Number("\u2006")));
-} else {
- if (1 / Number("\u2006") !== Number.POSITIVE_INFINITY) {
- throw new Test262Error('#23.2: Number("\\u2006") === +0. Actual: -0');
- }
-}
-
-// CHECK#24
-if (Number("\u2007") !== 0) {
- throw new Test262Error('#24.1: Number("\\u2007") === 0. Actual: ' + (Number("\u2007")));
-} else {
- if (1 / Number("\u2007") !== Number.POSITIVE_INFINITY) {
- throw new Test262Error('#24.2: Number("\\u2007") === +0. Actual: -0');
- }
-}
-
-// CHECK#25
-if (Number("\u2008") !== 0) {
- throw new Test262Error('#25.1: Number("\\u2008") === 0. Actual: ' + (Number("\u2008")));
-} else {
- if (1 / Number("\u2008") !== Number.POSITIVE_INFINITY) {
- throw new Test262Error('#25.2: Number("\\u2008") === +0. Actual: -0');
- }
-}
-
-// CHECK#26
-if (Number("\u2009") !== 0) {
- throw new Test262Error('#26.1: Number("\\u2009") === 0. Actual: ' + (Number("\u2009")));
-} else {
- if (1 / Number("\u2009") !== Number.POSITIVE_INFINITY) {
- throw new Test262Error('#26.2: Number("\\u2009") === +0. Actual: -0');
- }
-}
-
-// CHECK#27
-if (Number("\u200A") !== 0) {
- throw new Test262Error('#27.1: Number("\\u200A") === 0. Actual: ' + (Number("\u200A")));
-} else {
- if (1 / Number("\u200A") !== Number.POSITIVE_INFINITY) {
- throw new Test262Error('#27.2: Number("\\u200A") === +0. Actual: -0');
- }
-}
-
-// CHECK#28
-if (Number("\u202F") !== 0) {
- throw new Test262Error('#28.1: Number("\\u202F") === 0. Actual: ' + (Number("\u202F")));
-} else {
- if (1 / Number("\u202F") !== Number.POSITIVE_INFINITY) {
- throw new Test262Error('#28.2: Number("\\u202F") === +0. Actual: -0');
- }
-}
-
-// CHECK#29
-if (Number("\u205F") !== 0) {
- throw new Test262Error('#29.1: Number("\\u205F") === 0. Actual: ' + (Number("\u205F")));
-} else {
- if (1 / Number("\u205F") !== Number.POSITIVE_INFINITY) {
- throw new Test262Error('#29.2: Number("\\u205F") === +0. Actual: -0');
- }
-}
-
-// CHECK#30
-if (Number("\u3000") !== 0) {
- throw new Test262Error('#30.1: Number("\\u3000") === 0. Actual: ' + (Number("\u3000")));
-} else {
- if (1 / Number("\u3000") !== Number.POSITIVE_INFINITY) {
- throw new Test262Error('#30.2: Number("\\u3000") === +0. Actual: -0');
- }
-}
+assert.sameValue(Number(" "), 0, 'Number(" ") must return 0');
+assert.sameValue(Number("\t"), 0, 'Number("t") must return 0');
+assert.sameValue(Number("\r"), 0, 'Number("r") must return 0');
+assert.sameValue(Number("\n"), 0, 'Number("n") must return 0');
+assert.sameValue(Number("\f"), 0, 'Number("f") must return 0');
+assert.sameValue(Number("\u0009"), 0, 'Number("u0009") must return 0');
+assert.sameValue(Number("\u000A"), 0, 'Number("u000A") must return 0');
+assert.sameValue(Number("\u000B"), 0, 'Number("u000B") must return 0');
+assert.sameValue(Number("\u000C"), 0, 'Number("u000C") must return 0');
+assert.sameValue(Number("\u000D"), 0, 'Number("u000D") must return 0');
+assert.sameValue(Number("\u00A0"), 0, 'Number("u00A0") must return 0');
+assert.sameValue(Number("\u0020"), 0, 'Number("u0020") must return 0');
+assert.sameValue(Number("\u2028"), 0, 'Number("u2028") must return 0');
+assert.sameValue(Number("\u2029"), 0, 'Number("u2029") must return 0');
+assert.sameValue(Number("\u1680"), 0, 'Number("u1680") must return 0');
+assert.sameValue(Number("\u2000"), 0, 'Number("u2000") must return 0');
+assert.sameValue(Number("\u2001"), 0, 'Number("u2001") must return 0');
+assert.sameValue(Number("\u2002"), 0, 'Number("u2002") must return 0');
+assert.sameValue(Number("\u2003"), 0, 'Number("u2003") must return 0');
+assert.sameValue(Number("\u2004"), 0, 'Number("u2004") must return 0');
+assert.sameValue(Number("\u2005"), 0, 'Number("u2005") must return 0');
+assert.sameValue(Number("\u2006"), 0, 'Number("u2006") must return 0');
+assert.sameValue(Number("\u2007"), 0, 'Number("u2007") must return 0');
+assert.sameValue(Number("\u2008"), 0, 'Number("u2008") must return 0');
+assert.sameValue(Number("\u2009"), 0, 'Number("u2009") must return 0');
+assert.sameValue(Number("\u200A"), 0, 'Number("u200A") must return 0');
+assert.sameValue(Number("\u202F"), 0, 'Number("u202F") must return 0');
+assert.sameValue(Number("\u205F"), 0, 'Number("u205F") must return 0');
+assert.sameValue(Number("\u3000"), 0, 'Number("u3000") must return 0');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Number/S9.3.1_A20.js b/js/src/tests/test262/built-ins/Number/S9.3.1_A20.js
index 034728552a48..8e97858fb042 100644
--- a/js/src/tests/test262/built-ins/Number/S9.3.1_A20.js
+++ b/js/src/tests/test262/built-ins/Number/S9.3.1_A20.js
@@ -6,20 +6,8 @@ info: "The MV of DecimalDigit ::: 4 or of HexDigit ::: 4 is 4"
es5id: 9.3.1_A20
description: Compare Number('0x4') and Number('0X4') with 4
---*/
-
-// CHECK#1
-if (Number("4") !== 4) {
- throw new Test262Error('#1: Number("4") === 4. Actual: ' + (Number("4")));
-}
-
-// CHECK#2
-if (Number("0x4") !== 4) {
- throw new Test262Error('#2: Number("0x4") === 4. Actual: ' + (Number("0x4")));
-}
-
-// CHECK#3
-if (+("0X4") !== 4) {
- throw new Test262Error('#3: +("0X4") === 4. Actual: ' + (+("0X4")));
-}
+assert.sameValue(Number("4"), 4, 'Number("4") must return 4');
+assert.sameValue(Number("0x4"), 4, 'Number("0x4") must return 4');
+assert.sameValue(+("0X4"), 4, 'The value of `+("0X4")` is expected to be 4');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Number/S9.3.1_A21.js b/js/src/tests/test262/built-ins/Number/S9.3.1_A21.js
index af7cb290fc55..016c5c98a34a 100644
--- a/js/src/tests/test262/built-ins/Number/S9.3.1_A21.js
+++ b/js/src/tests/test262/built-ins/Number/S9.3.1_A21.js
@@ -6,20 +6,8 @@ info: "The MV of DecimalDigit ::: 5 or of HexDigit ::: 5 is 5"
es5id: 9.3.1_A21
description: Compare Number('0x5') and Number('0X5') with 5
---*/
-
-// CHECK#1
-if (+("5") !== 5) {
- throw new Test262Error('#1: +("5") === 5. Actual: ' + (+("5")));
-}
-
-// CHECK#2
-if (Number("0x5") !== 5) {
- throw new Test262Error('#2: Number("0x5") === 5. Actual: ' + (Number("0x5")));
-}
-
-// CHECK#3
-if (Number("0X5") !== 5) {
- throw new Test262Error('#3: Number("0X5") === 5. Actual: ' + (Number("0X5")));
-}
+assert.sameValue(+("5"), 5, 'The value of `+("5")` is expected to be 5');
+assert.sameValue(Number("0x5"), 5, 'Number("0x5") must return 5');
+assert.sameValue(Number("0X5"), 5, 'Number("0X5") must return 5');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Number/S9.3.1_A22.js b/js/src/tests/test262/built-ins/Number/S9.3.1_A22.js
index bf39a5990a82..d7100193f29c 100644
--- a/js/src/tests/test262/built-ins/Number/S9.3.1_A22.js
+++ b/js/src/tests/test262/built-ins/Number/S9.3.1_A22.js
@@ -6,20 +6,8 @@ info: "The MV of DecimalDigit ::: 6 or of HexDigit ::: 6 is 6"
es5id: 9.3.1_A22
description: Compare Number('0x6') and Number('0X6') with 6
---*/
-
-// CHECK#1
-if (Number("6") !== 6) {
- throw new Test262Error('#1: Number("6") === 6. Actual: ' + (Number("6")));
-}
-
-// CHECK#2
-if (+("0x6") !== 6) {
- throw new Test262Error('#2: +("0x6") === 6. Actual: ' + (+("0x6")));
-}
-
-// CHECK#3
-if (Number("0X6") !== 6) {
- throw new Test262Error('#3: Number("0X6") === 6. Actual: ' + (Number("0X6")));
-}
+assert.sameValue(Number("6"), 6, 'Number("6") must return 6');
+assert.sameValue(+("0x6"), 6, 'The value of `+("0x6")` is expected to be 6');
+assert.sameValue(Number("0X6"), 6, 'Number("0X6") must return 6');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Number/S9.3.1_A23.js b/js/src/tests/test262/built-ins/Number/S9.3.1_A23.js
index b6fe7b68d1e8..ddcf4e19479f 100644
--- a/js/src/tests/test262/built-ins/Number/S9.3.1_A23.js
+++ b/js/src/tests/test262/built-ins/Number/S9.3.1_A23.js
@@ -6,20 +6,8 @@ info: "The MV of DecimalDigit ::: 7 or of HexDigit ::: 7 is 7"
es5id: 9.3.1_A23
description: Compare Number('0x7') and Number('0X7') with 7
---*/
-
-// CHECK#1
-if (Number("7") !== 7) {
- throw new Test262Error('#1: Number("7") === 7. Actual: ' + (Number("7")));
-}
-
-// CHECK#2
-if (Number("0x7") !== 7) {
- throw new Test262Error('#2: Number("0x7") === 7. Actual: ' + (Number("0x7")));
-}
-
-// CHECK#3
-if (+("0X7") !== 7) {
- throw new Test262Error('#3: +("0X7") === 7. Actual: ' + (+("0X7")));
-}
+assert.sameValue(Number("7"), 7, 'Number("7") must return 7');
+assert.sameValue(Number("0x7"), 7, 'Number("0x7") must return 7');
+assert.sameValue(+("0X7"), 7, 'The value of `+("0X7")` is expected to be 7');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Number/S9.3.1_A24.js b/js/src/tests/test262/built-ins/Number/S9.3.1_A24.js
index ce13911d57d7..8de2e10e0c26 100644
--- a/js/src/tests/test262/built-ins/Number/S9.3.1_A24.js
+++ b/js/src/tests/test262/built-ins/Number/S9.3.1_A24.js
@@ -6,20 +6,8 @@ info: "The MV of DecimalDigit ::: 8 or of HexDigit ::: 8 is 8"
es5id: 9.3.1_A24
description: Compare Number('0x8') and Number('0X8') with 8
---*/
-
-// CHECK#1
-if (+("8") !== 8) {
- throw new Test262Error('#1: +("8") === 8. Actual: ' + (+("8")));
-}
-
-// CHECK#2
-if (Number("0x8") !== 8) {
- throw new Test262Error('#2: Number("0x8") === 8. Actual: ' + (Number("0x8")));
-}
-
-// CHECK#3
-if (Number("0X8") !== 8) {
- throw new Test262Error('#3: Number("0X8") === 8. Actual: ' + (Number("0X8")));
-}
+assert.sameValue(+("8"), 8, 'The value of `+("8")` is expected to be 8');
+assert.sameValue(Number("0x8"), 8, 'Number("0x8") must return 8');
+assert.sameValue(Number("0X8"), 8, 'Number("0X8") must return 8');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Number/S9.3.1_A25.js b/js/src/tests/test262/built-ins/Number/S9.3.1_A25.js
index fdd44411c633..fe774d5ef7ac 100644
--- a/js/src/tests/test262/built-ins/Number/S9.3.1_A25.js
+++ b/js/src/tests/test262/built-ins/Number/S9.3.1_A25.js
@@ -6,20 +6,8 @@ info: "The MV of DecimalDigit ::: 9 or of HexDigit ::: 9 is 9"
es5id: 9.3.1_A25
description: Compare Number('0x9') and Number('0X9') with 9
---*/
-
-// CHECK#1
-if (Number("9") !== 9) {
- throw new Test262Error('#1: Number("9") === 9. Actual: ' + (Number("9")));
-}
-
-// CHECK#2
-if (+("0x9") !== 9) {
- throw new Test262Error('#2: +("0x9") === 9. Actual: ' + (+("0x9")));
-}
-
-// CHECK#3
-if (Number("0X9") !== 9) {
- throw new Test262Error('#3: Number("0X9") === 9. Actual: ' + (Number("0X9")));
-}
+assert.sameValue(Number("9"), 9, 'Number("9") must return 9');
+assert.sameValue(+("0x9"), 9, 'The value of `+("0x9")` is expected to be 9');
+assert.sameValue(Number("0X9"), 9, 'Number("0X9") must return 9');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Number/S9.3.1_A26.js b/js/src/tests/test262/built-ins/Number/S9.3.1_A26.js
index 7c6254b30f86..d4478fb67503 100644
--- a/js/src/tests/test262/built-ins/Number/S9.3.1_A26.js
+++ b/js/src/tests/test262/built-ins/Number/S9.3.1_A26.js
@@ -8,25 +8,9 @@ description: >
Compare Number('0xA'), Number('0XA'), Number('0xa') and
Number('0Xa') with 10
---*/
-
-// CHECK#1
-if (Number("0xa") !== 10) {
- throw new Test262Error('#1: Number("0xa") === 10. Actual: ' + (Number("0xa")));
-}
-
-// CHECK#2
-if (Number("0xA") !== 10) {
- throw new Test262Error('#2: Number("0xA") === 10. Actual: ' + (Number("0xA")));
-}
-
-// CHECK#3
-if (Number("0Xa") !== 10) {
- throw new Test262Error('#3: Number("0Xa") === 10. Actual: ' + (Number("0Xa")));
-}
-
-// CHECK#4
-if (+("0XA") !== 10) {
- throw new Test262Error('#4: +("0XA") === 10. Actual: ' + (+("0XA")));
-}
+assert.sameValue(Number("0xa"), 10, 'Number("0xa") must return 10');
+assert.sameValue(Number("0xA"), 10, 'Number("0xA") must return 10');
+assert.sameValue(Number("0Xa"), 10, 'Number("0Xa") must return 10');
+assert.sameValue(+("0XA"), 10, 'The value of `+("0XA")` is expected to be 10');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Number/S9.3.1_A27.js b/js/src/tests/test262/built-ins/Number/S9.3.1_A27.js
index fa3213c65d8a..4734892980ac 100644
--- a/js/src/tests/test262/built-ins/Number/S9.3.1_A27.js
+++ b/js/src/tests/test262/built-ins/Number/S9.3.1_A27.js
@@ -8,25 +8,9 @@ description: >
Compare Number('0xB'), Number('0XB'), Number('0xb') and
Number('0Xb') with 11
---*/
-
-// CHECK#1
-if (Number("0xb") !== 11) {
- throw new Test262Error('#1: Number("0xb") === 11. Actual: ' + (Number("0xb")));
-}
-
-// CHECK#2
-if (Number("0xB") !== 11) {
- throw new Test262Error('#2: Number("0xB") === 11. Actual: ' + (Number("0xB")));
-}
-
-// CHECK#3
-if (+("0Xb") !== 11) {
- throw new Test262Error('#3: +("0Xb") === 11. Actual: ' + (+("0Xb")));
-}
-
-// CHECK#4
-if (Number("0XB") !== 11) {
- throw new Test262Error('#4: Number("0XB") === 11. Actual: ' + (Number("0XB")));
-}
+assert.sameValue(Number("0xb"), 11, 'Number("0xb") must return 11');
+assert.sameValue(Number("0xB"), 11, 'Number("0xB") must return 11');
+assert.sameValue(+("0Xb"), 11, 'The value of `+("0Xb")` is expected to be 11');
+assert.sameValue(Number("0XB"), 11, 'Number("0XB") must return 11');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Number/S9.3.1_A28.js b/js/src/tests/test262/built-ins/Number/S9.3.1_A28.js
index c74aec5acc2d..788a12d4f717 100644
--- a/js/src/tests/test262/built-ins/Number/S9.3.1_A28.js
+++ b/js/src/tests/test262/built-ins/Number/S9.3.1_A28.js
@@ -8,25 +8,9 @@ description: >
Compare Number('0xC'), Number('0XC'), Number('0xc') and
Number('0Xc') with 12
---*/
-
-// CHECK#1
-if (Number("0xc") !== 12) {
- throw new Test262Error('#1: Number("0xc") === 12. Actual: ' + (Number("0xc")));
-}
-
-// CHECK#2
-if (+("0xC") !== 12) {
- throw new Test262Error('#2: +("0xC") === 12. Actual: ' + (+("0xC")));
-}
-
-// CHECK#3
-if (Number("0Xc") !== 12) {
- throw new Test262Error('#3: Number("0Xc") === 12. Actual: ' + (Number("0Xc")));
-}
-
-// CHECK#4
-if (Number("0XC") !== 12) {
- throw new Test262Error('#4: Number("0XC") === 12. Actual: ' + (Number("0XC")));
-}
+assert.sameValue(Number("0xc"), 12, 'Number("0xc") must return 12');
+assert.sameValue(+("0xC"), 12, 'The value of `+("0xC")` is expected to be 12');
+assert.sameValue(Number("0Xc"), 12, 'Number("0Xc") must return 12');
+assert.sameValue(Number("0XC"), 12, 'Number("0XC") must return 12');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Number/S9.3.1_A29.js b/js/src/tests/test262/built-ins/Number/S9.3.1_A29.js
index e9d1d2b14945..096a492fa984 100644
--- a/js/src/tests/test262/built-ins/Number/S9.3.1_A29.js
+++ b/js/src/tests/test262/built-ins/Number/S9.3.1_A29.js
@@ -8,25 +8,9 @@ description: >
Compare Number('0xD'), Number('0XD'), Number('0xd') and
Number('0Xd') with 13
---*/
-
-// CHECK#1
-if (+("0xd") !== 13) {
- throw new Test262Error('#1: +("0xd") === 13. Actual: ' + (+("0xd")));
-}
-
-// CHECK#2
-if (Number("0xD") !== 13) {
- throw new Test262Error('#2: Number("0xD") === 13. Actual: ' + (Number("0xD")));
-}
-
-// CHECK#3
-if (Number("0Xd") !== 13) {
- throw new Test262Error('#3: Number("0Xd") === 13. Actual: ' + (Number("0Xd")));
-}
-
-// CHECK#4
-if (Number("0XD") !== 13) {
- throw new Test262Error('#4: Number("0XD") === 13. Actual: ' + (Number("0XD")));
-}
+assert.sameValue(+("0xd"), 13, 'The value of `+("0xd")` is expected to be 13');
+assert.sameValue(Number("0xD"), 13, 'Number("0xD") must return 13');
+assert.sameValue(Number("0Xd"), 13, 'Number("0Xd") must return 13');
+assert.sameValue(Number("0XD"), 13, 'Number("0XD") must return 13');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Number/S9.3.1_A30.js b/js/src/tests/test262/built-ins/Number/S9.3.1_A30.js
index 9a1a7e042456..bff5be512caf 100644
--- a/js/src/tests/test262/built-ins/Number/S9.3.1_A30.js
+++ b/js/src/tests/test262/built-ins/Number/S9.3.1_A30.js
@@ -8,25 +8,9 @@ description: >
Compare Number('0xE'), Number('0XE'), Number('0xe') and
Number('0Xe') with 14
---*/
-
-// CHECK#1
-if (Number("0xe") !== 14) {
- throw new Test262Error('#1: Number("0xe") === 14. Actual: ' + (Number("0xe")));
-}
-
-// CHECK#2
-if (Number("0xE") !== 14) {
- throw new Test262Error('#2: Number("0xE") === 14. Actual: ' + (Number("0xE")));
-}
-
-// CHECK#3
-if (Number("0Xe") !== 14) {
- throw new Test262Error('#3: Number("0Xe") === 14. Actual: ' + (Number("0Xe")));
-}
-
-// CHECK#4
-if (+("0XE") !== 14) {
- throw new Test262Error('#4: +("0XE") === 14. Actual: ' + (+("0XE")));
-}
+assert.sameValue(Number("0xe"), 14, 'Number("0xe") must return 14');
+assert.sameValue(Number("0xE"), 14, 'Number("0xE") must return 14');
+assert.sameValue(Number("0Xe"), 14, 'Number("0Xe") must return 14');
+assert.sameValue(+("0XE"), 14, 'The value of `+("0XE")` is expected to be 14');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Number/S9.3.1_A31.js b/js/src/tests/test262/built-ins/Number/S9.3.1_A31.js
index 34b63fa0258d..7df3cba8f25d 100644
--- a/js/src/tests/test262/built-ins/Number/S9.3.1_A31.js
+++ b/js/src/tests/test262/built-ins/Number/S9.3.1_A31.js
@@ -8,25 +8,9 @@ description: >
Compare Number('0xF'), Number('0XF'), Number('0xf') and
Number('0Xf') with 15
---*/
-
-// CHECK#1
-if (Number("0xf") !== 15) {
- throw new Test262Error('#1: Number("0xf") === 15. Actual: ' + (Number("0xf")));
-}
-
-// CHECK#2
-if (Number("0xF") !== 15) {
- throw new Test262Error('#2: Number("0xF") === 15. Actual: ' + (Number("0xF")));
-}
-
-// CHECK#3
-if (+("0Xf") !== 15) {
- throw new Test262Error('#3: +("0Xf") === 15. Actual: ' + (+("0Xf")));
-}
-
-// CHECK#4
-if (Number("0XF") !== 15) {
- throw new Test262Error('#4: Number("0XF") === 15. Actual: ' + (Number("0XF")));
-}
+assert.sameValue(Number("0xf"), 15, 'Number("0xf") must return 15');
+assert.sameValue(Number("0xF"), 15, 'Number("0xF") must return 15');
+assert.sameValue(+("0Xf"), 15, 'The value of `+("0Xf")` is expected to be 15');
+assert.sameValue(Number("0XF"), 15, 'Number("0XF") must return 15');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Number/S9.3.1_A32.js b/js/src/tests/test262/built-ins/Number/S9.3.1_A32.js
index ffa3e60f5434..b0318e12cd1a 100644
--- a/js/src/tests/test262/built-ins/Number/S9.3.1_A32.js
+++ b/js/src/tests/test262/built-ins/Number/S9.3.1_A32.js
@@ -10,30 +10,34 @@ info: |
es5id: 9.3.1_A32
description: Use various long numbers, for example, 1234567890.1234567890
---*/
+assert.sameValue(
+ Number("1234567890.1234567890"),
+ 1234567890.1234567890,
+ 'Number("1234567890.1234567890") must return 1234567890.1234567890'
+);
-// CHECK#1
-if (Number("1234567890.1234567890") !== 1234567890.1234567890) {
- throw new Test262Error('#1: Number("1234567890.1234567890") === 1234567890.1234567890. Actual: ' + (Number("1234567890.1234567890")));
-}
+assert.sameValue(
+ Number("1234567890.1234567890"),
+ 1234567890.1234567000,
+ 'Number("1234567890.1234567890") must return 1234567890.1234567000'
+);
-// CHECK#2
-if (Number("1234567890.1234567890") !== 1234567890.1234567000) {
- throw new Test262Error('#2: Number("1234567890.1234567890") === 1234567890.1234567000. Actual: ' + (Number("1234567890.1234567890")));
-}
+assert.notSameValue(
+ +("1234567890.1234567890"),
+ 1234567890.123456,
+ 'The value of +("1234567890.1234567890") is not 1234567890.123456'
+);
-// CHECK#3
-if (+("1234567890.1234567890") === 1234567890.123456) {
- throw new Test262Error('#3: +("1234567890.1234567890") !== 1234567890.123456');
-}
+assert.sameValue(
+ Number("0.12345678901234567890"),
+ 0.123456789012345678,
+ 'Number("0.12345678901234567890") must return 0.123456789012345678'
+);
-// CHECK#4
-if (Number("0.12345678901234567890") !== 0.123456789012345678) {
- throw new Test262Error('#4: Number("0.12345678901234567890") === 0.123456789012345678. Actual: ' + (Number("0.12345678901234567890")));
-}
-
-// CHECK#4
-if (Number("00.12345678901234567890") !== 0.123456789012345678) {
- throw new Test262Error('#4: Number("00.12345678901234567890") === 0.123456789012345678. Actual: ' + (Number("00.12345678901234567890")));
-}
+assert.sameValue(
+ Number("00.12345678901234567890"),
+ 0.123456789012345678,
+ 'Number("00.12345678901234567890") must return 0.123456789012345678'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Number/S9.3.1_A3_T1.js b/js/src/tests/test262/built-ins/Number/S9.3.1_A3_T1.js
index d5dc0636401b..263c04c1861c 100644
--- a/js/src/tests/test262/built-ins/Number/S9.3.1_A3_T1.js
+++ b/js/src/tests/test262/built-ins/Number/S9.3.1_A3_T1.js
@@ -9,25 +9,24 @@ info: |
es5id: 9.3.1_A3_T1
description: static string
---*/
+assert.sameValue(
+ Number("\u0009\u000C\u0020\u00A0\u000B\u000A\u000D\u2028\u2029\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000"),
+ 0
+);
-// CHECK#1
-if (Number("\u0009\u000C\u0020\u00A0\u000B\u000A\u000D\u2028\u2029\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000") !== Number("")) {
- throw new Test262Error('#1: Number("\\u0009\\u000C\\u0020\\u00A0\\u000B\\u000A\\u000D\\u2028\\u2029\\u1680\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000") === Number("")');
-}
+assert.sameValue(
+ Number("\u0009\u000C\u0020\u00A0\u000A\u000D\u2028\u2029\u000B\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u30001234567890\u0009\u000C\u0020\u00A0\u000B\u000A\u000D\u2028\u2029\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000"),
+ 1234567890
+);
-// CHECK#2
-if (Number("\u0009\u000C\u0020\u00A0\u000A\u000D\u2028\u2029\u000B\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u30001234567890\u0009\u000C\u0020\u00A0\u000B\u000A\u000D\u2028\u2029\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000") !== Number("1234567890")) {
- throw new Test262Error('#2: Number("\\u0009\\u000C\\u0020\\u00A0\\u000A\\u000D\\u2028\\u2029\\u000B\\u1680\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u30001234567890\\u0009\\u000C\\u0020\\u00A0\\u000B\\u000A\\u000D\\u2028\\u2029\\u1680\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000") === Number("1234567890")');
-}
+assert.sameValue(
+ +("\u0009\u000C\u0020\u00A0\u000B\u000A\u000D\u2028\u2029\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000Infinity\u0009\u000C\u0020\u00A0\u000B\u000A\u000D\u2028\u2029\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000"),
+ Infinity
+);
-// CHECK#3
-if (!(+("\u0009\u000C\u0020\u00A0\u000B\u000A\u000D\u2028\u2029\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000Infinity\u0009\u000C\u0020\u00A0\u000B\u000A\u000D\u2028\u2029\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000") == Number("Infinity"))) {
- throw new Test262Error('#3: +("\\u0009\\u000C\\u0020\\u00A0\\u000B\\u000A\\u000D\\u2028\\u2029\\u1680\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000Infinity\\u0009\\u000C\\u0020\\u00A0\\u000B\\u000A\\u000D\\u2028\\u2029\\u1680\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000") == Number("Infinity")');
-}
-
-// CHECK#4
-if (!(Number("\u0009\u000C\u0020\u00A0\u000B\u000A\u000D\u2028\u2029\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000-Infinity\u0009\u000C\u0020\u00A0\u000B\u000A\u000D\u2028\u2029\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000") == Number(-"Infinity"))) {
- throw new Test262Error('#4: Number("\\u0009\\u000C\\u0020\\u00A0\\u000B\\u000A\\u000D\\u2028\\u2029\\u1680\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000-Infinity\\u0009\\u000C\\u0020\\u00A0\\u000B\\u000A\\u000D\\u2028\\u2029\\u1680\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000") == Number("-Infinity")');
-}
+assert.sameValue(
+ Number("\u0009\u000C\u0020\u00A0\u000B\u000A\u000D\u2028\u2029\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000-Infinity\u0009\u000C\u0020\u00A0\u000B\u000A\u000D\u2028\u2029\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000"),
+ -Infinity
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Number/S9.3.1_A3_T2.js b/js/src/tests/test262/built-ins/Number/S9.3.1_A3_T2.js
index 77e1eaac74dc..96eb32fd0d2d 100644
--- a/js/src/tests/test262/built-ins/Number/S9.3.1_A3_T2.js
+++ b/js/src/tests/test262/built-ins/Number/S9.3.1_A3_T2.js
@@ -14,24 +14,24 @@ function dynaString(s1, s2) {
return String(s1) + String(s2);
}
-// CHECK#1
-if (Number(dynaString("\u0009\u000C\u0020\u00A0\u000B", "\u000A\u000D\u2028\u2029\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000")) !== Number("")) {
- throw new Test262Error('#1: Number("\\u0009\\u000C\\u0020\\u00A0\\u000B"+"\\u000A\\u000D\\u2028\\u2029\\u1680\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000") === Number("")');
-}
+assert.sameValue(
+ Number(dynaString("\u0009\u000C\u0020\u00A0\u000B", "\u000A\u000D\u2028\u2029\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000")),
+ 0
+);
-// CHECK#2
-if (+(dynaString("\u0009\u000C\u0020\u00A0\u000A\u000D\u2028\u2029\u000B12345", "67890\u0009\u000C\u0020\u00A0\u000B\u000A\u000D\u2028\u2029\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000")) !== Number("1234567890")) {
- throw new Test262Error('#2: +("\\u0009\\u000C\\u0020\\u00A0\\u000A\\u000D\\u2028\\u2029\\u000B12345"+"67890\\u0009\\u000C\\u0020\\u00A0\\u000B\\u000A\\u000D\\u2028\\u2029\\u1680\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000") === Number("1234567890")');
-}
+assert.sameValue(
+ +(dynaString("\u0009\u000C\u0020\u00A0\u000A\u000D\u2028\u2029\u000B12345", "67890\u0009\u000C\u0020\u00A0\u000B\u000A\u000D\u2028\u2029\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000")),
+ 1234567890
+);
-// CHECK#3
-if (!(Number(dynaString("\u0009\u000C\u0020\u00A0\u000B\u000A\u000D\u2028\u2029Infi", "nity\u0009\u000C\u0020\u00A0\u000B\u000A\u000D\u2028\u2029\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000")) == Number("Infinity"))) {
- throw new Test262Error('#3: Number("\\u0009\\u000C\\u0020\\u00A0\\u000B\\u000A\\u000D\\u2028\\u2029Infi"+"nity\\u0009\\u000C\\u0020\\u00A0\\u000B\\u000A\\u000D\\u2028\\u2029\\u1680\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000") == Number("Infinity")');
-}
+assert.sameValue(
+ Number(dynaString("\u0009\u000C\u0020\u00A0\u000B\u000A\u000D\u2028\u2029Infi", "nity\u0009\u000C\u0020\u00A0\u000B\u000A\u000D\u2028\u2029\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000")),
+ Infinity
+);
-// CHECK#4
-if (!(Number(dynaString("\u0009\u000C\u0020\u00A0\u000B\u000A\u000D\u2028\u2029-Infi", "nity\u0009\u000C\u0020\u00A0\u000B\u000A\u000D\u2028\u2029\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000")) == Number(-"Infinity"))) {
- throw new Test262Error('#4: Number("\\u0009\\u000C\\u0020\\u00A0\\u000B\\u000A\\u000D\\u2028\\u2029-Infi"+"nity\\u0009\\u000C\\u0020\\u00A0\\u000B\\u000A\\u000D\\u2028\\u2029\\u1680\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000") == Number("-Infinity")');
-}
+assert.sameValue(
+ Number(dynaString("\u0009\u000C\u0020\u00A0\u000B\u000A\u000D\u2028\u2029-Infi", "nity\u0009\u000C\u0020\u00A0\u000B\u000A\u000D\u2028\u2029\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000")),
+ -Infinity
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Number/S9.3.1_A4_T1.js b/js/src/tests/test262/built-ins/Number/S9.3.1_A4_T1.js
index 68dbd77147fc..193062e2cd25 100644
--- a/js/src/tests/test262/built-ins/Number/S9.3.1_A4_T1.js
+++ b/js/src/tests/test262/built-ins/Number/S9.3.1_A4_T1.js
@@ -8,45 +8,36 @@ info: |
es5id: 9.3.1_A4_T1
description: Compare Number('+any_number') with Number('any_number')
---*/
+assert.sameValue(Number("+0"), Number("0"), 'Number("+0") must return the same value returned by Number("0")');
-// CHECK#1
-if (Number("+0") !== Number("0")) {
- throw new Test262Error('#1.1: Number("+0") === Number("0")');
-} else {
- // CHECK#2
- if (1 / Number("+0") !== 1 / Number("0")) {
- throw new Test262Error('#2.2: 1/Number("+0") === 1/Number("0")');
- }
-}
+assert.sameValue(
+ Number("+Infinity"),
+ Infinity
+);
-// CHECK#3
-if (Number("+Infinity") !== Number("Infinity")) {
- throw new Test262Error('#3: Number("+Infinity") === Number("Infinity")');
-}
+assert.sameValue(
+ Number("+1234.5678"),
+ 1234.5678
+);
-// CHECK#4
-if (Number("+1234.5678") !== Number("1234.5678")) {
- throw new Test262Error('#4: Number("+1234.5678") === Number("1234.5678")');
-}
+assert.sameValue(
+ Number("+1234.5678e90"),
+ 1234.5678e90
+);
-// CHECK#5
-if (Number("+1234.5678e90") !== Number("1234.5678e90")) {
- throw new Test262Error('#5: Number("+1234.5678e90") === Number("1234.5678e90")');
-}
+assert.sameValue(
+ Number("+1234.5678E90"),
+ 1234.5678E90
+);
-// CHECK#6
-if (Number("+1234.5678E90") !== Number("1234.5678E90")) {
- throw new Test262Error('#6: Number("+1234.5678E90") === Number("1234.5678E90")');
-}
+assert.sameValue(
+ Number("+1234.5678e-90"),
+ 1234.5678e-90
+);
-// CHECK#7
-if (Number("+1234.5678e-90") !== Number("1234.5678e-90")) {
- throw new Test262Error('#7: Number("+1234.5678e-90") === Number("1234.5678e-90")');
-}
-
-// CHECK#8
-if (Number("+1234.5678E-90") !== Number("1234.5678E-90")) {
- throw new Test262Error('#8: Number("+1234.5678E-90") === Number("1234.5678E-90")');
-}
+assert.sameValue(
+ Number("+1234.5678E-90"),
+ 1234.5678E-90
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Number/S9.3.1_A4_T2.js b/js/src/tests/test262/built-ins/Number/S9.3.1_A4_T2.js
index b93a95428495..35e753fe19c3 100644
--- a/js/src/tests/test262/built-ins/Number/S9.3.1_A4_T2.js
+++ b/js/src/tests/test262/built-ins/Number/S9.3.1_A4_T2.js
@@ -13,44 +13,39 @@ function dynaString(s1, s2) {
return String(s1) + String(s2);
}
-// CHECK#1
-if (Number(dynaString("+", "0")) !== Number("0")) {
- throw new Test262Error('#1: Number("+"+"0") === Number("0")');
-} else {
- // CHECK#2
- if (1 / Number(dynaString("+", "0")) !== 1 / Number("0")) {
- throw new Test262Error('#2: 1/Number("+"+"0") === 1/Number("0")');
- }
-}
+assert.sameValue(
+ Number(dynaString("+", "0")),
+ 0
+);
-// CHECK#3
-if (Number(dynaString("+Infi", "nity")) !== Number("Infinity")) {
- throw new Test262Error('#3: Number("+Infin"+"ity") === Number("Infinity")');
-}
+assert.sameValue(
+ Number(dynaString("+Infi", "nity")),
+ Infinity
+);
-// CHECK#4
-if (Number(dynaString("+1234.", "5678")) !== Number("1234.5678")) {
- throw new Test262Error('#4: Number("+1234."+"5678") === Number("1234.5678")');
-}
+assert.sameValue(
+ Number(dynaString("+1234.", "5678")),
+ 1234.5678
+);
-// CHECK#5
-if (Number(dynaString("+1234.", "5678e90")) !== Number("1234.5678e90")) {
- throw new Test262Error('#5: Number("+1234."+"5678e90") === Number("1234.5678e90")');
-}
+assert.sameValue(
+ Number(dynaString("+1234.", "5678e90")),
+ 1234.5678e90
+);
-// CHECK#6
-if (Number(dynaString("+1234.", "5678E90")) !== Number("1234.5678E90")) {
- throw new Test262Error('#6: Number("+1234."+"5678E90") === Number("1234.5678E90")');
-}
+assert.sameValue(
+ Number(dynaString("+1234.", "5678E90")),
+ 1234.5678E90
+);
-// CHECK#7
-if (Number(dynaString("+1234.", "5678e-90")) !== Number("1234.5678e-90")) {
- throw new Test262Error('#7: Number("+1234."+"5678e-90") === Number("1234.5678e-90")');
-}
+assert.sameValue(
+ Number(dynaString("+1234.", "5678e-90")),
+ 1234.5678e-90
+);
-// CHECK#8
-if (Number(dynaString("+1234.", "5678E-90")) !== Number("1234.5678E-90")) {
- throw new Test262Error('#8: Number("+1234."+"5678E-90") === Number("1234.5678E-90")');
-}
+assert.sameValue(
+ Number(dynaString("+1234.", "5678E-90")),
+ 1234.5678E-90
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Number/S9.3.1_A5_T1.js b/js/src/tests/test262/built-ins/Number/S9.3.1_A5_T1.js
index 0e1dc370d726..ffdeced45961 100644
--- a/js/src/tests/test262/built-ins/Number/S9.3.1_A5_T1.js
+++ b/js/src/tests/test262/built-ins/Number/S9.3.1_A5_T1.js
@@ -8,55 +8,39 @@ info: |
es5id: 9.3.1_A5_T1
description: Compare Number('-any_number') with -Number('any_number')
---*/
+assert.sameValue(Number("-0"), -0);
+assert.sameValue(Number("-Infinity"), -Infinity);
-// CHECK#1
-if (Number("-0") !== -Number("0")) {
- throw new Test262Error('#1: Number("-0") === -Number("0")');
-} else {
- // CHECK#2
- if (1 / Number("-0") !== -1 / Number("0")) {
- throw new Test262Error('#2: 1/Number("-0") === -1/Number("0")');
- }
-}
+assert.sameValue(
+ Number("-1234567890"),
+ -1234567890
+);
-// CHECK#3
-if (Number("-Infinity") !== -Number("Infinity")) {
- throw new Test262Error('#3: Number("-Infinity") === -Number("Infinity")');
-}
+assert.sameValue(Number("-1234.5678"), -1234.5678);
-// CHECK#4
-if (Number("-1234567890") !== -Number("1234567890")) {
- throw new Test262Error('#4: Number("-1234567890") === -Number("1234567890")');
-}
+assert.sameValue(
+ Number("-1234.5678e90"),
+ -1234.5678e90
+);
-// CHECK#5
-if (Number("-1234.5678") !== -Number("1234.5678")) {
- throw new Test262Error('#5: Number("-1234.5678") === -Number("1234.5678")');
-}
+assert.sameValue(
+ Number("-1234.5678E90"),
+ -1234.5678E90
+);
-// CHECK#6
-if (Number("-1234.5678e90") !== -Number("1234.5678e90")) {
- throw new Test262Error('#6: Number("-1234.5678e90") === -Number("1234.5678e90")');
-}
+assert.sameValue(
+ Number("-1234.5678e-90"),
+ -1234.5678e-90
+);
-// CHECK#7
-if (Number("-1234.5678E90") !== -Number("1234.5678E90")) {
- throw new Test262Error('#6: Number("-1234.5678E90") === -Number("1234.5678E90")');
-}
+assert.sameValue(
+ Number("-1234.5678E-90"),
+ -1234.5678E-90
+);
-// CHECK#8
-if (Number("-1234.5678e-90") !== -Number("1234.5678e-90")) {
- throw new Test262Error('#6: Number("-1234.5678e-90") === -Number("1234.5678e-90")');
-}
-
-// CHECK#9
-if (Number("-1234.5678E-90") !== -Number("1234.5678E-90")) {
- throw new Test262Error('#6: Number("-1234.5678E-90") === -Number("1234.5678E-90")');
-}
-
-// CHECK#10
-if (Number("-Infinity") !== Number.NEGATIVE_INFINITY) {
- throw new Test262Error('#3: Number("-Infinity") === Number.NEGATIVE_INFINITY');
-}
+assert.sameValue(
+ Number("-Infinity"),
+ Number.NEGATIVE_INFINITY
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Number/S9.3.1_A5_T2.js b/js/src/tests/test262/built-ins/Number/S9.3.1_A5_T2.js
index 93ac9bf285c6..4aa454f6c133 100644
--- a/js/src/tests/test262/built-ins/Number/S9.3.1_A5_T2.js
+++ b/js/src/tests/test262/built-ins/Number/S9.3.1_A5_T2.js
@@ -8,140 +8,32 @@ info: |
es5id: 9.3.1_A5_T2
description: Compare Number('-[or +]any_number') with -[or without -]any_number)
---*/
-
-// CHECK#1
-if (Number("1") !== 1) {
- throw new Test262Error('#1: Number("1") === 1');
-}
-
-// CHECK#2
-if (Number("+1") !== 1) {
- throw new Test262Error('#3: Number("+1") === 1');
-}
-
-// CHECK#3
-if (Number("-1") !== -1) {
- throw new Test262Error('#3: Number("-1") === -1');
-}
-
-// CHECK#4
-if (Number("2") !== 2) {
- throw new Test262Error('#4: Number("2") === 2');
-}
-
-// CHECK#5
-if (Number("+2") !== 2) {
- throw new Test262Error('#5: Number("+2") === 2');
-}
-
-// CHECK#6
-if (Number("-2") !== -2) {
- throw new Test262Error('#6: Number("-2") === -2');
-}
-
-// CHECK#7
-if (Number("3") !== 3) {
- throw new Test262Error('#7: Number("3") === 3');
-}
-
-// CHECK#8
-if (Number("+3") !== 3) {
- throw new Test262Error('#8: Number("+3") === 3');
-}
-
-// CHECK#9
-if (Number("-3") !== -3) {
- throw new Test262Error('#9: Number("-3") === -3');
-}
-
-// CHECK#10
-if (Number("4") !== 4) {
- throw new Test262Error('#10: Number("4") === 4');
-}
-
-// CHECK#11
-if (Number("+4") !== 4) {
- throw new Test262Error('#11: Number("+4") === 4');
-}
-
-// CHECK#12
-if (Number("-4") !== -4) {
- throw new Test262Error('#12: Number("-4") === -4');
-}
-
-// CHECK#13
-if (Number("5") !== 5) {
- throw new Test262Error('#13: Number("5") === 5');
-}
-
-// CHECK#14
-if (Number("+5") !== 5) {
- throw new Test262Error('#14: Number("+5") === 5');
-}
-
-// CHECK#15
-if (Number("-5") !== -5) {
- throw new Test262Error('#15: Number("-5") === -5');
-}
-
-// CHECK#16
-if (Number("6") !== 6) {
- throw new Test262Error('#16: Number("6") === 6');
-}
-
-// CHECK#17
-if (Number("+6") !== 6) {
- throw new Test262Error('#17: Number("+6") === 6');
-}
-
-// CHECK#18
-if (Number("-6") !== -6) {
- throw new Test262Error('#18: Number("-6") === -6');
-}
-
-// CHECK#19
-if (Number("7") !== 7) {
- throw new Test262Error('#19: Number("7") === 7');
-}
-
-// CHECK#20
-if (Number("+7") !== 7) {
- throw new Test262Error('#20: Number("+7") === 7');
-}
-
-// CHECK#21
-if (Number("-7") !== -7) {
- throw new Test262Error('#21: Number("-7") === -7');
-}
-
-// CHECK#22
-if (Number("8") !== 8) {
- throw new Test262Error('#22: Number("8") === 8');
-}
-
-// CHECK#23
-if (Number("+8") !== 8) {
- throw new Test262Error('#23: Number("+8") === 8');
-}
-
-// CHECK#24
-if (Number("-8") !== -8) {
- throw new Test262Error('#24: Number("-8") === -8');
-}
-
-// CHECK#25
-if (Number("9") !== 9) {
- throw new Test262Error('#25: Number("9") === 9');
-}
-
-// CHECK#26
-if (Number("+9") !== 9) {
- throw new Test262Error('#26: Number("+9") === 9');
-}
-
-// CHECK#27
-if (Number("-9") !== -9) {
- throw new Test262Error('#27: Number("-9") === -9');
-}
+assert.sameValue(Number("1"), 1, 'Number("1") must return 1');
+assert.sameValue(Number("+1"), 1, 'Number("+1") must return 1');
+assert.sameValue(Number("-1"), -1, 'Number("-1") must return -1');
+assert.sameValue(Number("2"), 2, 'Number("2") must return 2');
+assert.sameValue(Number("+2"), 2, 'Number("+2") must return 2');
+assert.sameValue(Number("-2"), -2, 'Number("-2") must return -2');
+assert.sameValue(Number("3"), 3, 'Number("3") must return 3');
+assert.sameValue(Number("+3"), 3, 'Number("+3") must return 3');
+assert.sameValue(Number("-3"), -3, 'Number("-3") must return -3');
+assert.sameValue(Number("4"), 4, 'Number("4") must return 4');
+assert.sameValue(Number("+4"), 4, 'Number("+4") must return 4');
+assert.sameValue(Number("-4"), -4, 'Number("-4") must return -4');
+assert.sameValue(Number("5"), 5, 'Number("5") must return 5');
+assert.sameValue(Number("+5"), 5, 'Number("+5") must return 5');
+assert.sameValue(Number("-5"), -5, 'Number("-5") must return -5');
+assert.sameValue(Number("6"), 6, 'Number("6") must return 6');
+assert.sameValue(Number("+6"), 6, 'Number("+6") must return 6');
+assert.sameValue(Number("-6"), -6, 'Number("-6") must return -6');
+assert.sameValue(Number("7"), 7, 'Number("7") must return 7');
+assert.sameValue(Number("+7"), 7, 'Number("+7") must return 7');
+assert.sameValue(Number("-7"), -7, 'Number("-7") must return -7');
+assert.sameValue(Number("8"), 8, 'Number("8") must return 8');
+assert.sameValue(Number("+8"), 8, 'Number("+8") must return 8');
+assert.sameValue(Number("-8"), -8, 'Number("-8") must return -8');
+assert.sameValue(Number("9"), 9, 'Number("9") must return 9');
+assert.sameValue(Number("+9"), 9, 'Number("+9") must return 9');
+assert.sameValue(Number("-9"), -9, 'Number("-9") must return -9');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Number/S9.3.1_A5_T3.js b/js/src/tests/test262/built-ins/Number/S9.3.1_A5_T3.js
index 43c9cb2b8302..a1f4896faf62 100644
--- a/js/src/tests/test262/built-ins/Number/S9.3.1_A5_T3.js
+++ b/js/src/tests/test262/built-ins/Number/S9.3.1_A5_T3.js
@@ -13,54 +13,46 @@ function dynaString(s1, s2) {
return String(s1) + String(s2);
}
-// CHECK#1
-if (Number(dynaString("-", "0")) !== -Number("0")) {
- throw new Test262Error('#1: Number("-"+"0") === -Number("0")');
-} else {
- // CHECK#2
- if (1 / Number(dynaString("-", "0")) !== -1 / Number("0")) {
- throw new Test262Error('#2: 1/Number("-"+"0") === -1/Number("0")');
- }
-}
+assert.sameValue(Number(dynaString("-", "0")), -0, 'Number(dynaString("-", "0")) must return -Number("0")');
-// CHECK#3
-if (Number(dynaString("-Infi", "nity")) !== -Number("Infinity")) {
- throw new Test262Error('#3: Number("-Infi"+"nity") === -Number("Infinity")');
-}
+assert.sameValue(
+ Number(dynaString("-Infi", "nity")),
+ -Infinity
+);
-// CHECK#4
-if (Number(dynaString("-12345", "67890")) !== -Number("1234567890")) {
- throw new Test262Error('#4: Number("-12345"+"67890") === -Number("1234567890")');
-}
+assert.sameValue(
+ Number(dynaString("-12345", "67890")),
+ -1234567890
+);
-// CHECK#5
-if (Number(dynaString("-1234.", "5678")) !== -Number("1234.5678")) {
- throw new Test262Error('#5: Number("-1234."+"5678") === -Number("1234.5678")');
-}
+assert.sameValue(
+ Number(dynaString("-1234.", "5678")),
+ -1234.5678
+);
-// CHECK#6
-if (Number(dynaString("-1234.", "5678e90")) !== -Number("1234.5678e90")) {
- throw new Test262Error('#6: Number("-1234."+"5678e90") === -Number("1234.5678e90")');
-}
+assert.sameValue(
+ Number(dynaString("-1234.", "5678e90")),
+ -1234.5678e90
+);
-// CHECK#7
-if (Number(dynaString("-1234.", "5678E90")) !== -Number("1234.5678E90")) {
- throw new Test262Error('#6: Number("-1234."+"5678E90") === -Number("1234.5678E90")');
-}
+assert.sameValue(
+ Number(dynaString("-1234.", "5678E90")),
+ -1234.5678E90
+);
-// CHECK#8
-if (Number(dynaString("-1234.", "5678e-90")) !== -Number("1234.5678e-90")) {
- throw new Test262Error('#6: Number("-1234."+"5678e-90") === -Number("1234.5678e-90")');
-}
+assert.sameValue(
+ Number(dynaString("-1234.", "5678e-90")),
+ -1234.5678e-90
+);
-// CHECK#9
-if (Number(dynaString("-1234.", "5678E-90")) !== -Number("1234.5678E-90")) {
- throw new Test262Error('#6: Number("-1234."+"5678E-90") === -Number("1234.5678E-90")');
-}
+assert.sameValue(
+ Number(dynaString("-1234.", "5678E-90")),
+ -1234.5678E-90
+);
-// CHECK#10
-if (Number(dynaString("-Infi", "nity")) !== Number.NEGATIVE_INFINITY) {
- throw new Test262Error('#3: Number("-Infi"+"nity") === Number.NEGATIVE_INFINITY');
-}
+assert.sameValue(
+ Number(dynaString("-Infi", "nity")),
+ Number.NEGATIVE_INFINITY
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Number/S9.3.1_A6_T1.js b/js/src/tests/test262/built-ins/Number/S9.3.1_A6_T1.js
index 0384d92782f7..d82b6b027f73 100644
--- a/js/src/tests/test262/built-ins/Number/S9.3.1_A6_T1.js
+++ b/js/src/tests/test262/built-ins/Number/S9.3.1_A6_T1.js
@@ -10,25 +10,14 @@ description: >
Compare Number('Infinity') with Number.POSITIVE_INFINITY,
10e10000, 10E10000 and Number("10e10000")
---*/
+assert.sameValue(Number("Infinity"), Number.POSITIVE_INFINITY, 'Number("Infinity") returns Number.POSITIVE_INFINITY');
+assert.sameValue(Number("Infinity"), 10e10000, 'Number("Infinity") must return 10e10000');
+assert.sameValue(Number("Infinity"), 10E10000, 'Number("Infinity") must return 10E10000');
-// CHECK#1
-if (Number("Infinity") !== Number.POSITIVE_INFINITY) {
- throw new Test262Error('#1: Number("Infinity") === Number.POSITIVE_INFINITY');
-}
-
-// CHECK#2
-if (Number("Infinity") !== 10e10000) {
- throw new Test262Error('#2: Number("Infinity") === 10e10000');
-}
-
-// CHECK#3
-if (Number("Infinity") !== 10E10000) {
- throw new Test262Error('#3: Number("Infinity") === 10E10000');
-}
-
-// CHECK#4
-if (Number("Infinity") !== Number("10e10000")) {
- throw new Test262Error('#4: Number("Infinity") === Number("10e10000")');
-}
+assert.sameValue(
+ Number("Infinity"),
+ 10e10000,
+ 'Number("Infinity") must return the same value returned by Number("10e10000")'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Number/S9.3.1_A6_T2.js b/js/src/tests/test262/built-ins/Number/S9.3.1_A6_T2.js
index 0dbee6c00ece..68c3bf1dd09b 100644
--- a/js/src/tests/test262/built-ins/Number/S9.3.1_A6_T2.js
+++ b/js/src/tests/test262/built-ins/Number/S9.3.1_A6_T2.js
@@ -16,24 +16,28 @@ function dynaString(s1, s2) {
}
-// CHECK#1
-if (Number(dynaString("Infi", "nity")) !== Number.POSITIVE_INFINITY) {
- throw new Test262Error('#1: Number("Infi"+"nity") === Number.POSITIVE_INFINITY');
-}
+assert.sameValue(
+ Number(dynaString("Infi", "nity")),
+ Number.POSITIVE_INFINITY,
+ 'Number(dynaString("Infi", "nity")) returns Number.POSITIVE_INFINITY'
+);
-// CHECK#2
-if (Number(dynaString("Infi", "nity")) !== 10e10000) {
- throw new Test262Error('#2: Number("Infi"+"nity") === 10e10000');
-}
+assert.sameValue(
+ Number(dynaString("Infi", "nity")),
+ 10e10000,
+ 'Number(dynaString("Infi", "nity")) must return 10e10000'
+);
-// CHECK#3
-if (Number(dynaString("Infi", "nity")) !== 10E10000) {
- throw new Test262Error('#3: Number("Infi"+"nity") === 10E10000');
-}
+assert.sameValue(
+ Number(dynaString("Infi", "nity")),
+ 10E10000,
+ 'Number(dynaString("Infi", "nity")) must return 10E10000'
+);
-// CHECK#4
-if (Number(dynaString("Infi", "nity")) !== Number("10e10000")) {
- throw new Test262Error('#4: Number("Infi"+"nity") === Number("10e10000")');
-}
+assert.sameValue(
+ Number(dynaString("Infi", "nity")),
+ Number("10e10000"),
+ 'Number(dynaString("Infi", "nity")) must return the same value returned by Number("10e10000")'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Number/S9.3.1_A7.js b/js/src/tests/test262/built-ins/Number/S9.3.1_A7.js
index 507a21f2ee8f..84428ab914fc 100644
--- a/js/src/tests/test262/built-ins/Number/S9.3.1_A7.js
+++ b/js/src/tests/test262/built-ins/Number/S9.3.1_A7.js
@@ -9,10 +9,10 @@ info: |
es5id: 9.3.1_A7
description: Compare Number('1234.5678') with Number('1234')+(+('5678')*1e-4)
---*/
-
-// CHECK#1
-if (Number("1234.5678") !== Number("1234") + (+("5678") * 1e-4)) {
- throw new Test262Error('#1: Number("1234.5678") === Number("1234")+(+("5678")*1e-4)');
-}
+assert.sameValue(
+ Number("1234.5678"),
+ 1234.5678,
+ 'Number("1234.5678") must return Number("1234") + (+("5678") * 1e-4)'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Number/S9.3.1_A8.js b/js/src/tests/test262/built-ins/Number/S9.3.1_A8.js
index e6945d73f317..f4b6b2dcae33 100644
--- a/js/src/tests/test262/built-ins/Number/S9.3.1_A8.js
+++ b/js/src/tests/test262/built-ins/Number/S9.3.1_A8.js
@@ -10,15 +10,7 @@ description: >
Compare Number('1234e5') and Number('1234.e5') with
Number('1234')*1e5
---*/
-
-// CHECK#1
-if (Number("1234e5") !== Number("1234") * 1e5) {
- throw new Test262Error('#1: Number("1234e5") === Number("1234")*1e5');
-}
-
-// CHECK#2
-if (Number("1234.e5") !== +("1234") * 1e5) {
- throw new Test262Error('#2: Number("1234.e5") === +("1234")*1e5');
-}
+assert.sameValue(Number("1234e5"), 123400000, 'Number("1234e5") must return 123400000');
+assert.sameValue(Number("1234.e5"), 123400000, 'Number("1234.e5") must return 123400000');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Number/S9.3.1_A9.js b/js/src/tests/test262/built-ins/Number/S9.3.1_A9.js
index de05e69eb218..da31d060334e 100644
--- a/js/src/tests/test262/built-ins/Number/S9.3.1_A9.js
+++ b/js/src/tests/test262/built-ins/Number/S9.3.1_A9.js
@@ -13,15 +13,16 @@ description: >
(Number('1234')+(Number('5678')*1e-4))*1e9, and +('1234.5678e-9')
with (Number('1234')+(Number('5678')*1e-4))*1e-9
---*/
+assert.sameValue(
+ (Number("1234") + (Number("5678") * 1e-4)) * 1e9,
+ 1234.5678e9,
+ 'Number("1234.5678e9") must return (Number("1234") + (Number("5678") * 1e-4)) * 1e9'
+);
-// CHECK#1
-if (Number("1234.5678e9") !== (Number("1234") + (Number("5678") * 1e-4)) * 1e9) {
- throw new Test262Error('#1: Number("1234.5678e9") === (Number("1234")+(Number("5678")*1e-4))*1e9');
-}
-
-// CHECK#2
-if (+("1234.5678e-9") !== (Number("1234") + (Number("5678") * 1e-4)) * 1e-9) {
- throw new Test262Error('#2: +("1234.5678e-9") === (Number("1234")+(Number("5678")*1e-4))*1e-9');
-}
+assert.sameValue(
+ (Number("1234") + (Number("5678") * 1e-4)) * 1e-9,
+ 1234.5678e-9,
+ 'The value of `+("1234.5678e-9")` is expected to be (Number("1234") + (Number("5678") * 1e-4)) * 1e-9'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Number/S9.3_A2_T1.js b/js/src/tests/test262/built-ins/Number/S9.3_A2_T1.js
index 245407461791..c8617f836d57 100644
--- a/js/src/tests/test262/built-ins/Number/S9.3_A2_T1.js
+++ b/js/src/tests/test262/built-ins/Number/S9.3_A2_T1.js
@@ -6,14 +6,6 @@ info: Result of number conversion from null value is +0
es5id: 9.3_A2_T1
description: null convert to Number by explicit transformation
---*/
-
-// CHECK #1
-if (Number(null) !== 0) {
- throw new Test262Error('#1.1: Number(null) === 0. Actual: ' + (Number(null)));
-} else {
- if (1 / Number(null) !== Number.POSITIVE_INFINITY) {
- throw new Test262Error('#1.2: Number(null) === +0. Actual: -0');
- }
-}
+assert.sameValue(Number(null), 0, 'Number(null) must return 0');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Number/S9.3_A3_T1.js b/js/src/tests/test262/built-ins/Number/S9.3_A3_T1.js
index b68dff82331c..0debe6b2d738 100644
--- a/js/src/tests/test262/built-ins/Number/S9.3_A3_T1.js
+++ b/js/src/tests/test262/built-ins/Number/S9.3_A3_T1.js
@@ -8,19 +8,7 @@ info: |
es5id: 9.3_A3_T1
description: False and true convert to Number by explicit transformation
---*/
-
-// CHECK#1
-if (Number(false) !== +0) {
- throw new Test262Error('#1.1: Number(false) === 0. Actual: ' + (Number(false)));
-} else {
- if (1 / Number(false) !== Number.POSITIVE_INFINITY) {
- throw new Test262Error('#1.2: Number(false) === +0. Actual: -0');
- }
-}
-
-// CHECK#2
-if (Number(true) !== 1) {
- throw new Test262Error('#2: Number(true) === 1. Actual: ' + (Number(true)));
-}
+assert.sameValue(Number(false), +0, 'Number(false) must return +0');
+assert.sameValue(Number(true), 1, 'Number(true) must return 1');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Number/S9.3_A4.1_T1.js b/js/src/tests/test262/built-ins/Number/S9.3_A4.1_T1.js
index 9fe9b4697809..38479ba1828b 100644
--- a/js/src/tests/test262/built-ins/Number/S9.3_A4.1_T1.js
+++ b/js/src/tests/test262/built-ins/Number/S9.3_A4.1_T1.js
@@ -10,25 +10,9 @@ description: >
Some numbers including Number.MAX_VALUE and Number.MIN_VALUE are
converted to Number with explicit transformation
---*/
-
-// CHECK#1
-if (Number(13) !== 13) {
- throw new Test262Error('#1: Number(13) === 13. Actual: ' + (Number(13)));
-}
-
-// CHECK#2
-if (Number(-13) !== -13) {
- throw new Test262Error('#2: Number(-13) === -13. Actual: ' + (Number(-13)));
-}
-
-// CHECK#3
-if (Number(1.3) !== 1.3) {
- throw new Test262Error('#3: Number(1.3) === 1.3. Actual: ' + (Number(1.3)));
-}
-
-// CHECK#4
-if (Number(-1.3) !== -1.3) {
- throw new Test262Error('#4: Number(-1.3) === -1.3. Actual: ' + (Number(-1.3)));
-}
+assert.sameValue(Number(13), 13, 'Number(13) must return 13');
+assert.sameValue(Number(-13), -13, 'Number(-13) must return -13');
+assert.sameValue(Number(1.3), 1.3, 'Number(1.3) must return 1.3');
+assert.sameValue(Number(-1.3), -1.3, 'Number(-1.3) must return -1.3');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Number/S9.3_A4.2_T1.js b/js/src/tests/test262/built-ins/Number/S9.3_A4.2_T1.js
index e44404c857fa..fcd7b5520341 100644
--- a/js/src/tests/test262/built-ins/Number/S9.3_A4.2_T1.js
+++ b/js/src/tests/test262/built-ins/Number/S9.3_A4.2_T1.js
@@ -13,44 +13,24 @@ description: >
---*/
// CHECK#1
-assert.sameValue(Number(NaN), NaN, "NaN");
+assert.sameValue(Number(NaN), NaN, 'Number(true) returns NaN');
-// CHECK#2
-if (Number(+0) !== +0) {
- throw new Test262Error('#2.1: Number(+0) === 0. Actual: ' + (Number(+0)));
-} else {
- if (1 / Number(+0) !== Number.POSITIVE_INFINITY) {
- throw new Test262Error('#2.2: Number(+0) === +0. Actual: -0');
- }
-}
+assert.sameValue(Number(+0), +0, 'Number(+0) must return +0');
+assert.sameValue(Number(-0), -0, 'Number(-0) must return -0');
-// CHECK#3
-if (Number(-0) !== -0) {
- throw new Test262Error('#3.1: Number(-0) === 0. Actual: ' + (Number(-0)));
-} else {
- if (1 / Number(-0) !== Number.NEGATIVE_INFINITY) {
- throw new Test262Error('#3.2: Number(-0) === -0. Actual: +0');
- }
-}
+assert.sameValue(
+ Number(Number.POSITIVE_INFINITY),
+ Number.POSITIVE_INFINITY,
+ 'Number(Number.POSITIVE_INFINITY) returns Number.POSITIVE_INFINITY'
+);
-// CHECK#4
-if (Number(Number.POSITIVE_INFINITY) !== Number.POSITIVE_INFINITY) {
- throw new Test262Error('#4: Number(+Infinity) === +Infinity. Actual: ' + (Number(+Infinity)));
-}
+assert.sameValue(
+ Number(Number.NEGATIVE_INFINITY),
+ Number.NEGATIVE_INFINITY,
+ 'Number(Number.NEGATIVE_INFINITY) returns Number.NEGATIVE_INFINITY'
+);
-// CHECK#5
-if (Number(Number.NEGATIVE_INFINITY) !== Number.NEGATIVE_INFINITY) {
- throw new Test262Error('#5: Number(-Infinity) === -Infinity. Actual: ' + (Number(-Infinity)));
-}
-
-// CHECK#6
-if (Number(Number.MAX_VALUE) !== Number.MAX_VALUE) {
- throw new Test262Error('#6: Number(Number.MAX_VALUE) === Number.MAX_VALUE. Actual: ' + (Number(Number.MAX_VALUE)));
-}
-
-// CHECK#7
-if (Number(Number.MIN_VALUE) !== Number.MIN_VALUE) {
- throw new Test262Error('#7: Number(Number.MIN_VALUE) === Number.MIN_VALUE. Actual: ' + (Number(Number.MIN_VALUE)));
-}
+assert.sameValue(Number(Number.MAX_VALUE), Number.MAX_VALUE, 'Number(Number.MAX_VALUE) returns Number.MAX_VALUE');
+assert.sameValue(Number(Number.MIN_VALUE), Number.MIN_VALUE, 'Number(Number.MIN_VALUE) returns Number.MIN_VALUE');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Number/S9.3_A5_T1.js b/js/src/tests/test262/built-ins/Number/S9.3_A5_T1.js
index 8a6dc4b45fcc..c9f8dc311c5a 100644
--- a/js/src/tests/test262/built-ins/Number/S9.3_A5_T1.js
+++ b/js/src/tests/test262/built-ins/Number/S9.3_A5_T1.js
@@ -11,62 +11,24 @@ description: >
Number(null), new Number(void 0) and others convert to Number by
explicit transformation
---*/
-
-// CHECK#1
-if (Number(new Number()) !== 0) {
- throw new Test262Error('#1: Number(new Number()) === 0. Actual: ' + (Number(new Number())));
-}
-
-// CHECK#2
-if (Number(new Number(0)) !== 0) {
- throw new Test262Error('#2: Number(new Number(0)) === 0. Actual: ' + (Number(new Number(0))));
-}
+assert.sameValue(Number(new Number()), 0, 'Number(new Number()) must return 0');
+assert.sameValue(Number(new Number(0)), 0, 'Number(new Number(0)) must return 0');
// CHECK#3
-assert.sameValue(Number(new Number(NaN)), NaN, "Number(new Number(NaN)");
+assert.sameValue(Number(new Number(NaN)), NaN, 'Number(new Number(NaN)) returns NaN');
-// CHECK#4
-if (Number(new Number(null)) !== 0) {
- throw new Test262Error('#4.1: Number(new Number(null)) === 0. Actual: ' + (Number(new Number(null))));
-} else {
- if (1 / Number(new Number(null)) !== Number.POSITIVE_INFINITY) {
- throw new Test262Error('#4.2: Number(new Number(null)) === +0. Actual: -0');
- }
-}
+assert.sameValue(Number(new Number(null)), 0, 'Number(new Number(null)) must return 0');
// CHECK#5
-assert.sameValue(Number(new Number(void 0)), NaN, "Number(new Number(void 0)");
+assert.sameValue(Number(new Number(void 0)), NaN, 'Number(new Number(void 0)) returns NaN');
-// CHECK#6
-if (Number(new Number(true)) !== 1) {
- throw new Test262Error('#6: Number(new Number(true)) === 1. Actual: ' + (Number(new Number(true))));
-}
-
-// CHECK#7
-if (Number(new Number(false)) !== +0) {
- throw new Test262Error('#7.1: Number(new Number(false)) === 0. Actual: ' + (Number(new Number(false))));
-} else {
- if (1 / Number(new Number(false)) !== Number.POSITIVE_INFINITY) {
- throw new Test262Error('#7.2: Number(new Number(false)) === +0. Actual: -0');
- }
-}
-
-// CHECK#8
-if (Number(new Boolean(true)) !== 1) {
- throw new Test262Error('#8: Number(new Boolean(true)) === 1. Actual: ' + (Number(new Boolean(true))));
-}
-
-// CHECK#9
-if (Number(new Boolean(false)) !== +0) {
- throw new Test262Error('#9.1: Number(new Boolean(false)) === 0. Actual: ' + (Number(new Boolean(false))));
-} else {
- if (1 / Number(new Boolean(false)) !== Number.POSITIVE_INFINITY) {
- throw new Test262Error('#9.2: Number(new Boolean(false)) === +0. Actual: -0');
- }
-}
+assert.sameValue(Number(new Number(true)), 1, 'Number(new Number(true)) must return 1');
+assert.sameValue(Number(new Number(false)), +0, 'Number(new Number(false)) must return +0');
+assert.sameValue(Number(new Boolean(true)), 1, 'Number(new Boolean(true)) must return 1');
+assert.sameValue(Number(new Boolean(false)), +0, 'Number(new Boolean(false)) must return +0');
// CHECK#10
-assert.sameValue(Number(new Array(2, 4, 8, 16, 32)), NaN, "Number(new Array(2,4,8,16,32))");
+assert.sameValue(Number(new Array(2, 4, 8, 16, 32)), NaN, 'Number(new Array(2, 4, 8, 16, 32)) returns NaN');
// CHECK#11
var myobj1 = {
@@ -81,7 +43,7 @@ var myobj1 = {
}
};
-assert.sameValue(Number(myobj1), NaN, "Number(myobj1)");
+assert.sameValue(Number(myobj1), NaN, 'Number("{ToNumber: function() {return 12345;}, toString: function() {return "67890";}, valueOf: function() {return "[object MyObj]";}}) returns NaN');
// CHECK#12
var myobj2 = {
@@ -96,9 +58,11 @@ var myobj2 = {
}
};
-if (Number(myobj2) !== 9876543210) {
- throw new Test262Error("#12: Number(myobj2) calls ToPrimitive with hint Number. Exptected: 9876543210. Actual: " + (Number(myobj2)));
-}
+assert.sameValue(
+ Number(myobj2),
+ 9876543210,
+ 'Number("{ToNumber: function() {return 12345;}, toString: function() {return "67890";}, valueOf: function() {return "9876543210";}}) must return 9876543210'
+);
// CHECK#13
@@ -111,7 +75,7 @@ var myobj3 = {
}
};
-assert.sameValue(Number(myobj3), NaN, "Number(myobj3)");
+assert.sameValue(Number(myobj3), NaN, 'Number("{ToNumber: function() {return 12345;}, toString: function() {return "[object MyObj]";}}) returns NaN');
// CHECK#14
var myobj4 = {
@@ -123,9 +87,11 @@ var myobj4 = {
}
};
-if (Number(myobj4) !== 67890) {
- throw new Test262Error("#14: Number(myobj4) calls ToPrimitive with hint Number. Exptected: 67890. Actual: " + (Number(myobj4)));
-}
+assert.sameValue(
+ Number(myobj4),
+ 67890,
+ 'Number("{ToNumber: function() {return 12345;}, toString: function() {return "67890";}}) must return 67890'
+);
// CHECK#15
var myobj5 = {
@@ -134,6 +100,6 @@ var myobj5 = {
}
};
-assert.sameValue(Number(myobj5), NaN, "Number(myobj5)");
+assert.sameValue(Number(myobj5), NaN, 'Number({ToNumber: function() {return 12345;}}) returns NaN');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Number/prototype/S15.7.3.1_A2_T1.js b/js/src/tests/test262/built-ins/Number/prototype/S15.7.3.1_A2_T1.js
index 1b36fc7e6e2e..9ce9c44993c8 100644
--- a/js/src/tests/test262/built-ins/Number/prototype/S15.7.3.1_A2_T1.js
+++ b/js/src/tests/test262/built-ins/Number/prototype/S15.7.3.1_A2_T1.js
@@ -8,16 +8,18 @@ description: >
Checking type of Number.prototype property - test based on
deleting Number.prototype.toString
---*/
-
-//CHECK#1
-if (typeof Number.prototype !== "object") {
- throw new Test262Error('#1: typeof Number.prototype === "object"');
-}
+assert.sameValue(
+ typeof Number.prototype,
+ "object",
+ 'The value of `typeof Number.prototype` is expected to be "object"'
+);
delete Number.prototype.toString;
-if (Number.prototype.toString() !== "[object Number]") {
- throw new Test262Error('#3: The [[Class]] property of the Number prototype object is set to "Number"');
-}
+assert.sameValue(
+ Number.prototype.toString(),
+ "[object Number]",
+ 'Number.prototype.toString() must return "[object Number]"'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Number/prototype/S15.7.3.1_A2_T2.js b/js/src/tests/test262/built-ins/Number/prototype/S15.7.3.1_A2_T2.js
index 05d7f346540a..5a866328c6f0 100644
--- a/js/src/tests/test262/built-ins/Number/prototype/S15.7.3.1_A2_T2.js
+++ b/js/src/tests/test262/built-ins/Number/prototype/S15.7.3.1_A2_T2.js
@@ -8,16 +8,18 @@ description: >
Checking type of Number.prototype property - test based on
overwriting of Number.prototype.toString
---*/
-
-//CHECK#1
-if (typeof Number.prototype !== "object") {
- throw new Test262Error('#1: typeof Number.prototype === "object"');
-}
+assert.sameValue(
+ typeof Number.prototype,
+ "object",
+ 'The value of `typeof Number.prototype` is expected to be "object"'
+);
Number.prototype.toString = Object.prototype.toString;
-if (Number.prototype.toString() !== "[object Number]") {
- throw new Test262Error('#3: The [[Class]] property of the Number prototype object is set to "Number"');
-}
+assert.sameValue(
+ Number.prototype.toString(),
+ "[object Number]",
+ 'Number.prototype.toString() must return "[object Number]"'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Number/prototype/S15.7.3.1_A3.js b/js/src/tests/test262/built-ins/Number/prototype/S15.7.3.1_A3.js
index 4075b04bf5e4..27619d998361 100644
--- a/js/src/tests/test262/built-ins/Number/prototype/S15.7.3.1_A3.js
+++ b/js/src/tests/test262/built-ins/Number/prototype/S15.7.3.1_A3.js
@@ -6,12 +6,6 @@ info: Number.prototype value is +0
es5id: 15.7.3.1_A3
description: Checking value of Number.prototype property
---*/
-
-//CHECK#1
-if (Number.prototype != 0) {
- throw new Test262Error('#2: Number.prototype == +0');
-} else if (1 / Number.prototype != Number.POSITIVE_INFINITY) {
- throw new Test262Error('#2: Number.prototype == +0');
-}
+assert(Number.prototype == 0, 'The value of Number.prototype is expected to be 0');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Number/prototype/S15.7.4_A1.js b/js/src/tests/test262/built-ins/Number/prototype/S15.7.4_A1.js
index c1ec79c7ac6c..f7454823712d 100644
--- a/js/src/tests/test262/built-ins/Number/prototype/S15.7.4_A1.js
+++ b/js/src/tests/test262/built-ins/Number/prototype/S15.7.4_A1.js
@@ -8,23 +8,20 @@ info: |
es5id: 15.7.4_A1
description: Checking type and value of Number.prototype property
---*/
+assert.sameValue(
+ typeof Number.prototype,
+ "object",
+ 'The value of `typeof Number.prototype` is expected to be "object"'
+);
-//CHECK#1
-if (typeof Number.prototype !== "object") {
- throw new Test262Error('#1: typeof Number.prototype === "object"');
-}
-
-//CHECK#2
-if (Number.prototype != 0) {
- throw new Test262Error('#2: Number.prototype == +0');
-} else if (1 / Number.prototype != Number.POSITIVE_INFINITY) {
- throw new Test262Error('#2: Number.prototype == +0');
-}
+assert(Number.prototype == 0, 'The value of Number.prototype is expected to be 0');
delete Number.prototype.toString;
-if (Number.prototype.toString() !== "[object Number]") {
- throw new Test262Error('#3: The [[Class]] property of the Number prototype object is set to "Number"');
-}
+assert.sameValue(
+ Number.prototype.toString(),
+ "[object Number]",
+ 'Number.prototype.toString() must return "[object Number]"'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Number/prototype/S15.7.4_A2.js b/js/src/tests/test262/built-ins/Number/prototype/S15.7.4_A2.js
index e38fc7ee82be..f0636b0f949a 100644
--- a/js/src/tests/test262/built-ins/Number/prototype/S15.7.4_A2.js
+++ b/js/src/tests/test262/built-ins/Number/prototype/S15.7.4_A2.js
@@ -8,10 +8,9 @@ info: |
es5id: 15.7.4_A2
description: Checking Object.prototype.isPrototypeOf(Number.prototype)
---*/
-
-//CHECK#1
-if (!Object.prototype.isPrototypeOf(Number.prototype)) {
- throw new Test262Error('#1: Object prototype object is the prototype of Number prototype object');
-}
+assert(
+ Object.prototype.isPrototypeOf(Number.prototype),
+ 'Object.prototype.isPrototypeOf(Number.prototype) must return true'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Number/prototype/S15.7.4_A3.1.js b/js/src/tests/test262/built-ins/Number/prototype/S15.7.4_A3.1.js
index ea2587c0516f..40104551bd84 100644
--- a/js/src/tests/test262/built-ins/Number/prototype/S15.7.4_A3.1.js
+++ b/js/src/tests/test262/built-ins/Number/prototype/S15.7.4_A3.1.js
@@ -6,10 +6,10 @@ info: The Number prototype object has the property constructor
es5id: 15.7.4_A3.1
description: The test uses hasOwnProperty() method
---*/
-
-//CHECK#1
-if (Number.prototype.hasOwnProperty("constructor") !== true) {
- throw new Test262Error('#1: The Number prototype object has the property constructor');
-}
+assert.sameValue(
+ Number.prototype.hasOwnProperty("constructor"),
+ true,
+ 'Number.prototype.hasOwnProperty("constructor") must return true'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Number/prototype/S15.7.4_A3.2.js b/js/src/tests/test262/built-ins/Number/prototype/S15.7.4_A3.2.js
index c96a998a7e83..df9d69b88b4e 100644
--- a/js/src/tests/test262/built-ins/Number/prototype/S15.7.4_A3.2.js
+++ b/js/src/tests/test262/built-ins/Number/prototype/S15.7.4_A3.2.js
@@ -6,10 +6,10 @@ info: The Number prototype object has the property toString
es5id: 15.7.4_A3.2
description: The test uses hasOwnProperty() method
---*/
-
-//CHECK#1
-if (Number.prototype.hasOwnProperty("toString") !== true) {
- throw new Test262Error('#1: The Number prototype object has the property toString');
-}
+assert.sameValue(
+ Number.prototype.hasOwnProperty("toString"),
+ true,
+ 'Number.prototype.hasOwnProperty("toString") must return true'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Number/prototype/S15.7.4_A3.3.js b/js/src/tests/test262/built-ins/Number/prototype/S15.7.4_A3.3.js
index b2f4be16fc35..3df204dac0f5 100644
--- a/js/src/tests/test262/built-ins/Number/prototype/S15.7.4_A3.3.js
+++ b/js/src/tests/test262/built-ins/Number/prototype/S15.7.4_A3.3.js
@@ -6,10 +6,10 @@ info: The Number prototype object has the property toLocaleString
es5id: 15.7.4_A3.3
description: The test uses hasOwnProperty() method
---*/
-
-//CHECK#1
-if (Number.prototype.hasOwnProperty("toLocaleString") !== true) {
- throw new Test262Error('#1: The Number prototype object has the property toLocaleString');
-}
+assert.sameValue(
+ Number.prototype.hasOwnProperty("toLocaleString"),
+ true,
+ 'Number.prototype.hasOwnProperty("toLocaleString") must return true'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Number/prototype/S15.7.4_A3.4.js b/js/src/tests/test262/built-ins/Number/prototype/S15.7.4_A3.4.js
index 7de34402307e..68b4e1b3182b 100644
--- a/js/src/tests/test262/built-ins/Number/prototype/S15.7.4_A3.4.js
+++ b/js/src/tests/test262/built-ins/Number/prototype/S15.7.4_A3.4.js
@@ -6,10 +6,10 @@ info: The Number prototype object has the property valueOf
es5id: 15.7.4_A3.4
description: The test uses hasOwnProperty() method
---*/
-
-//CHECK#1
-if (Number.prototype.hasOwnProperty("valueOf") !== true) {
- throw new Test262Error('#1: The Number prototype object has the property valueOf');
-}
+assert.sameValue(
+ Number.prototype.hasOwnProperty("valueOf"),
+ true,
+ 'Number.prototype.hasOwnProperty("valueOf") must return true'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Number/prototype/S15.7.4_A3.5.js b/js/src/tests/test262/built-ins/Number/prototype/S15.7.4_A3.5.js
index b2dee43f495d..06331dba9599 100644
--- a/js/src/tests/test262/built-ins/Number/prototype/S15.7.4_A3.5.js
+++ b/js/src/tests/test262/built-ins/Number/prototype/S15.7.4_A3.5.js
@@ -6,10 +6,10 @@ info: The Number prototype object has the property toFixed
es5id: 15.7.4_A3.5
description: The test uses hasOwnProperty() method
---*/
-
-//CHECK#1
-if (Number.prototype.hasOwnProperty("toFixed") !== true) {
- throw new Test262Error('#1: The Number prototype object has the property toFixed');
-}
+assert.sameValue(
+ Number.prototype.hasOwnProperty("toFixed"),
+ true,
+ 'Number.prototype.hasOwnProperty("toFixed") must return true'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Number/prototype/S15.7.4_A3.6.js b/js/src/tests/test262/built-ins/Number/prototype/S15.7.4_A3.6.js
index a2ad4e732e66..ae91098e19ff 100644
--- a/js/src/tests/test262/built-ins/Number/prototype/S15.7.4_A3.6.js
+++ b/js/src/tests/test262/built-ins/Number/prototype/S15.7.4_A3.6.js
@@ -6,10 +6,10 @@ info: The Number prototype object has the property toExponential
es5id: 15.7.4_A3.6
description: The test uses hasOwnProperty() method
---*/
-
-//CHECK#1
-if (Number.prototype.hasOwnProperty("toExponential") !== true) {
- throw new Test262Error('#1: The Number prototype object has the property toExponential');
-}
+assert.sameValue(
+ Number.prototype.hasOwnProperty("toExponential"),
+ true,
+ 'Number.prototype.hasOwnProperty("toExponential") must return true'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Number/prototype/S15.7.4_A3.7.js b/js/src/tests/test262/built-ins/Number/prototype/S15.7.4_A3.7.js
index 3846e58cf119..31dbd09de357 100644
--- a/js/src/tests/test262/built-ins/Number/prototype/S15.7.4_A3.7.js
+++ b/js/src/tests/test262/built-ins/Number/prototype/S15.7.4_A3.7.js
@@ -6,10 +6,10 @@ info: The Number prototype object has the property toPrecision
es5id: 15.7.4_A3.7
description: The test uses hasOwnProperty() method
---*/
-
-//CHECK#1
-if (Number.prototype.hasOwnProperty("toPrecision") !== true) {
- throw new Test262Error('#1: The Number prototype object has the property toPrecision');
-}
+assert.sameValue(
+ Number.prototype.hasOwnProperty("toPrecision"),
+ true,
+ 'Number.prototype.hasOwnProperty("toPrecision") must return true'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Number/prototype/toFixed/S15.7.4.5_A1.1_T01.js b/js/src/tests/test262/built-ins/Number/prototype/toFixed/S15.7.4.5_A1.1_T01.js
index 58afe70bca44..153d63b923a4 100644
--- a/js/src/tests/test262/built-ins/Number/prototype/toFixed/S15.7.4.5_A1.1_T01.js
+++ b/js/src/tests/test262/built-ins/Number/prototype/toFixed/S15.7.4.5_A1.1_T01.js
@@ -8,63 +8,24 @@ info: |
es5id: 15.7.4.5_A1.1_T01
description: calling on Number prototype object
---*/
+assert.sameValue(Number.prototype.toFixed(), "0", 'Number.prototype.toFixed() must return "0"');
+assert.sameValue(Number.prototype.toFixed(0), "0", 'Number.prototype.toFixed(0) must return "0"');
+assert.sameValue(Number.prototype.toFixed(1), "0.0", 'Number.prototype.toFixed(1) must return "0.0"');
+assert.sameValue(Number.prototype.toFixed(1.1), "0.0", 'Number.prototype.toFixed(1.1) must return "0.0"');
+assert.sameValue(Number.prototype.toFixed(0.9), "0", 'Number.prototype.toFixed(0.9) must return "0"');
+assert.sameValue(Number.prototype.toFixed("1"), "0.0", 'Number.prototype.toFixed("1") must return "0.0"');
+assert.sameValue(Number.prototype.toFixed("1.1"), "0.0", 'Number.prototype.toFixed("1.1") must return "0.0"');
+assert.sameValue(Number.prototype.toFixed("0.9"), "0", 'Number.prototype.toFixed("0.9") must return "0"');
+assert.sameValue(Number.prototype.toFixed(Number.NaN), "0", 'Number.prototype.toFixed(Number.NaN) must return "0"');
-//CHECK#1
-if (Number.prototype.toFixed() !== "0") {
- throw new Test262Error('#1: Number.prototype.toFixed() === "0"');
-}
+assert.sameValue(
+ Number.prototype.toFixed("some string"),
+ "0",
+ 'Number.prototype.toFixed("some string") must return "0"'
+);
-//CHECK#2
-if (Number.prototype.toFixed(0) !== "0") {
- throw new Test262Error('#2: Number.prototype.toFixed(0) === "0"');
-}
-
-//CHECK#3
-if (Number.prototype.toFixed(1) !== "0.0") {
- throw new Test262Error('#3: Number.prototype.toFixed(1) === "0.0"');
-}
-
-//CHECK#4
-if (Number.prototype.toFixed(1.1) !== "0.0") {
- throw new Test262Error('#4: Number.prototype.toFixed(1.1) === "0.0"');
-}
-
-//CHECK#5
-if (Number.prototype.toFixed(0.9) !== "0") {
- throw new Test262Error('#5: Number.prototype.toFixed(0.9) === "0"');
-}
-
-
-//CHECK#6
-if (Number.prototype.toFixed("1") !== "0.0") {
- throw new Test262Error('#6: Number.prototype.toFixed("1") === "0.0"');
-}
-
-//CHECK#7
-if (Number.prototype.toFixed("1.1") !== "0.0") {
- throw new Test262Error('#7: Number.prototype.toFixed("1.1") === "0.0"');
-}
-
-//CHECK#8
-if (Number.prototype.toFixed("0.9") !== "0") {
- throw new Test262Error('#8: Number.prototype.toFixed("0.9") === "0"');
-}
-
-//CHECK#9
-if (Number.prototype.toFixed(Number.NaN) !== "0") {
- throw new Test262Error('#9: Number.prototype.toFixed(Number.NaN) === "0"');
-}
-
-//CHECK#10
-if (Number.prototype.toFixed("some string") !== "0") {
- throw new Test262Error('#9: Number.prototype.toFixed("some string") === "0"');
-}
-
-//CHECK#11
try {
- if (Number.prototype.toFixed(-0.1) !== "0") {
- throw new Test262Error('#10: Number.prototype.toFixed(-0.1) === "0"');
- }
+ assert.sameValue(Number.prototype.toFixed(-0.1), "0", 'Number.prototype.toFixed(-0.1) must return "0"');
}
catch (e) {
throw new Test262Error('#10: Number.prototype.toFixed(-0.1) should not throw ' + e);
diff --git a/js/src/tests/test262/built-ins/Number/prototype/toFixed/S15.7.4.5_A1.1_T02.js b/js/src/tests/test262/built-ins/Number/prototype/toFixed/S15.7.4.5_A1.1_T02.js
index 3b870fa5989b..a1dbd88b8b7d 100644
--- a/js/src/tests/test262/built-ins/Number/prototype/toFixed/S15.7.4.5_A1.1_T02.js
+++ b/js/src/tests/test262/built-ins/Number/prototype/toFixed/S15.7.4.5_A1.1_T02.js
@@ -8,62 +8,24 @@ info: |
es5id: 15.7.4.5_A1.1_T02
description: calling on Number object
---*/
+assert.sameValue((new Number(1)).toFixed(), "1", '(new Number(1)).toFixed() must return "1"');
+assert.sameValue((new Number(1)).toFixed(0), "1", '(new Number(1)).toFixed(0) must return "1"');
+assert.sameValue((new Number(1)).toFixed(1), "1.0", '(new Number(1)).toFixed(1) must return "1.0"');
+assert.sameValue((new Number(1)).toFixed(1.1), "1.0", '(new Number(1)).toFixed(1.1) must return "1.0"');
+assert.sameValue((new Number(1)).toFixed(0.9), "1", '(new Number(1)).toFixed(0.9) must return "1"');
+assert.sameValue((new Number(1)).toFixed("1"), "1.0", '(new Number(1)).toFixed("1") must return "1.0"');
+assert.sameValue((new Number(1)).toFixed("1.1"), "1.0", '(new Number(1)).toFixed("1.1") must return "1.0"');
+assert.sameValue((new Number(1)).toFixed("0.9"), "1", '(new Number(1)).toFixed("0.9") must return "1"');
+assert.sameValue((new Number(1)).toFixed(Number.NaN), "1", '(new Number(1)).toFixed(Number.NaN) must return "1"');
-//CHECK#1
-if ((new Number(1)).toFixed() !== "1") {
- throw new Test262Error('#1: (new Number(1)).prototype.toFixed() === "1"');
-}
+assert.sameValue(
+ (new Number(1)).toFixed("some string"),
+ "1",
+ '(new Number(1)).toFixed("some string") must return "1"'
+);
-//CHECK#2
-if ((new Number(1)).toFixed(0) !== "1") {
- throw new Test262Error('#2: (new Number(1)).prototype.toFixed(0) === "1"');
-}
-
-//CHECK#3
-if ((new Number(1)).toFixed(1) !== "1.0") {
- throw new Test262Error('#3: (new Number(1)).prototype.toFixed(1) === "1.0"');
-}
-
-//CHECK#4
-if ((new Number(1)).toFixed(1.1) !== "1.0") {
- throw new Test262Error('#4: (new Number(1)).toFixed(1.1) === "1.0"');
-}
-
-//CHECK#5
-if ((new Number(1)).toFixed(0.9) !== "1") {
- throw new Test262Error('#5: (new Number(1)).toFixed(0.9) === "1"');
-}
-
-//CHECK#6
-if ((new Number(1)).toFixed("1") !== "1.0") {
- throw new Test262Error('#6: (new Number(1)).toFixed("1") === "1.0"');
-}
-
-//CHECK#7
-if ((new Number(1)).toFixed("1.1") !== "1.0") {
- throw new Test262Error('#7: (new Number(1)).toFixed("1.1") === "1.0"');
-}
-
-//CHECK#8
-if ((new Number(1)).toFixed("0.9") !== "1") {
- throw new Test262Error('#8: (new Number(1)).toFixed("0.9") === "1"');
-}
-
-//CHECK#9
-if ((new Number(1)).toFixed(Number.NaN) !== "1") {
- throw new Test262Error('#9: (new Number(1)).toFixed(Number.NaN) === "1"');
-}
-
-//CHECK#10
-if ((new Number(1)).toFixed("some string") !== "1") {
- throw new Test262Error('#9: (new Number(1)).toFixed("some string") === "1"');
-}
-
-//CHECK#10
try {
- if ((new Number(1)).toFixed(-0.1) !== "1") {
- throw new Test262Error('#10: (new Number(1)).toFixed(-0.1) === "1"');
- }
+ assert.sameValue((new Number(1)).toFixed(-0.1), "1", '(new Number(1)).toFixed(-0.1) must return "1"');
}
catch (e) {
throw new Test262Error('#10: (new Number(1)).toFixed(-0.1) should not throw ' + e);
diff --git a/js/src/tests/test262/built-ins/Number/prototype/toFixed/S15.7.4.5_A1.3_T01.js b/js/src/tests/test262/built-ins/Number/prototype/toFixed/S15.7.4.5_A1.3_T01.js
index 169eb3ec0230..70468a816ae5 100644
--- a/js/src/tests/test262/built-ins/Number/prototype/toFixed/S15.7.4.5_A1.3_T01.js
+++ b/js/src/tests/test262/built-ins/Number/prototype/toFixed/S15.7.4.5_A1.3_T01.js
@@ -6,66 +6,33 @@ info: "Step 4: If this number value is NaN, return the string \"NaN\""
es5id: 15.7.4.5_A1.3_T01
description: NaN is computed by new Number("string")
---*/
+assert.sameValue((new Number("a")).toFixed(), "NaN", '(new Number("a")).toFixed() must return "NaN"');
+assert.sameValue((new Number("a")).toFixed(0), "NaN", '(new Number("a")).toFixed(0) must return "NaN"');
+assert.sameValue((new Number("a")).toFixed(1), "NaN", '(new Number("a")).toFixed(1) must return "NaN"');
+assert.sameValue((new Number("a")).toFixed(1.1), "NaN", '(new Number("a")).toFixed(1.1) must return "NaN"');
+assert.sameValue((new Number("a")).toFixed(0.9), "NaN", '(new Number("a")).toFixed(0.9) must return "NaN"');
+assert.sameValue((new Number("a")).toFixed("1"), "NaN", '(new Number("a")).toFixed("1") must return "NaN"');
+assert.sameValue((new Number("a")).toFixed("1.1"), "NaN", '(new Number("a")).toFixed("1.1") must return "NaN"');
+assert.sameValue((new Number("a")).toFixed("0.9"), "NaN", '(new Number("a")).toFixed("0.9") must return "NaN"');
-//CHECK#1
-if ((new Number("a")).toFixed() !== "NaN") {
- throw new Test262Error('#1: (new Number("a")).prototype.toFixed() === "NaN"');
-}
+assert.sameValue(
+ (new Number("a")).toFixed(Number.NaN),
+ "NaN",
+ '(new Number("a")).toFixed(Number.NaN) must return "NaN"'
+);
-//CHECK#2
-if ((new Number("a")).toFixed(0) !== "NaN") {
- throw new Test262Error('#2: (new Number("a")).prototype.toFixed(0) === "NaN"');
-}
+assert.sameValue(
+ (new Number("a")).toFixed("some string"),
+ "NaN",
+ '(new Number("a")).toFixed("some string") must return "NaN"'
+);
-//CHECK#3
-if ((new Number("a")).toFixed(1) !== "NaN") {
- throw new Test262Error('#3: (new Number("a")).prototype.toFixed(1) === "NaN"');
-}
-
-//CHECK#4
-if ((new Number("a")).toFixed(1.1) !== "NaN") {
- throw new Test262Error('#4: (new Number("a")).toFixed(1.1) === "NaN"');
-}
-
-//CHECK#5
-if ((new Number("a")).toFixed(0.9) !== "NaN") {
- throw new Test262Error('#5: (new Number("a")).toFixed(0.9) === "NaN"');
-}
-
-//CHECK#6
-if ((new Number("a")).toFixed("1") !== "NaN") {
- throw new Test262Error('#6: (new Number("a")).toFixed("1") === "NaN"');
-}
-
-//CHECK#7
-if ((new Number("a")).toFixed("1.1") !== "NaN") {
- throw new Test262Error('#7: (new Number("a")).toFixed("1.1") === "NaN"');
-}
-
-//CHECK#8
-if ((new Number("a")).toFixed("0.9") !== "NaN") {
- throw new Test262Error('#8: (new Number("a")).toFixed("0.9") === "NaN"');
-}
-
-//CHECK#9
-if ((new Number("a")).toFixed(Number.NaN) !== "NaN") {
- throw new Test262Error('#9: (new Number("a")).toFixed(Number.NaN) === "NaN"');
-}
-
-//CHECK#10
-if ((new Number("a")).toFixed("some string") !== "NaN") {
- throw new Test262Error('#9: (new Number("a")).toFixed("some string") === "NaN"');
-}
-
-//CHECK#10
try {
s = (new Number("a")).toFixed(Number.POSITIVE_INFINITY);
throw new Test262Error('#10: (new Number("a")).toFixed(Number.POSITIVE_INFINITY) should throw RangeError, not return NaN');
}
catch (e) {
- if (!(e instanceof RangeError)) {
- throw new Test262Error('#10: (new Number("a")).toFixed(Number.POSITIVE_INFINITY) should throw RangeError, not ' + e);
- }
+ assert(e instanceof RangeError, 'The result of evaluating (e instanceof RangeError) is expected to be true');
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Number/prototype/toFixed/S15.7.4.5_A1.3_T02.js b/js/src/tests/test262/built-ins/Number/prototype/toFixed/S15.7.4.5_A1.3_T02.js
index fccd9b9983f5..31cc85182c60 100644
--- a/js/src/tests/test262/built-ins/Number/prototype/toFixed/S15.7.4.5_A1.3_T02.js
+++ b/js/src/tests/test262/built-ins/Number/prototype/toFixed/S15.7.4.5_A1.3_T02.js
@@ -6,66 +6,23 @@ info: "Step 4: If this number value is NaN, return the string \"NaN\""
es5id: 15.7.4.5_A1.3_T02
description: direct usage of NaN
---*/
+assert.sameValue(Number.NaN.toFixed(), "NaN", 'Number.NaN.toFixed() must return "NaN"');
+assert.sameValue(Number.NaN.toFixed(0), "NaN", 'Number.NaN.toFixed(0) must return "NaN"');
+assert.sameValue(Number.NaN.toFixed(1), "NaN", 'Number.NaN.toFixed(1) must return "NaN"');
+assert.sameValue(Number.NaN.toFixed(1.1), "NaN", 'Number.NaN.toFixed(1.1) must return "NaN"');
+assert.sameValue(Number.NaN.toFixed(0.9), "NaN", 'Number.NaN.toFixed(0.9) must return "NaN"');
+assert.sameValue(Number.NaN.toFixed("1"), "NaN", 'Number.NaN.toFixed("1") must return "NaN"');
+assert.sameValue(Number.NaN.toFixed("1.1"), "NaN", 'Number.NaN.toFixed("1.1") must return "NaN"');
+assert.sameValue(Number.NaN.toFixed("0.9"), "NaN", 'Number.NaN.toFixed("0.9") must return "NaN"');
+assert.sameValue(Number.NaN.toFixed(Number.NaN), "NaN", 'Number.NaN.toFixed(Number.NaN) must return "NaN"');
+assert.sameValue(Number.NaN.toFixed("some string"), "NaN", 'Number.NaN.toFixed("some string") must return "NaN"');
-//CHECK#1
-if (Number.NaN.toFixed() !== "NaN") {
- throw new Test262Error('#1: Number.NaN.prototype.toFixed() === "NaN"');
-}
-
-//CHECK#2
-if (Number.NaN.toFixed(0) !== "NaN") {
- throw new Test262Error('#2: Number.NaN.prototype.toFixed(0) === "NaN"');
-}
-
-//CHECK#3
-if (Number.NaN.toFixed(1) !== "NaN") {
- throw new Test262Error('#3: Number.NaN.prototype.toFixed(1) === "NaN"');
-}
-
-//CHECK#4
-if (Number.NaN.toFixed(1.1) !== "NaN") {
- throw new Test262Error('#4: Number.NaN.toFixed(1.1) === "NaN"');
-}
-
-//CHECK#5
-if (Number.NaN.toFixed(0.9) !== "NaN") {
- throw new Test262Error('#5: Number.NaN.toFixed(0.9) === "NaN"');
-}
-
-//CHECK#6
-if (Number.NaN.toFixed("1") !== "NaN") {
- throw new Test262Error('#6: Number.NaN.toFixed("1") === "NaN"');
-}
-
-//CHECK#7
-if (Number.NaN.toFixed("1.1") !== "NaN") {
- throw new Test262Error('#7: Number.NaN.toFixed("1.1") === "NaN"');
-}
-
-//CHECK#8
-if (Number.NaN.toFixed("0.9") !== "NaN") {
- throw new Test262Error('#8: Number.NaN.toFixed("0.9") === "NaN"');
-}
-
-//CHECK#9
-if (Number.NaN.toFixed(Number.NaN) !== "NaN") {
- throw new Test262Error('#9: Number.NaN.toFixed(Number.NaN) === "NaN"');
-}
-
-//CHECK#10
-if (Number.NaN.toFixed("some string") !== "NaN") {
- throw new Test262Error('#9: Number.NaN.toFixed("some string") === "NaN"');
-}
-
-//CHECK#10
try {
s = Number.NaN.toFixed(Number.POSITIVE_INFINITY);
throw new Test262Error('#10: Number.NaN.toFixed(Number.POSITIVE_INFINITY) should throw RangeError, not return NaN');
}
catch (e) {
- if (!(e instanceof RangeError)) {
- throw new Test262Error('#10: Number.NaN.toFixed(Number.POSITIVE_INFINITY) should throw RangeError, not ' + e);
- }
+ assert(e instanceof RangeError, 'The result of evaluating (e instanceof RangeError) is expected to be true');
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Number/prototype/toFixed/S15.7.4.5_A1.4_T01.js b/js/src/tests/test262/built-ins/Number/prototype/toFixed/S15.7.4.5_A1.4_T01.js
index fb84061e5487..c5e9de87a7b9 100644
--- a/js/src/tests/test262/built-ins/Number/prototype/toFixed/S15.7.4.5_A1.4_T01.js
+++ b/js/src/tests/test262/built-ins/Number/prototype/toFixed/S15.7.4.5_A1.4_T01.js
@@ -6,66 +6,72 @@ info: "Step 9: If x >= 10^21, let m = ToString(x)"
es5id: 15.7.4.5_A1.4_T01
description: x is 10^21
---*/
+assert.sameValue(
+ (new Number(1e21)).toFixed(),
+ String(1e21),
+ '(new Number(1e21)).toFixed() must return the same value returned by String(1e21)'
+);
-//CHECK#1
-if ((new Number(1e21)).toFixed() !== String(1e21)) {
- throw new Test262Error('#1: (new Number(1e21)).prototype.toFixed() === String(1e21)');
-}
+assert.sameValue(
+ (new Number(1e21)).toFixed(0),
+ String(1e21),
+ '(new Number(1e21)).toFixed(0) must return the same value returned by String(1e21)'
+);
-//CHECK#2
-if ((new Number(1e21)).toFixed(0) !== String(1e21)) {
- throw new Test262Error('#2: (new Number(1e21)).prototype.toFixed(0) === String(1e21)');
-}
+assert.sameValue(
+ (new Number(1e21)).toFixed(1),
+ String(1e21),
+ '(new Number(1e21)).toFixed(1) must return the same value returned by String(1e21)'
+);
-//CHECK#3
-if ((new Number(1e21)).toFixed(1) !== String(1e21)) {
- throw new Test262Error('#3: (new Number(1e21)).prototype.toFixed(1) === String(1e21)');
-}
+assert.sameValue(
+ (new Number(1e21)).toFixed(1.1),
+ String(1e21),
+ '(new Number(1e21)).toFixed(1.1) must return the same value returned by String(1e21)'
+);
-//CHECK#4
-if ((new Number(1e21)).toFixed(1.1) !== String(1e21)) {
- throw new Test262Error('#4: (new Number(1e21)).toFixed(1.1) === String(1e21)');
-}
+assert.sameValue(
+ (new Number(1e21)).toFixed(0.9),
+ String(1e21),
+ '(new Number(1e21)).toFixed(0.9) must return the same value returned by String(1e21)'
+);
-//CHECK#5
-if ((new Number(1e21)).toFixed(0.9) !== String(1e21)) {
- throw new Test262Error('#5: (new Number(1e21)).toFixed(0.9) === String(1e21)');
-}
+assert.sameValue(
+ (new Number(1e21)).toFixed("1"),
+ String(1e21),
+ '(new Number(1e21)).toFixed("1") must return the same value returned by String(1e21)'
+);
-//CHECK#6
-if ((new Number(1e21)).toFixed("1") !== String(1e21)) {
- throw new Test262Error('#6: (new Number(1e21)).toFixed("1") === String(1e21)');
-}
+assert.sameValue(
+ (new Number(1e21)).toFixed("1.1"),
+ String(1e21),
+ '(new Number(1e21)).toFixed("1.1") must return the same value returned by String(1e21)'
+);
-//CHECK#7
-if ((new Number(1e21)).toFixed("1.1") !== String(1e21)) {
- throw new Test262Error('#7: (new Number(1e21)).toFixed("1.1") === String(1e21)');
-}
+assert.sameValue(
+ (new Number(1e21)).toFixed("0.9"),
+ String(1e21),
+ '(new Number(1e21)).toFixed("0.9") must return the same value returned by String(1e21)'
+);
-//CHECK#8
-if ((new Number(1e21)).toFixed("0.9") !== String(1e21)) {
- throw new Test262Error('#8: (new Number(1e21)).toFixed("0.9") === String(1e21)');
-}
+assert.sameValue(
+ (new Number(1e21)).toFixed(Number.NaN),
+ String(1e21),
+ '(new Number(1e21)).toFixed(Number.NaN) must return the same value returned by String(1e21)'
+);
-//CHECK#9
-if ((new Number(1e21)).toFixed(Number.NaN) !== String(1e21)) {
- throw new Test262Error('#9: (new Number(1e21)).toFixed(Number.NaN) === String(1e21)');
-}
+assert.sameValue(
+ (new Number(1e21)).toFixed("some string"),
+ String(1e21),
+ '(new Number(1e21)).toFixed("some string") must return the same value returned by String(1e21)'
+);
-//CHECK#10
-if ((new Number(1e21)).toFixed("some string") !== String(1e21)) {
- throw new Test262Error('#9: (new Number(1e21)).toFixed("some string") === String(1e21)');
-}
-
-//CHECK#10
try {
s = (new Number(1e21)).toFixed(Number.POSITIVE_INFINITY);
throw new Test262Error('#10: (new Number(1e21)).toFixed(Number.POSITIVE_INFINITY) should throw RangeError, not return NaN');
}
catch (e) {
- if (!(e instanceof RangeError)) {
- throw new Test262Error('#10: (new Number(1e21)).toFixed(Number.POSITIVE_INFINITY) should throw RangeError, not ' + e);
- }
+ assert(e instanceof RangeError, 'The result of evaluating (e instanceof RangeError) is expected to be true');
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Number/prototype/toFixed/S15.7.4.5_A2_T01.js b/js/src/tests/test262/built-ins/Number/prototype/toFixed/S15.7.4.5_A2_T01.js
index 594b74e5d6d6..2d7ef86f1d83 100644
--- a/js/src/tests/test262/built-ins/Number/prototype/toFixed/S15.7.4.5_A2_T01.js
+++ b/js/src/tests/test262/built-ins/Number/prototype/toFixed/S15.7.4.5_A2_T01.js
@@ -6,15 +6,16 @@ info: The length property of the toFixed method is 1
es5id: 15.7.4.5_A2_T01
description: Checking Number prototype itself
---*/
+assert.sameValue(
+ Number.prototype.toFixed.hasOwnProperty("length"),
+ true,
+ 'Number.prototype.toFixed.hasOwnProperty("length") must return true'
+);
-//CHECK#1
-if (Number.prototype.toFixed.hasOwnProperty("length") !== true) {
- throw new Test262Error('#1: The length property of the toFixed method is 1');
-}
-
-//CHECK#2
-if (Number.prototype.toFixed.length !== 1) {
- throw new Test262Error('#2: The length property of the toFixed method is 1');
-}
+assert.sameValue(
+ Number.prototype.toFixed.length,
+ 1,
+ 'The value of Number.prototype.toFixed.length is expected to be 1'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A1_T01.js b/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A1_T01.js
index 403e545b3e8c..09d10b50e8a2 100644
--- a/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A1_T01.js
+++ b/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A1_T01.js
@@ -9,45 +9,23 @@ info: |
es5id: 15.7.4.2_A1_T01
description: undefined radix
---*/
+assert.sameValue(Number.prototype.toString(), "0", 'Number.prototype.toString() must return "0"');
+assert.sameValue((new Number()).toString(), "0", '(new Number()).toString() must return "0"');
+assert.sameValue((new Number(0)).toString(), "0", '(new Number(0)).toString() must return "0"');
+assert.sameValue((new Number(-1)).toString(), "-1", '(new Number(-1)).toString() must return "-1"');
+assert.sameValue((new Number(1)).toString(), "1", '(new Number(1)).toString() must return "1"');
+assert.sameValue((new Number(Number.NaN)).toString(), "NaN", '(new Number(Number.NaN)).toString() must return "NaN"');
-//CHECK#1
-if (Number.prototype.toString() !== "0") {
- throw new Test262Error('#1: Number.prototype.toString() === "0"');
-}
+assert.sameValue(
+ (new Number(Number.POSITIVE_INFINITY)).toString(),
+ "Infinity",
+ '(new Number(Number.POSITIVE_INFINITY)).toString() must return "Infinity"'
+);
-//CHECK#2
-if ((new Number()).toString() !== "0") {
- throw new Test262Error('#2: (new Number()).toString() === "0"');
-}
-
-//CHECK#3
-if ((new Number(0)).toString() !== "0") {
- throw new Test262Error('#3: (new Number(0)).toString() === "0"');
-}
-
-//CHECK#4
-if ((new Number(-1)).toString() !== "-1") {
- throw new Test262Error('#4: (new Number(-1)).toString() === "-1"');
-}
-
-//CHECK#5
-if ((new Number(1)).toString() !== "1") {
- throw new Test262Error('#5: (new Number(1)).toString() === "1"');
-}
-
-//CHECK#6
-if ((new Number(Number.NaN)).toString() !== "NaN") {
- throw new Test262Error('#6: (new Number(Number.NaN)).toString() === "NaN"');
-}
-
-//CHECK#7
-if ((new Number(Number.POSITIVE_INFINITY)).toString() !== "Infinity") {
- throw new Test262Error('#7: (new Number(Number.POSITIVE_INFINITY)).toString() === "Infinity"');
-}
-
-//CHECK#8
-if ((new Number(Number.NEGATIVE_INFINITY)).toString() !== "-Infinity") {
- throw new Test262Error('#8: (new Number(Number.NEGATIVE_INFINITY)).toString() === "-Infinity"');
-}
+assert.sameValue(
+ (new Number(Number.NEGATIVE_INFINITY)).toString(),
+ "-Infinity",
+ '(new Number(Number.NEGATIVE_INFINITY)).toString() must return "-Infinity"'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A1_T02.js b/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A1_T02.js
index b03b54d7d03d..1d7e7b6693cb 100644
--- a/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A1_T02.js
+++ b/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A1_T02.js
@@ -9,45 +9,28 @@ info: |
es5id: 15.7.4.2_A1_T02
description: radix is 10
---*/
+assert.sameValue(Number.prototype.toString(10), "0", 'Number.prototype.toString(10) must return "0"');
+assert.sameValue((new Number()).toString(10), "0", '(new Number()).toString(10) must return "0"');
+assert.sameValue((new Number(0)).toString(10), "0", '(new Number(0)).toString(10) must return "0"');
+assert.sameValue((new Number(-1)).toString(10), "-1", '(new Number(-1)).toString(10) must return "-1"');
+assert.sameValue((new Number(1)).toString(10), "1", '(new Number(1)).toString(10) must return "1"');
-//CHECK#1
-if (Number.prototype.toString(10) !== "0") {
- throw new Test262Error('#1: Number.prototype.toString(10) === "0"');
-}
+assert.sameValue(
+ (new Number(Number.NaN)).toString(10),
+ "NaN",
+ '(new Number(Number.NaN)).toString(10) must return "NaN"'
+);
-//CHECK#2
-if ((new Number()).toString(10) !== "0") {
- throw new Test262Error('#2: (new Number()).toString(10) === "0"');
-}
+assert.sameValue(
+ (new Number(Number.POSITIVE_INFINITY)).toString(10),
+ "Infinity",
+ '(new Number(Number.POSITIVE_INFINITY)).toString(10) must return "Infinity"'
+);
-//CHECK#3
-if ((new Number(0)).toString(10) !== "0") {
- throw new Test262Error('#3: (new Number(0)).toString(10) === "0"');
-}
-
-//CHECK#4
-if ((new Number(-1)).toString(10) !== "-1") {
- throw new Test262Error('#4: (new Number(-1)).toString(10) === "-1"');
-}
-
-//CHECK#5
-if ((new Number(1)).toString(10) !== "1") {
- throw new Test262Error('#5: (new Number(1)).toString(10) === "1"');
-}
-
-//CHECK#6
-if ((new Number(Number.NaN)).toString(10) !== "NaN") {
- throw new Test262Error('#6: (new Number(Number.NaN)).toString(10) === "NaN"');
-}
-
-//CHECK#7
-if ((new Number(Number.POSITIVE_INFINITY)).toString(10) !== "Infinity") {
- throw new Test262Error('#7: (new Number(Number.POSITIVE_INFINITY)).toString(10) === "Infinity"');
-}
-
-//CHECK#8
-if ((new Number(Number.NEGATIVE_INFINITY)).toString(10) !== "-Infinity") {
- throw new Test262Error('#8: (new Number(Number.NEGATIVE_INFINITY)).toString(10) === "-Infinity"');
-}
+assert.sameValue(
+ (new Number(Number.NEGATIVE_INFINITY)).toString(10),
+ "-Infinity",
+ '(new Number(Number.NEGATIVE_INFINITY)).toString(10) must return "-Infinity"'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A1_T03.js b/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A1_T03.js
index 8f5c6529b48b..68820bd38278 100644
--- a/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A1_T03.js
+++ b/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A1_T03.js
@@ -9,45 +9,28 @@ info: |
es5id: 15.7.4.2_A1_T03
description: radix is undefined value
---*/
+assert.sameValue(Number.prototype.toString(undefined), "0", 'Number.prototype.toString(undefined) must return "0"');
+assert.sameValue((new Number()).toString(undefined), "0", '(new Number()).toString(undefined) must return "0"');
+assert.sameValue((new Number(0)).toString(undefined), "0", '(new Number(0)).toString(undefined) must return "0"');
+assert.sameValue((new Number(-1)).toString(undefined), "-1", '(new Number(-1)).toString(undefined) must return "-1"');
+assert.sameValue((new Number(1)).toString(undefined), "1", '(new Number(1)).toString(undefined) must return "1"');
-//CHECK#1
-if (Number.prototype.toString(undefined) !== "0") {
- throw new Test262Error('#1: Number.prototype.toString(undefined) === "0"');
-}
+assert.sameValue(
+ (new Number(Number.NaN)).toString(undefined),
+ "NaN",
+ '(new Number(Number.NaN)).toString(undefined) must return "NaN"'
+);
-//CHECK#2
-if ((new Number()).toString(undefined) !== "0") {
- throw new Test262Error('#2: (new Number()).toString(undefined) === "0"');
-}
+assert.sameValue(
+ (new Number(Number.POSITIVE_INFINITY)).toString(undefined),
+ "Infinity",
+ '(new Number(Number.POSITIVE_INFINITY)).toString(undefined) must return "Infinity"'
+);
-//CHECK#3
-if ((new Number(0)).toString(undefined) !== "0") {
- throw new Test262Error('#3: (new Number(0)).toString(undefined) === "0"');
-}
-
-//CHECK#4
-if ((new Number(-1)).toString(undefined) !== "-1") {
- throw new Test262Error('#4: (new Number(-1)).toString(undefined) === "-1"');
-}
-
-//CHECK#5
-if ((new Number(1)).toString(undefined) !== "1") {
- throw new Test262Error('#5: (new Number(1)).toString(undefined) === "1"');
-}
-
-//CHECK#6
-if ((new Number(Number.NaN)).toString(undefined) !== "NaN") {
- throw new Test262Error('#6: (new Number(Number.NaN)).toString(undefined) === "NaN"');
-}
-
-//CHECK#7
-if ((new Number(Number.POSITIVE_INFINITY)).toString(undefined) !== "Infinity") {
- throw new Test262Error('#7: (new Number(Number.POSITIVE_INFINITY)).toString(undefined) === "Infinity"');
-}
-
-//CHECK#8
-if ((new Number(Number.NEGATIVE_INFINITY)).toString(undefined) !== "-Infinity") {
- throw new Test262Error('#8: (new Number(Number.NEGATIVE_INFINITY)).toString(undefined) === "-Infinity"');
-}
+assert.sameValue(
+ (new Number(Number.NEGATIVE_INFINITY)).toString(undefined),
+ "-Infinity",
+ '(new Number(Number.NEGATIVE_INFINITY)).toString(undefined) must return "-Infinity"'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A2_T01.js b/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A2_T01.js
index dd74f21baa29..85dff6174dcd 100644
--- a/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A2_T01.js
+++ b/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A2_T01.js
@@ -8,45 +8,28 @@ info: |
es5id: 15.7.4.2_A2_T01
description: radix is 2
---*/
+assert.sameValue(Number.prototype.toString(2), "0", 'Number.prototype.toString(2) must return "0"');
+assert.sameValue((new Number()).toString(2), "0", '(new Number()).toString(2) must return "0"');
+assert.sameValue((new Number(0)).toString(2), "0", '(new Number(0)).toString(2) must return "0"');
+assert.sameValue((new Number(-1)).toString(2), "-1", '(new Number(-1)).toString(2) must return "-1"');
+assert.sameValue((new Number(1)).toString(2), "1", '(new Number(1)).toString(2) must return "1"');
-//CHECK#1
-if (Number.prototype.toString(2) !== "0") {
- throw new Test262Error('#1: Number.prototype.toString(2) === "0"');
-}
+assert.sameValue(
+ (new Number(Number.NaN)).toString(2),
+ "NaN",
+ '(new Number(Number.NaN)).toString(2) must return "NaN"'
+);
-//CHECK#2
-if ((new Number()).toString(2) !== "0") {
- throw new Test262Error('#2: (new Number()).toString(2) === "0"');
-}
+assert.sameValue(
+ (new Number(Number.POSITIVE_INFINITY)).toString(2),
+ "Infinity",
+ '(new Number(Number.POSITIVE_INFINITY)).toString(2) must return "Infinity"'
+);
-//CHECK#3
-if ((new Number(0)).toString(2) !== "0") {
- throw new Test262Error('#3: (new Number(0)).toString(2) === "0"');
-}
-
-//CHECK#4
-if ((new Number(-1)).toString(2) !== "-1") {
- throw new Test262Error('#4: (new Number(-1)).toString(2) === "-1"');
-}
-
-//CHECK#5
-if ((new Number(1)).toString(2) !== "1") {
- throw new Test262Error('#5: (new Number(1)).toString(2) === "1"');
-}
-
-//CHECK#6
-if ((new Number(Number.NaN)).toString(2) !== "NaN") {
- throw new Test262Error('#6: (new Number(Number.NaN)).toString(2) === "NaN"');
-}
-
-//CHECK#7
-if ((new Number(Number.POSITIVE_INFINITY)).toString(2) !== "Infinity") {
- throw new Test262Error('#7: (new Number(Number.POSITIVE_INFINITY)).toString(2) === "Infinity"');
-}
-
-//CHECK#8
-if ((new Number(Number.NEGATIVE_INFINITY)).toString(2) !== "-Infinity") {
- throw new Test262Error('#8: (new Number(Number.NEGATIVE_INFINITY)).toString(2) === "-Infinity"');
-}
+assert.sameValue(
+ (new Number(Number.NEGATIVE_INFINITY)).toString(2),
+ "-Infinity",
+ '(new Number(Number.NEGATIVE_INFINITY)).toString(2) must return "-Infinity"'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A2_T02.js b/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A2_T02.js
index 52ae859999fa..11f498aa1e36 100644
--- a/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A2_T02.js
+++ b/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A2_T02.js
@@ -8,45 +8,28 @@ info: |
es5id: 15.7.4.2_A2_T02
description: radix is 3
---*/
+assert.sameValue(Number.prototype.toString(3), "0", 'Number.prototype.toString(3) must return "0"');
+assert.sameValue((new Number()).toString(3), "0", '(new Number()).toString(3) must return "0"');
+assert.sameValue((new Number(0)).toString(3), "0", '(new Number(0)).toString(3) must return "0"');
+assert.sameValue((new Number(-1)).toString(3), "-1", '(new Number(-1)).toString(3) must return "-1"');
+assert.sameValue((new Number(1)).toString(3), "1", '(new Number(1)).toString(3) must return "1"');
-//CHECK#1
-if (Number.prototype.toString(3) !== "0") {
- throw new Test262Error('#1: Number.prototype.toString(3) === "0"');
-}
+assert.sameValue(
+ (new Number(Number.NaN)).toString(3),
+ "NaN",
+ '(new Number(Number.NaN)).toString(3) must return "NaN"'
+);
-//CHECK#2
-if ((new Number()).toString(3) !== "0") {
- throw new Test262Error('#2: (new Number()).toString(3) === "0"');
-}
+assert.sameValue(
+ (new Number(Number.POSITIVE_INFINITY)).toString(3),
+ "Infinity",
+ '(new Number(Number.POSITIVE_INFINITY)).toString(3) must return "Infinity"'
+);
-//CHECK#3
-if ((new Number(0)).toString(3) !== "0") {
- throw new Test262Error('#3: (new Number(0)).toString(3) === "0"');
-}
-
-//CHECK#4
-if ((new Number(-1)).toString(3) !== "-1") {
- throw new Test262Error('#4: (new Number(-1)).toString(3) === "-1"');
-}
-
-//CHECK#5
-if ((new Number(1)).toString(3) !== "1") {
- throw new Test262Error('#5: (new Number(1)).toString(3) === "1"');
-}
-
-//CHECK#6
-if ((new Number(Number.NaN)).toString(3) !== "NaN") {
- throw new Test262Error('#6: (new Number(Number.NaN)).toString(3) === "NaN"');
-}
-
-//CHECK#7
-if ((new Number(Number.POSITIVE_INFINITY)).toString(3) !== "Infinity") {
- throw new Test262Error('#7: (new Number(Number.POSITIVE_INFINITY)).toString(3) === "Infinity"');
-}
-
-//CHECK#8
-if ((new Number(Number.NEGATIVE_INFINITY)).toString(3) !== "-Infinity") {
- throw new Test262Error('#8: (new Number(Number.NEGATIVE_INFINITY)).toString(3) === "-Infinity"');
-}
+assert.sameValue(
+ (new Number(Number.NEGATIVE_INFINITY)).toString(3),
+ "-Infinity",
+ '(new Number(Number.NEGATIVE_INFINITY)).toString(3) must return "-Infinity"'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A2_T03.js b/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A2_T03.js
index 98015fe899fa..d928cfe2566d 100644
--- a/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A2_T03.js
+++ b/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A2_T03.js
@@ -8,45 +8,28 @@ info: |
es5id: 15.7.4.2_A2_T03
description: radix is 4
---*/
+assert.sameValue(Number.prototype.toString(4), "0", 'Number.prototype.toString(4) must return "0"');
+assert.sameValue((new Number()).toString(4), "0", '(new Number()).toString(4) must return "0"');
+assert.sameValue((new Number(0)).toString(4), "0", '(new Number(0)).toString(4) must return "0"');
+assert.sameValue((new Number(-1)).toString(4), "-1", '(new Number(-1)).toString(4) must return "-1"');
+assert.sameValue((new Number(1)).toString(4), "1", '(new Number(1)).toString(4) must return "1"');
-//CHECK#1
-if (Number.prototype.toString(4) !== "0") {
- throw new Test262Error('#1: Number.prototype.toString(4) === "0"');
-}
+assert.sameValue(
+ (new Number(Number.NaN)).toString(4),
+ "NaN",
+ '(new Number(Number.NaN)).toString(4) must return "NaN"'
+);
-//CHECK#2
-if ((new Number()).toString(4) !== "0") {
- throw new Test262Error('#2: (new Number()).toString(4) === "0"');
-}
+assert.sameValue(
+ (new Number(Number.POSITIVE_INFINITY)).toString(4),
+ "Infinity",
+ '(new Number(Number.POSITIVE_INFINITY)).toString(4) must return "Infinity"'
+);
-//CHECK#3
-if ((new Number(0)).toString(4) !== "0") {
- throw new Test262Error('#3: (new Number(0)).toString(4) === "0"');
-}
-
-//CHECK#4
-if ((new Number(-1)).toString(4) !== "-1") {
- throw new Test262Error('#4: (new Number(-1)).toString(4) === "-1"');
-}
-
-//CHECK#5
-if ((new Number(1)).toString(4) !== "1") {
- throw new Test262Error('#5: (new Number(1)).toString(4) === "1"');
-}
-
-//CHECK#6
-if ((new Number(Number.NaN)).toString(4) !== "NaN") {
- throw new Test262Error('#6: (new Number(Number.NaN)).toString(4) === "NaN"');
-}
-
-//CHECK#7
-if ((new Number(Number.POSITIVE_INFINITY)).toString(4) !== "Infinity") {
- throw new Test262Error('#7: (new Number(Number.POSITIVE_INFINITY)).toString(4) === "Infinity"');
-}
-
-//CHECK#8
-if ((new Number(Number.NEGATIVE_INFINITY)).toString(4) !== "-Infinity") {
- throw new Test262Error('#8: (new Number(Number.NEGATIVE_INFINITY)).toString(4) === "-Infinity"');
-}
+assert.sameValue(
+ (new Number(Number.NEGATIVE_INFINITY)).toString(4),
+ "-Infinity",
+ '(new Number(Number.NEGATIVE_INFINITY)).toString(4) must return "-Infinity"'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A2_T04.js b/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A2_T04.js
index e5ef19cedd77..f5d29c361576 100644
--- a/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A2_T04.js
+++ b/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A2_T04.js
@@ -8,45 +8,28 @@ info: |
es5id: 15.7.4.2_A2_T04
description: radix is 5
---*/
+assert.sameValue(Number.prototype.toString(5), "0", 'Number.prototype.toString(5) must return "0"');
+assert.sameValue((new Number()).toString(5), "0", '(new Number()).toString(5) must return "0"');
+assert.sameValue((new Number(0)).toString(5), "0", '(new Number(0)).toString(5) must return "0"');
+assert.sameValue((new Number(-1)).toString(5), "-1", '(new Number(-1)).toString(5) must return "-1"');
+assert.sameValue((new Number(1)).toString(5), "1", '(new Number(1)).toString(5) must return "1"');
-//CHECK#1
-if (Number.prototype.toString(5) !== "0") {
- throw new Test262Error('#1: Number.prototype.toString(5) === "0"');
-}
+assert.sameValue(
+ (new Number(Number.NaN)).toString(5),
+ "NaN",
+ '(new Number(Number.NaN)).toString(5) must return "NaN"'
+);
-//CHECK#2
-if ((new Number()).toString(5) !== "0") {
- throw new Test262Error('#2: (new Number()).toString(5) === "0"');
-}
+assert.sameValue(
+ (new Number(Number.POSITIVE_INFINITY)).toString(5),
+ "Infinity",
+ '(new Number(Number.POSITIVE_INFINITY)).toString(5) must return "Infinity"'
+);
-//CHECK#3
-if ((new Number(0)).toString(5) !== "0") {
- throw new Test262Error('#3: (new Number(0)).toString(5) === "0"');
-}
-
-//CHECK#4
-if ((new Number(-1)).toString(5) !== "-1") {
- throw new Test262Error('#4: (new Number(-1)).toString(5) === "-1"');
-}
-
-//CHECK#5
-if ((new Number(1)).toString(5) !== "1") {
- throw new Test262Error('#5: (new Number(1)).toString(5) === "1"');
-}
-
-//CHECK#6
-if ((new Number(Number.NaN)).toString(5) !== "NaN") {
- throw new Test262Error('#6: (new Number(Number.NaN)).toString(5) === "NaN"');
-}
-
-//CHECK#7
-if ((new Number(Number.POSITIVE_INFINITY)).toString(5) !== "Infinity") {
- throw new Test262Error('#7: (new Number(Number.POSITIVE_INFINITY)).toString(5) === "Infinity"');
-}
-
-//CHECK#8
-if ((new Number(Number.NEGATIVE_INFINITY)).toString(5) !== "-Infinity") {
- throw new Test262Error('#8: (new Number(Number.NEGATIVE_INFINITY)).toString(5) === "-Infinity"');
-}
+assert.sameValue(
+ (new Number(Number.NEGATIVE_INFINITY)).toString(5),
+ "-Infinity",
+ '(new Number(Number.NEGATIVE_INFINITY)).toString(5) must return "-Infinity"'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A2_T05.js b/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A2_T05.js
index 53ec56020af6..dad8b716943d 100644
--- a/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A2_T05.js
+++ b/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A2_T05.js
@@ -8,45 +8,28 @@ info: |
es5id: 15.7.4.2_A2_T05
description: radix is 6
---*/
+assert.sameValue(Number.prototype.toString(6), "0", 'Number.prototype.toString(6) must return "0"');
+assert.sameValue((new Number()).toString(6), "0", '(new Number()).toString(6) must return "0"');
+assert.sameValue((new Number(0)).toString(6), "0", '(new Number(0)).toString(6) must return "0"');
+assert.sameValue((new Number(-1)).toString(6), "-1", '(new Number(-1)).toString(6) must return "-1"');
+assert.sameValue((new Number(1)).toString(6), "1", '(new Number(1)).toString(6) must return "1"');
-//CHECK#1
-if (Number.prototype.toString(6) !== "0") {
- throw new Test262Error('#1: Number.prototype.toString(6) === "0"');
-}
+assert.sameValue(
+ (new Number(Number.NaN)).toString(6),
+ "NaN",
+ '(new Number(Number.NaN)).toString(6) must return "NaN"'
+);
-//CHECK#2
-if ((new Number()).toString(6) !== "0") {
- throw new Test262Error('#2: (new Number()).toString(6) === "0"');
-}
+assert.sameValue(
+ (new Number(Number.POSITIVE_INFINITY)).toString(6),
+ "Infinity",
+ '(new Number(Number.POSITIVE_INFINITY)).toString(6) must return "Infinity"'
+);
-//CHECK#3
-if ((new Number(0)).toString(6) !== "0") {
- throw new Test262Error('#3: (new Number(0)).toString(6) === "0"');
-}
-
-//CHECK#4
-if ((new Number(-1)).toString(6) !== "-1") {
- throw new Test262Error('#4: (new Number(-1)).toString(6) === "-1"');
-}
-
-//CHECK#5
-if ((new Number(1)).toString(6) !== "1") {
- throw new Test262Error('#5: (new Number(1)).toString(6) === "1"');
-}
-
-//CHECK#6
-if ((new Number(Number.NaN)).toString(6) !== "NaN") {
- throw new Test262Error('#6: (new Number(Number.NaN)).toString(6) === "NaN"');
-}
-
-//CHECK#7
-if ((new Number(Number.POSITIVE_INFINITY)).toString(6) !== "Infinity") {
- throw new Test262Error('#7: (new Number(Number.POSITIVE_INFINITY)).toString(6) === "Infinity"');
-}
-
-//CHECK#8
-if ((new Number(Number.NEGATIVE_INFINITY)).toString(6) !== "-Infinity") {
- throw new Test262Error('#8: (new Number(Number.NEGATIVE_INFINITY)).toString(6) === "-Infinity"');
-}
+assert.sameValue(
+ (new Number(Number.NEGATIVE_INFINITY)).toString(6),
+ "-Infinity",
+ '(new Number(Number.NEGATIVE_INFINITY)).toString(6) must return "-Infinity"'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A2_T06.js b/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A2_T06.js
index 4eece7b7d3c2..0eed1bd91864 100644
--- a/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A2_T06.js
+++ b/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A2_T06.js
@@ -8,45 +8,28 @@ info: |
es5id: 15.7.4.2_A2_T06
description: radix is 7
---*/
+assert.sameValue(Number.prototype.toString(7), "0", 'Number.prototype.toString(7) must return "0"');
+assert.sameValue((new Number()).toString(7), "0", '(new Number()).toString(7) must return "0"');
+assert.sameValue((new Number(0)).toString(7), "0", '(new Number(0)).toString(7) must return "0"');
+assert.sameValue((new Number(-1)).toString(7), "-1", '(new Number(-1)).toString(7) must return "-1"');
+assert.sameValue((new Number(1)).toString(7), "1", '(new Number(1)).toString(7) must return "1"');
-//CHECK#1
-if (Number.prototype.toString(7) !== "0") {
- throw new Test262Error('#1: Number.prototype.toString(7) === "0"');
-}
+assert.sameValue(
+ (new Number(Number.NaN)).toString(7),
+ "NaN",
+ '(new Number(Number.NaN)).toString(7) must return "NaN"'
+);
-//CHECK#2
-if ((new Number()).toString(7) !== "0") {
- throw new Test262Error('#2: (new Number()).toString(7) === "0"');
-}
+assert.sameValue(
+ (new Number(Number.POSITIVE_INFINITY)).toString(7),
+ "Infinity",
+ '(new Number(Number.POSITIVE_INFINITY)).toString(7) must return "Infinity"'
+);
-//CHECK#3
-if ((new Number(0)).toString(7) !== "0") {
- throw new Test262Error('#3: (new Number(0)).toString(7) === "0"');
-}
-
-//CHECK#4
-if ((new Number(-1)).toString(7) !== "-1") {
- throw new Test262Error('#4: (new Number(-1)).toString(7) === "-1"');
-}
-
-//CHECK#5
-if ((new Number(1)).toString(7) !== "1") {
- throw new Test262Error('#5: (new Number(1)).toString(7) === "1"');
-}
-
-//CHECK#6
-if ((new Number(Number.NaN)).toString(7) !== "NaN") {
- throw new Test262Error('#6: (new Number(Number.NaN)).toString(7) === "NaN"');
-}
-
-//CHECK#7
-if ((new Number(Number.POSITIVE_INFINITY)).toString(7) !== "Infinity") {
- throw new Test262Error('#7: (new Number(Number.POSITIVE_INFINITY)).toString(7) === "Infinity"');
-}
-
-//CHECK#8
-if ((new Number(Number.NEGATIVE_INFINITY)).toString(7) !== "-Infinity") {
- throw new Test262Error('#8: (new Number(Number.NEGATIVE_INFINITY)).toString(7) === "-Infinity"');
-}
+assert.sameValue(
+ (new Number(Number.NEGATIVE_INFINITY)).toString(7),
+ "-Infinity",
+ '(new Number(Number.NEGATIVE_INFINITY)).toString(7) must return "-Infinity"'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A2_T07.js b/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A2_T07.js
index 6bfcffa75dc4..95a98e7edd4b 100644
--- a/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A2_T07.js
+++ b/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A2_T07.js
@@ -8,45 +8,28 @@ info: |
es5id: 15.7.4.2_A2_T07
description: radix is 8
---*/
+assert.sameValue(Number.prototype.toString(8), "0", 'Number.prototype.toString(8) must return "0"');
+assert.sameValue((new Number()).toString(8), "0", '(new Number()).toString(8) must return "0"');
+assert.sameValue((new Number(0)).toString(8), "0", '(new Number(0)).toString(8) must return "0"');
+assert.sameValue((new Number(-1)).toString(8), "-1", '(new Number(-1)).toString(8) must return "-1"');
+assert.sameValue((new Number(1)).toString(8), "1", '(new Number(1)).toString(8) must return "1"');
-//CHECK#1
-if (Number.prototype.toString(8) !== "0") {
- throw new Test262Error('#1: Number.prototype.toString(8) === "0"');
-}
+assert.sameValue(
+ (new Number(Number.NaN)).toString(8),
+ "NaN",
+ '(new Number(Number.NaN)).toString(8) must return "NaN"'
+);
-//CHECK#2
-if ((new Number()).toString(8) !== "0") {
- throw new Test262Error('#2: (new Number()).toString(8) === "0"');
-}
+assert.sameValue(
+ (new Number(Number.POSITIVE_INFINITY)).toString(8),
+ "Infinity",
+ '(new Number(Number.POSITIVE_INFINITY)).toString(8) must return "Infinity"'
+);
-//CHECK#3
-if ((new Number(0)).toString(8) !== "0") {
- throw new Test262Error('#3: (new Number(0)).toString(8) === "0"');
-}
-
-//CHECK#4
-if ((new Number(-1)).toString(8) !== "-1") {
- throw new Test262Error('#4: (new Number(-1)).toString(8) === "-1"');
-}
-
-//CHECK#5
-if ((new Number(1)).toString(8) !== "1") {
- throw new Test262Error('#5: (new Number(1)).toString(8) === "1"');
-}
-
-//CHECK#6
-if ((new Number(Number.NaN)).toString(8) !== "NaN") {
- throw new Test262Error('#6: (new Number(Number.NaN)).toString(8) === "NaN"');
-}
-
-//CHECK#7
-if ((new Number(Number.POSITIVE_INFINITY)).toString(8) !== "Infinity") {
- throw new Test262Error('#7: (new Number(Number.POSITIVE_INFINITY)).toString(8) === "Infinity"');
-}
-
-//CHECK#8
-if ((new Number(Number.NEGATIVE_INFINITY)).toString(8) !== "-Infinity") {
- throw new Test262Error('#8: (new Number(Number.NEGATIVE_INFINITY)).toString(8) === "-Infinity"');
-}
+assert.sameValue(
+ (new Number(Number.NEGATIVE_INFINITY)).toString(8),
+ "-Infinity",
+ '(new Number(Number.NEGATIVE_INFINITY)).toString(8) must return "-Infinity"'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A2_T08.js b/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A2_T08.js
index 37332961a9a1..c19c015f01e0 100644
--- a/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A2_T08.js
+++ b/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A2_T08.js
@@ -8,45 +8,28 @@ info: |
es5id: 15.7.4.2_A2_T08
description: radix is 9
---*/
+assert.sameValue(Number.prototype.toString(9), "0", 'Number.prototype.toString(9) must return "0"');
+assert.sameValue((new Number()).toString(9), "0", '(new Number()).toString(9) must return "0"');
+assert.sameValue((new Number(0)).toString(9), "0", '(new Number(0)).toString(9) must return "0"');
+assert.sameValue((new Number(-1)).toString(9), "-1", '(new Number(-1)).toString(9) must return "-1"');
+assert.sameValue((new Number(1)).toString(9), "1", '(new Number(1)).toString(9) must return "1"');
-//CHECK#1
-if (Number.prototype.toString(9) !== "0") {
- throw new Test262Error('#1: Number.prototype.toString(9) === "0"');
-}
+assert.sameValue(
+ (new Number(Number.NaN)).toString(9),
+ "NaN",
+ '(new Number(Number.NaN)).toString(9) must return "NaN"'
+);
-//CHECK#2
-if ((new Number()).toString(9) !== "0") {
- throw new Test262Error('#2: (new Number()).toString(9) === "0"');
-}
+assert.sameValue(
+ (new Number(Number.POSITIVE_INFINITY)).toString(9),
+ "Infinity",
+ '(new Number(Number.POSITIVE_INFINITY)).toString(9) must return "Infinity"'
+);
-//CHECK#3
-if ((new Number(0)).toString(9) !== "0") {
- throw new Test262Error('#3: (new Number(0)).toString(9) === "0"');
-}
-
-//CHECK#4
-if ((new Number(-1)).toString(9) !== "-1") {
- throw new Test262Error('#4: (new Number(-1)).toString(9) === "-1"');
-}
-
-//CHECK#5
-if ((new Number(1)).toString(9) !== "1") {
- throw new Test262Error('#5: (new Number(1)).toString(9) === "1"');
-}
-
-//CHECK#6
-if ((new Number(Number.NaN)).toString(9) !== "NaN") {
- throw new Test262Error('#6: (new Number(Number.NaN)).toString(9) === "NaN"');
-}
-
-//CHECK#7
-if ((new Number(Number.POSITIVE_INFINITY)).toString(9) !== "Infinity") {
- throw new Test262Error('#7: (new Number(Number.POSITIVE_INFINITY)).toString(9) === "Infinity"');
-}
-
-//CHECK#8
-if ((new Number(Number.NEGATIVE_INFINITY)).toString(9) !== "-Infinity") {
- throw new Test262Error('#8: (new Number(Number.NEGATIVE_INFINITY)).toString(9) === "-Infinity"');
-}
+assert.sameValue(
+ (new Number(Number.NEGATIVE_INFINITY)).toString(9),
+ "-Infinity",
+ '(new Number(Number.NEGATIVE_INFINITY)).toString(9) must return "-Infinity"'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A2_T09.js b/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A2_T09.js
index 58fe2d6be0c7..139c6c40b349 100644
--- a/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A2_T09.js
+++ b/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A2_T09.js
@@ -8,45 +8,28 @@ info: |
es5id: 15.7.4.2_A2_T09
description: radix is 11
---*/
+assert.sameValue(Number.prototype.toString(11), "0", 'Number.prototype.toString(11) must return "0"');
+assert.sameValue((new Number()).toString(11), "0", '(new Number()).toString(11) must return "0"');
+assert.sameValue((new Number(0)).toString(11), "0", '(new Number(0)).toString(11) must return "0"');
+assert.sameValue((new Number(-1)).toString(11), "-1", '(new Number(-1)).toString(11) must return "-1"');
+assert.sameValue((new Number(1)).toString(11), "1", '(new Number(1)).toString(11) must return "1"');
-//CHECK#1
-if (Number.prototype.toString(11) !== "0") {
- throw new Test262Error('#1: Number.prototype.toString(11) === "0"');
-}
+assert.sameValue(
+ (new Number(Number.NaN)).toString(11),
+ "NaN",
+ '(new Number(Number.NaN)).toString(11) must return "NaN"'
+);
-//CHECK#2
-if ((new Number()).toString(11) !== "0") {
- throw new Test262Error('#2: (new Number()).toString(11) === "0"');
-}
+assert.sameValue(
+ (new Number(Number.POSITIVE_INFINITY)).toString(11),
+ "Infinity",
+ '(new Number(Number.POSITIVE_INFINITY)).toString(11) must return "Infinity"'
+);
-//CHECK#3
-if ((new Number(0)).toString(11) !== "0") {
- throw new Test262Error('#3: (new Number(0)).toString(11) === "0"');
-}
-
-//CHECK#4
-if ((new Number(-1)).toString(11) !== "-1") {
- throw new Test262Error('#4: (new Number(-1)).toString(11) === "-1"');
-}
-
-//CHECK#5
-if ((new Number(1)).toString(11) !== "1") {
- throw new Test262Error('#5: (new Number(1)).toString(11) === "1"');
-}
-
-//CHECK#6
-if ((new Number(Number.NaN)).toString(11) !== "NaN") {
- throw new Test262Error('#6: (new Number(Number.NaN)).toString(11) === "NaN"');
-}
-
-//CHECK#7
-if ((new Number(Number.POSITIVE_INFINITY)).toString(11) !== "Infinity") {
- throw new Test262Error('#7: (new Number(Number.POSITIVE_INFINITY)).toString(11) === "Infinity"');
-}
-
-//CHECK#8
-if ((new Number(Number.NEGATIVE_INFINITY)).toString(11) !== "-Infinity") {
- throw new Test262Error('#8: (new Number(Number.NEGATIVE_INFINITY)).toString(11) === "-Infinity"');
-}
+assert.sameValue(
+ (new Number(Number.NEGATIVE_INFINITY)).toString(11),
+ "-Infinity",
+ '(new Number(Number.NEGATIVE_INFINITY)).toString(11) must return "-Infinity"'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A2_T10.js b/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A2_T10.js
index e2b8e5924f47..8cd2862ac48d 100644
--- a/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A2_T10.js
+++ b/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A2_T10.js
@@ -8,45 +8,28 @@ info: |
es5id: 15.7.4.2_A2_T10
description: radix is 12
---*/
+assert.sameValue(Number.prototype.toString(12), "0", 'Number.prototype.toString(12) must return "0"');
+assert.sameValue((new Number()).toString(12), "0", '(new Number()).toString(12) must return "0"');
+assert.sameValue((new Number(0)).toString(12), "0", '(new Number(0)).toString(12) must return "0"');
+assert.sameValue((new Number(-1)).toString(12), "-1", '(new Number(-1)).toString(12) must return "-1"');
+assert.sameValue((new Number(1)).toString(12), "1", '(new Number(1)).toString(12) must return "1"');
-//CHECK#1
-if (Number.prototype.toString(12) !== "0") {
- throw new Test262Error('#1: Number.prototype.toString(12) === "0"');
-}
+assert.sameValue(
+ (new Number(Number.NaN)).toString(12),
+ "NaN",
+ '(new Number(Number.NaN)).toString(12) must return "NaN"'
+);
-//CHECK#2
-if ((new Number()).toString(12) !== "0") {
- throw new Test262Error('#2: (new Number()).toString(12) === "0"');
-}
+assert.sameValue(
+ (new Number(Number.POSITIVE_INFINITY)).toString(12),
+ "Infinity",
+ '(new Number(Number.POSITIVE_INFINITY)).toString(12) must return "Infinity"'
+);
-//CHECK#3
-if ((new Number(0)).toString(12) !== "0") {
- throw new Test262Error('#3: (new Number(0)).toString(12) === "0"');
-}
-
-//CHECK#4
-if ((new Number(-1)).toString(12) !== "-1") {
- throw new Test262Error('#4: (new Number(-1)).toString(12) === "-1"');
-}
-
-//CHECK#5
-if ((new Number(1)).toString(12) !== "1") {
- throw new Test262Error('#5: (new Number(1)).toString(12) === "1"');
-}
-
-//CHECK#6
-if ((new Number(Number.NaN)).toString(12) !== "NaN") {
- throw new Test262Error('#6: (new Number(Number.NaN)).toString(12) === "NaN"');
-}
-
-//CHECK#7
-if ((new Number(Number.POSITIVE_INFINITY)).toString(12) !== "Infinity") {
- throw new Test262Error('#7: (new Number(Number.POSITIVE_INFINITY)).toString(12) === "Infinity"');
-}
-
-//CHECK#8
-if ((new Number(Number.NEGATIVE_INFINITY)).toString(12) !== "-Infinity") {
- throw new Test262Error('#8: (new Number(Number.NEGATIVE_INFINITY)).toString(12) === "-Infinity"');
-}
+assert.sameValue(
+ (new Number(Number.NEGATIVE_INFINITY)).toString(12),
+ "-Infinity",
+ '(new Number(Number.NEGATIVE_INFINITY)).toString(12) must return "-Infinity"'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A2_T11.js b/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A2_T11.js
index f425d7c56335..2e6279cf9764 100644
--- a/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A2_T11.js
+++ b/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A2_T11.js
@@ -8,45 +8,28 @@ info: |
es5id: 15.7.4.2_A2_T11
description: radix is 13
---*/
+assert.sameValue(Number.prototype.toString(13), "0", 'Number.prototype.toString(13) must return "0"');
+assert.sameValue((new Number()).toString(13), "0", '(new Number()).toString(13) must return "0"');
+assert.sameValue((new Number(0)).toString(13), "0", '(new Number(0)).toString(13) must return "0"');
+assert.sameValue((new Number(-1)).toString(13), "-1", '(new Number(-1)).toString(13) must return "-1"');
+assert.sameValue((new Number(1)).toString(13), "1", '(new Number(1)).toString(13) must return "1"');
-//CHECK#1
-if (Number.prototype.toString(13) !== "0") {
- throw new Test262Error('#1: Number.prototype.toString(13) === "0"');
-}
+assert.sameValue(
+ (new Number(Number.NaN)).toString(13),
+ "NaN",
+ '(new Number(Number.NaN)).toString(13) must return "NaN"'
+);
-//CHECK#2
-if ((new Number()).toString(13) !== "0") {
- throw new Test262Error('#2: (new Number()).toString(13) === "0"');
-}
+assert.sameValue(
+ (new Number(Number.POSITIVE_INFINITY)).toString(13),
+ "Infinity",
+ '(new Number(Number.POSITIVE_INFINITY)).toString(13) must return "Infinity"'
+);
-//CHECK#3
-if ((new Number(0)).toString(13) !== "0") {
- throw new Test262Error('#3: (new Number(0)).toString(13) === "0"');
-}
-
-//CHECK#4
-if ((new Number(-1)).toString(13) !== "-1") {
- throw new Test262Error('#4: (new Number(-1)).toString(13) === "-1"');
-}
-
-//CHECK#5
-if ((new Number(1)).toString(13) !== "1") {
- throw new Test262Error('#5: (new Number(1)).toString(13) === "1"');
-}
-
-//CHECK#6
-if ((new Number(Number.NaN)).toString(13) !== "NaN") {
- throw new Test262Error('#6: (new Number(Number.NaN)).toString(13) === "NaN"');
-}
-
-//CHECK#7
-if ((new Number(Number.POSITIVE_INFINITY)).toString(13) !== "Infinity") {
- throw new Test262Error('#7: (new Number(Number.POSITIVE_INFINITY)).toString(13) === "Infinity"');
-}
-
-//CHECK#8
-if ((new Number(Number.NEGATIVE_INFINITY)).toString(13) !== "-Infinity") {
- throw new Test262Error('#8: (new Number(Number.NEGATIVE_INFINITY)).toString(13) === "-Infinity"');
-}
+assert.sameValue(
+ (new Number(Number.NEGATIVE_INFINITY)).toString(13),
+ "-Infinity",
+ '(new Number(Number.NEGATIVE_INFINITY)).toString(13) must return "-Infinity"'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A2_T12.js b/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A2_T12.js
index 62ff69e8b4fe..ef1ac373a1e5 100644
--- a/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A2_T12.js
+++ b/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A2_T12.js
@@ -8,45 +8,28 @@ info: |
es5id: 15.7.4.2_A2_T12
description: radix is 14
---*/
+assert.sameValue(Number.prototype.toString(14), "0", 'Number.prototype.toString(14) must return "0"');
+assert.sameValue((new Number()).toString(14), "0", '(new Number()).toString(14) must return "0"');
+assert.sameValue((new Number(0)).toString(14), "0", '(new Number(0)).toString(14) must return "0"');
+assert.sameValue((new Number(-1)).toString(14), "-1", '(new Number(-1)).toString(14) must return "-1"');
+assert.sameValue((new Number(1)).toString(14), "1", '(new Number(1)).toString(14) must return "1"');
-//CHECK#1
-if (Number.prototype.toString(14) !== "0") {
- throw new Test262Error('#1: Number.prototype.toString(14) === "0"');
-}
+assert.sameValue(
+ (new Number(Number.NaN)).toString(14),
+ "NaN",
+ '(new Number(Number.NaN)).toString(14) must return "NaN"'
+);
-//CHECK#2
-if ((new Number()).toString(14) !== "0") {
- throw new Test262Error('#2: (new Number()).toString(14) === "0"');
-}
+assert.sameValue(
+ (new Number(Number.POSITIVE_INFINITY)).toString(14),
+ "Infinity",
+ '(new Number(Number.POSITIVE_INFINITY)).toString(14) must return "Infinity"'
+);
-//CHECK#3
-if ((new Number(0)).toString(14) !== "0") {
- throw new Test262Error('#3: (new Number(0)).toString(14) === "0"');
-}
-
-//CHECK#4
-if ((new Number(-1)).toString(14) !== "-1") {
- throw new Test262Error('#4: (new Number(-1)).toString(14) === "-1"');
-}
-
-//CHECK#5
-if ((new Number(1)).toString(14) !== "1") {
- throw new Test262Error('#5: (new Number(1)).toString(14) === "1"');
-}
-
-//CHECK#6
-if ((new Number(Number.NaN)).toString(14) !== "NaN") {
- throw new Test262Error('#6: (new Number(Number.NaN)).toString(14) === "NaN"');
-}
-
-//CHECK#7
-if ((new Number(Number.POSITIVE_INFINITY)).toString(14) !== "Infinity") {
- throw new Test262Error('#7: (new Number(Number.POSITIVE_INFINITY)).toString(14) === "Infinity"');
-}
-
-//CHECK#8
-if ((new Number(Number.NEGATIVE_INFINITY)).toString(14) !== "-Infinity") {
- throw new Test262Error('#8: (new Number(Number.NEGATIVE_INFINITY)).toString(14) === "-Infinity"');
-}
+assert.sameValue(
+ (new Number(Number.NEGATIVE_INFINITY)).toString(14),
+ "-Infinity",
+ '(new Number(Number.NEGATIVE_INFINITY)).toString(14) must return "-Infinity"'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A2_T13.js b/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A2_T13.js
index e1fb7462cc60..a424274e285e 100644
--- a/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A2_T13.js
+++ b/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A2_T13.js
@@ -8,45 +8,28 @@ info: |
es5id: 15.7.4.2_A2_T13
description: radix is 15
---*/
+assert.sameValue(Number.prototype.toString(15), "0", 'Number.prototype.toString(15) must return "0"');
+assert.sameValue((new Number()).toString(15), "0", '(new Number()).toString(15) must return "0"');
+assert.sameValue((new Number(0)).toString(15), "0", '(new Number(0)).toString(15) must return "0"');
+assert.sameValue((new Number(-1)).toString(15), "-1", '(new Number(-1)).toString(15) must return "-1"');
+assert.sameValue((new Number(1)).toString(15), "1", '(new Number(1)).toString(15) must return "1"');
-//CHECK#1
-if (Number.prototype.toString(15) !== "0") {
- throw new Test262Error('#1: Number.prototype.toString(15) === "0"');
-}
+assert.sameValue(
+ (new Number(Number.NaN)).toString(15),
+ "NaN",
+ '(new Number(Number.NaN)).toString(15) must return "NaN"'
+);
-//CHECK#2
-if ((new Number()).toString(15) !== "0") {
- throw new Test262Error('#2: (new Number()).toString(15) === "0"');
-}
+assert.sameValue(
+ (new Number(Number.POSITIVE_INFINITY)).toString(15),
+ "Infinity",
+ '(new Number(Number.POSITIVE_INFINITY)).toString(15) must return "Infinity"'
+);
-//CHECK#3
-if ((new Number(0)).toString(15) !== "0") {
- throw new Test262Error('#3: (new Number(0)).toString(15) === "0"');
-}
-
-//CHECK#4
-if ((new Number(-1)).toString(15) !== "-1") {
- throw new Test262Error('#4: (new Number(-1)).toString(15) === "-1"');
-}
-
-//CHECK#5
-if ((new Number(1)).toString(15) !== "1") {
- throw new Test262Error('#5: (new Number(1)).toString(15) === "1"');
-}
-
-//CHECK#6
-if ((new Number(Number.NaN)).toString(15) !== "NaN") {
- throw new Test262Error('#6: (new Number(Number.NaN)).toString(15) === "NaN"');
-}
-
-//CHECK#7
-if ((new Number(Number.POSITIVE_INFINITY)).toString(15) !== "Infinity") {
- throw new Test262Error('#7: (new Number(Number.POSITIVE_INFINITY)).toString(15) === "Infinity"');
-}
-
-//CHECK#8
-if ((new Number(Number.NEGATIVE_INFINITY)).toString(15) !== "-Infinity") {
- throw new Test262Error('#8: (new Number(Number.NEGATIVE_INFINITY)).toString(15) === "-Infinity"');
-}
+assert.sameValue(
+ (new Number(Number.NEGATIVE_INFINITY)).toString(15),
+ "-Infinity",
+ '(new Number(Number.NEGATIVE_INFINITY)).toString(15) must return "-Infinity"'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A2_T14.js b/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A2_T14.js
index 6b213cafd7f5..2f65b2b23c6c 100644
--- a/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A2_T14.js
+++ b/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A2_T14.js
@@ -8,45 +8,28 @@ info: |
es5id: 15.7.4.2_A2_T14
description: radix is 16
---*/
+assert.sameValue(Number.prototype.toString(16), "0", 'Number.prototype.toString(16) must return "0"');
+assert.sameValue((new Number()).toString(16), "0", '(new Number()).toString(16) must return "0"');
+assert.sameValue((new Number(0)).toString(16), "0", '(new Number(0)).toString(16) must return "0"');
+assert.sameValue((new Number(-1)).toString(16), "-1", '(new Number(-1)).toString(16) must return "-1"');
+assert.sameValue((new Number(1)).toString(16), "1", '(new Number(1)).toString(16) must return "1"');
-//CHECK#1
-if (Number.prototype.toString(16) !== "0") {
- throw new Test262Error('#1: Number.prototype.toString(16) === "0"');
-}
+assert.sameValue(
+ (new Number(Number.NaN)).toString(16),
+ "NaN",
+ '(new Number(Number.NaN)).toString(16) must return "NaN"'
+);
-//CHECK#2
-if ((new Number()).toString(16) !== "0") {
- throw new Test262Error('#2: (new Number()).toString(16) === "0"');
-}
+assert.sameValue(
+ (new Number(Number.POSITIVE_INFINITY)).toString(16),
+ "Infinity",
+ '(new Number(Number.POSITIVE_INFINITY)).toString(16) must return "Infinity"'
+);
-//CHECK#3
-if ((new Number(0)).toString(16) !== "0") {
- throw new Test262Error('#3: (new Number(0)).toString(16) === "0"');
-}
-
-//CHECK#4
-if ((new Number(-1)).toString(16) !== "-1") {
- throw new Test262Error('#4: (new Number(-1)).toString(16) === "-1"');
-}
-
-//CHECK#5
-if ((new Number(1)).toString(16) !== "1") {
- throw new Test262Error('#5: (new Number(1)).toString(16) === "1"');
-}
-
-//CHECK#6
-if ((new Number(Number.NaN)).toString(16) !== "NaN") {
- throw new Test262Error('#6: (new Number(Number.NaN)).toString(16) === "NaN"');
-}
-
-//CHECK#7
-if ((new Number(Number.POSITIVE_INFINITY)).toString(16) !== "Infinity") {
- throw new Test262Error('#7: (new Number(Number.POSITIVE_INFINITY)).toString(16) === "Infinity"');
-}
-
-//CHECK#8
-if ((new Number(Number.NEGATIVE_INFINITY)).toString(16) !== "-Infinity") {
- throw new Test262Error('#8: (new Number(Number.NEGATIVE_INFINITY)).toString(16) === "-Infinity"');
-}
+assert.sameValue(
+ (new Number(Number.NEGATIVE_INFINITY)).toString(16),
+ "-Infinity",
+ '(new Number(Number.NEGATIVE_INFINITY)).toString(16) must return "-Infinity"'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A2_T15.js b/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A2_T15.js
index 17e9f1e57e1c..ea4c92bf8519 100644
--- a/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A2_T15.js
+++ b/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A2_T15.js
@@ -8,45 +8,28 @@ info: |
es5id: 15.7.4.2_A2_T15
description: radix is 17
---*/
+assert.sameValue(Number.prototype.toString(17), "0", 'Number.prototype.toString(17) must return "0"');
+assert.sameValue((new Number()).toString(17), "0", '(new Number()).toString(17) must return "0"');
+assert.sameValue((new Number(0)).toString(17), "0", '(new Number(0)).toString(17) must return "0"');
+assert.sameValue((new Number(-1)).toString(17), "-1", '(new Number(-1)).toString(17) must return "-1"');
+assert.sameValue((new Number(1)).toString(17), "1", '(new Number(1)).toString(17) must return "1"');
-//CHECK#1
-if (Number.prototype.toString(17) !== "0") {
- throw new Test262Error('#1: Number.prototype.toString(17) === "0"');
-}
+assert.sameValue(
+ (new Number(Number.NaN)).toString(17),
+ "NaN",
+ '(new Number(Number.NaN)).toString(17) must return "NaN"'
+);
-//CHECK#2
-if ((new Number()).toString(17) !== "0") {
- throw new Test262Error('#2: (new Number()).toString(17) === "0"');
-}
+assert.sameValue(
+ (new Number(Number.POSITIVE_INFINITY)).toString(17),
+ "Infinity",
+ '(new Number(Number.POSITIVE_INFINITY)).toString(17) must return "Infinity"'
+);
-//CHECK#3
-if ((new Number(0)).toString(17) !== "0") {
- throw new Test262Error('#3: (new Number(0)).toString(17) === "0"');
-}
-
-//CHECK#4
-if ((new Number(-1)).toString(17) !== "-1") {
- throw new Test262Error('#4: (new Number(-1)).toString(17) === "-1"');
-}
-
-//CHECK#5
-if ((new Number(1)).toString(17) !== "1") {
- throw new Test262Error('#5: (new Number(1)).toString(17) === "1"');
-}
-
-//CHECK#6
-if ((new Number(Number.NaN)).toString(17) !== "NaN") {
- throw new Test262Error('#6: (new Number(Number.NaN)).toString(17) === "NaN"');
-}
-
-//CHECK#7
-if ((new Number(Number.POSITIVE_INFINITY)).toString(17) !== "Infinity") {
- throw new Test262Error('#7: (new Number(Number.POSITIVE_INFINITY)).toString(17) === "Infinity"');
-}
-
-//CHECK#8
-if ((new Number(Number.NEGATIVE_INFINITY)).toString(17) !== "-Infinity") {
- throw new Test262Error('#8: (new Number(Number.NEGATIVE_INFINITY)).toString(17) === "-Infinity"');
-}
+assert.sameValue(
+ (new Number(Number.NEGATIVE_INFINITY)).toString(17),
+ "-Infinity",
+ '(new Number(Number.NEGATIVE_INFINITY)).toString(17) must return "-Infinity"'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A2_T16.js b/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A2_T16.js
index b302f9587ee7..293b161a25d1 100644
--- a/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A2_T16.js
+++ b/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A2_T16.js
@@ -8,45 +8,28 @@ info: |
es5id: 15.7.4.2_A2_T16
description: radix is 18
---*/
+assert.sameValue(Number.prototype.toString(18), "0", 'Number.prototype.toString(18) must return "0"');
+assert.sameValue((new Number()).toString(18), "0", '(new Number()).toString(18) must return "0"');
+assert.sameValue((new Number(0)).toString(18), "0", '(new Number(0)).toString(18) must return "0"');
+assert.sameValue((new Number(-1)).toString(18), "-1", '(new Number(-1)).toString(18) must return "-1"');
+assert.sameValue((new Number(1)).toString(18), "1", '(new Number(1)).toString(18) must return "1"');
-//CHECK#1
-if (Number.prototype.toString(18) !== "0") {
- throw new Test262Error('#1: Number.prototype.toString(18) === "0"');
-}
+assert.sameValue(
+ (new Number(Number.NaN)).toString(18),
+ "NaN",
+ '(new Number(Number.NaN)).toString(18) must return "NaN"'
+);
-//CHECK#2
-if ((new Number()).toString(18) !== "0") {
- throw new Test262Error('#2: (new Number()).toString(18) === "0"');
-}
+assert.sameValue(
+ (new Number(Number.POSITIVE_INFINITY)).toString(18),
+ "Infinity",
+ '(new Number(Number.POSITIVE_INFINITY)).toString(18) must return "Infinity"'
+);
-//CHECK#3
-if ((new Number(0)).toString(18) !== "0") {
- throw new Test262Error('#3: (new Number(0)).toString(18) === "0"');
-}
-
-//CHECK#4
-if ((new Number(-1)).toString(18) !== "-1") {
- throw new Test262Error('#4: (new Number(-1)).toString(18) === "-1"');
-}
-
-//CHECK#5
-if ((new Number(1)).toString(18) !== "1") {
- throw new Test262Error('#5: (new Number(1)).toString(18) === "1"');
-}
-
-//CHECK#6
-if ((new Number(Number.NaN)).toString(18) !== "NaN") {
- throw new Test262Error('#6: (new Number(Number.NaN)).toString(18) === "NaN"');
-}
-
-//CHECK#7
-if ((new Number(Number.POSITIVE_INFINITY)).toString(18) !== "Infinity") {
- throw new Test262Error('#7: (new Number(Number.POSITIVE_INFINITY)).toString(18) === "Infinity"');
-}
-
-//CHECK#8
-if ((new Number(Number.NEGATIVE_INFINITY)).toString(18) !== "-Infinity") {
- throw new Test262Error('#8: (new Number(Number.NEGATIVE_INFINITY)).toString(18) === "-Infinity"');
-}
+assert.sameValue(
+ (new Number(Number.NEGATIVE_INFINITY)).toString(18),
+ "-Infinity",
+ '(new Number(Number.NEGATIVE_INFINITY)).toString(18) must return "-Infinity"'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A2_T17.js b/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A2_T17.js
index cbb408233027..8abf41383ed6 100644
--- a/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A2_T17.js
+++ b/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A2_T17.js
@@ -8,45 +8,28 @@ info: |
es5id: 15.7.4.2_A2_T17
description: radix is 19
---*/
+assert.sameValue(Number.prototype.toString(19), "0", 'Number.prototype.toString(19) must return "0"');
+assert.sameValue((new Number()).toString(19), "0", '(new Number()).toString(19) must return "0"');
+assert.sameValue((new Number(0)).toString(19), "0", '(new Number(0)).toString(19) must return "0"');
+assert.sameValue((new Number(-1)).toString(19), "-1", '(new Number(-1)).toString(19) must return "-1"');
+assert.sameValue((new Number(1)).toString(19), "1", '(new Number(1)).toString(19) must return "1"');
-//CHECK#1
-if (Number.prototype.toString(19) !== "0") {
- throw new Test262Error('#1: Number.prototype.toString(19) === "0"');
-}
+assert.sameValue(
+ (new Number(Number.NaN)).toString(19),
+ "NaN",
+ '(new Number(Number.NaN)).toString(19) must return "NaN"'
+);
-//CHECK#2
-if ((new Number()).toString(19) !== "0") {
- throw new Test262Error('#2: (new Number()).toString(19) === "0"');
-}
+assert.sameValue(
+ (new Number(Number.POSITIVE_INFINITY)).toString(19),
+ "Infinity",
+ '(new Number(Number.POSITIVE_INFINITY)).toString(19) must return "Infinity"'
+);
-//CHECK#3
-if ((new Number(0)).toString(19) !== "0") {
- throw new Test262Error('#3: (new Number(0)).toString(19) === "0"');
-}
-
-//CHECK#4
-if ((new Number(-1)).toString(19) !== "-1") {
- throw new Test262Error('#4: (new Number(-1)).toString(19) === "-1"');
-}
-
-//CHECK#5
-if ((new Number(1)).toString(19) !== "1") {
- throw new Test262Error('#5: (new Number(1)).toString(19) === "1"');
-}
-
-//CHECK#6
-if ((new Number(Number.NaN)).toString(19) !== "NaN") {
- throw new Test262Error('#6: (new Number(Number.NaN)).toString(19) === "NaN"');
-}
-
-//CHECK#7
-if ((new Number(Number.POSITIVE_INFINITY)).toString(19) !== "Infinity") {
- throw new Test262Error('#7: (new Number(Number.POSITIVE_INFINITY)).toString(19) === "Infinity"');
-}
-
-//CHECK#8
-if ((new Number(Number.NEGATIVE_INFINITY)).toString(19) !== "-Infinity") {
- throw new Test262Error('#8: (new Number(Number.NEGATIVE_INFINITY)).toString(19) === "-Infinity"');
-}
+assert.sameValue(
+ (new Number(Number.NEGATIVE_INFINITY)).toString(19),
+ "-Infinity",
+ '(new Number(Number.NEGATIVE_INFINITY)).toString(19) must return "-Infinity"'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A2_T18.js b/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A2_T18.js
index 124e3b37c6c7..d6802a9329a8 100644
--- a/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A2_T18.js
+++ b/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A2_T18.js
@@ -8,45 +8,28 @@ info: |
es5id: 15.7.4.2_A2_T18
description: radix is 20
---*/
+assert.sameValue(Number.prototype.toString(20), "0", 'Number.prototype.toString(20) must return "0"');
+assert.sameValue((new Number()).toString(20), "0", '(new Number()).toString(20) must return "0"');
+assert.sameValue((new Number(0)).toString(20), "0", '(new Number(0)).toString(20) must return "0"');
+assert.sameValue((new Number(-1)).toString(20), "-1", '(new Number(-1)).toString(20) must return "-1"');
+assert.sameValue((new Number(1)).toString(20), "1", '(new Number(1)).toString(20) must return "1"');
-//CHECK#1
-if (Number.prototype.toString(20) !== "0") {
- throw new Test262Error('#1: Number.prototype.toString(20) === "0"');
-}
+assert.sameValue(
+ (new Number(Number.NaN)).toString(20),
+ "NaN",
+ '(new Number(Number.NaN)).toString(20) must return "NaN"'
+);
-//CHECK#2
-if ((new Number()).toString(20) !== "0") {
- throw new Test262Error('#2: (new Number()).toString(20) === "0"');
-}
+assert.sameValue(
+ (new Number(Number.POSITIVE_INFINITY)).toString(20),
+ "Infinity",
+ '(new Number(Number.POSITIVE_INFINITY)).toString(20) must return "Infinity"'
+);
-//CHECK#3
-if ((new Number(0)).toString(20) !== "0") {
- throw new Test262Error('#3: (new Number(0)).toString(20) === "0"');
-}
-
-//CHECK#4
-if ((new Number(-1)).toString(20) !== "-1") {
- throw new Test262Error('#4: (new Number(-1)).toString(20) === "-1"');
-}
-
-//CHECK#5
-if ((new Number(1)).toString(20) !== "1") {
- throw new Test262Error('#5: (new Number(1)).toString(20) === "1"');
-}
-
-//CHECK#6
-if ((new Number(Number.NaN)).toString(20) !== "NaN") {
- throw new Test262Error('#6: (new Number(Number.NaN)).toString(20) === "NaN"');
-}
-
-//CHECK#7
-if ((new Number(Number.POSITIVE_INFINITY)).toString(20) !== "Infinity") {
- throw new Test262Error('#7: (new Number(Number.POSITIVE_INFINITY)).toString(20) === "Infinity"');
-}
-
-//CHECK#8
-if ((new Number(Number.NEGATIVE_INFINITY)).toString(20) !== "-Infinity") {
- throw new Test262Error('#8: (new Number(Number.NEGATIVE_INFINITY)).toString(20) === "-Infinity"');
-}
+assert.sameValue(
+ (new Number(Number.NEGATIVE_INFINITY)).toString(20),
+ "-Infinity",
+ '(new Number(Number.NEGATIVE_INFINITY)).toString(20) must return "-Infinity"'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A2_T19.js b/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A2_T19.js
index 990ea22fb1f1..a4a4bf68fdfb 100644
--- a/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A2_T19.js
+++ b/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A2_T19.js
@@ -8,45 +8,28 @@ info: |
es5id: 15.7.4.2_A2_T19
description: radix is 21
---*/
+assert.sameValue(Number.prototype.toString(21), "0", 'Number.prototype.toString(21) must return "0"');
+assert.sameValue((new Number()).toString(21), "0", '(new Number()).toString(21) must return "0"');
+assert.sameValue((new Number(0)).toString(21), "0", '(new Number(0)).toString(21) must return "0"');
+assert.sameValue((new Number(-1)).toString(21), "-1", '(new Number(-1)).toString(21) must return "-1"');
+assert.sameValue((new Number(1)).toString(21), "1", '(new Number(1)).toString(21) must return "1"');
-//CHECK#1
-if (Number.prototype.toString(21) !== "0") {
- throw new Test262Error('#1: Number.prototype.toString(21) === "0"');
-}
+assert.sameValue(
+ (new Number(Number.NaN)).toString(21),
+ "NaN",
+ '(new Number(Number.NaN)).toString(21) must return "NaN"'
+);
-//CHECK#2
-if ((new Number()).toString(21) !== "0") {
- throw new Test262Error('#2: (new Number()).toString(21) === "0"');
-}
+assert.sameValue(
+ (new Number(Number.POSITIVE_INFINITY)).toString(21),
+ "Infinity",
+ '(new Number(Number.POSITIVE_INFINITY)).toString(21) must return "Infinity"'
+);
-//CHECK#3
-if ((new Number(0)).toString(21) !== "0") {
- throw new Test262Error('#3: (new Number(0)).toString(21) === "0"');
-}
-
-//CHECK#4
-if ((new Number(-1)).toString(21) !== "-1") {
- throw new Test262Error('#4: (new Number(-1)).toString(21) === "-1"');
-}
-
-//CHECK#5
-if ((new Number(1)).toString(21) !== "1") {
- throw new Test262Error('#5: (new Number(1)).toString(21) === "1"');
-}
-
-//CHECK#6
-if ((new Number(Number.NaN)).toString(21) !== "NaN") {
- throw new Test262Error('#6: (new Number(Number.NaN)).toString(21) === "NaN"');
-}
-
-//CHECK#7
-if ((new Number(Number.POSITIVE_INFINITY)).toString(21) !== "Infinity") {
- throw new Test262Error('#7: (new Number(Number.POSITIVE_INFINITY)).toString(21) === "Infinity"');
-}
-
-//CHECK#8
-if ((new Number(Number.NEGATIVE_INFINITY)).toString(21) !== "-Infinity") {
- throw new Test262Error('#8: (new Number(Number.NEGATIVE_INFINITY)).toString(21) === "-Infinity"');
-}
+assert.sameValue(
+ (new Number(Number.NEGATIVE_INFINITY)).toString(21),
+ "-Infinity",
+ '(new Number(Number.NEGATIVE_INFINITY)).toString(21) must return "-Infinity"'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A2_T20.js b/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A2_T20.js
index 03d547a14f2d..995190f0fb00 100644
--- a/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A2_T20.js
+++ b/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A2_T20.js
@@ -8,45 +8,28 @@ info: |
es5id: 15.7.4.2_A2_T20
description: radix is 22
---*/
+assert.sameValue(Number.prototype.toString(22), "0", 'Number.prototype.toString(22) must return "0"');
+assert.sameValue((new Number()).toString(22), "0", '(new Number()).toString(22) must return "0"');
+assert.sameValue((new Number(0)).toString(22), "0", '(new Number(0)).toString(22) must return "0"');
+assert.sameValue((new Number(-1)).toString(22), "-1", '(new Number(-1)).toString(22) must return "-1"');
+assert.sameValue((new Number(1)).toString(22), "1", '(new Number(1)).toString(22) must return "1"');
-//CHECK#1
-if (Number.prototype.toString(22) !== "0") {
- throw new Test262Error('#1: Number.prototype.toString(22) === "0"');
-}
+assert.sameValue(
+ (new Number(Number.NaN)).toString(22),
+ "NaN",
+ '(new Number(Number.NaN)).toString(22) must return "NaN"'
+);
-//CHECK#2
-if ((new Number()).toString(22) !== "0") {
- throw new Test262Error('#2: (new Number()).toString(22) === "0"');
-}
+assert.sameValue(
+ (new Number(Number.POSITIVE_INFINITY)).toString(22),
+ "Infinity",
+ '(new Number(Number.POSITIVE_INFINITY)).toString(22) must return "Infinity"'
+);
-//CHECK#3
-if ((new Number(0)).toString(22) !== "0") {
- throw new Test262Error('#3: (new Number(0)).toString(22) === "0"');
-}
-
-//CHECK#4
-if ((new Number(-1)).toString(22) !== "-1") {
- throw new Test262Error('#4: (new Number(-1)).toString(22) === "-1"');
-}
-
-//CHECK#5
-if ((new Number(1)).toString(22) !== "1") {
- throw new Test262Error('#5: (new Number(1)).toString(22) === "1"');
-}
-
-//CHECK#6
-if ((new Number(Number.NaN)).toString(22) !== "NaN") {
- throw new Test262Error('#6: (new Number(Number.NaN)).toString(22) === "NaN"');
-}
-
-//CHECK#7
-if ((new Number(Number.POSITIVE_INFINITY)).toString(22) !== "Infinity") {
- throw new Test262Error('#7: (new Number(Number.POSITIVE_INFINITY)).toString(22) === "Infinity"');
-}
-
-//CHECK#8
-if ((new Number(Number.NEGATIVE_INFINITY)).toString(22) !== "-Infinity") {
- throw new Test262Error('#8: (new Number(Number.NEGATIVE_INFINITY)).toString(22) === "-Infinity"');
-}
+assert.sameValue(
+ (new Number(Number.NEGATIVE_INFINITY)).toString(22),
+ "-Infinity",
+ '(new Number(Number.NEGATIVE_INFINITY)).toString(22) must return "-Infinity"'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A2_T21.js b/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A2_T21.js
index f25256697040..6519b6806524 100644
--- a/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A2_T21.js
+++ b/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A2_T21.js
@@ -8,45 +8,28 @@ info: |
es5id: 15.7.4.2_A2_T21
description: radix is 23
---*/
+assert.sameValue(Number.prototype.toString(23), "0", 'Number.prototype.toString(23) must return "0"');
+assert.sameValue((new Number()).toString(23), "0", '(new Number()).toString(23) must return "0"');
+assert.sameValue((new Number(0)).toString(23), "0", '(new Number(0)).toString(23) must return "0"');
+assert.sameValue((new Number(-1)).toString(23), "-1", '(new Number(-1)).toString(23) must return "-1"');
+assert.sameValue((new Number(1)).toString(23), "1", '(new Number(1)).toString(23) must return "1"');
-//CHECK#1
-if (Number.prototype.toString(23) !== "0") {
- throw new Test262Error('#1: Number.prototype.toString(23) === "0"');
-}
+assert.sameValue(
+ (new Number(Number.NaN)).toString(23),
+ "NaN",
+ '(new Number(Number.NaN)).toString(23) must return "NaN"'
+);
-//CHECK#2
-if ((new Number()).toString(23) !== "0") {
- throw new Test262Error('#2: (new Number()).toString(23) === "0"');
-}
+assert.sameValue(
+ (new Number(Number.POSITIVE_INFINITY)).toString(23),
+ "Infinity",
+ '(new Number(Number.POSITIVE_INFINITY)).toString(23) must return "Infinity"'
+);
-//CHECK#3
-if ((new Number(0)).toString(23) !== "0") {
- throw new Test262Error('#3: (new Number(0)).toString(23) === "0"');
-}
-
-//CHECK#4
-if ((new Number(-1)).toString(23) !== "-1") {
- throw new Test262Error('#4: (new Number(-1)).toString(23) === "-1"');
-}
-
-//CHECK#5
-if ((new Number(1)).toString(23) !== "1") {
- throw new Test262Error('#5: (new Number(1)).toString(23) === "1"');
-}
-
-//CHECK#6
-if ((new Number(Number.NaN)).toString(23) !== "NaN") {
- throw new Test262Error('#6: (new Number(Number.NaN)).toString(23) === "NaN"');
-}
-
-//CHECK#7
-if ((new Number(Number.POSITIVE_INFINITY)).toString(23) !== "Infinity") {
- throw new Test262Error('#7: (new Number(Number.POSITIVE_INFINITY)).toString(23) === "Infinity"');
-}
-
-//CHECK#8
-if ((new Number(Number.NEGATIVE_INFINITY)).toString(23) !== "-Infinity") {
- throw new Test262Error('#8: (new Number(Number.NEGATIVE_INFINITY)).toString(23) === "-Infinity"');
-}
+assert.sameValue(
+ (new Number(Number.NEGATIVE_INFINITY)).toString(23),
+ "-Infinity",
+ '(new Number(Number.NEGATIVE_INFINITY)).toString(23) must return "-Infinity"'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A2_T22.js b/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A2_T22.js
index 67fbc701e431..1aa40777a212 100644
--- a/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A2_T22.js
+++ b/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A2_T22.js
@@ -8,45 +8,28 @@ info: |
es5id: 15.7.4.2_A2_T22
description: radix is 24
---*/
+assert.sameValue(Number.prototype.toString(24), "0", 'Number.prototype.toString(24) must return "0"');
+assert.sameValue((new Number()).toString(24), "0", '(new Number()).toString(24) must return "0"');
+assert.sameValue((new Number(0)).toString(24), "0", '(new Number(0)).toString(24) must return "0"');
+assert.sameValue((new Number(-1)).toString(24), "-1", '(new Number(-1)).toString(24) must return "-1"');
+assert.sameValue((new Number(1)).toString(24), "1", '(new Number(1)).toString(24) must return "1"');
-//CHECK#1
-if (Number.prototype.toString(24) !== "0") {
- throw new Test262Error('#1: Number.prototype.toString(24) === "0"');
-}
+assert.sameValue(
+ (new Number(Number.NaN)).toString(24),
+ "NaN",
+ '(new Number(Number.NaN)).toString(24) must return "NaN"'
+);
-//CHECK#2
-if ((new Number()).toString(24) !== "0") {
- throw new Test262Error('#2: (new Number()).toString(24) === "0"');
-}
+assert.sameValue(
+ (new Number(Number.POSITIVE_INFINITY)).toString(24),
+ "Infinity",
+ '(new Number(Number.POSITIVE_INFINITY)).toString(24) must return "Infinity"'
+);
-//CHECK#3
-if ((new Number(0)).toString(24) !== "0") {
- throw new Test262Error('#3: (new Number(0)).toString(24) === "0"');
-}
-
-//CHECK#4
-if ((new Number(-1)).toString(24) !== "-1") {
- throw new Test262Error('#4: (new Number(-1)).toString(24) === "-1"');
-}
-
-//CHECK#5
-if ((new Number(1)).toString(24) !== "1") {
- throw new Test262Error('#5: (new Number(1)).toString(24) === "1"');
-}
-
-//CHECK#6
-if ((new Number(Number.NaN)).toString(24) !== "NaN") {
- throw new Test262Error('#6: (new Number(Number.NaN)).toString(24) === "NaN"');
-}
-
-//CHECK#7
-if ((new Number(Number.POSITIVE_INFINITY)).toString(24) !== "Infinity") {
- throw new Test262Error('#7: (new Number(Number.POSITIVE_INFINITY)).toString(24) === "Infinity"');
-}
-
-//CHECK#8
-if ((new Number(Number.NEGATIVE_INFINITY)).toString(24) !== "-Infinity") {
- throw new Test262Error('#8: (new Number(Number.NEGATIVE_INFINITY)).toString(24) === "-Infinity"');
-}
+assert.sameValue(
+ (new Number(Number.NEGATIVE_INFINITY)).toString(24),
+ "-Infinity",
+ '(new Number(Number.NEGATIVE_INFINITY)).toString(24) must return "-Infinity"'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A2_T23.js b/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A2_T23.js
index cad6658f76b6..0ce411e3d79e 100644
--- a/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A2_T23.js
+++ b/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A2_T23.js
@@ -8,45 +8,28 @@ info: |
es5id: 15.7.4.2_A2_T23
description: radix is 25
---*/
+assert.sameValue(Number.prototype.toString(25), "0", 'Number.prototype.toString(25) must return "0"');
+assert.sameValue((new Number()).toString(25), "0", '(new Number()).toString(25) must return "0"');
+assert.sameValue((new Number(0)).toString(25), "0", '(new Number(0)).toString(25) must return "0"');
+assert.sameValue((new Number(-1)).toString(25), "-1", '(new Number(-1)).toString(25) must return "-1"');
+assert.sameValue((new Number(1)).toString(25), "1", '(new Number(1)).toString(25) must return "1"');
-//CHECK#1
-if (Number.prototype.toString(25) !== "0") {
- throw new Test262Error('#1: Number.prototype.toString(25) === "0"');
-}
+assert.sameValue(
+ (new Number(Number.NaN)).toString(25),
+ "NaN",
+ '(new Number(Number.NaN)).toString(25) must return "NaN"'
+);
-//CHECK#2
-if ((new Number()).toString(25) !== "0") {
- throw new Test262Error('#2: (new Number()).toString(25) === "0"');
-}
+assert.sameValue(
+ (new Number(Number.POSITIVE_INFINITY)).toString(25),
+ "Infinity",
+ '(new Number(Number.POSITIVE_INFINITY)).toString(25) must return "Infinity"'
+);
-//CHECK#3
-if ((new Number(0)).toString(25) !== "0") {
- throw new Test262Error('#3: (new Number(0)).toString(25) === "0"');
-}
-
-//CHECK#4
-if ((new Number(-1)).toString(25) !== "-1") {
- throw new Test262Error('#4: (new Number(-1)).toString(25) === "-1"');
-}
-
-//CHECK#5
-if ((new Number(1)).toString(25) !== "1") {
- throw new Test262Error('#5: (new Number(1)).toString(25) === "1"');
-}
-
-//CHECK#6
-if ((new Number(Number.NaN)).toString(25) !== "NaN") {
- throw new Test262Error('#6: (new Number(Number.NaN)).toString(25) === "NaN"');
-}
-
-//CHECK#7
-if ((new Number(Number.POSITIVE_INFINITY)).toString(25) !== "Infinity") {
- throw new Test262Error('#7: (new Number(Number.POSITIVE_INFINITY)).toString(25) === "Infinity"');
-}
-
-//CHECK#8
-if ((new Number(Number.NEGATIVE_INFINITY)).toString(25) !== "-Infinity") {
- throw new Test262Error('#8: (new Number(Number.NEGATIVE_INFINITY)).toString(25) === "-Infinity"');
-}
+assert.sameValue(
+ (new Number(Number.NEGATIVE_INFINITY)).toString(25),
+ "-Infinity",
+ '(new Number(Number.NEGATIVE_INFINITY)).toString(25) must return "-Infinity"'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A2_T24.js b/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A2_T24.js
index 379b7f208a9f..55f666850d63 100644
--- a/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A2_T24.js
+++ b/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A2_T24.js
@@ -8,45 +8,28 @@ info: |
es5id: 15.7.4.2_A2_T24
description: radix is 26
---*/
+assert.sameValue(Number.prototype.toString(26), "0", 'Number.prototype.toString(26) must return "0"');
+assert.sameValue((new Number()).toString(26), "0", '(new Number()).toString(26) must return "0"');
+assert.sameValue((new Number(0)).toString(26), "0", '(new Number(0)).toString(26) must return "0"');
+assert.sameValue((new Number(-1)).toString(26), "-1", '(new Number(-1)).toString(26) must return "-1"');
+assert.sameValue((new Number(1)).toString(26), "1", '(new Number(1)).toString(26) must return "1"');
-//CHECK#1
-if (Number.prototype.toString(26) !== "0") {
- throw new Test262Error('#1: Number.prototype.toString(26) === "0"');
-}
+assert.sameValue(
+ (new Number(Number.NaN)).toString(26),
+ "NaN",
+ '(new Number(Number.NaN)).toString(26) must return "NaN"'
+);
-//CHECK#2
-if ((new Number()).toString(26) !== "0") {
- throw new Test262Error('#2: (new Number()).toString(26) === "0"');
-}
+assert.sameValue(
+ (new Number(Number.POSITIVE_INFINITY)).toString(26),
+ "Infinity",
+ '(new Number(Number.POSITIVE_INFINITY)).toString(26) must return "Infinity"'
+);
-//CHECK#3
-if ((new Number(0)).toString(26) !== "0") {
- throw new Test262Error('#3: (new Number(0)).toString(26) === "0"');
-}
-
-//CHECK#4
-if ((new Number(-1)).toString(26) !== "-1") {
- throw new Test262Error('#4: (new Number(-1)).toString(26) === "-1"');
-}
-
-//CHECK#5
-if ((new Number(1)).toString(26) !== "1") {
- throw new Test262Error('#5: (new Number(1)).toString(26) === "1"');
-}
-
-//CHECK#6
-if ((new Number(Number.NaN)).toString(26) !== "NaN") {
- throw new Test262Error('#6: (new Number(Number.NaN)).toString(26) === "NaN"');
-}
-
-//CHECK#7
-if ((new Number(Number.POSITIVE_INFINITY)).toString(26) !== "Infinity") {
- throw new Test262Error('#7: (new Number(Number.POSITIVE_INFINITY)).toString(26) === "Infinity"');
-}
-
-//CHECK#8
-if ((new Number(Number.NEGATIVE_INFINITY)).toString(26) !== "-Infinity") {
- throw new Test262Error('#8: (new Number(Number.NEGATIVE_INFINITY)).toString(26) === "-Infinity"');
-}
+assert.sameValue(
+ (new Number(Number.NEGATIVE_INFINITY)).toString(26),
+ "-Infinity",
+ '(new Number(Number.NEGATIVE_INFINITY)).toString(26) must return "-Infinity"'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A2_T25.js b/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A2_T25.js
index 0069faca2e76..4930fce27c1b 100644
--- a/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A2_T25.js
+++ b/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A2_T25.js
@@ -8,45 +8,28 @@ info: |
es5id: 15.7.4.2_A2_T25
description: radix is 27
---*/
+assert.sameValue(Number.prototype.toString(27), "0", 'Number.prototype.toString(27) must return "0"');
+assert.sameValue((new Number()).toString(27), "0", '(new Number()).toString(27) must return "0"');
+assert.sameValue((new Number(0)).toString(27), "0", '(new Number(0)).toString(27) must return "0"');
+assert.sameValue((new Number(-1)).toString(27), "-1", '(new Number(-1)).toString(27) must return "-1"');
+assert.sameValue((new Number(1)).toString(27), "1", '(new Number(1)).toString(27) must return "1"');
-//CHECK#1
-if (Number.prototype.toString(27) !== "0") {
- throw new Test262Error('#1: Number.prototype.toString(27) === "0"');
-}
+assert.sameValue(
+ (new Number(Number.NaN)).toString(27),
+ "NaN",
+ '(new Number(Number.NaN)).toString(27) must return "NaN"'
+);
-//CHECK#2
-if ((new Number()).toString(27) !== "0") {
- throw new Test262Error('#2: (new Number()).toString(27) === "0"');
-}
+assert.sameValue(
+ (new Number(Number.POSITIVE_INFINITY)).toString(27),
+ "Infinity",
+ '(new Number(Number.POSITIVE_INFINITY)).toString(27) must return "Infinity"'
+);
-//CHECK#3
-if ((new Number(0)).toString(27) !== "0") {
- throw new Test262Error('#3: (new Number(0)).toString(27) === "0"');
-}
-
-//CHECK#4
-if ((new Number(-1)).toString(27) !== "-1") {
- throw new Test262Error('#4: (new Number(-1)).toString(27) === "-1"');
-}
-
-//CHECK#5
-if ((new Number(1)).toString(27) !== "1") {
- throw new Test262Error('#5: (new Number(1)).toString(27) === "1"');
-}
-
-//CHECK#6
-if ((new Number(Number.NaN)).toString(27) !== "NaN") {
- throw new Test262Error('#6: (new Number(Number.NaN)).toString(27) === "NaN"');
-}
-
-//CHECK#7
-if ((new Number(Number.POSITIVE_INFINITY)).toString(27) !== "Infinity") {
- throw new Test262Error('#7: (new Number(Number.POSITIVE_INFINITY)).toString(27) === "Infinity"');
-}
-
-//CHECK#8
-if ((new Number(Number.NEGATIVE_INFINITY)).toString(27) !== "-Infinity") {
- throw new Test262Error('#8: (new Number(Number.NEGATIVE_INFINITY)).toString(27) === "-Infinity"');
-}
+assert.sameValue(
+ (new Number(Number.NEGATIVE_INFINITY)).toString(27),
+ "-Infinity",
+ '(new Number(Number.NEGATIVE_INFINITY)).toString(27) must return "-Infinity"'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A2_T26.js b/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A2_T26.js
index 14aa9baa34c4..c59ab5d6a1c3 100644
--- a/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A2_T26.js
+++ b/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A2_T26.js
@@ -8,45 +8,28 @@ info: |
es5id: 15.7.4.2_A2_T26
description: radix is 28
---*/
+assert.sameValue(Number.prototype.toString(28), "0", 'Number.prototype.toString(28) must return "0"');
+assert.sameValue((new Number()).toString(28), "0", '(new Number()).toString(28) must return "0"');
+assert.sameValue((new Number(0)).toString(28), "0", '(new Number(0)).toString(28) must return "0"');
+assert.sameValue((new Number(-1)).toString(28), "-1", '(new Number(-1)).toString(28) must return "-1"');
+assert.sameValue((new Number(1)).toString(28), "1", '(new Number(1)).toString(28) must return "1"');
-//CHECK#1
-if (Number.prototype.toString(28) !== "0") {
- throw new Test262Error('#1: Number.prototype.toString(28) === "0"');
-}
+assert.sameValue(
+ (new Number(Number.NaN)).toString(28),
+ "NaN",
+ '(new Number(Number.NaN)).toString(28) must return "NaN"'
+);
-//CHECK#2
-if ((new Number()).toString(28) !== "0") {
- throw new Test262Error('#2: (new Number()).toString(28) === "0"');
-}
+assert.sameValue(
+ (new Number(Number.POSITIVE_INFINITY)).toString(28),
+ "Infinity",
+ '(new Number(Number.POSITIVE_INFINITY)).toString(28) must return "Infinity"'
+);
-//CHECK#3
-if ((new Number(0)).toString(28) !== "0") {
- throw new Test262Error('#3: (new Number(0)).toString(28) === "0"');
-}
-
-//CHECK#4
-if ((new Number(-1)).toString(28) !== "-1") {
- throw new Test262Error('#4: (new Number(-1)).toString(28) === "-1"');
-}
-
-//CHECK#5
-if ((new Number(1)).toString(28) !== "1") {
- throw new Test262Error('#5: (new Number(1)).toString(28) === "1"');
-}
-
-//CHECK#6
-if ((new Number(Number.NaN)).toString(28) !== "NaN") {
- throw new Test262Error('#6: (new Number(Number.NaN)).toString(28) === "NaN"');
-}
-
-//CHECK#7
-if ((new Number(Number.POSITIVE_INFINITY)).toString(28) !== "Infinity") {
- throw new Test262Error('#7: (new Number(Number.POSITIVE_INFINITY)).toString(28) === "Infinity"');
-}
-
-//CHECK#8
-if ((new Number(Number.NEGATIVE_INFINITY)).toString(28) !== "-Infinity") {
- throw new Test262Error('#8: (new Number(Number.NEGATIVE_INFINITY)).toString(28) === "-Infinity"');
-}
+assert.sameValue(
+ (new Number(Number.NEGATIVE_INFINITY)).toString(28),
+ "-Infinity",
+ '(new Number(Number.NEGATIVE_INFINITY)).toString(28) must return "-Infinity"'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A2_T27.js b/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A2_T27.js
index b7321be48801..cb6064d05988 100644
--- a/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A2_T27.js
+++ b/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A2_T27.js
@@ -8,45 +8,28 @@ info: |
es5id: 15.7.4.2_A2_T27
description: radix is 29
---*/
+assert.sameValue(Number.prototype.toString(29), "0", 'Number.prototype.toString(29) must return "0"');
+assert.sameValue((new Number()).toString(29), "0", '(new Number()).toString(29) must return "0"');
+assert.sameValue((new Number(0)).toString(29), "0", '(new Number(0)).toString(29) must return "0"');
+assert.sameValue((new Number(-1)).toString(29), "-1", '(new Number(-1)).toString(29) must return "-1"');
+assert.sameValue((new Number(1)).toString(29), "1", '(new Number(1)).toString(29) must return "1"');
-//CHECK#1
-if (Number.prototype.toString(29) !== "0") {
- throw new Test262Error('#1: Number.prototype.toString(29) === "0"');
-}
+assert.sameValue(
+ (new Number(Number.NaN)).toString(29),
+ "NaN",
+ '(new Number(Number.NaN)).toString(29) must return "NaN"'
+);
-//CHECK#2
-if ((new Number()).toString(29) !== "0") {
- throw new Test262Error('#2: (new Number()).toString(29) === "0"');
-}
+assert.sameValue(
+ (new Number(Number.POSITIVE_INFINITY)).toString(29),
+ "Infinity",
+ '(new Number(Number.POSITIVE_INFINITY)).toString(29) must return "Infinity"'
+);
-//CHECK#3
-if ((new Number(0)).toString(29) !== "0") {
- throw new Test262Error('#3: (new Number(0)).toString(29) === "0"');
-}
-
-//CHECK#4
-if ((new Number(-1)).toString(29) !== "-1") {
- throw new Test262Error('#4: (new Number(-1)).toString(29) === "-1"');
-}
-
-//CHECK#5
-if ((new Number(1)).toString(29) !== "1") {
- throw new Test262Error('#5: (new Number(1)).toString(29) === "1"');
-}
-
-//CHECK#6
-if ((new Number(Number.NaN)).toString(29) !== "NaN") {
- throw new Test262Error('#6: (new Number(Number.NaN)).toString(29) === "NaN"');
-}
-
-//CHECK#7
-if ((new Number(Number.POSITIVE_INFINITY)).toString(29) !== "Infinity") {
- throw new Test262Error('#7: (new Number(Number.POSITIVE_INFINITY)).toString(29) === "Infinity"');
-}
-
-//CHECK#8
-if ((new Number(Number.NEGATIVE_INFINITY)).toString(29) !== "-Infinity") {
- throw new Test262Error('#8: (new Number(Number.NEGATIVE_INFINITY)).toString(29) === "-Infinity"');
-}
+assert.sameValue(
+ (new Number(Number.NEGATIVE_INFINITY)).toString(29),
+ "-Infinity",
+ '(new Number(Number.NEGATIVE_INFINITY)).toString(29) must return "-Infinity"'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A2_T28.js b/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A2_T28.js
index dd534aa0eb0f..5151f803ce54 100644
--- a/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A2_T28.js
+++ b/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A2_T28.js
@@ -8,45 +8,28 @@ info: |
es5id: 15.7.4.2_A2_T28
description: radix is 30
---*/
+assert.sameValue(Number.prototype.toString(30), "0", 'Number.prototype.toString(30) must return "0"');
+assert.sameValue((new Number()).toString(30), "0", '(new Number()).toString(30) must return "0"');
+assert.sameValue((new Number(0)).toString(30), "0", '(new Number(0)).toString(30) must return "0"');
+assert.sameValue((new Number(-1)).toString(30), "-1", '(new Number(-1)).toString(30) must return "-1"');
+assert.sameValue((new Number(1)).toString(30), "1", '(new Number(1)).toString(30) must return "1"');
-//CHECK#1
-if (Number.prototype.toString(30) !== "0") {
- throw new Test262Error('#1: Number.prototype.toString(30) === "0"');
-}
+assert.sameValue(
+ (new Number(Number.NaN)).toString(30),
+ "NaN",
+ '(new Number(Number.NaN)).toString(30) must return "NaN"'
+);
-//CHECK#2
-if ((new Number()).toString(30) !== "0") {
- throw new Test262Error('#2: (new Number()).toString(30) === "0"');
-}
+assert.sameValue(
+ (new Number(Number.POSITIVE_INFINITY)).toString(30),
+ "Infinity",
+ '(new Number(Number.POSITIVE_INFINITY)).toString(30) must return "Infinity"'
+);
-//CHECK#3
-if ((new Number(0)).toString(30) !== "0") {
- throw new Test262Error('#3: (new Number(0)).toString(30) === "0"');
-}
-
-//CHECK#4
-if ((new Number(-1)).toString(30) !== "-1") {
- throw new Test262Error('#4: (new Number(-1)).toString(30) === "-1"');
-}
-
-//CHECK#5
-if ((new Number(1)).toString(30) !== "1") {
- throw new Test262Error('#5: (new Number(1)).toString(30) === "1"');
-}
-
-//CHECK#6
-if ((new Number(Number.NaN)).toString(30) !== "NaN") {
- throw new Test262Error('#6: (new Number(Number.NaN)).toString(30) === "NaN"');
-}
-
-//CHECK#7
-if ((new Number(Number.POSITIVE_INFINITY)).toString(30) !== "Infinity") {
- throw new Test262Error('#7: (new Number(Number.POSITIVE_INFINITY)).toString(30) === "Infinity"');
-}
-
-//CHECK#8
-if ((new Number(Number.NEGATIVE_INFINITY)).toString(30) !== "-Infinity") {
- throw new Test262Error('#8: (new Number(Number.NEGATIVE_INFINITY)).toString(30) === "-Infinity"');
-}
+assert.sameValue(
+ (new Number(Number.NEGATIVE_INFINITY)).toString(30),
+ "-Infinity",
+ '(new Number(Number.NEGATIVE_INFINITY)).toString(30) must return "-Infinity"'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A2_T29.js b/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A2_T29.js
index 4edd836fa0b1..41ae187ccea0 100644
--- a/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A2_T29.js
+++ b/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A2_T29.js
@@ -8,45 +8,28 @@ info: |
es5id: 15.7.4.2_A2_T29
description: radix is 31
---*/
+assert.sameValue(Number.prototype.toString(31), "0", 'Number.prototype.toString(31) must return "0"');
+assert.sameValue((new Number()).toString(31), "0", '(new Number()).toString(31) must return "0"');
+assert.sameValue((new Number(0)).toString(31), "0", '(new Number(0)).toString(31) must return "0"');
+assert.sameValue((new Number(-1)).toString(31), "-1", '(new Number(-1)).toString(31) must return "-1"');
+assert.sameValue((new Number(1)).toString(31), "1", '(new Number(1)).toString(31) must return "1"');
-//CHECK#1
-if (Number.prototype.toString(31) !== "0") {
- throw new Test262Error('#1: Number.prototype.toString(31) === "0"');
-}
+assert.sameValue(
+ (new Number(Number.NaN)).toString(31),
+ "NaN",
+ '(new Number(Number.NaN)).toString(31) must return "NaN"'
+);
-//CHECK#2
-if ((new Number()).toString(31) !== "0") {
- throw new Test262Error('#2: (new Number()).toString(31) === "0"');
-}
+assert.sameValue(
+ (new Number(Number.POSITIVE_INFINITY)).toString(31),
+ "Infinity",
+ '(new Number(Number.POSITIVE_INFINITY)).toString(31) must return "Infinity"'
+);
-//CHECK#3
-if ((new Number(0)).toString(31) !== "0") {
- throw new Test262Error('#3: (new Number(0)).toString(31) === "0"');
-}
-
-//CHECK#4
-if ((new Number(-1)).toString(31) !== "-1") {
- throw new Test262Error('#4: (new Number(-1)).toString(31) === "-1"');
-}
-
-//CHECK#5
-if ((new Number(1)).toString(31) !== "1") {
- throw new Test262Error('#5: (new Number(1)).toString(31) === "1"');
-}
-
-//CHECK#6
-if ((new Number(Number.NaN)).toString(31) !== "NaN") {
- throw new Test262Error('#6: (new Number(Number.NaN)).toString(31) === "NaN"');
-}
-
-//CHECK#7
-if ((new Number(Number.POSITIVE_INFINITY)).toString(31) !== "Infinity") {
- throw new Test262Error('#7: (new Number(Number.POSITIVE_INFINITY)).toString(31) === "Infinity"');
-}
-
-//CHECK#8
-if ((new Number(Number.NEGATIVE_INFINITY)).toString(31) !== "-Infinity") {
- throw new Test262Error('#8: (new Number(Number.NEGATIVE_INFINITY)).toString(31) === "-Infinity"');
-}
+assert.sameValue(
+ (new Number(Number.NEGATIVE_INFINITY)).toString(31),
+ "-Infinity",
+ '(new Number(Number.NEGATIVE_INFINITY)).toString(31) must return "-Infinity"'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A2_T30.js b/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A2_T30.js
index 74a1aa31410b..a0b322c94a61 100644
--- a/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A2_T30.js
+++ b/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A2_T30.js
@@ -8,45 +8,28 @@ info: |
es5id: 15.7.4.2_A2_T30
description: radix is 32
---*/
+assert.sameValue(Number.prototype.toString(32), "0", 'Number.prototype.toString(32) must return "0"');
+assert.sameValue((new Number()).toString(32), "0", '(new Number()).toString(32) must return "0"');
+assert.sameValue((new Number(0)).toString(32), "0", '(new Number(0)).toString(32) must return "0"');
+assert.sameValue((new Number(-1)).toString(32), "-1", '(new Number(-1)).toString(32) must return "-1"');
+assert.sameValue((new Number(1)).toString(32), "1", '(new Number(1)).toString(32) must return "1"');
-//CHECK#1
-if (Number.prototype.toString(32) !== "0") {
- throw new Test262Error('#1: Number.prototype.toString(32) === "0"');
-}
+assert.sameValue(
+ (new Number(Number.NaN)).toString(32),
+ "NaN",
+ '(new Number(Number.NaN)).toString(32) must return "NaN"'
+);
-//CHECK#2
-if ((new Number()).toString(32) !== "0") {
- throw new Test262Error('#2: (new Number()).toString(32) === "0"');
-}
+assert.sameValue(
+ (new Number(Number.POSITIVE_INFINITY)).toString(32),
+ "Infinity",
+ '(new Number(Number.POSITIVE_INFINITY)).toString(32) must return "Infinity"'
+);
-//CHECK#3
-if ((new Number(0)).toString(32) !== "0") {
- throw new Test262Error('#3: (new Number(0)).toString(32) === "0"');
-}
-
-//CHECK#4
-if ((new Number(-1)).toString(32) !== "-1") {
- throw new Test262Error('#4: (new Number(-1)).toString(32) === "-1"');
-}
-
-//CHECK#5
-if ((new Number(1)).toString(32) !== "1") {
- throw new Test262Error('#5: (new Number(1)).toString(32) === "1"');
-}
-
-//CHECK#6
-if ((new Number(Number.NaN)).toString(32) !== "NaN") {
- throw new Test262Error('#6: (new Number(Number.NaN)).toString(32) === "NaN"');
-}
-
-//CHECK#7
-if ((new Number(Number.POSITIVE_INFINITY)).toString(32) !== "Infinity") {
- throw new Test262Error('#7: (new Number(Number.POSITIVE_INFINITY)).toString(32) === "Infinity"');
-}
-
-//CHECK#8
-if ((new Number(Number.NEGATIVE_INFINITY)).toString(32) !== "-Infinity") {
- throw new Test262Error('#8: (new Number(Number.NEGATIVE_INFINITY)).toString(32) === "-Infinity"');
-}
+assert.sameValue(
+ (new Number(Number.NEGATIVE_INFINITY)).toString(32),
+ "-Infinity",
+ '(new Number(Number.NEGATIVE_INFINITY)).toString(32) must return "-Infinity"'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A2_T31.js b/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A2_T31.js
index e9404578b430..43ed5864b0a8 100644
--- a/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A2_T31.js
+++ b/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A2_T31.js
@@ -8,45 +8,28 @@ info: |
es5id: 15.7.4.2_A2_T31
description: radix is 33
---*/
+assert.sameValue(Number.prototype.toString(33), "0", 'Number.prototype.toString(33) must return "0"');
+assert.sameValue((new Number()).toString(33), "0", '(new Number()).toString(33) must return "0"');
+assert.sameValue((new Number(0)).toString(33), "0", '(new Number(0)).toString(33) must return "0"');
+assert.sameValue((new Number(-1)).toString(33), "-1", '(new Number(-1)).toString(33) must return "-1"');
+assert.sameValue((new Number(1)).toString(33), "1", '(new Number(1)).toString(33) must return "1"');
-//CHECK#1
-if (Number.prototype.toString(33) !== "0") {
- throw new Test262Error('#1: Number.prototype.toString(33) === "0"');
-}
+assert.sameValue(
+ (new Number(Number.NaN)).toString(33),
+ "NaN",
+ '(new Number(Number.NaN)).toString(33) must return "NaN"'
+);
-//CHECK#2
-if ((new Number()).toString(33) !== "0") {
- throw new Test262Error('#2: (new Number()).toString(33) === "0"');
-}
+assert.sameValue(
+ (new Number(Number.POSITIVE_INFINITY)).toString(33),
+ "Infinity",
+ '(new Number(Number.POSITIVE_INFINITY)).toString(33) must return "Infinity"'
+);
-//CHECK#3
-if ((new Number(0)).toString(33) !== "0") {
- throw new Test262Error('#3: (new Number(0)).toString(33) === "0"');
-}
-
-//CHECK#4
-if ((new Number(-1)).toString(33) !== "-1") {
- throw new Test262Error('#4: (new Number(-1)).toString(33) === "-1"');
-}
-
-//CHECK#5
-if ((new Number(1)).toString(33) !== "1") {
- throw new Test262Error('#5: (new Number(1)).toString(33) === "1"');
-}
-
-//CHECK#6
-if ((new Number(Number.NaN)).toString(33) !== "NaN") {
- throw new Test262Error('#6: (new Number(Number.NaN)).toString(33) === "NaN"');
-}
-
-//CHECK#7
-if ((new Number(Number.POSITIVE_INFINITY)).toString(33) !== "Infinity") {
- throw new Test262Error('#7: (new Number(Number.POSITIVE_INFINITY)).toString(33) === "Infinity"');
-}
-
-//CHECK#8
-if ((new Number(Number.NEGATIVE_INFINITY)).toString(33) !== "-Infinity") {
- throw new Test262Error('#8: (new Number(Number.NEGATIVE_INFINITY)).toString(33) === "-Infinity"');
-}
+assert.sameValue(
+ (new Number(Number.NEGATIVE_INFINITY)).toString(33),
+ "-Infinity",
+ '(new Number(Number.NEGATIVE_INFINITY)).toString(33) must return "-Infinity"'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A2_T32.js b/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A2_T32.js
index 34b3c66c1db4..ffb7cabf2b74 100644
--- a/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A2_T32.js
+++ b/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A2_T32.js
@@ -8,45 +8,28 @@ info: |
es5id: 15.7.4.2_A2_T32
description: radix is 34
---*/
+assert.sameValue(Number.prototype.toString(34), "0", 'Number.prototype.toString(34) must return "0"');
+assert.sameValue((new Number()).toString(34), "0", '(new Number()).toString(34) must return "0"');
+assert.sameValue((new Number(0)).toString(34), "0", '(new Number(0)).toString(34) must return "0"');
+assert.sameValue((new Number(-1)).toString(34), "-1", '(new Number(-1)).toString(34) must return "-1"');
+assert.sameValue((new Number(1)).toString(34), "1", '(new Number(1)).toString(34) must return "1"');
-//CHECK#1
-if (Number.prototype.toString(34) !== "0") {
- throw new Test262Error('#1: Number.prototype.toString(34) === "0"');
-}
+assert.sameValue(
+ (new Number(Number.NaN)).toString(34),
+ "NaN",
+ '(new Number(Number.NaN)).toString(34) must return "NaN"'
+);
-//CHECK#2
-if ((new Number()).toString(34) !== "0") {
- throw new Test262Error('#2: (new Number()).toString(34) === "0"');
-}
+assert.sameValue(
+ (new Number(Number.POSITIVE_INFINITY)).toString(34),
+ "Infinity",
+ '(new Number(Number.POSITIVE_INFINITY)).toString(34) must return "Infinity"'
+);
-//CHECK#3
-if ((new Number(0)).toString(34) !== "0") {
- throw new Test262Error('#3: (new Number(0)).toString(34) === "0"');
-}
-
-//CHECK#4
-if ((new Number(-1)).toString(34) !== "-1") {
- throw new Test262Error('#4: (new Number(-1)).toString(34) === "-1"');
-}
-
-//CHECK#5
-if ((new Number(1)).toString(34) !== "1") {
- throw new Test262Error('#5: (new Number(1)).toString(34) === "1"');
-}
-
-//CHECK#6
-if ((new Number(Number.NaN)).toString(34) !== "NaN") {
- throw new Test262Error('#6: (new Number(Number.NaN)).toString(34) === "NaN"');
-}
-
-//CHECK#7
-if ((new Number(Number.POSITIVE_INFINITY)).toString(34) !== "Infinity") {
- throw new Test262Error('#7: (new Number(Number.POSITIVE_INFINITY)).toString(34) === "Infinity"');
-}
-
-//CHECK#8
-if ((new Number(Number.NEGATIVE_INFINITY)).toString(34) !== "-Infinity") {
- throw new Test262Error('#8: (new Number(Number.NEGATIVE_INFINITY)).toString(34) === "-Infinity"');
-}
+assert.sameValue(
+ (new Number(Number.NEGATIVE_INFINITY)).toString(34),
+ "-Infinity",
+ '(new Number(Number.NEGATIVE_INFINITY)).toString(34) must return "-Infinity"'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A2_T33.js b/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A2_T33.js
index 0e5cbb8e4dc1..89e3f740bbb6 100644
--- a/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A2_T33.js
+++ b/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A2_T33.js
@@ -8,45 +8,28 @@ info: |
es5id: 15.7.4.2_A2_T33
description: radix is 35
---*/
+assert.sameValue(Number.prototype.toString(35), "0", 'Number.prototype.toString(35) must return "0"');
+assert.sameValue((new Number()).toString(35), "0", '(new Number()).toString(35) must return "0"');
+assert.sameValue((new Number(0)).toString(35), "0", '(new Number(0)).toString(35) must return "0"');
+assert.sameValue((new Number(-1)).toString(35), "-1", '(new Number(-1)).toString(35) must return "-1"');
+assert.sameValue((new Number(1)).toString(35), "1", '(new Number(1)).toString(35) must return "1"');
-//CHECK#1
-if (Number.prototype.toString(35) !== "0") {
- throw new Test262Error('#1: Number.prototype.toString(35) === "0"');
-}
+assert.sameValue(
+ (new Number(Number.NaN)).toString(35),
+ "NaN",
+ '(new Number(Number.NaN)).toString(35) must return "NaN"'
+);
-//CHECK#2
-if ((new Number()).toString(35) !== "0") {
- throw new Test262Error('#2: (new Number()).toString(35) === "0"');
-}
+assert.sameValue(
+ (new Number(Number.POSITIVE_INFINITY)).toString(35),
+ "Infinity",
+ '(new Number(Number.POSITIVE_INFINITY)).toString(35) must return "Infinity"'
+);
-//CHECK#3
-if ((new Number(0)).toString(35) !== "0") {
- throw new Test262Error('#3: (new Number(0)).toString(35) === "0"');
-}
-
-//CHECK#4
-if ((new Number(-1)).toString(35) !== "-1") {
- throw new Test262Error('#4: (new Number(-1)).toString(35) === "-1"');
-}
-
-//CHECK#5
-if ((new Number(1)).toString(35) !== "1") {
- throw new Test262Error('#5: (new Number(1)).toString(35) === "1"');
-}
-
-//CHECK#6
-if ((new Number(Number.NaN)).toString(35) !== "NaN") {
- throw new Test262Error('#6: (new Number(Number.NaN)).toString(35) === "NaN"');
-}
-
-//CHECK#7
-if ((new Number(Number.POSITIVE_INFINITY)).toString(35) !== "Infinity") {
- throw new Test262Error('#7: (new Number(Number.POSITIVE_INFINITY)).toString(35) === "Infinity"');
-}
-
-//CHECK#8
-if ((new Number(Number.NEGATIVE_INFINITY)).toString(35) !== "-Infinity") {
- throw new Test262Error('#8: (new Number(Number.NEGATIVE_INFINITY)).toString(35) === "-Infinity"');
-}
+assert.sameValue(
+ (new Number(Number.NEGATIVE_INFINITY)).toString(35),
+ "-Infinity",
+ '(new Number(Number.NEGATIVE_INFINITY)).toString(35) must return "-Infinity"'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A2_T34.js b/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A2_T34.js
index 3733df819ec1..d80367d1ae3e 100644
--- a/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A2_T34.js
+++ b/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A2_T34.js
@@ -8,45 +8,28 @@ info: |
es5id: 15.7.4.2_A2_T34
description: radix is 36
---*/
+assert.sameValue(Number.prototype.toString(36), "0", 'Number.prototype.toString(36) must return "0"');
+assert.sameValue((new Number()).toString(36), "0", '(new Number()).toString(36) must return "0"');
+assert.sameValue((new Number(0)).toString(36), "0", '(new Number(0)).toString(36) must return "0"');
+assert.sameValue((new Number(-1)).toString(36), "-1", '(new Number(-1)).toString(36) must return "-1"');
+assert.sameValue((new Number(1)).toString(36), "1", '(new Number(1)).toString(36) must return "1"');
-//CHECK#1
-if (Number.prototype.toString(36) !== "0") {
- throw new Test262Error('#1: Number.prototype.toString(36) === "0"');
-}
+assert.sameValue(
+ (new Number(Number.NaN)).toString(36),
+ "NaN",
+ '(new Number(Number.NaN)).toString(36) must return "NaN"'
+);
-//CHECK#2
-if ((new Number()).toString(36) !== "0") {
- throw new Test262Error('#2: (new Number()).toString(36) === "0"');
-}
+assert.sameValue(
+ (new Number(Number.POSITIVE_INFINITY)).toString(36),
+ "Infinity",
+ '(new Number(Number.POSITIVE_INFINITY)).toString(36) must return "Infinity"'
+);
-//CHECK#3
-if ((new Number(0)).toString(36) !== "0") {
- throw new Test262Error('#3: (new Number(0)).toString(36) === "0"');
-}
-
-//CHECK#4
-if ((new Number(-1)).toString(36) !== "-1") {
- throw new Test262Error('#4: (new Number(-1)).toString(36) === "-1"');
-}
-
-//CHECK#5
-if ((new Number(1)).toString(36) !== "1") {
- throw new Test262Error('#5: (new Number(1)).toString(36) === "1"');
-}
-
-//CHECK#6
-if ((new Number(Number.NaN)).toString(36) !== "NaN") {
- throw new Test262Error('#6: (new Number(Number.NaN)).toString(36) === "NaN"');
-}
-
-//CHECK#7
-if ((new Number(Number.POSITIVE_INFINITY)).toString(36) !== "Infinity") {
- throw new Test262Error('#7: (new Number(Number.POSITIVE_INFINITY)).toString(36) === "Infinity"');
-}
-
-//CHECK#8
-if ((new Number(Number.NEGATIVE_INFINITY)).toString(36) !== "-Infinity") {
- throw new Test262Error('#8: (new Number(Number.NEGATIVE_INFINITY)).toString(36) === "-Infinity"');
-}
+assert.sameValue(
+ (new Number(Number.NEGATIVE_INFINITY)).toString(36),
+ "-Infinity",
+ '(new Number(Number.NEGATIVE_INFINITY)).toString(36) must return "-Infinity"'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A3_T01.js b/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A3_T01.js
index a9d93a4ae66a..665dd2256372 100644
--- a/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A3_T01.js
+++ b/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A3_T01.js
@@ -7,56 +7,48 @@ es5id: 15.7.4.2_A3_T01
description: radix is 1
---*/
-//CHECK#1
try {
var n = Number.prototype.toString(1);
throw new Test262Error('#1: Number.prototype.toString(1) should throw an Error');
}
catch (e) {}
-//CHECK#2
try {
var n = (new Number()).toString(1);
throw new Test262Error('#2: (new Number()).toString(1) should throw an Error');
}
catch (e) {}
-//CHECK#3
try {
var n = (new Number(0)).toString(1);
throw new Test262Error('#3: (new Number(0)).toString(1) should throw an Error');
}
catch (e) {}
-//CHECK#4
try {
var n = (new Number(-1)).toString(1);
throw new Test262Error('#4: (new Number(-1)).toString(1) should throw an Error');
}
catch (e) {}
-//CHECK#5
try {
var n = (new Number(1)).toString(1);
throw new Test262Error('#5: (new Number(1)).toString(1) should throw an Error');
}
catch (e) {}
-//CHECK#6
try {
var n = (new Number(Number.NaN)).toString(1);
throw new Test262Error('#6: (new Number(Number.NaN)).toString(1) should throw an Error');
}
catch (e) {}
-//CHECK#7
try {
var n = (new Number(Number.POSITIVE_INFINITY)).toString(1);
throw new Test262Error('#7: (new Number(Number.POSITIVE_INFINITY)).toString(1) should throw an Error');
}
catch (e) {}
-//CHECK#8
try {
var n = (new Number(Number.NEGATIVE_INFINITY)).toString(1);
throw new Test262Error('#8: (new Number(Number.NEGATIVE_INFINITY)).toString(1) should throw an Error');
diff --git a/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A3_T02.js b/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A3_T02.js
index 3a0971ed7ffb..f283f03013a2 100644
--- a/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A3_T02.js
+++ b/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A3_T02.js
@@ -7,56 +7,48 @@ es5id: 15.7.4.2_A3_T02
description: radix is 37
---*/
-//CHECK#1
try {
var n = Number.prototype.toString(37);
throw new Test262Error('#1: Number.prototype.toString(37) should throw an Error');
}
catch (e) {}
-//CHECK#2
try {
var n = (new Number()).toString(37);
throw new Test262Error('#2: (new Number()).toString(37) should throw an Error');
}
catch (e) {}
-//CHECK#3
try {
var n = (new Number(0)).toString(37);
throw new Test262Error('#3: (new Number(0)).toString(37) should throw an Error');
}
catch (e) {}
-//CHECK#4
try {
var n = (new Number(-1)).toString(37);
throw new Test262Error('#4: (new Number(-1)).toString(37) should throw an Error');
}
catch (e) {}
-//CHECK#5
try {
var n = (new Number(1)).toString(37);
throw new Test262Error('#5: (new Number(1)).toString(37) should throw an Error');
}
catch (e) {}
-//CHECK#6
try {
var n = (new Number(Number.NaN)).toString(37);
throw new Test262Error('#6: (new Number(Number.NaN)).toString(37) should throw an Error');
}
catch (e) {}
-//CHECK#7
try {
var n = (new Number(Number.POSITIVE_INFINITY)).toString(37);
throw new Test262Error('#7: (new Number(Number.POSITIVE_INFINITY)).toString(37) should throw an Error');
}
catch (e) {}
-//CHECK#8
try {
var n = (new Number(Number.NEGATIVE_INFINITY)).toString(37);
throw new Test262Error('#8: (new Number(Number.NEGATIVE_INFINITY)).toString(37) should throw an Error');
diff --git a/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A3_T03.js b/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A3_T03.js
index ffab4de1365f..7da1bd7e60ef 100644
--- a/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A3_T03.js
+++ b/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A3_T03.js
@@ -7,56 +7,48 @@ es5id: 15.7.4.2_A3_T03
description: radix is null value
---*/
-//CHECK#1
try {
var n = Number.prototype.toString(null);
throw new Test262Error('#1: Number.prototype.toString(null) should throw an Error');
}
catch (e) {}
-//CHECK#2
try {
var n = (new Number()).toString(null);
throw new Test262Error('#2: (new Number()).toString(null) should throw an Error');
}
catch (e) {}
-//CHECK#3
try {
var n = (new Number(0)).toString(null);
throw new Test262Error('#3: (new Number(0)).toString(null) should throw an Error');
}
catch (e) {}
-//CHECK#4
try {
var n = (new Number(-1)).toString(null);
throw new Test262Error('#4: (new Number(-1)).toString(null) should throw an Error');
}
catch (e) {}
-//CHECK#5
try {
var n = (new Number(1)).toString(null);
throw new Test262Error('#5: (new Number(1)).toString(null) should throw an Error');
}
catch (e) {}
-//CHECK#6
try {
var n = (new Number(Number.NaN)).toString(null);
throw new Test262Error('#6: (new Number(Number.NaN)).toString(null) should throw an Error');
}
catch (e) {}
-//CHECK#7
try {
var n = (new Number(Number.POSITIVE_INFINITY)).toString(null);
throw new Test262Error('#7: (new Number(Number.POSITIVE_INFINITY)).toString(null) should throw an Error');
}
catch (e) {}
-//CHECK#8
try {
var n = (new Number(Number.NEGATIVE_INFINITY)).toString(null);
throw new Test262Error('#8: (new Number(Number.NEGATIVE_INFINITY)).toString(null) should throw an Error');
diff --git a/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A3_T04.js b/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A3_T04.js
index 63080b578938..d88823a15252 100644
--- a/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A3_T04.js
+++ b/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A3_T04.js
@@ -7,56 +7,48 @@ es5id: 15.7.4.2_A3_T04
description: radix is 0
---*/
-//CHECK#1
try {
var n = Number.prototype.toString(0);
throw new Test262Error('#1: Number.prototype.toString(0) should throw an Error');
}
catch (e) {}
-//CHECK#2
try {
var n = (new Number()).toString(0);
throw new Test262Error('#2: (new Number()).toString(0) should throw an Error');
}
catch (e) {}
-//CHECK#3
try {
var n = (new Number(0)).toString(0);
throw new Test262Error('#3: (new Number(0)).toString(0) should throw an Error');
}
catch (e) {}
-//CHECK#4
try {
var n = (new Number(-1)).toString(0);
throw new Test262Error('#4: (new Number(-1)).toString(0) should throw an Error');
}
catch (e) {}
-//CHECK#5
try {
var n = (new Number(1)).toString(0);
throw new Test262Error('#5: (new Number(1)).toString(0) should throw an Error');
}
catch (e) {}
-//CHECK#6
try {
var n = (new Number(Number.NaN)).toString(0);
throw new Test262Error('#6: (new Number(Number.NaN)).toString(0) should throw an Error');
}
catch (e) {}
-//CHECK#7
try {
var n = (new Number(Number.POSITIVE_INFINITY)).toString(0);
throw new Test262Error('#7: (new Number(Number.POSITIVE_INFINITY)).toString(0) should throw an Error');
}
catch (e) {}
-//CHECK#8
try {
var n = (new Number(Number.NEGATIVE_INFINITY)).toString(0);
throw new Test262Error('#8: (new Number(Number.NEGATIVE_INFINITY)).toString(0) should throw an Error');
diff --git a/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A4_T01.js b/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A4_T01.js
index 0267bbd7e3f4..bdbbf070bc3a 100644
--- a/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A4_T01.js
+++ b/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A4_T01.js
@@ -10,7 +10,6 @@ es5id: 15.7.4.2_A4_T01
description: transferring to the String objects
---*/
-//CHECK#1
try {
var s1 = new String();
s1.toString = Number.prototype.toString;
@@ -18,12 +17,9 @@ try {
throw new Test262Error('#1: Number.prototype.toString on not a Number object should throw TypeError');
}
catch (e) {
- if (!(e instanceof TypeError)) {
- throw new Test262Error('#1: Number.prototype.toString on not a Number object should throw TypeError, not ' + e);
- }
+ assert(e instanceof TypeError, 'The result of evaluating (e instanceof TypeError) is expected to be true');
}
-//CHECK#2
try {
var s2 = new String();
s2.myToString = Number.prototype.toString;
@@ -31,9 +27,7 @@ try {
throw new Test262Error('#2: Number.prototype.toString on not a Number object should throw TypeError');
}
catch (e) {
- if (!(e instanceof TypeError)) {
- throw new Test262Error('#2: Number.prototype.toString on not a Number object should throw TypeError, not ' + e);
- }
+ assert(e instanceof TypeError, 'The result of evaluating (e instanceof TypeError) is expected to be true');
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A4_T02.js b/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A4_T02.js
index 910ad3a911df..3ecdb8123267 100644
--- a/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A4_T02.js
+++ b/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A4_T02.js
@@ -10,7 +10,6 @@ es5id: 15.7.4.2_A4_T02
description: transferring to the Boolean objects
---*/
-//CHECK#1
try {
var s1 = new Boolean();
s1.toString = Number.prototype.toString;
@@ -18,12 +17,9 @@ try {
throw new Test262Error('#1: Number.prototype.toString on not a Number object should throw TypeError');
}
catch (e) {
- if (!(e instanceof TypeError)) {
- throw new Test262Error('#1: Number.prototype.toString on not a Number object should throw TypeError, not ' + e);
- }
+ assert(e instanceof TypeError, 'The result of evaluating (e instanceof TypeError) is expected to be true');
}
-//CHECK#2
try {
var s2 = new Boolean();
s2.myToString = Number.prototype.toString;
@@ -31,9 +27,7 @@ try {
throw new Test262Error('#2: Number.prototype.toString on not a Number object should throw TypeError');
}
catch (e) {
- if (!(e instanceof TypeError)) {
- throw new Test262Error('#2: Number.prototype.toString on not a Number object should throw TypeError, not ' + e);
- }
+ assert(e instanceof TypeError, 'The result of evaluating (e instanceof TypeError) is expected to be true');
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A4_T03.js b/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A4_T03.js
index f3cfd89fb143..d1c96dd6b3ce 100644
--- a/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A4_T03.js
+++ b/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A4_T03.js
@@ -10,7 +10,6 @@ es5id: 15.7.4.2_A4_T03
description: transferring to the Date objects
---*/
-//CHECK#1
try {
var s1 = new Date();
s1.toString = Number.prototype.toString;
@@ -18,12 +17,9 @@ try {
throw new Test262Error('#1: Number.prototype.toString on not a Number object should throw TypeError');
}
catch (e) {
- if (!(e instanceof TypeError)) {
- throw new Test262Error('#1: Number.prototype.toString on not a Number object should throw TypeError, not ' + e);
- }
+ assert(e instanceof TypeError, 'The result of evaluating (e instanceof TypeError) is expected to be true');
}
-//CHECK#2
try {
var s2 = new Date();
s2.myToString = Number.prototype.toString;
@@ -31,9 +27,7 @@ try {
throw new Test262Error('#2: Number.prototype.toString on not a Number object should throw TypeError');
}
catch (e) {
- if (!(e instanceof TypeError)) {
- throw new Test262Error('#2: Number.prototype.toString on not a Number object should throw TypeError, not ' + e);
- }
+ assert(e instanceof TypeError, 'The result of evaluating (e instanceof TypeError) is expected to be true');
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A4_T04.js b/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A4_T04.js
index 3c9c7f68f919..028c78e8a219 100644
--- a/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A4_T04.js
+++ b/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A4_T04.js
@@ -10,7 +10,6 @@ es5id: 15.7.4.2_A4_T04
description: transferring to the Object objects
---*/
-//CHECK#1
try {
var s1 = new Object();
s1.toString = Number.prototype.toString;
@@ -18,12 +17,9 @@ try {
throw new Test262Error('#1: Number.prototype.toString on not a Number object should throw TypeError');
}
catch (e) {
- if (!(e instanceof TypeError)) {
- throw new Test262Error('#1: Number.prototype.toString on not a Number object should throw TypeError, not ' + e);
- }
+ assert(e instanceof TypeError, 'The result of evaluating (e instanceof TypeError) is expected to be true');
}
-//CHECK#2
try {
var s2 = new Object();
s2.myToString = Number.prototype.toString;
@@ -31,9 +27,7 @@ try {
throw new Test262Error('#2: Number.prototype.toString on not a Number object should throw TypeError');
}
catch (e) {
- if (!(e instanceof TypeError)) {
- throw new Test262Error('#2: Number.prototype.toString on not a Number object should throw TypeError, not ' + e);
- }
+ assert(e instanceof TypeError, 'The result of evaluating (e instanceof TypeError) is expected to be true');
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A4_T05.js b/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A4_T05.js
index 25f9bb6fb2cd..14fa638ed102 100644
--- a/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A4_T05.js
+++ b/js/src/tests/test262/built-ins/Number/prototype/toString/S15.7.4.2_A4_T05.js
@@ -10,7 +10,6 @@ es5id: 15.7.4.2_A4_T05
description: transferring to the other objects
---*/
-//CHECK#1
try {
var s1 = {
x: 1
@@ -20,12 +19,9 @@ try {
throw new Test262Error('#1: Number.prototype.toString on not a Number object should throw TypeError');
}
catch (e) {
- if (!(e instanceof TypeError)) {
- throw new Test262Error('#1: Number.prototype.toString on not a Number object should throw TypeError, not ' + e);
- }
+ assert(e instanceof TypeError, 'The result of evaluating (e instanceof TypeError) is expected to be true');
}
-//CHECK#2
try {
var s2 = {
x: 1
@@ -35,9 +31,7 @@ try {
throw new Test262Error('#2: Number.prototype.toString on not a Number object should throw TypeError');
}
catch (e) {
- if (!(e instanceof TypeError)) {
- throw new Test262Error('#2: Number.prototype.toString on not a Number object should throw TypeError, not ' + e);
- }
+ assert(e instanceof TypeError, 'The result of evaluating (e instanceof TypeError) is expected to be true');
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Number/prototype/valueOf/S15.7.4.4_A1_T01.js b/js/src/tests/test262/built-ins/Number/prototype/valueOf/S15.7.4.4_A1_T01.js
index 5d14a6b4fb2d..22f0607f0d0e 100644
--- a/js/src/tests/test262/built-ins/Number/prototype/valueOf/S15.7.4.4_A1_T01.js
+++ b/js/src/tests/test262/built-ins/Number/prototype/valueOf/S15.7.4.4_A1_T01.js
@@ -6,47 +6,28 @@ info: Number.prototype.valueOf() returns this number value
es5id: 15.7.4.4_A1_T01
description: Call without argument
---*/
+assert.sameValue(Number.prototype.valueOf(), 0, 'Number.prototype.valueOf() must return 0');
+assert.sameValue((new Number()).valueOf(), 0, '(new Number()).valueOf() must return 0');
+assert.sameValue((new Number(0)).valueOf(), 0, '(new Number(0)).valueOf() must return 0');
+assert.sameValue((new Number(-1)).valueOf(), -1, '(new Number(-1)).valueOf() must return -1');
+assert.sameValue((new Number(1)).valueOf(), 1, '(new Number(1)).valueOf() must return 1');
-//CHECK#1
-if (Number.prototype.valueOf() !== 0) {
- throw new Test262Error('#1: Number.prototype.valueOf() === 0');
-}
-
-//CHECK#2
-if ((new Number()).valueOf() !== 0) {
- throw new Test262Error('#2: (new Number()).valueOf() === 0');
-}
-
-//CHECK#3
-if ((new Number(0)).valueOf() !== 0) {
- throw new Test262Error('#3: (new Number(0)).valueOf() === 0');
-}
-
-//CHECK#4
-if ((new Number(-1)).valueOf() !== -1) {
- throw new Test262Error('#4: (new Number(-1)).valueOf() === -1');
-}
-
-//CHECK#5
-if ((new Number(1)).valueOf() !== 1) {
- throw new Test262Error('#5: (new Number(1)).valueOf() === 1');
-}
-
-//CHECK#6
assert.sameValue(
new Number(NaN).valueOf(),
NaN,
- "NaN"
+ 'new Number(NaN).valueOf() returns NaN'
);
-//CHECK#7
-if ((new Number(Number.POSITIVE_INFINITY)).valueOf() !== Number.POSITIVE_INFINITY) {
- throw new Test262Error('#7: (new Number(Number.POSITIVE_INFINITY)).valueOf() === Infinity');
-}
+assert.sameValue(
+ (new Number(Number.POSITIVE_INFINITY)).valueOf(),
+ Number.POSITIVE_INFINITY,
+ '(new Number(Number.POSITIVE_INFINITY)).valueOf() returns Number.POSITIVE_INFINITY'
+);
-//CHECK#8
-if ((new Number(Number.NEGATIVE_INFINITY)).valueOf() !== Number.NEGATIVE_INFINITY) {
- throw new Test262Error('#8: (new Number(Number.NEGATIVE_INFINITY)).valueOf() === -Infinity');
-}
+assert.sameValue(
+ (new Number(Number.NEGATIVE_INFINITY)).valueOf(),
+ Number.NEGATIVE_INFINITY,
+ '(new Number(Number.NEGATIVE_INFINITY)).valueOf() returns Number.NEGATIVE_INFINITY'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Number/prototype/valueOf/S15.7.4.4_A1_T02.js b/js/src/tests/test262/built-ins/Number/prototype/valueOf/S15.7.4.4_A1_T02.js
index a06e25725508..0b5df3987c3c 100644
--- a/js/src/tests/test262/built-ins/Number/prototype/valueOf/S15.7.4.4_A1_T02.js
+++ b/js/src/tests/test262/built-ins/Number/prototype/valueOf/S15.7.4.4_A1_T02.js
@@ -6,47 +6,28 @@ info: Number.prototype.valueOf() returns this number value
es5id: 15.7.4.4_A1_T02
description: calling with argument
---*/
+assert.sameValue(Number.prototype.valueOf("argument"), 0, 'Number.prototype.valueOf("argument") must return 0');
+assert.sameValue((new Number()).valueOf("argument"), 0, '(new Number()).valueOf("argument") must return 0');
+assert.sameValue((new Number(0)).valueOf("argument"), 0, '(new Number(0)).valueOf("argument") must return 0');
+assert.sameValue((new Number(-1)).valueOf("argument"), -1, '(new Number(-1)).valueOf("argument") must return -1');
+assert.sameValue((new Number(1)).valueOf("argument"), 1, '(new Number(1)).valueOf("argument") must return 1');
-//CHECK#1
-if (Number.prototype.valueOf("argument") !== 0) {
- throw new Test262Error('#1: Number.prototype.valueOf("argument") === 0');
-}
-
-//CHECK#2
-if ((new Number()).valueOf("argument") !== 0) {
- throw new Test262Error('#2: (new Number()).valueOf("argument") === 0');
-}
-
-//CHECK#3
-if ((new Number(0)).valueOf("argument") !== 0) {
- throw new Test262Error('#3: (new Number(0)).valueOf("argument") === 0');
-}
-
-//CHECK#4
-if ((new Number(-1)).valueOf("argument") !== -1) {
- throw new Test262Error('#4: (new Number(-1)).valueOf("argument") === -1');
-}
-
-//CHECK#5
-if ((new Number(1)).valueOf("argument") !== 1) {
- throw new Test262Error('#5: (new Number(1)).valueOf("argument") === 1');
-}
-
-//CHECK#6
assert.sameValue(
new Number(NaN).valueOf("argument"),
NaN,
- "NaN"
+ 'new Number(NaN).valueOf("argument") returns NaN'
);
-//CHECK#7
-if ((new Number(Number.POSITIVE_INFINITY)).valueOf("argument") !== Number.POSITIVE_INFINITY) {
- throw new Test262Error('#7: (new Number(Number.POSITIVE_INFINITY)).valueOf("argument") === Infinity');
-}
+assert.sameValue(
+ (new Number(Number.POSITIVE_INFINITY)).valueOf("argument"),
+ Number.POSITIVE_INFINITY,
+ '(new Number(Number.POSITIVE_INFINITY)).valueOf("argument") returns Number.POSITIVE_INFINITY'
+);
-//CHECK#8
-if ((new Number(Number.NEGATIVE_INFINITY)).valueOf("argument") !== Number.NEGATIVE_INFINITY) {
- throw new Test262Error('#8: (new Number(Number.NEGATIVE_INFINITY)).valueOf("argument") === -Infinity');
-}
+assert.sameValue(
+ (new Number(Number.NEGATIVE_INFINITY)).valueOf("argument"),
+ Number.NEGATIVE_INFINITY,
+ '(new Number(Number.NEGATIVE_INFINITY)).valueOf("argument") returns Number.NEGATIVE_INFINITY'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Number/prototype/valueOf/S15.7.4.4_A2_T01.js b/js/src/tests/test262/built-ins/Number/prototype/valueOf/S15.7.4.4_A2_T01.js
index 1547f2618168..15d7fa57b7c1 100644
--- a/js/src/tests/test262/built-ins/Number/prototype/valueOf/S15.7.4.4_A2_T01.js
+++ b/js/src/tests/test262/built-ins/Number/prototype/valueOf/S15.7.4.4_A2_T01.js
@@ -10,7 +10,6 @@ es5id: 15.7.4.4_A2_T01
description: transferring to the String objects
---*/
-//CHECK#1
try {
var s1 = new String();
s1.valueOf = Number.prototype.valueOf;
@@ -18,12 +17,9 @@ try {
throw new Test262Error('#1: Number.prototype.valueOf on not a Number object should throw TypeError');
}
catch (e) {
- if (!(e instanceof TypeError)) {
- throw new Test262Error('#1: Number.prototype.valueOf on not a Number object should throw TypeError, not ' + e);
- }
+ assert(e instanceof TypeError, 'The result of evaluating (e instanceof TypeError) is expected to be true');
}
-//CHECK#2
try {
var s2 = new String();
s2.myValueOf = Number.prototype.valueOf;
@@ -31,9 +27,7 @@ try {
throw new Test262Error('#2: Number.prototype.valueOf on not a Number object should throw TypeError');
}
catch (e) {
- if (!(e instanceof TypeError)) {
- throw new Test262Error('#2: Number.prototype.valueOf on not a Number object should throw TypeError, not ' + e);
- }
+ assert(e instanceof TypeError, 'The result of evaluating (e instanceof TypeError) is expected to be true');
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Number/prototype/valueOf/S15.7.4.4_A2_T02.js b/js/src/tests/test262/built-ins/Number/prototype/valueOf/S15.7.4.4_A2_T02.js
index 799664f43598..94c443f74d13 100644
--- a/js/src/tests/test262/built-ins/Number/prototype/valueOf/S15.7.4.4_A2_T02.js
+++ b/js/src/tests/test262/built-ins/Number/prototype/valueOf/S15.7.4.4_A2_T02.js
@@ -10,7 +10,6 @@ es5id: 15.7.4.4_A2_T02
description: transferring to the Boolean objects
---*/
-//CHECK#1
try {
var s1 = new Boolean();
s1.valueOf = Number.prototype.valueOf;
@@ -18,12 +17,9 @@ try {
throw new Test262Error('#1: Number.prototype.valueOf on not a Number object should throw TypeError');
}
catch (e) {
- if (!(e instanceof TypeError)) {
- throw new Test262Error('#1: Number.prototype.valueOf on not a Number object should throw TypeError, not ' + e);
- }
+ assert(e instanceof TypeError, 'The result of evaluating (e instanceof TypeError) is expected to be true');
}
-//CHECK#2
try {
var s2 = new Boolean();
s2.myValueOf = Number.prototype.valueOf;
@@ -31,9 +27,7 @@ try {
throw new Test262Error('#2: Number.prototype.valueOf on not a Number object should throw TypeError');
}
catch (e) {
- if (!(e instanceof TypeError)) {
- throw new Test262Error('#2: Number.prototype.valueOf on not a Number object should throw TypeError, not ' + e);
- }
+ assert(e instanceof TypeError, 'The result of evaluating (e instanceof TypeError) is expected to be true');
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Number/prototype/valueOf/S15.7.4.4_A2_T03.js b/js/src/tests/test262/built-ins/Number/prototype/valueOf/S15.7.4.4_A2_T03.js
index b10a5b0a5ac3..3363f17cd879 100644
--- a/js/src/tests/test262/built-ins/Number/prototype/valueOf/S15.7.4.4_A2_T03.js
+++ b/js/src/tests/test262/built-ins/Number/prototype/valueOf/S15.7.4.4_A2_T03.js
@@ -10,7 +10,6 @@ es5id: 15.7.4.4_A2_T03
description: transferring to the Date objects
---*/
-//CHECK#1
try {
var s1 = new Date();
s1.valueOf = Number.prototype.valueOf;
@@ -18,12 +17,9 @@ try {
throw new Test262Error('#1: Number.prototype.valueOf on not a Number object should throw TypeError');
}
catch (e) {
- if (!(e instanceof TypeError)) {
- throw new Test262Error('#1: Number.prototype.valueOf on not a Number object should throw TypeError, not ' + e);
- }
+ assert(e instanceof TypeError, 'The result of evaluating (e instanceof TypeError) is expected to be true');
}
-//CHECK#2
try {
var s2 = new Date();
s2.myValueOf = Number.prototype.valueOf;
@@ -31,9 +27,7 @@ try {
throw new Test262Error('#2: Number.prototype.valueOf on not a Number object should throw TypeError');
}
catch (e) {
- if (!(e instanceof TypeError)) {
- throw new Test262Error('#2: Number.prototype.valueOf on not a Number object should throw TypeError, not ' + e);
- }
+ assert(e instanceof TypeError, 'The result of evaluating (e instanceof TypeError) is expected to be true');
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Number/prototype/valueOf/S15.7.4.4_A2_T04.js b/js/src/tests/test262/built-ins/Number/prototype/valueOf/S15.7.4.4_A2_T04.js
index a3b8da5d0641..3eee5d784b6a 100644
--- a/js/src/tests/test262/built-ins/Number/prototype/valueOf/S15.7.4.4_A2_T04.js
+++ b/js/src/tests/test262/built-ins/Number/prototype/valueOf/S15.7.4.4_A2_T04.js
@@ -10,7 +10,6 @@ es5id: 15.7.4.4_A2_T04
description: transferring to the Object objects
---*/
-//CHECK#1
try {
var s1 = new Object();
s1.valueOf = Number.prototype.valueOf;
@@ -18,12 +17,9 @@ try {
throw new Test262Error('#1: Number.prototype.valueOf on not a Number object should throw TypeError');
}
catch (e) {
- if (!(e instanceof TypeError)) {
- throw new Test262Error('#1: Number.prototype.valueOf on not a Number object should throw TypeError, not ' + e);
- }
+ assert(e instanceof TypeError, 'The result of evaluating (e instanceof TypeError) is expected to be true');
}
-//CHECK#2
try {
var s2 = new Object();
s2.myValueOf = Number.prototype.valueOf;
@@ -31,9 +27,7 @@ try {
throw new Test262Error('#2: Number.prototype.valueOf on not a Number object should throw TypeError');
}
catch (e) {
- if (!(e instanceof TypeError)) {
- throw new Test262Error('#2: Number.prototype.valueOf on not a Number object should throw TypeError, not ' + e);
- }
+ assert(e instanceof TypeError, 'The result of evaluating (e instanceof TypeError) is expected to be true');
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Number/prototype/valueOf/S15.7.4.4_A2_T05.js b/js/src/tests/test262/built-ins/Number/prototype/valueOf/S15.7.4.4_A2_T05.js
index 005a0633271c..504b834cb7c6 100644
--- a/js/src/tests/test262/built-ins/Number/prototype/valueOf/S15.7.4.4_A2_T05.js
+++ b/js/src/tests/test262/built-ins/Number/prototype/valueOf/S15.7.4.4_A2_T05.js
@@ -10,7 +10,6 @@ es5id: 15.7.4.4_A2_T05
description: transferring to the other objects
---*/
-//CHECK#1
try {
var s1 = {
x: 1
@@ -20,12 +19,9 @@ try {
throw new Test262Error('#1: Number.prototype.valueOf on not a Number object should throw TypeError');
}
catch (e) {
- if (!(e instanceof TypeError)) {
- throw new Test262Error('#1: Number.prototype.valueOf on not a Number object should throw TypeError, not ' + e);
- }
+ assert(e instanceof TypeError, 'The result of evaluating (e instanceof TypeError) is expected to be true');
}
-//CHECK#2
try {
var s2 = {
x: 1
@@ -35,9 +31,7 @@ try {
throw new Test262Error('#2: Number.prototype.valueOf on not a Number object should throw TypeError');
}
catch (e) {
- if (!(e instanceof TypeError)) {
- throw new Test262Error('#2: Number.prototype.valueOf on not a Number object should throw TypeError, not ' + e);
- }
+ assert(e instanceof TypeError, 'The result of evaluating (e instanceof TypeError) is expected to be true');
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Object/S15.2.1.1_A1_T1.js b/js/src/tests/test262/built-ins/Object/S15.2.1.1_A1_T1.js
index 4a68e580c890..1e158a9f5411 100644
--- a/js/src/tests/test262/built-ins/Object/S15.2.1.1_A1_T1.js
+++ b/js/src/tests/test262/built-ins/Object/S15.2.1.1_A1_T1.js
@@ -13,24 +13,30 @@ var __obj = Object(null);
var n__obj = new Object(null);
-if (__obj.toString() !== n__obj.toString()) {
- throw new Test262Error('#1');
-}
+assert.sameValue(
+ __obj.toString(),
+ n__obj.toString(),
+ '__obj.toString() must return the same value returned by n__obj.toString()'
+);
-if (__obj.constructor !== n__obj.constructor) {
- throw new Test262Error('#2');
-}
+assert.sameValue(
+ __obj.constructor,
+ n__obj.constructor,
+ 'The value of __obj.constructor is expected to equal the value of n__obj.constructor'
+);
-if (__obj.prototype !== n__obj.prototype) {
- throw new Test262Error('#3');
-}
+assert.sameValue(
+ __obj.prototype,
+ n__obj.prototype,
+ 'The value of __obj.prototype is expected to equal the value of n__obj.prototype'
+);
-if (__obj.toLocaleString() !== n__obj.toLocaleString()) {
- throw new Test262Error('#4');
-}
+assert.sameValue(
+ __obj.toLocaleString(),
+ n__obj.toLocaleString(),
+ '__obj.toLocaleString() must return the same value returned by n__obj.toLocaleString()'
+);
-if (typeof __obj !== typeof n__obj) {
- throw new Test262Error('#5');
-}
+assert.sameValue(typeof __obj, typeof n__obj, 'The value of `typeof __obj` is expected to be typeof n__obj');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Object/S15.2.1.1_A1_T2.js b/js/src/tests/test262/built-ins/Object/S15.2.1.1_A1_T2.js
index 14b1154a3772..a3733f515c7b 100644
--- a/js/src/tests/test262/built-ins/Object/S15.2.1.1_A1_T2.js
+++ b/js/src/tests/test262/built-ins/Object/S15.2.1.1_A1_T2.js
@@ -16,24 +16,30 @@ var __obj = Object(void 0);
var n__obj = new Object(void 0);
-if (__obj.toString() !== n__obj.toString()) {
- throw new Test262Error('#1');
-}
+assert.sameValue(
+ __obj.toString(),
+ n__obj.toString(),
+ '__obj.toString() must return the same value returned by n__obj.toString()'
+);
-if (__obj.constructor !== n__obj.constructor) {
- throw new Test262Error('#2');
-}
+assert.sameValue(
+ __obj.constructor,
+ n__obj.constructor,
+ 'The value of __obj.constructor is expected to equal the value of n__obj.constructor'
+);
-if (__obj.prototype !== n__obj.prototype) {
- throw new Test262Error('#3');
-}
+assert.sameValue(
+ __obj.prototype,
+ n__obj.prototype,
+ 'The value of __obj.prototype is expected to equal the value of n__obj.prototype'
+);
-if (__obj.toLocaleString() !== n__obj.toLocaleString()) {
- throw new Test262Error('#4');
-}
+assert.sameValue(
+ __obj.toLocaleString(),
+ n__obj.toLocaleString(),
+ '__obj.toLocaleString() must return the same value returned by n__obj.toLocaleString()'
+);
-if (typeof __obj !== typeof n__obj) {
- throw new Test262Error('#5');
-}
+assert.sameValue(typeof __obj, typeof n__obj, 'The value of `typeof __obj` is expected to be typeof n__obj');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Object/S15.2.1.1_A1_T3.js b/js/src/tests/test262/built-ins/Object/S15.2.1.1_A1_T3.js
index 1ac131fc08d6..6a658e1848e7 100644
--- a/js/src/tests/test262/built-ins/Object/S15.2.1.1_A1_T3.js
+++ b/js/src/tests/test262/built-ins/Object/S15.2.1.1_A1_T3.js
@@ -13,24 +13,30 @@ var __obj = Object();
var n__obj = new Object();
-if (__obj.toString() !== n__obj.toString()) {
- throw new Test262Error('#1');
-}
+assert.sameValue(
+ __obj.toString(),
+ n__obj.toString(),
+ '__obj.toString() must return the same value returned by n__obj.toString()'
+);
-if (__obj.constructor !== n__obj.constructor) {
- throw new Test262Error('#2');
-}
+assert.sameValue(
+ __obj.constructor,
+ n__obj.constructor,
+ 'The value of __obj.constructor is expected to equal the value of n__obj.constructor'
+);
-if (__obj.prototype !== n__obj.prototype) {
- throw new Test262Error('#3');
-}
+assert.sameValue(
+ __obj.prototype,
+ n__obj.prototype,
+ 'The value of __obj.prototype is expected to equal the value of n__obj.prototype'
+);
-if (__obj.toLocaleString() !== n__obj.toLocaleString()) {
- throw new Test262Error('#4');
-}
+assert.sameValue(
+ __obj.toLocaleString(),
+ n__obj.toLocaleString(),
+ '__obj.toLocaleString() must return the same value returned by n__obj.toLocaleString()'
+);
-if (typeof __obj !== typeof n__obj) {
- throw new Test262Error('#5');
-}
+assert.sameValue(typeof __obj, typeof n__obj, 'The value of `typeof __obj` is expected to be typeof n__obj');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Object/S15.2.1.1_A1_T4.js b/js/src/tests/test262/built-ins/Object/S15.2.1.1_A1_T4.js
index 9bb348c47c06..9be54489f68e 100644
--- a/js/src/tests/test262/built-ins/Object/S15.2.1.1_A1_T4.js
+++ b/js/src/tests/test262/built-ins/Object/S15.2.1.1_A1_T4.js
@@ -13,24 +13,30 @@ var __obj = Object(undefined);
var n__obj = new Object(undefined);
-if (__obj.toString() !== n__obj.toString()) {
- throw new Test262Error('#1');
-}
+assert.sameValue(
+ __obj.toString(),
+ n__obj.toString(),
+ '__obj.toString() must return the same value returned by n__obj.toString()'
+);
-if (__obj.constructor !== n__obj.constructor) {
- throw new Test262Error('#2');
-}
+assert.sameValue(
+ __obj.constructor,
+ n__obj.constructor,
+ 'The value of __obj.constructor is expected to equal the value of n__obj.constructor'
+);
-if (__obj.prototype !== n__obj.prototype) {
- throw new Test262Error('#3');
-}
+assert.sameValue(
+ __obj.prototype,
+ n__obj.prototype,
+ 'The value of __obj.prototype is expected to equal the value of n__obj.prototype'
+);
-if (__obj.toLocaleString() !== n__obj.toLocaleString()) {
- throw new Test262Error('#4');
-}
+assert.sameValue(
+ __obj.toLocaleString(),
+ n__obj.toLocaleString(),
+ '__obj.toLocaleString() must return the same value returned by n__obj.toLocaleString()'
+);
-if (typeof __obj !== typeof n__obj) {
- throw new Test262Error('#5');
-}
+assert.sameValue(typeof __obj, typeof n__obj, 'The value of `typeof __obj` is expected to be typeof n__obj');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Object/S15.2.1.1_A1_T5.js b/js/src/tests/test262/built-ins/Object/S15.2.1.1_A1_T5.js
index 8eb8b7c5dbe0..5bb54930ac3c 100644
--- a/js/src/tests/test262/built-ins/Object/S15.2.1.1_A1_T5.js
+++ b/js/src/tests/test262/built-ins/Object/S15.2.1.1_A1_T5.js
@@ -13,25 +13,31 @@ var __obj = Object(x);
var n__obj = new Object(x);
-if (__obj.toString() !== n__obj.toString()) {
- throw new Test262Error('#1');
-}
+assert.sameValue(
+ __obj.toString(),
+ n__obj.toString(),
+ '__obj.toString() must return the same value returned by n__obj.toString()'
+);
-if (__obj.constructor !== n__obj.constructor) {
- throw new Test262Error('#2');
-}
+assert.sameValue(
+ __obj.constructor,
+ n__obj.constructor,
+ 'The value of __obj.constructor is expected to equal the value of n__obj.constructor'
+);
-if (__obj.prototype !== n__obj.prototype) {
- throw new Test262Error('#3');
-}
+assert.sameValue(
+ __obj.prototype,
+ n__obj.prototype,
+ 'The value of __obj.prototype is expected to equal the value of n__obj.prototype'
+);
-if (__obj.toLocaleString() !== n__obj.toLocaleString()) {
- throw new Test262Error('#4');
-}
+assert.sameValue(
+ __obj.toLocaleString(),
+ n__obj.toLocaleString(),
+ '__obj.toLocaleString() must return the same value returned by n__obj.toLocaleString()'
+);
-if (typeof __obj !== typeof n__obj) {
- throw new Test262Error('#5');
-}
+assert.sameValue(typeof __obj, typeof n__obj, 'The value of `typeof __obj` is expected to be typeof n__obj');
var x;
diff --git a/js/src/tests/test262/built-ins/Object/S15.2.1.1_A2_T1.js b/js/src/tests/test262/built-ins/Object/S15.2.1.1_A2_T1.js
index 96d2fe3e980d..6cc3f59c79e1 100644
--- a/js/src/tests/test262/built-ins/Object/S15.2.1.1_A2_T1.js
+++ b/js/src/tests/test262/built-ins/Object/S15.2.1.1_A2_T1.js
@@ -11,26 +11,13 @@ description: Calling Object function with boolean argument value
var bool = true;
-if (typeof bool !== 'boolean') {
- throw new Test262Error('#1: bool should be boolean primitive');
-}
+assert.sameValue(typeof bool, 'boolean', 'The value of `typeof bool` is expected to be "boolean"');
var obj = Object(bool);
-if (obj.constructor !== Boolean) {
- throw new Test262Error('#2: Object(true) returns ToObject(true)');
-}
-
-if (typeof obj !== "object") {
- throw new Test262Error('#3: Object(true) returns ToObject(true)');
-}
-
-if (!obj) {
- throw new Test262Error('#4: Object(true) returns ToObject(true)');
-}
-
-if (obj === true) {
- throw new Test262Error('#5: Object(true) returns ToObject(true)');
-}
+assert.sameValue(obj.constructor, Boolean, 'The value of obj.constructor is expected to equal the value of Boolean');
+assert.sameValue(typeof obj, "object", 'The value of `typeof obj` is expected to be "object"');
+assert(!!obj, 'The value of !!obj is expected to be true');
+assert.notSameValue(obj, true, 'The value of obj is not true');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Object/S15.2.1.1_A2_T10.js b/js/src/tests/test262/built-ins/Object/S15.2.1.1_A2_T10.js
index 496ee9c003d3..a37953c1014c 100644
--- a/js/src/tests/test262/built-ins/Object/S15.2.1.1_A2_T10.js
+++ b/js/src/tests/test262/built-ins/Object/S15.2.1.1_A2_T10.js
@@ -11,18 +11,13 @@ description: Calling Object function with array of numbers as argument value
var arr = [1, 2, 3];
-//CHECK#1
-if (typeof arr !== 'object') {
- throw new Test262Error('#1: arr = [1,2,3] is NOT an object');
-}
+assert.sameValue(typeof arr, 'object', 'The value of `typeof arr` is expected to be "object"');
var n_obj = Object(arr);
arr.push(4);
-//CHECK#2
-if ((n_obj !== arr) || (n_obj[3] !== 4)) {
- throw new Test262Error('#2: Object([1,2,3]) returns ToObject([1,2,3])');
-}
+assert.sameValue(n_obj, arr, 'The value of n_obj is expected to equal the value of arr');
+assert.sameValue(n_obj[3], 4, 'The value of n_obj[3] is expected to be 4');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Object/S15.2.1.1_A2_T11.js b/js/src/tests/test262/built-ins/Object/S15.2.1.1_A2_T11.js
index d05037814ad3..a3e7fdd4dd73 100644
--- a/js/src/tests/test262/built-ins/Object/S15.2.1.1_A2_T11.js
+++ b/js/src/tests/test262/built-ins/Object/S15.2.1.1_A2_T11.js
@@ -8,24 +8,19 @@ info: |
es5id: 15.2.1.1_A2_T11
description: Calling Object function with function declaration as argument value
---*/
-
-//CHECK#1
-if (typeof func !== 'undefined') {
- throw new Test262Error('#1: function expression can\'t be declarated');
-}
+assert.sameValue(typeof func, 'undefined', 'The value of `typeof func` is expected to be "undefined"');
var n_obj = Object(function func() {
return 1;
});
-//CHECK#2
-if ((n_obj.constructor !== Function) || (n_obj() !== 1)) {
- throw new Test262Error('#2: Object(function func(){return 1;}) returns function');
-}
+assert.sameValue(
+ n_obj.constructor,
+ Function,
+ 'The value of n_obj.constructor is expected to equal the value of Function'
+);
+assert.sameValue(n_obj(), 1, 'n_obj() must return 1')
+assert.sameValue(typeof func, 'undefined', 'The value of `typeof func` is expected to be "undefined"');
-//CHECK#3
-if (typeof func !== 'undefined') {
- throw new Test262Error('#3: function expression can\'t be declarated');
-}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Object/S15.2.1.1_A2_T12.js b/js/src/tests/test262/built-ins/Object/S15.2.1.1_A2_T12.js
index 9a4a27b037ba..2fbd10b1e162 100644
--- a/js/src/tests/test262/built-ins/Object/S15.2.1.1_A2_T12.js
+++ b/js/src/tests/test262/built-ins/Object/S15.2.1.1_A2_T12.js
@@ -13,20 +13,9 @@ var obj = Object(1.1 * ([].length + {
q: 1
}["q"]));
-//CHECK#2
-if (typeof obj !== "object") {
- throw new Test262Error('#2: Object(expression) returns ToObject(expression)');
-}
-
-//CHECK#3
-if (obj.constructor !== Number) {
- throw new Test262Error('#3: Object(expression) returns ToObject(expression)');
-}
-
-//CHECK#4
-if ((obj != 1.1) || (obj === 1.1)) {
- throw new Test262Error('#4: Object(expression) returns ToObject(expression)');
-}
-//
+assert.sameValue(typeof obj, "object", 'The value of `typeof obj` is expected to be "object"');
+assert.sameValue(obj.constructor, Number, 'The value of obj.constructor is expected to equal the value of Number');
+assert(obj == 1.1, 'The result of evaluating (obj == 1.1) is expected to be true');
+assert.notSameValue(obj, 1.1, 'The value of obj is not 1.1');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Object/S15.2.1.1_A2_T13.js b/js/src/tests/test262/built-ins/Object/S15.2.1.1_A2_T13.js
index e24b591fcfa4..549c4e54deca 100644
--- a/js/src/tests/test262/built-ins/Object/S15.2.1.1_A2_T13.js
+++ b/js/src/tests/test262/built-ins/Object/S15.2.1.1_A2_T13.js
@@ -11,24 +11,9 @@ description: Calling Object function with boolean expression as argument value
var obj = Object((1 === 1) && (!false));
-//CHECK#1
-if (obj.constructor !== Boolean) {
- throw new Test262Error('#1: Object(expression) returns ToObject(expression)');
-}
-
-//CHECK#1.1
-if (typeof obj !== "object") {
- throw new Test262Error('#1.1: Object(expression) returns ToObject(expression)');
-}
-
-//CHECK#2
-if (!(obj)) {
- throw new Test262Error('#2: Object(expression) returns ToObject(expression)');
-}
-
-//CHECK#3
-if (obj === true) {
- throw new Test262Error('#3: Object(expression) returns ToObject(expression)');
-}
+assert.sameValue(obj.constructor, Boolean, 'The value of obj.constructor is expected to equal the value of Boolean');
+assert.sameValue(typeof obj, "object", 'The value of `typeof obj` is expected to be "object"');
+assert(!!obj, 'The value of !!obj is expected to be true');
+assert.notSameValue(obj, true, 'The value of obj is not true');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Object/S15.2.1.1_A2_T14.js b/js/src/tests/test262/built-ins/Object/S15.2.1.1_A2_T14.js
index 34802e67e7b1..034a21f361fb 100644
--- a/js/src/tests/test262/built-ins/Object/S15.2.1.1_A2_T14.js
+++ b/js/src/tests/test262/built-ins/Object/S15.2.1.1_A2_T14.js
@@ -13,19 +13,9 @@ description: >
var obj = Object("" + 1);
-//CHECK#2
-if (obj.constructor !== String) {
- throw new Test262Error('#2: Object(expression) returns ToObject(expression)');
-}
-
-//CHECK#3
-if (typeof obj !== "object") {
- throw new Test262Error('#3: Object(expression) returns ToObject(expression)');
-}
-
-//CHECK#4
-if ((obj != "1") || (obj === "1")) {
- throw new Test262Error('#4: Object(expression) returns ToObject(expression)');
-}
+assert.sameValue(obj.constructor, String, 'The value of obj.constructor is expected to equal the value of String');
+assert.sameValue(typeof obj, "object", 'The value of `typeof obj` is expected to be "object"');
+assert(obj == "1", 'The result of evaluating (obj == "1") is expected to be true');
+assert.notSameValue(obj, "1", 'The value of obj is not "1"');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Object/S15.2.1.1_A2_T2.js b/js/src/tests/test262/built-ins/Object/S15.2.1.1_A2_T2.js
index c00e5e2a620b..9d71aa778442 100644
--- a/js/src/tests/test262/built-ins/Object/S15.2.1.1_A2_T2.js
+++ b/js/src/tests/test262/built-ins/Object/S15.2.1.1_A2_T2.js
@@ -11,27 +11,14 @@ description: Calling Object function with number argument value
var num = 1.1;
-// CHECK#1
-if (typeof num !== 'number') {
- throw new Test262Error('#1: num = 1.1 should be Number primitive');
-}
+assert.sameValue(typeof num, 'number', 'The value of `typeof num` is expected to be "number"');
var obj = Object(num);
-//CHECK#2
-if (typeof obj !== "object") {
- throw new Test262Error('#2: Object(1.1) returns ToObject(1.1)');
-}
+assert.sameValue(typeof obj, "object", 'The value of `typeof obj` is expected to be "object"');
+assert.sameValue(obj.constructor, Number, 'The value of obj.constructor is expected to equal the value of Number');
-//CHECK#3
-if (obj.constructor !== Number) {
- throw new Test262Error('#3: Object(1.1) returns ToObject(1.1)');
-}
-
-//CHECK#4
-if ((obj != 1.1) || (obj === 1.1)) {
- throw new Test262Error('#4: Object(1.1) returns ToObject(1.1)');
-}
-//
+assert(obj == 1.1, 'The result of evaluating (obj == 1.1) is expected to be true');
+assert.notSameValue(obj, 1.1, 'The value of obj is not 1.1');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Object/S15.2.1.1_A2_T3.js b/js/src/tests/test262/built-ins/Object/S15.2.1.1_A2_T3.js
index e11c00cb8074..e9cc2cc998a7 100644
--- a/js/src/tests/test262/built-ins/Object/S15.2.1.1_A2_T3.js
+++ b/js/src/tests/test262/built-ins/Object/S15.2.1.1_A2_T3.js
@@ -11,26 +11,13 @@ description: Calling Object function with string argument value
var str = 'Luke Skywalker';
-// CHECK#1
-if (typeof str !== 'string') {
- throw new Test262Error('#1: "Luke Skywalker" should be a String primitive');
-}
+assert.sameValue(typeof str, 'string', 'The value of `typeof str` is expected to be "string"');
var obj = Object(str);
-//CHECK#2
-if (obj.constructor !== String) {
- throw new Test262Error('#2: Object("Luke Skywalker") returns ToObject("Luke Skywalker")');
-}
-
-//CHECK#3
-if (typeof obj !== "object") {
- throw new Test262Error('#3: Object("Luke Skywalker") returns ToObject("Luke Skywalker")');
-}
-
-//CHECK#4
-if ((obj != "Luke Skywalker") || (obj === "Luke Skywalker")) {
- throw new Test262Error('#4: Object("Luke Skywalker") returns ToObject("Luke Skywalker")');
-}
+assert.sameValue(obj.constructor, String, 'The value of obj.constructor is expected to equal the value of String');
+assert.sameValue(typeof obj, "object", 'The value of `typeof obj` is expected to be "object"');
+assert(obj == "Luke Skywalker", 'The result of evaluating (obj == "Luke Skywalker") is expected to be true');
+assert.notSameValue(obj, "Luke Skywalker", 'The value of obj is not "Luke Skywalker"');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Object/S15.2.1.1_A2_T4.js b/js/src/tests/test262/built-ins/Object/S15.2.1.1_A2_T4.js
index ebd6228bb93d..0f9bb6c1207a 100644
--- a/js/src/tests/test262/built-ins/Object/S15.2.1.1_A2_T4.js
+++ b/js/src/tests/test262/built-ins/Object/S15.2.1.1_A2_T4.js
@@ -13,16 +13,11 @@ var obj = {
flag: true
};
-//CHECK#1
-if (typeof(obj) !== 'object') {
- throw new Test262Error('#1: obj = {flag:true} should be an Object');
-}
+assert.sameValue(typeof(obj), 'object', 'The value of `typeof(obj)` is expected to be "object"');
var n_obj = Object(obj);
-//CHECK#2
-if ((n_obj !== obj) || (!(n_obj['flag']))) {
- throw new Test262Error('#2: Object({flag:true}) returns ToObject({flag:true})');
-}
+assert.sameValue(n_obj, obj, 'The value of n_obj is expected to equal the value of obj');
+assert(!!n_obj['flag'], 'The value of !!n_obj["flag"] is expected to be true');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Object/S15.2.1.1_A2_T5.js b/js/src/tests/test262/built-ins/Object/S15.2.1.1_A2_T5.js
index 23add604e744..d06be6c43533 100644
--- a/js/src/tests/test262/built-ins/Object/S15.2.1.1_A2_T5.js
+++ b/js/src/tests/test262/built-ins/Object/S15.2.1.1_A2_T5.js
@@ -11,22 +11,11 @@ description: Calling Object function with NaN argument value
var num = NaN;
-// CHECK#1
-if (typeof num !== 'number') {
- throw new Test262Error('#1: num = NaN should have number type');
-}
+assert.sameValue(typeof num, 'number', 'The value of `typeof num` is expected to be "number"');
var obj = Object(num);
-//CHECK#2
-if (obj.constructor !== Number) {
- throw new Test262Error('#2: Object(NaN) returns ToObject(NaN)');
-}
-
-//CHECK#3
-if (typeof obj !== "object") {
- throw new Test262Error('#2: Object(NaN) returns ToObject(NaN)');
-}
-//
+assert.sameValue(obj.constructor, Number, 'The value of obj.constructor is expected to equal the value of Number');
+assert.sameValue(typeof obj, "object", 'The value of `typeof obj` is expected to be "object"');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Object/S15.2.1.1_A2_T6.js b/js/src/tests/test262/built-ins/Object/S15.2.1.1_A2_T6.js
index eecbadf06677..62f3b3f1ebeb 100644
--- a/js/src/tests/test262/built-ins/Object/S15.2.1.1_A2_T6.js
+++ b/js/src/tests/test262/built-ins/Object/S15.2.1.1_A2_T6.js
@@ -11,26 +11,13 @@ description: Calling Object function with Infinity argument value
var num = Infinity;
-// CHECK#1
-if (typeof num !== 'number') {
- throw new Test262Error('#1: num = Infinity should be a Number primitive');
-}
+assert.sameValue(typeof num, 'number', 'The value of `typeof num` is expected to be "number"');
var obj = Object(num);
-//CHECK#2
-if (obj.constructor !== Number) {
- throw new Test262Error('#2: Object(Infinity) returns ToObject(Infinity)');
-}
-
-//CHECK#3
-if (typeof obj !== "object") {
- throw new Test262Error('#3: Object(Infinity) returns ToObject(Infinity)');
-}
-
-//CHECK#4
-if ((obj != Infinity) || (obj === Infinity)) {
- throw new Test262Error('#4: Object(Infinity) returns ToObject(Infinity)');
-}
+assert.sameValue(obj.constructor, Number, 'The value of obj.constructor is expected to equal the value of Number');
+assert.sameValue(typeof obj, "object", 'The value of `typeof obj` is expected to be "object"');
+assert(obj == Infinity, 'The result of evaluating (obj == Infinity) is expected to be true');
+assert.notSameValue(obj, Infinity, 'The value of obj is expected to not equal ``Infinity``');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Object/S15.2.1.1_A2_T7.js b/js/src/tests/test262/built-ins/Object/S15.2.1.1_A2_T7.js
index 976b398b8ac1..72310316ab25 100644
--- a/js/src/tests/test262/built-ins/Object/S15.2.1.1_A2_T7.js
+++ b/js/src/tests/test262/built-ins/Object/S15.2.1.1_A2_T7.js
@@ -11,26 +11,13 @@ description: Calling Object function with empty string argument value
var str = '';
-// CHECK#1
-if (typeof(str) !== 'string') {
- throw new Test262Error('#1: "" is NOT a String');
-}
+assert.sameValue(typeof(str), 'string', 'The value of `typeof(str)` is expected to be "string"');
var obj = Object(str);
-//CHECK#2
-if (obj.constructor !== String) {
- throw new Test262Error('#2: Object("") returns ToObject("")');
-}
-
-//CHECK#3
-if (typeof obj !== "object") {
- throw new Test262Error('#3: Object("") returns ToObject("")');
-}
-
-//CHECK#4
-if ((obj != "") || (obj === "")) {
- throw new Test262Error('#4: Object("") returns ToObject("")');
-}
+assert.sameValue(obj.constructor, String, 'The value of obj.constructor is expected to equal the value of String');
+assert.sameValue(typeof obj, "object", 'The value of `typeof obj` is expected to be "object"');
+assert(obj == "", 'The result of evaluating (obj == "") is expected to be true');
+assert.notSameValue(obj, "", 'The value of obj is not ""');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Object/S15.2.1.1_A2_T8.js b/js/src/tests/test262/built-ins/Object/S15.2.1.1_A2_T8.js
index e47a7772be98..dc2c0df58385 100644
--- a/js/src/tests/test262/built-ins/Object/S15.2.1.1_A2_T8.js
+++ b/js/src/tests/test262/built-ins/Object/S15.2.1.1_A2_T8.js
@@ -13,16 +13,11 @@ var func = function() {
return 1;
};
-//CHECK#1
-if (typeof func !== 'function') {
- throw new Test262Error('#1: func = function(){return 1;} is NOT an function');
-}
+assert.sameValue(typeof func, 'function', 'The value of `typeof func` is expected to be "function"');
var n_obj = Object(func);
-//CHECK#2
-if ((n_obj !== func) || (n_obj() !== 1)) {
- throw new Test262Error('#2: Object(function) returns function');
-}
+assert.sameValue(n_obj, func, 'The value of n_obj is expected to equal the value of func');
+assert.sameValue(n_obj(), 1, 'n_obj() must return 1');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Object/S15.2.1.1_A2_T9.js b/js/src/tests/test262/built-ins/Object/S15.2.1.1_A2_T9.js
index b9a02786a0e3..374606d9f968 100644
--- a/js/src/tests/test262/built-ins/Object/S15.2.1.1_A2_T9.js
+++ b/js/src/tests/test262/built-ins/Object/S15.2.1.1_A2_T9.js
@@ -10,21 +10,15 @@ description: >
Calling Object function with function argument value. The function
is declared
---*/
-
-//CHECK#1
-if (typeof func !== 'function') {
- throw new Test262Error('#1: func = function(){return 1;} is NOT an function');
+function func() {
+ return 1;
}
+assert.sameValue(typeof func, 'function', 'The value of `typeof func` is expected to be "function"');
+
var n_obj = Object(func);
-//CHECK#2
-if ((n_obj !== func) || (n_obj() !== 1)) {
- throw new Test262Error('#2: Object(function) returns function');
-}
-
-function func() {
- return 1;
-};
+assert.sameValue(n_obj, func, 'The value of n_obj is expected to equal the value of func');
+assert.sameValue(n_obj(), 1, 'n_obj() must return 1');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Object/S15.2.1.1_A3_T1.js b/js/src/tests/test262/built-ins/Object/S15.2.1.1_A3_T1.js
index 008d88fe0c67..d28f44cad072 100644
--- a/js/src/tests/test262/built-ins/Object/S15.2.1.1_A3_T1.js
+++ b/js/src/tests/test262/built-ins/Object/S15.2.1.1_A3_T1.js
@@ -11,19 +11,11 @@ description: Creating an object with "Object(1,2,3)"
var obj = Object(1, 2, 3);
-//CHECK#1
-if (obj.constructor !== Number) {
- throw new Test262Error('#1: Since Object as a function calling is the same as function calling list of arguments can appears in braces;');
-}
+assert.sameValue(obj.constructor, Number, 'The value of obj.constructor is expected to equal the value of Number');
+assert.sameValue(typeof obj, "object", 'The value of `typeof obj` is expected to be "object"');
-//CHECK#2
-if (typeof obj !== "object") {
- throw new Test262Error('#2: Since Object as a function calling is the same as function calling list of arguments can appears in braces;');
-}
+assert(obj == 1, 'The result of evaluating (obj == 1) is expected to be true');
+assert.notSameValue(obj, 1, 'The value of obj is not 1');
-//CHECK#3
-if ((obj != 1) || (obj === 1)) {
- throw new Test262Error('3#: Since Object as a function calling is the same as function calling list of arguments can appears in braces;');
-}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Object/S15.2.1.1_A3_T2.js b/js/src/tests/test262/built-ins/Object/S15.2.1.1_A3_T2.js
index 50bb54a9c2a5..478cd3f9b3e9 100644
--- a/js/src/tests/test262/built-ins/Object/S15.2.1.1_A3_T2.js
+++ b/js/src/tests/test262/built-ins/Object/S15.2.1.1_A3_T2.js
@@ -11,14 +11,7 @@ description: Creating an object with "Object(null,2,3)"
var obj = Object(null, 2, 3);
-//CHECK#1
-if (obj.constructor !== Object) {
- throw new Test262Error('#1: Since Object as a function calling is the same as function calling list of arguments can appears in braces;');
-}
-
-//CHECK#2
-if (typeof obj !== "object") {
- throw new Test262Error('#2: Since Object as a function calling is the same as function calling list of arguments can appears in braces;');
-}
+assert.sameValue(obj.constructor, Object, 'The value of obj.constructor is expected to equal the value of Object');
+assert.sameValue(typeof obj, "object", 'The value of `typeof obj` is expected to be "object"');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Object/S15.2.1.1_A3_T3.js b/js/src/tests/test262/built-ins/Object/S15.2.1.1_A3_T3.js
index 11c94fac9bf4..28099a7e6818 100644
--- a/js/src/tests/test262/built-ins/Object/S15.2.1.1_A3_T3.js
+++ b/js/src/tests/test262/built-ins/Object/S15.2.1.1_A3_T3.js
@@ -11,19 +11,11 @@ description: Creating an object with "Object((null,2,3),1,2)"
var obj = Object((null, 2, 3), 1, 2);
-//CHECK#1
-if (obj.constructor !== Number) {
- throw new Test262Error('#1: Since Object as a function calling is the same as function calling list of arguments can appears in braces;');
-}
+assert.sameValue(obj.constructor, Number, 'The value of obj.constructor is expected to equal the value of Number');
+assert.sameValue(typeof obj, "object", 'The value of `typeof obj` is expected to be "object"');
-//CHECK#2
-if (typeof obj !== "object") {
- throw new Test262Error('#2: Since Object as a function calling is the same as function calling list of arguments can appears in braces;');
-}
+assert(obj == 3, 'The result of evaluating (obj == 3) is expected to be true');
+assert.notSameValue(obj, 3, 'The value of obj is not 3');
-//CHECK#3
-if ((obj != 3) || (obj === 3)) {
- throw new Test262Error('3#: Since Object as a function calling is the same as function calling list of arguments can appears in braces;');
-}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Object/S15.2.2.1_A1_T1.js b/js/src/tests/test262/built-ins/Object/S15.2.2.1_A1_T1.js
index 9ff608bcaa83..bc38af1a0b32 100644
--- a/js/src/tests/test262/built-ins/Object/S15.2.2.1_A1_T1.js
+++ b/js/src/tests/test262/built-ins/Object/S15.2.2.1_A1_T1.js
@@ -16,30 +16,21 @@ description: Creating new Object() and checking its properties
var obj = new Object();
-// CHECK#0
-if (obj === undefined) {
- throw new Test262Error('#0: new Object() return the newly created native object.');
-}
+assert.notSameValue(obj, undefined, 'The value of obj is expected to not equal ``undefined``');
+assert.sameValue(obj.constructor, Object, 'The value of obj.constructor is expected to equal the value of Object');
-// CHECK#1
-if (obj.constructor !== Object) {
- throw new Test262Error('#1: new Object() create a new native ECMAScript object');
-}
+assert(
+ !!Object.prototype.isPrototypeOf(obj),
+ 'The value of !!Object.prototype.isPrototypeOf(obj) is expected to be true'
+);
-// CHECK#2
-if (!(Object.prototype.isPrototypeOf(obj))) {
- throw new Test262Error('#2: when new Object() calls the [[Prototype]] property of the newly constructed object is set to the Object prototype object.');
-}
-
-// CHECK#3
var to_string_result = '[object ' + 'Object' + ']';
-if (obj.toString() !== to_string_result) {
- throw new Test262Error('#3: when new Object() calls the [[Class]] property of the newly constructed object is set to "Object".');
-}
+assert.sameValue(obj.toString(), to_string_result, 'obj.toString() returns to_string_result');
-// CHECK#4
-if (obj.valueOf().toString() !== to_string_result.toString()) {
- throw new Test262Error('#4: when new Object() calls the newly constructed object has no [[Value]] property.');
-}
+assert.sameValue(
+ obj.valueOf().toString(),
+ to_string_result.toString(),
+ 'obj.valueOf().toString() must return the same value returned by to_string_result.toString()'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Object/S15.2.2.1_A1_T2.js b/js/src/tests/test262/built-ins/Object/S15.2.2.1_A1_T2.js
index 3e93d5285723..a97791e32e18 100644
--- a/js/src/tests/test262/built-ins/Object/S15.2.2.1_A1_T2.js
+++ b/js/src/tests/test262/built-ins/Object/S15.2.2.1_A1_T2.js
@@ -17,30 +17,21 @@ description: Creating new Object(void 0) and checking its properties
//var foo = void 0;
var obj = new Object(void 0);
-// CHECK#0
-if (obj === undefined) {
- throw new Test262Error('#0: new Object(undefined) return the newly created native object.');
-}
+assert.notSameValue(obj, undefined, 'The value of obj is expected to not equal ``undefined``');
+assert.sameValue(obj.constructor, Object, 'The value of obj.constructor is expected to equal the value of Object');
-// CHECK#1
-if (obj.constructor !== Object) {
- throw new Test262Error('#1: new Object(undefined) create a new native ECMAScript object');
-}
+assert(
+ !!Object.prototype.isPrototypeOf(obj),
+ 'The value of !!Object.prototype.isPrototypeOf(obj) is expected to be true'
+);
-// CHECK#2
-if (!(Object.prototype.isPrototypeOf(obj))) {
- throw new Test262Error('#2: when new Object(undefined) calls the [[Prototype]] property of the newly constructed object is set to the Object prototype object.');
-}
-
-// CHECK#3
var to_string_result = '[object ' + 'Object' + ']';
-if (obj.toString() !== to_string_result) {
- throw new Test262Error('#3: when new Object(undefined) calls the [[Class]] property of the newly constructed object is set to "Object".');
-}
+assert.sameValue(obj.toString(), to_string_result, 'obj.toString() returns to_string_result');
-// CHECK#4
-if (obj.valueOf().toString() !== to_string_result.toString()) {
- throw new Test262Error('#4: when new Object(undefined) calls the newly constructed object has no [[Value]] property.');
-}
+assert.sameValue(
+ obj.valueOf().toString(),
+ to_string_result.toString(),
+ 'obj.valueOf().toString() must return the same value returned by to_string_result.toString()'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Object/S15.2.2.1_A1_T3.js b/js/src/tests/test262/built-ins/Object/S15.2.2.1_A1_T3.js
index 0b94780f925f..d6fb4d495aeb 100644
--- a/js/src/tests/test262/built-ins/Object/S15.2.2.1_A1_T3.js
+++ b/js/src/tests/test262/built-ins/Object/S15.2.2.1_A1_T3.js
@@ -16,30 +16,21 @@ description: Creating new Object(null) and checking its properties
var obj = new Object(null);
-// CHECK#0
-if (obj === undefined) {
- throw new Test262Error('#0: new Object(null) return the newly created native object.');
-}
+assert.notSameValue(obj, undefined, 'The value of obj is expected to not equal ``undefined``');
+assert.sameValue(obj.constructor, Object, 'The value of obj.constructor is expected to equal the value of Object');
-// CHECK#1
-if (obj.constructor !== Object) {
- throw new Test262Error('#1: new Object(null) create a new native ECMAScript object');
-}
+assert(
+ !!Object.prototype.isPrototypeOf(obj),
+ 'The value of !!Object.prototype.isPrototypeOf(obj) is expected to be true'
+);
-// CHECK#2
-if (!(Object.prototype.isPrototypeOf(obj))) {
- throw new Test262Error('#2: when new Object(null) calls the [[Prototype]] property of the newly constructed object is set to the Object prototype object.');
-}
-
-// CHECK#3
var to_string_result = '[object ' + 'Object' + ']';
-if (obj.toString() !== to_string_result) {
- throw new Test262Error('#3: when new Object(null) calls the [[Class]] property of the newly constructed object is set to "Object".');
-}
+assert.sameValue(obj.toString(), to_string_result, 'obj.toString() returns to_string_result');
-// CHECK#4
-if (obj.valueOf().toString() !== to_string_result.toString()) {
- throw new Test262Error('#4: when new Object(null) calls the newly constructed object has no [[Value]] property.');
-}
+assert.sameValue(
+ obj.valueOf().toString(),
+ to_string_result.toString(),
+ 'obj.valueOf().toString() must return the same value returned by to_string_result.toString()'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Object/S15.2.2.1_A1_T4.js b/js/src/tests/test262/built-ins/Object/S15.2.2.1_A1_T4.js
index 51a515c2f8aa..1818c8816419 100644
--- a/js/src/tests/test262/built-ins/Object/S15.2.2.1_A1_T4.js
+++ b/js/src/tests/test262/built-ins/Object/S15.2.2.1_A1_T4.js
@@ -16,30 +16,21 @@ description: Creating new Object(undefined) and checking its properties
var obj = new Object(undefined);
-// CHECK#0
-if (obj === undefined) {
- throw new Test262Error('#0: new Object(undefined) return the newly created native object.');
-}
+assert.notSameValue(obj, undefined, 'The value of obj is expected to not equal ``undefined``');
+assert.sameValue(obj.constructor, Object, 'The value of obj.constructor is expected to equal the value of Object');
-// CHECK#1
-if (obj.constructor !== Object) {
- throw new Test262Error('#1: new Object(undefined) create a new native ECMAScript object');
-}
+assert(
+ !!Object.prototype.isPrototypeOf(obj),
+ 'The value of !!Object.prototype.isPrototypeOf(obj) is expected to be true'
+);
-// CHECK#2
-if (!(Object.prototype.isPrototypeOf(obj))) {
- throw new Test262Error('#2: when new Object(undefined) calls the [[Prototype]] property of the newly constructed object is set to the Object prototype object.');
-}
-
-// CHECK#3
var to_string_result = '[object ' + 'Object' + ']';
-if (obj.toString() !== to_string_result) {
- throw new Test262Error('#3: when new Object(undefined) calls the [[Class]] property of the newly constructed object is set to "Object".');
-}
+assert.sameValue(obj.toString(), to_string_result, 'obj.toString() returns to_string_result');
-// CHECK#4
-if (obj.valueOf().toString() !== to_string_result.toString()) {
- throw new Test262Error('#4: when new Object(undefined) calls the newly constructed object has no [[Value]] property.');
-}
+assert.sameValue(
+ obj.valueOf().toString(),
+ to_string_result.toString(),
+ 'obj.valueOf().toString() must return the same value returned by to_string_result.toString()'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Object/S15.2.2.1_A1_T5.js b/js/src/tests/test262/built-ins/Object/S15.2.2.1_A1_T5.js
index 3317b37349c1..a0ca5c6cb8db 100644
--- a/js/src/tests/test262/built-ins/Object/S15.2.2.1_A1_T5.js
+++ b/js/src/tests/test262/built-ins/Object/S15.2.2.1_A1_T5.js
@@ -18,31 +18,22 @@ description: >
var obj = new Object(x);
-// CHECK#0
-if (obj === undefined) {
- throw new Test262Error('#0: new Object(undefined) return the newly created native object.');
-}
+assert.notSameValue(obj, undefined, 'The value of obj is expected to not equal ``undefined``');
+assert.sameValue(obj.constructor, Object, 'The value of obj.constructor is expected to equal the value of Object');
-// CHECK#1
-if (obj.constructor !== Object) {
- throw new Test262Error('#1: new Object(undefined) create a new native ECMAScript object');
-}
+assert(
+ !!Object.prototype.isPrototypeOf(obj),
+ 'The value of !!Object.prototype.isPrototypeOf(obj) is expected to be true'
+);
-// CHECK#2
-if (!(Object.prototype.isPrototypeOf(obj))) {
- throw new Test262Error('#2: when new Object(undefined) calls the [[Prototype]] property of the newly constructed object is set to the Object prototype object.');
-}
-
-// CHECK#3
var to_string_result = '[object ' + 'Object' + ']';
-if (obj.toString() !== to_string_result) {
- throw new Test262Error('#3: when new Object(undefined) calls the [[Class]] property of the newly constructed object is set to "Object".');
-}
+assert.sameValue(obj.toString(), to_string_result, 'obj.toString() returns to_string_result');
-// CHECK#4
-if (obj.valueOf().toString() !== to_string_result.toString()) {
- throw new Test262Error('#4: when new Object(undefined) calls the newly constructed object has no [[Value]] property.');
-}
+assert.sameValue(
+ obj.valueOf().toString(),
+ to_string_result.toString(),
+ 'obj.valueOf().toString() must return the same value returned by to_string_result.toString()'
+);
var x;
diff --git a/js/src/tests/test262/built-ins/Object/S15.2.2.1_A2_T1.js b/js/src/tests/test262/built-ins/Object/S15.2.2.1_A2_T1.js
index 2f6412068707..85eaa078b478 100644
--- a/js/src/tests/test262/built-ins/Object/S15.2.2.1_A2_T1.js
+++ b/js/src/tests/test262/built-ins/Object/S15.2.2.1_A2_T1.js
@@ -15,14 +15,7 @@ var obj = {
var n_obj = new Object(obj);
-//CHECK#1
-if (n_obj !== obj) {
- throw new Test262Error('#1: When the Object constructor is called and if the value is an Object simply value returns.');
-}
-
-//CHECK#2
-if (n_obj['prop'] !== 1) {
- throw new Test262Error('#2: When the Object constructor is called and if the value is an Object simply value returns.');
-}
+assert.sameValue(n_obj, obj, 'The value of n_obj is expected to equal the value of obj');
+assert.sameValue(n_obj['prop'], 1, 'The value of n_obj["prop"] is expected to be 1');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Object/S15.2.2.1_A2_T2.js b/js/src/tests/test262/built-ins/Object/S15.2.2.1_A2_T2.js
index f0b8f40f33d4..d1628d2ff69f 100644
--- a/js/src/tests/test262/built-ins/Object/S15.2.2.1_A2_T2.js
+++ b/js/src/tests/test262/built-ins/Object/S15.2.2.1_A2_T2.js
@@ -15,15 +15,7 @@ var func = function() {
var n_obj = new Object(func);
-//CHECK#1
-if (n_obj !== func) {
- throw new Test262Error('#1: When the Object constructor is called and if the value is an Object simply value returns');
-}
-
-//CHECK#2
-if (n_obj() !== 1) {
- throw new Test262Error('When the Object constructor is called and if the value is an Object simply value returns');
-}
-//
+assert.sameValue(n_obj, func, 'The value of n_obj is expected to equal the value of func');
+assert.sameValue(n_obj(), 1, 'n_obj() must return 1');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Object/S15.2.2.1_A2_T3.js b/js/src/tests/test262/built-ins/Object/S15.2.2.1_A2_T3.js
index 8349ecb3e677..a570252dbb7c 100644
--- a/js/src/tests/test262/built-ins/Object/S15.2.2.1_A2_T3.js
+++ b/js/src/tests/test262/built-ins/Object/S15.2.2.1_A2_T3.js
@@ -15,14 +15,7 @@ var n_obj = new Object(arr);
arr.push(4);
-//CHECK#1
-if (n_obj !== arr) {
- throw new Test262Error('#1: When the Object constructor is called and if the value is an Object simply value returns.');
-}
-
-//CHECK#2
-if (n_obj[3] !== 4) {
- throw new Test262Error('#2: When the Object constructor is called and if the value is an Object simply value returns.');
-}
+assert.sameValue(n_obj, arr, 'The value of n_obj is expected to equal the value of arr');
+assert.sameValue(n_obj[3], 4, 'The value of n_obj[3] is expected to be 4');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Object/S15.2.2.1_A2_T5.js b/js/src/tests/test262/built-ins/Object/S15.2.2.1_A2_T5.js
index 108c60c87591..b46e79e97b14 100644
--- a/js/src/tests/test262/built-ins/Object/S15.2.2.1_A2_T5.js
+++ b/js/src/tests/test262/built-ins/Object/S15.2.2.1_A2_T5.js
@@ -13,14 +13,8 @@ var obj = new Date(1978, 3);
var n_obj = new Object(obj);
-//CHECK#1
-if (n_obj !== obj) {
- throw new Test262Error('#1: When the Object constructor is called and if the value is an Object simply value returns.');
-}
-
-//CHECK#2
-if ((n_obj.getFullYear() !== 1978) || (n_obj.getMonth() !== 3)) {
- throw new Test262Error('#2: When the Object constructor is called and if the value is an Object simply value returns.');
-}
+assert.sameValue(n_obj, obj, 'The value of n_obj is expected to equal the value of obj');
+assert.sameValue(n_obj.getFullYear(), 1978, 'n_obj.getFullYear() must return 1978');
+assert.sameValue(n_obj.getMonth(), 3, 'n_obj.getMonth() must return 3');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Object/S15.2.2.1_A2_T6.js b/js/src/tests/test262/built-ins/Object/S15.2.2.1_A2_T6.js
index 09ce33258e4c..31512f3dd3c6 100644
--- a/js/src/tests/test262/built-ins/Object/S15.2.2.1_A2_T6.js
+++ b/js/src/tests/test262/built-ins/Object/S15.2.2.1_A2_T6.js
@@ -11,18 +11,11 @@ description: The value is a declared function
var n_obj = new Object(func);
-//CHECK#1
-if (n_obj !== func) {
- throw new Test262Error('#1: When the Object constructor is called and if the value is an Object simply value returns');
-}
-
-//CHECK#2
-if (n_obj() !== 1) {
- throw new Test262Error('When the Object constructor is called and if the value is an Object simply value returns');
-}
+assert.sameValue(n_obj, func, 'The value of n_obj is expected to equal the value of func');
+assert.sameValue(n_obj(), 1, 'n_obj() must return 1');
function func() {
return 1;
-};
+}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Object/S15.2.2.1_A2_T7.js b/js/src/tests/test262/built-ins/Object/S15.2.2.1_A2_T7.js
index 668b9a2ba28a..0b41b080de39 100644
--- a/js/src/tests/test262/built-ins/Object/S15.2.2.1_A2_T7.js
+++ b/js/src/tests/test262/built-ins/Object/S15.2.2.1_A2_T7.js
@@ -8,29 +8,19 @@ info: |
es5id: 15.2.2.1_A2_T7
description: The value is a function declaration
---*/
-
-//CHECK#0
-if (typeof func !== 'undefined') {
- throw new Test262Error('#0: function expression can\'t be declarated');
-}
+assert.sameValue(typeof func, 'undefined', 'The value of `typeof func` is expected to be "undefined"');
var n_obj = new Object(function func() {
return 1;
});
-//CHECK#1
-if (n_obj.constructor !== Function) {
- throw new Test262Error('#1: When the Object constructor is called and if the value is an Object simply value returns');
-}
+assert.sameValue(
+ n_obj.constructor,
+ Function,
+ 'The value of n_obj.constructor is expected to equal the value of Function'
+);
-//CHECK#2
-if (n_obj() !== 1) {
- throw new Test262Error('#2: When the Object constructor is called and if the value is an Object simply value returns');
-}
-
-//CHECK#3
-if (typeof func !== 'undefined') {
- throw new Test262Error('#3: function expression can\'t be declarated');
-}
+assert.sameValue(n_obj(), 1, 'n_obj() must return 1');
+assert.sameValue(typeof func, 'undefined', 'The value of `typeof func` is expected to be "undefined"');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Object/S15.2.2.1_A3_T1.js b/js/src/tests/test262/built-ins/Object/S15.2.2.1_A3_T1.js
index 5a28791e6bdb..a3f680a7c267 100644
--- a/js/src/tests/test262/built-ins/Object/S15.2.2.1_A3_T1.js
+++ b/js/src/tests/test262/built-ins/Object/S15.2.2.1_A3_T1.js
@@ -11,32 +11,14 @@ description: Argument value is a nonempty string
var str = 'Obi-Wan Kenobi';
-//CHECK#1
-if (typeof str !== 'string') {
- throw new Test262Error('#1: "Obi-Wan Kenobi" is NOT a String');
-}
+assert.sameValue(typeof str, 'string', 'The value of `typeof str` is expected to be "string"');
var n_obj = new Object(str);
-//CHECK#2
-if (n_obj.constructor !== String) {
- throw new Test262Error('#2: When the Object constructor is called with String argument return ToObject(string)');
-}
-
-//CHECK#3
-if (typeof n_obj !== 'object') {
- throw new Test262Error('#3: When the Object constructor is called with String argument return ToObject(string)');
-}
-
-//CHECK#4
-if (n_obj != str) {
- throw new Test262Error('#4: When the Object constructor is called with String argument return ToObject(string)');
-}
-
-//CHECK#5
-if (n_obj === str) {
- throw new Test262Error('#5: When the Object constructor is called with String argument return ToObject(string)');
-}
+assert.sameValue(n_obj.constructor, String, 'The value of n_obj.constructor is expected to equal the value of String');
+assert.sameValue(typeof n_obj, 'object', 'The value of `typeof n_obj` is expected to be "object"');
+assert(n_obj == str, 'The result of evaluating (n_obj == str) is expected to be true');
+assert.notSameValue(n_obj, str, 'The value of n_obj is expected to not equal the value of `str`');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Object/S15.2.2.1_A3_T2.js b/js/src/tests/test262/built-ins/Object/S15.2.2.1_A3_T2.js
index 21e7ba34277c..bd0a207cbcfe 100644
--- a/js/src/tests/test262/built-ins/Object/S15.2.2.1_A3_T2.js
+++ b/js/src/tests/test262/built-ins/Object/S15.2.2.1_A3_T2.js
@@ -11,31 +11,13 @@ description: Argument value is an empty string
var str = '';
-//CHECK#1
-if (typeof str !== 'string') {
- throw new Test262Error('#1: "" is NOT a String');
-}
+assert.sameValue(typeof str, 'string', 'The value of `typeof str` is expected to be "string"');
var n_obj = new Object(str);
-//CHECK#2
-if (n_obj.constructor !== String) {
- throw new Test262Error('#2: When the Object constructor is called with String argument return ToObject(string)');
-}
-
-//CHECK#3
-if (typeof n_obj !== 'object') {
- throw new Test262Error('#3: When the Object constructor is called with String argument return ToObject(string)');
-}
-
-//CHECK#4
-if (n_obj != str) {
- throw new Test262Error('#4: When the Object constructor is called with String argument return ToObject(string)');
-}
-
-//CHECK#5
-if (n_obj === str) {
- throw new Test262Error('#5: When the Object constructor is called with String argument return ToObject(string)');
-}
+assert.sameValue(n_obj.constructor, String, 'The value of n_obj.constructor is expected to equal the value of String');
+assert.sameValue(typeof n_obj, 'object', 'The value of `typeof n_obj` is expected to be "object"');
+assert(n_obj == str, 'The result of evaluating (n_obj == str) is expected to be true');
+assert.notSameValue(n_obj, str, 'The value of n_obj is expected to not equal the value of `str`');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Object/S15.2.2.1_A3_T3.js b/js/src/tests/test262/built-ins/Object/S15.2.2.1_A3_T3.js
index 68d67b0a7105..3aaf9fda5996 100644
--- a/js/src/tests/test262/built-ins/Object/S15.2.2.1_A3_T3.js
+++ b/js/src/tests/test262/built-ins/Object/S15.2.2.1_A3_T3.js
@@ -11,24 +11,9 @@ description: Argument value is sum of empty string and number
var n_obj = new Object("" + 1);
-//CHECK#2
-if (n_obj.constructor !== String) {
- throw new Test262Error('#2: When the Object constructor is called with String argument return ToObject(string)');
-}
-
-//CHECK#3
-if (typeof n_obj !== 'object') {
- throw new Test262Error('#3: When the Object constructor is called with String argument return ToObject(string)');
-}
-
-//CHECK#4
-if (n_obj != "1") {
- throw new Test262Error('#4: When the Object constructor is called with String argument return ToObject(string)');
-}
-
-//CHECK#5
-if (n_obj === "1") {
- throw new Test262Error('#5: When the Object constructor is called with String argument return ToObject(string)');
-}
+assert.sameValue(n_obj.constructor, String, 'The value of n_obj.constructor is expected to equal the value of String');
+assert.sameValue(typeof n_obj, 'object', 'The value of `typeof n_obj` is expected to be "object"');
+assert(n_obj == "1", 'The result of evaluating (n_obj == "1") is expected to be true');
+assert.notSameValue(n_obj, "1", 'The value of n_obj is not "1"');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Object/S15.2.2.1_A4_T1.js b/js/src/tests/test262/built-ins/Object/S15.2.2.1_A4_T1.js
index 3a5481b4770e..85b1fde9215b 100644
--- a/js/src/tests/test262/built-ins/Object/S15.2.2.1_A4_T1.js
+++ b/js/src/tests/test262/built-ins/Object/S15.2.2.1_A4_T1.js
@@ -11,31 +11,18 @@ description: Argument value is "true"
var bool = true;
-//CHECK#1
-if (typeof bool !== 'boolean') {
- throw new Test262Error('#1: true is NOT a boolean');
-}
+assert.sameValue(typeof bool, 'boolean', 'The value of `typeof bool` is expected to be "boolean"');
var n_obj = new Object(bool);
-//CHECK#2
-if (n_obj.constructor !== Boolean) {
- throw new Test262Error('#2: When the Object constructor is called with Boolean argument return ToObject(boolean)');
-}
+assert.sameValue(
+ n_obj.constructor,
+ Boolean,
+ 'The value of n_obj.constructor is expected to equal the value of Boolean'
+);
-//CHECK#3
-if (typeof n_obj !== 'object') {
- throw new Test262Error('#3: When the Object constructor is called with Boolean argument return ToObject(boolean)');
-}
-
-//CHECK#4
-if (n_obj != bool) {
- throw new Test262Error('#4: When the Object constructor is called with Boolean argument return ToObject(boolean)');
-}
-
-//CHECK#5
-if (n_obj === bool) {
- throw new Test262Error('#5: When the Object constructor is called with Boolean argument return ToObject(boolean)');
-}
+assert.sameValue(typeof n_obj, 'object', 'The value of `typeof n_obj` is expected to be "object"');
+assert(n_obj == bool, 'The result of evaluating (n_obj == bool) is expected to be true');
+assert.notSameValue(n_obj, bool, 'The value of n_obj is expected to not equal the value of `bool`');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Object/S15.2.2.1_A4_T2.js b/js/src/tests/test262/built-ins/Object/S15.2.2.1_A4_T2.js
index 5b91daa0a98f..33006506e906 100644
--- a/js/src/tests/test262/built-ins/Object/S15.2.2.1_A4_T2.js
+++ b/js/src/tests/test262/built-ins/Object/S15.2.2.1_A4_T2.js
@@ -11,31 +11,18 @@ description: Argument value is "false"
var bool = false;
-//CHECK#1
-if (typeof bool !== 'boolean') {
- throw new Test262Error('#1: false is NOT a boolean');
-}
+assert.sameValue(typeof bool, 'boolean', 'The value of `typeof bool` is expected to be "boolean"');
var n_obj = new Object(bool);
-//CHECK#2
-if (n_obj.constructor !== Boolean) {
- throw new Test262Error('#2: When the Object constructor is called with Boolean argument return ToObject(boolean)');
-}
+assert.sameValue(
+ n_obj.constructor,
+ Boolean,
+ 'The value of n_obj.constructor is expected to equal the value of Boolean'
+);
-//CHECK#3
-if (typeof n_obj !== 'object') {
- throw new Test262Error('#3: When the Object constructor is called with Boolean argument return ToObject(boolean)');
-}
-
-//CHECK#4
-if (n_obj != bool) {
- throw new Test262Error('#4: When the Object constructor is called with Boolean argument return ToObject(boolean)');
-}
-
-//CHECK#5
-if (n_obj === bool) {
- throw new Test262Error('#5: When the Object constructor is called with Boolean argument return ToObject(boolean)');
-}
+assert.sameValue(typeof n_obj, 'object', 'The value of `typeof n_obj` is expected to be "object"');
+assert(n_obj == bool, 'The result of evaluating (n_obj == bool) is expected to be true');
+assert.notSameValue(n_obj, bool, 'The value of n_obj is expected to not equal the value of `bool`');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Object/S15.2.2.1_A4_T3.js b/js/src/tests/test262/built-ins/Object/S15.2.2.1_A4_T3.js
index d209a188c1c0..8163612b6434 100644
--- a/js/src/tests/test262/built-ins/Object/S15.2.2.1_A4_T3.js
+++ b/js/src/tests/test262/built-ins/Object/S15.2.2.1_A4_T3.js
@@ -11,24 +11,14 @@ description: Argument value is boolean expression
var n_obj = new Object((1 === 1) && !(false));
-//CHECK#2
-if (n_obj.constructor !== Boolean) {
- throw new Test262Error('#2: When the Object constructor is called with Boolean argument return ToObject(boolean)');
-}
+assert.sameValue(
+ n_obj.constructor,
+ Boolean,
+ 'The value of n_obj.constructor is expected to equal the value of Boolean'
+);
-//CHECK#3
-if (typeof n_obj !== 'object') {
- throw new Test262Error('#3: When the Object constructor is called with Boolean argument return ToObject(boolean)');
-}
-
-//CHECK#4
-if (n_obj != true) {
- throw new Test262Error('#4: When the Object constructor is called with Boolean argument return ToObject(boolean)');
-}
-
-//CHECK#5
-if (n_obj === true) {
- throw new Test262Error('#5: When the Object constructor is called with Boolean argument return ToObject(boolean)');
-}
+assert.sameValue(typeof n_obj, 'object', 'The value of `typeof n_obj` is expected to be "object"');
+assert(n_obj == true, 'The result of evaluating (n_obj == true) is expected to be true');
+assert.notSameValue(n_obj, true, 'The value of n_obj is not true');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Object/S15.2.2.1_A5_T1.js b/js/src/tests/test262/built-ins/Object/S15.2.2.1_A5_T1.js
index 917f655c2949..0c1693d0fae4 100644
--- a/js/src/tests/test262/built-ins/Object/S15.2.2.1_A5_T1.js
+++ b/js/src/tests/test262/built-ins/Object/S15.2.2.1_A5_T1.js
@@ -11,31 +11,13 @@ description: Argument value is any number
var num = 1.0;
-//CHECK#1
-if (typeof num !== 'number') {
- throw new Test262Error('#1: 1.0 is NOT a number');
-}
+assert.sameValue(typeof num, 'number', 'The value of `typeof num` is expected to be "number"');
var n_obj = new Object(num);
-//CHECK#2
-if (n_obj.constructor !== Number) {
- throw new Test262Error('#2: When the Object constructor is called with Number argument return ToObject(number)');
-}
-
-//CHECK#3
-if (typeof n_obj !== 'object') {
- throw new Test262Error('#3: When the Object constructor is called with Number argument return ToObject(number)');
-}
-
-//CHECK#4
-if (n_obj != num) {
- throw new Test262Error('#4: When the Object constructor is called with Number argument return ToObject(number)');
-}
-
-//CHECK#5
-if (n_obj === num) {
- throw new Test262Error('#5: When the Object constructor is called with Number argument return ToObject(number)');
-}
+assert.sameValue(n_obj.constructor, Number, 'The value of n_obj.constructor is expected to equal the value of Number');
+assert.sameValue(typeof n_obj, 'object', 'The value of `typeof n_obj` is expected to be "object"');
+assert(n_obj == num, 'The result of evaluating (n_obj == num) is expected to be true');
+assert.notSameValue(n_obj, num, 'The value of n_obj is expected to not equal the value of `num`');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Object/S15.2.2.1_A5_T2.js b/js/src/tests/test262/built-ins/Object/S15.2.2.1_A5_T2.js
index 329a238fa81c..6641b1445895 100644
--- a/js/src/tests/test262/built-ins/Object/S15.2.2.1_A5_T2.js
+++ b/js/src/tests/test262/built-ins/Object/S15.2.2.1_A5_T2.js
@@ -11,21 +11,11 @@ description: Argument value is NaN
var num = NaN;
-//CHECK#1
-if (typeof num !== 'number') {
- throw new Test262Error('#1: NaN is NOT a number');
-}
+assert.sameValue(typeof num, 'number', 'The value of `typeof num` is expected to be "number"');
var n_obj = new Object(num);
-//CHECK#2
-if (n_obj.constructor !== Number) {
- throw new Test262Error('#2: When the Object constructor is called with Number argument return ToObject(number)');
-}
-
-//CHECK#3
-if (typeof n_obj !== 'object') {
- throw new Test262Error('#3: When the Object constructor is called with Number argument return ToObject(number)');
-}
+assert.sameValue(n_obj.constructor, Number, 'The value of n_obj.constructor is expected to equal the value of Number');
+assert.sameValue(typeof n_obj, 'object', 'The value of `typeof n_obj` is expected to be "object"');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Object/S15.2.2.1_A5_T3.js b/js/src/tests/test262/built-ins/Object/S15.2.2.1_A5_T3.js
index 79a32a5ad49a..8da44336bdcf 100644
--- a/js/src/tests/test262/built-ins/Object/S15.2.2.1_A5_T3.js
+++ b/js/src/tests/test262/built-ins/Object/S15.2.2.1_A5_T3.js
@@ -11,31 +11,13 @@ description: Argument value is Infinity
var num = Infinity;
-//CHECK#1
-if (typeof num !== 'number') {
- throw new Test262Error('#1: Infinity is NOT a number');
-}
+assert.sameValue(typeof num, 'number', 'The value of `typeof num` is expected to be "number"');
var n_obj = new Object(num);
-//CHECK#2
-if (n_obj.constructor !== Number) {
- throw new Test262Error('#2: When the Object constructor is called with Number argument return ToObject(number)');
-}
-
-//CHECK#3
-if (typeof n_obj !== 'object') {
- throw new Test262Error('#3: When the Object constructor is called with Number argument return ToObject(number)');
-}
-
-//CHECK#4
-if (n_obj != num) {
- throw new Test262Error('#4: When the Object constructor is called with Number argument return ToObject(number)');
-}
-
-//CHECK#5
-if (n_obj === num) {
- throw new Test262Error('#5: When the Object constructor is called with Number argument return ToObject(number)');
-}
+assert.sameValue(n_obj.constructor, Number, 'The value of n_obj.constructor is expected to equal the value of Number');
+assert.sameValue(typeof n_obj, 'object', 'The value of `typeof n_obj` is expected to be "object"');
+assert(n_obj == num, 'The result of evaluating (n_obj == num) is expected to be true');
+assert.notSameValue(n_obj, num, 'The value of n_obj is expected to not equal the value of `num`');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Object/S15.2.2.1_A5_T4.js b/js/src/tests/test262/built-ins/Object/S15.2.2.1_A5_T4.js
index 81e61d2aff77..96121103bc3e 100644
--- a/js/src/tests/test262/built-ins/Object/S15.2.2.1_A5_T4.js
+++ b/js/src/tests/test262/built-ins/Object/S15.2.2.1_A5_T4.js
@@ -13,24 +13,9 @@ var n_obj = new Object(2 * ([].length + {
q: 1
}["q"]));
-//CHECK#2
-if (n_obj.constructor !== Number) {
- throw new Test262Error('#2: When the Object constructor is called with Number argument return ToObject(number)');
-}
-
-//CHECK#3
-if (typeof n_obj !== 'object') {
- throw new Test262Error('#3: When the Object constructor is called with Number argument return ToObject(number)');
-}
-
-//CHECK#4
-if (n_obj != 2) {
- throw new Test262Error('#4: When the Object constructor is called with Number argument return ToObject(number)');
-}
-
-//CHECK#5
-if (n_obj === 2) {
- throw new Test262Error('#5: When the Object constructor is called with Number argument return ToObject(number)');
-}
+assert.sameValue(n_obj.constructor, Number, 'The value of n_obj.constructor is expected to equal the value of Number');
+assert.sameValue(typeof n_obj, 'object', 'The value of `typeof n_obj` is expected to be "object"');
+assert(n_obj == 2, 'The result of evaluating (n_obj == 2) is expected to be true');
+assert.notSameValue(n_obj, 2, 'The value of n_obj is not 2');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Object/S15.2.2.1_A6_T1.js b/js/src/tests/test262/built-ins/Object/S15.2.2.1_A6_T1.js
index 55c4b63ddb42..3a4ed97de17e 100644
--- a/js/src/tests/test262/built-ins/Object/S15.2.2.1_A6_T1.js
+++ b/js/src/tests/test262/built-ins/Object/S15.2.2.1_A6_T1.js
@@ -11,19 +11,10 @@ description: Creating an object with "new Object(1,2,3)"
var obj = new Object(1, 2, 3);
-//CHECK#1
-if (obj.constructor !== Number) {
- throw new Test262Error('#1: Since Object as a function calling is the same as function calling list of arguments can appears in braces;');
-}
+assert.sameValue(obj.constructor, Number, 'The value of obj.constructor is expected to equal the value of Number');
+assert.sameValue(typeof obj, "object", 'The value of `typeof obj` is expected to be "object"');
+assert(obj == 1, 'The result of evaluating (obj == 1) is expected to be true');
+assert.notSameValue(obj, 1, 'The value of obj is not 1');
-//CHECK#2
-if (typeof obj !== "object") {
- throw new Test262Error('#2: Since Object as a function calling is the same as function calling list of arguments can appears in braces;');
-}
-
-//CHECK#3
-if ((obj != 1) || (obj === 1)) {
- throw new Test262Error('3#: Since Object as a function calling is the same as function calling list of arguments can appears in braces;');
-}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Object/S15.2.2.1_A6_T2.js b/js/src/tests/test262/built-ins/Object/S15.2.2.1_A6_T2.js
index 4013f1a5d371..f4392011073c 100644
--- a/js/src/tests/test262/built-ins/Object/S15.2.2.1_A6_T2.js
+++ b/js/src/tests/test262/built-ins/Object/S15.2.2.1_A6_T2.js
@@ -11,14 +11,7 @@ description: Creating an object with "new Object(null,2,3)"
var obj = new Object(null, 2, 3);
-//CHECK#1
-if (obj.constructor !== Object) {
- throw new Test262Error('#1: Since Object as a function calling is the same as function calling list of arguments can appears in braces;');
-}
-
-//CHECK#2
-if (typeof obj !== "object") {
- throw new Test262Error('#2: Since Object as a function calling is the same as function calling list of arguments can appears in braces;');
-}
+assert.sameValue(obj.constructor, Object, 'The value of obj.constructor is expected to equal the value of Object');
+assert.sameValue(typeof obj, "object", 'The value of `typeof obj` is expected to be "object"');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Object/S15.2.2.1_A6_T3.js b/js/src/tests/test262/built-ins/Object/S15.2.2.1_A6_T3.js
index 16ef3f510197..41a1c7e2990a 100644
--- a/js/src/tests/test262/built-ins/Object/S15.2.2.1_A6_T3.js
+++ b/js/src/tests/test262/built-ins/Object/S15.2.2.1_A6_T3.js
@@ -11,19 +11,9 @@ description: Creating an object with "new Object((null,2,3),2,3)"
var obj = new Object((null, 2, 3), 1, 2);
-//CHECK#1
-if (obj.constructor !== Number) {
- throw new Test262Error('#1: Since Object as a function calling is the same as function calling list of arguments can appears in braces;');
-}
-
-//CHECK#2
-if (typeof obj !== "object") {
- throw new Test262Error('#2: Since Object as a function calling is the same as function calling list of arguments can appears in braces;');
-}
-
-//CHECK#3
-if ((obj != 3) || (obj === 3)) {
- throw new Test262Error('3#: Since Object as a function calling is the same as function calling list of arguments can appears in braces;');
-}
+assert.sameValue(obj.constructor, Number, 'The value of obj.constructor is expected to equal the value of Number');
+assert.sameValue(typeof obj, "object", 'The value of `typeof obj` is expected to be "object"');
+assert(obj == 3, 'The result of evaluating (obj == 3) is expected to be true');
+assert.notSameValue(obj, 3, 'The value of obj is not 3');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Object/S15.2.3_A1.js b/js/src/tests/test262/built-ins/Object/S15.2.3_A1.js
index 3bc946ae5511..f553b2a0d961 100644
--- a/js/src/tests/test262/built-ins/Object/S15.2.3_A1.js
+++ b/js/src/tests/test262/built-ins/Object/S15.2.3_A1.js
@@ -6,9 +6,9 @@ info: The Object constructor has the property "prototype"
es5id: 15.2.3_A1
description: Checking existence of the property "prototype"
---*/
-
-if (!Object.hasOwnProperty("prototype")) {
- throw new Test262Error('#1: The Object constructor has the property "prototype"');
-}
+assert(
+ !!Object.hasOwnProperty("prototype"),
+ 'The value of !!Object.hasOwnProperty("prototype") is expected to be true'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Object/S15.2.3_A2.js b/js/src/tests/test262/built-ins/Object/S15.2.3_A2.js
index 6a0bf9bec3d7..bd599bccece1 100644
--- a/js/src/tests/test262/built-ins/Object/S15.2.3_A2.js
+++ b/js/src/tests/test262/built-ins/Object/S15.2.3_A2.js
@@ -8,10 +8,9 @@ info: |
es5id: 15.2.3_A2
description: Checking Function.prototype.isPrototypeOf(Object)
---*/
-
-// CHECK#
-if (!(Function.prototype.isPrototypeOf(Object))) {
- throw new Test262Error('#1: the value of the internal [[Prototype]] property of the Object constructor is the Function prototype object.');
-}
+assert(
+ !!Function.prototype.isPrototypeOf(Object),
+ 'The value of !!Function.prototype.isPrototypeOf(Object) is expected to be true'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Object/S15.2.3_A3.js b/js/src/tests/test262/built-ins/Object/S15.2.3_A3.js
index b4b0f69b1a1a..68f5620efdd0 100644
--- a/js/src/tests/test262/built-ins/Object/S15.2.3_A3.js
+++ b/js/src/tests/test262/built-ins/Object/S15.2.3_A3.js
@@ -6,15 +6,11 @@ info: Object constructor has length property whose value is 1
es5id: 15.2.3_A3
description: Checking Object.length
---*/
+assert(
+ !!Object.hasOwnProperty("length"),
+ 'The value of !!Object.hasOwnProperty("length") is expected to be true'
+);
-//CHECK#1
-if (!Object.hasOwnProperty("length")) {
- throw new Test262Error('#1: The Object constructor has the property "length"');
-}
-
-//CHECK#2
-if (Object.length !== 1) {
- throw new Test262Error('#2: Object.length property value should be 1');
-}
+assert.sameValue(Object.length, 1, 'The value of Object.length is expected to be 1');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Object/S15.2_A1.js b/js/src/tests/test262/built-ins/Object/S15.2_A1.js
index db7bdb514c2f..83271fdafb00 100644
--- a/js/src/tests/test262/built-ins/Object/S15.2_A1.js
+++ b/js/src/tests/test262/built-ins/Object/S15.2_A1.js
@@ -11,8 +11,6 @@ var obj = Object;
var thisobj = this.Object;
-if (obj !== thisobj) {
- throw new Test262Error('Object is the property of global');
-}
+assert.sameValue(obj, thisobj, 'The value of obj is expected to equal the value of thisobj');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Object/S9.9_A3.js b/js/src/tests/test262/built-ins/Object/S9.9_A3.js
index 2fc4a2c1e9bc..fe5b431133e1 100644
--- a/js/src/tests/test262/built-ins/Object/S9.9_A3.js
+++ b/js/src/tests/test262/built-ins/Object/S9.9_A3.js
@@ -8,35 +8,22 @@ info: |
es5id: 9.9_A3
description: Trying to convert from Boolean to Object
---*/
+assert.sameValue(Object(true).valueOf(), true, 'Object(true).valueOf() must return true');
+assert.sameValue(typeof Object(true), "object", 'The value of `typeof Object(true)` is expected to be "object"');
-// CHECK#1
-if (Object(true).valueOf() !== true) {
- throw new Test262Error('#1: Object(true).valueOf() === true. Actual: ' + (Object(true).valueOf()));
-}
+assert.sameValue(
+ Object(true).constructor.prototype,
+ Boolean.prototype,
+ 'The value of Object(true).constructor.prototype is expected to equal the value of Boolean.prototype'
+);
-// CHECK#2
-if (typeof Object(true) !== "object") {
- throw new Test262Error('#2: typeof Object(true) === "object". Actual: ' + (typeof Object(true)));
-}
+assert.sameValue(Object(false).valueOf(), false, 'Object(false).valueOf() must return false');
+assert.sameValue(typeof Object(false), "object", 'The value of `typeof Object(false)` is expected to be "object"');
-// CHECK#3
-if (Object(true).constructor.prototype !== Boolean.prototype) {
- throw new Test262Error('#3: Object(true).constructor.prototype === Boolean.prototype. Actual: ' + (Object(true).constructor.prototype));
-}
-
-// CHECK#4
-if (Object(false).valueOf() !== false) {
- throw new Test262Error('#4: Object(false).valueOf() === false. Actual: ' + (Object(false).valueOf()));
-}
-
-// CHECK#5
-if (typeof Object(false) !== "object") {
- throw new Test262Error('#5: typeof Object(false) === "object". Actual: ' + (typeof Object(false)));
-}
-
-// CHECK#6
-if (Object(false).constructor.prototype !== Boolean.prototype) {
- throw new Test262Error('#6: Object(false).constructor.prototype === Boolean.prototype. Actual: ' + (Object(false).constructor.prototype));
-}
+assert.sameValue(
+ Object(false).constructor.prototype,
+ Boolean.prototype,
+ 'The value of Object(false).constructor.prototype is expected to equal the value of Boolean.prototype'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Object/S9.9_A4.js b/js/src/tests/test262/built-ins/Object/S9.9_A4.js
index 35a11b79de17..495c21b43a88 100644
--- a/js/src/tests/test262/built-ins/Object/S9.9_A4.js
+++ b/js/src/tests/test262/built-ins/Object/S9.9_A4.js
@@ -8,170 +8,144 @@ info: |
es5id: 9.9_A4
description: Converting from various numbers to Object
---*/
+assert.sameValue(Object(0).valueOf(), 0, 'Object(0).valueOf() must return 0');
+assert.sameValue(typeof Object(0), "object", 'The value of `typeof Object(0)` is expected to be "object"');
-// CHECK#1
-if (Object(0).valueOf() !== 0) {
- throw new Test262Error('#1: Object(0).valueOf() === 0. Actual: ' + (Object(0).valueOf()));
-}
+assert.sameValue(
+ Object(0).constructor.prototype,
+ Number.prototype,
+ 'The value of Object(0).constructor.prototype is expected to equal the value of Number.prototype'
+);
-// CHECK#2
-if (typeof Object(0) !== "object") {
- throw new Test262Error('#2: typeof Object(0) === "object". Actual: ' + (typeof Object(0)));
-}
+assert.sameValue(Object(-0).valueOf(), -0, 'Object(-0).valueOf() must return -0');
+assert.sameValue(typeof Object(-0), "object", 'The value of `typeof Object(-0)` is expected to be "object"');
-// CHECK#3
-if (Object(0).constructor.prototype !== Number.prototype) {
- throw new Test262Error('#3: Object(0).constructor.prototype === Number.prototype. Actual: ' + (Object(0).constructor.prototype));
-}
+assert.sameValue(
+ Object(-0).constructor.prototype,
+ Number.prototype,
+ 'The value of Object(-0).constructor.prototype is expected to equal the value of Number.prototype'
+);
-// CHECK#4
-if (Object(-0).valueOf() !== -0) {
- throw new Test262Error('#4.1: Object(-0).valueOf() === 0. Actual: ' + (Object(-0).valueOf()));
-} else if (1 / Object(-0).valueOf() !== Number.NEGATIVE_INFINITY) {
- throw new Test262Error('#4.2: Object(-0).valueOf() === -0. Actual: +0');
-}
+assert.sameValue(Object(1).valueOf(), 1, 'Object(1).valueOf() must return 1');
+assert.sameValue(typeof Object(1), "object", 'The value of `typeof Object(1)` is expected to be "object"');
-// CHECK#5
-if (typeof Object(-0) !== "object") {
- throw new Test262Error('#5: typeof Object(-0) === "object". Actual: ' + (typeof Object(-0)));
-}
+assert.sameValue(
+ Object(1).constructor.prototype,
+ Number.prototype,
+ 'The value of Object(1).constructor.prototype is expected to equal the value of Number.prototype'
+);
-// CHECK#6
-if (Object(-0).constructor.prototype !== Number.prototype) {
- throw new Test262Error('#6: Object(-0).constructor.prototype === Number.prototype. Actual: ' + (Object(-0).constructor.prototype));
-}
+assert.sameValue(Object(-1).valueOf(), -1, 'Object(-1).valueOf() must return -1');
+assert.sameValue(typeof Object(-1), "object", 'The value of `typeof Object(-1)` is expected to be "object"');
-// CHECK#7
-if (Object(1).valueOf() !== 1) {
- throw new Test262Error('#7: Object(1).valueOf() === 1. Actual: ' + (Object(1).valueOf()));
-}
+assert.sameValue(
+ Object(-1).constructor.prototype,
+ Number.prototype,
+ 'The value of Object(-1).constructor.prototype is expected to equal the value of Number.prototype'
+);
-// CHECK#8
-if (typeof Object(1) !== "object") {
- throw new Test262Error('#8: typeof Object(1) === "object". Actual: ' + (typeof Object(1)));
-}
+assert.sameValue(
+ Object(Number.MIN_VALUE).valueOf(),
+ Number.MIN_VALUE,
+ 'Object(Number.MIN_VALUE).valueOf() returns Number.MIN_VALUE'
+);
-// CHECK#9
-if (Object(1).constructor.prototype !== Number.prototype) {
- throw new Test262Error('#9: Object(1).constructor.prototype === Number.prototype. Actual: ' + (Object(1).constructor.prototype));
-}
+assert.sameValue(
+ typeof Object(Number.MIN_VALUE),
+ "object",
+ 'The value of `typeof Object(Number.MIN_VALUE)` is expected to be "object"'
+);
-// CHECK#10
-if (Object(-1).valueOf() !== -1) {
- throw new Test262Error('#10: Object(-1).valueOf() === -1. Actual: ' + (Object(-1).valueOf()));
-}
+assert.sameValue(
+ Object(Number.MIN_VALUE).constructor.prototype,
+ Number.prototype,
+ 'The value of Object(Number.MIN_VALUE).constructor.prototype is expected to equal the value of Number.prototype'
+);
-// CHECK#11
-if (typeof Object(-1) !== "object") {
- throw new Test262Error('#11: typeof Object(-1) === "object". Actual: ' + (typeof Object(-1)));
-}
+assert.sameValue(
+ Object(Number.MAX_VALUE).valueOf(),
+ Number.MAX_VALUE,
+ 'Object(Number.MAX_VALUE).valueOf() returns Number.MAX_VALUE'
+);
-// CHECK#12
-if (Object(-1).constructor.prototype !== Number.prototype) {
- throw new Test262Error('#12: Object(-1).constructor.prototype === Number.prototype. Actual: ' + (Object(-1).constructor.prototype));
-}
+assert.sameValue(
+ typeof Object(Number.MAX_VALUE),
+ "object",
+ 'The value of `typeof Object(Number.MAX_VALUE)` is expected to be "object"'
+);
-// CHECK#13
-if (Object(Number.MIN_VALUE).valueOf() !== Number.MIN_VALUE) {
- throw new Test262Error('#13: Object(Number.MIN_VALUE).valueOf() === Number.MIN_VALUE. Actual: ' + (Object(Number.MIN_VALUE).valueOf()));
-}
+assert.sameValue(
+ Object(Number.MAX_VALUE).constructor.prototype,
+ Number.prototype,
+ 'The value of Object(Number.MAX_VALUE).constructor.prototype is expected to equal the value of Number.prototype'
+);
-// CHECK#14
-if (typeof Object(Number.MIN_VALUE) !== "object") {
- throw new Test262Error('#14: typeof Object(Number.MIN_VALUE) === "object". Actual: ' + (typeof Object(Number.MIN_VALUE)));
-}
+assert.sameValue(
+ Object(Number.POSITIVE_INFINITY).valueOf(),
+ Number.POSITIVE_INFINITY,
+ 'Object(Number.POSITIVE_INFINITY).valueOf() returns Number.POSITIVE_INFINITY'
+);
-// CHECK#15
-if (Object(Number.MIN_VALUE).constructor.prototype !== Number.prototype) {
- throw new Test262Error('#15: Object(Number.MIN_VALUE).constructor.prototype === Number.prototype. Actual: ' + (Object(Number.MIN_VALUE).constructor.prototype));
-}
+assert.sameValue(
+ typeof Object(Number.POSITIVE_INFINITY),
+ "object",
+ 'The value of `typeof Object(Number.POSITIVE_INFINITY)` is expected to be "object"'
+);
-// CHECK#16
-if (Object(Number.MAX_VALUE).valueOf() !== Number.MAX_VALUE) {
- throw new Test262Error('#16: Object(Number.MAX_VALUE).valueOf() === Number.MAX_VALUE. Actual: ' + (Object(Number.MAX_VALUE).valueOf()));
-}
+assert.sameValue(
+ Object(Number.POSITIVE_INFINITY).constructor.prototype,
+ Number.prototype,
+ 'The value of Object(Number.POSITIVE_INFINITY).constructor.prototype is expected to equal the value of Number.prototype'
+);
-// CHECK#17
-if (typeof Object(Number.MAX_VALUE) !== "object") {
- throw new Test262Error('#17: typeof Object(Number.MAX_VALUE) === "object". Actual: ' + (typeof Object(Number.MAX_VALUE)));
-}
+assert.sameValue(
+ Object(Number.NEGATIVE_INFINITY).valueOf(),
+ Number.NEGATIVE_INFINITY,
+ 'Object(Number.NEGATIVE_INFINITY).valueOf() returns Number.NEGATIVE_INFINITY'
+);
-// CHECK#18
-if (Object(Number.MAX_VALUE).constructor.prototype !== Number.prototype) {
- throw new Test262Error('#18: Object(Number.MAX_VALUE).constructor.prototype === Number.prototype. Actual: ' + (Object(Number.MAX_VALUE).constructor.prototype));
-}
+assert.sameValue(
+ typeof Object(Number.NEGATIVE_INFINITY),
+ "object",
+ 'The value of `typeof Object(Number.NEGATIVE_INFINITY)` is expected to be "object"'
+);
-// CHECK#19
-if (Object(Number.POSITIVE_INFINITY).valueOf() !== Number.POSITIVE_INFINITY) {
- throw new Test262Error('#19: Object(Number.POSITIVE_INFINITY).valueOf() === Number.POSITIVE_INFINITY. Actual: ' + (Object(Number.POSITIVE_INFINITY).valueOf()));
-}
+assert.sameValue(
+ Object(Number.NEGATIVE_INFINITY).constructor.prototype,
+ Number.prototype,
+ 'The value of Object(Number.NEGATIVE_INFINITY).constructor.prototype is expected to equal the value of Number.prototype'
+);
-// CHECK#20
-if (typeof Object(Number.POSITIVE_INFINITY) !== "object") {
- throw new Test262Error('#20: typeof Object(Number.POSITIVE_INFINITY) === "object". Actual: ' + (typeof Object(Number.POSITIVE_INFINITY)));
-}
+assert.sameValue(Object(NaN).valueOf(), NaN, 'Object(NaN).valueOf() returns NaN');
-// CHECK#21
-if (Object(Number.POSITIVE_INFINITY).constructor.prototype !== Number.prototype) {
- throw new Test262Error('#21: Object(Number.POSITIVE_INFINITY).constructor.prototype === Number.prototype. Actual: ' + (Object(Number.POSITIVE_INFINITY).constructor.prototype));
-}
+assert.sameValue(
+ typeof Object(Number.NaN),
+ "object",
+ 'The value of `typeof Object(Number.NaN)` is expected to be "object"'
+);
-// CHECK#22
-if (Object(Number.NEGATIVE_INFINITY).valueOf() !== Number.NEGATIVE_INFINITY) {
- throw new Test262Error('#22: Object(Number.NEGATIVE_INFINITY).valueOf() === Number.NEGATIVE_INFINITY. Actual: ' + (Object(Number.NEGATIVE_INFINITY).valueOf()));
-}
+assert.sameValue(
+ Object(Number.NaN).constructor.prototype,
+ Number.prototype,
+ 'The value of Object(Number.NaN).constructor.prototype is expected to equal the value of Number.prototype'
+);
-// CHECK#23
-if (typeof Object(Number.NEGATIVE_INFINITY) !== "object") {
- throw new Test262Error('#23: typeof Object(Number.NEGATIVE_INFINITY) === "object". Actual: ' + (typeof Object(Number.NEGATIVE_INFINITY)));
-}
+assert.sameValue(Object(1.2345).valueOf(), 1.2345, 'Object(1.2345).valueOf() must return 1.2345');
+assert.sameValue(typeof Object(1.2345), "object", 'The value of `typeof Object(1.2345)` is expected to be "object"');
-// CHECK#24
-if (Object(Number.NEGATIVE_INFINITY).constructor.prototype !== Number.prototype) {
- throw new Test262Error('#24: Object(Number.NEGATIVE_INFINITY).constructor.prototype === Number.prototype. Actual: ' + (Object(Number.NEGATIVE_INFINITY).constructor.prototype));
-}
+assert.sameValue(
+ Object(1.2345).constructor.prototype,
+ Number.prototype,
+ 'The value of Object(1.2345).constructor.prototype is expected to equal the value of Number.prototype'
+);
-// CHECK#25
-assert.sameValue(Object(NaN).valueOf(), NaN, "Object(NaN).valueOf()");
+assert.sameValue(Object(-1.2345).valueOf(), -1.2345, 'Object(-1.2345).valueOf() must return -1.2345');
+assert.sameValue(typeof Object(-1.2345), "object", 'The value of `typeof Object(-1.2345)` is expected to be "object"');
-// CHECK#26
-if (typeof Object(Number.NaN) !== "object") {
- throw new Test262Error('#26: typeof Object(Number.NaN) === "object". Actual: ' + (typeof Object(Number.NaN)));
-}
-
-// CHECK#27
-if (Object(Number.NaN).constructor.prototype !== Number.prototype) {
- throw new Test262Error('#27: Object(Number.NaN).constructor.prototype === Number.prototype. Actual: ' + (Object(Number.NaN).constructor.prototype));
-}
-
-// CHECK#28
-if (Object(1.2345).valueOf() !== 1.2345) {
- throw new Test262Error('#28: Object(1.2345).valueOf() === 1.2345. Actual: ' + (Object(1.2345).valueOf()));
-}
-
-// CHECK#29
-if (typeof Object(1.2345) !== "object") {
- throw new Test262Error('#29: typeof Object(1.2345) === "object". Actual: ' + (typeof Object(1.2345)));
-}
-
-// CHECK#30
-if (Object(1.2345).constructor.prototype !== Number.prototype) {
- throw new Test262Error('#30: Object(1.2345).constructor.prototype === Number.prototype. Actual: ' + (Object(1.2345).constructor.prototype));
-}
-
-// CHECK#31
-if (Object(-1.2345).valueOf() !== -1.2345) {
- throw new Test262Error('#31: Object(-1.2345).valueOf() === -1.2345. Actual: ' + (Object(-1.2345).valueOf()));
-}
-
-// CHECK#32
-if (typeof Object(-1.2345) !== "object") {
- throw new Test262Error('#32: typeof Object(-1.2345) === "object". Actual: ' + (typeof Object(-1.2345)));
-}
-
-// CHECK#33
-if (Object(-1.2345).constructor.prototype !== Number.prototype) {
- throw new Test262Error('#33: Object(-1.2345).constructor.prototype === Number.prototype. Actual: ' + (Object(-1.2345).constructor.prototype));
-}
+assert.sameValue(
+ Object(-1.2345).constructor.prototype,
+ Number.prototype,
+ 'The value of Object(-1.2345).constructor.prototype is expected to equal the value of Number.prototype'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Object/S9.9_A5.js b/js/src/tests/test262/built-ins/Object/S9.9_A5.js
index c547fec84384..5f130f03ed40 100644
--- a/js/src/tests/test262/built-ins/Object/S9.9_A5.js
+++ b/js/src/tests/test262/built-ins/Object/S9.9_A5.js
@@ -8,65 +8,59 @@ info: |
es5id: 9.9_A5
description: Converting from various strings to Object
---*/
+assert.sameValue(
+ Object("some string").valueOf(),
+ "some string",
+ 'Object("some string").valueOf() must return "some string"'
+);
-// CHECK#1
-if (Object("some string").valueOf() !== "some string") {
- throw new Test262Error('#1: Object("some string").valueOf() === "some string". Actual: ' + (Object("some string").valueOf()));
-}
+assert.sameValue(
+ typeof Object("some string"),
+ "object",
+ 'The value of `typeof Object("some string")` is expected to be "object"'
+);
-// CHECK#2
-if (typeof Object("some string") !== "object") {
- throw new Test262Error('#2: typeof Object("some string") === "object". Actual: ' + (typeof Object("some string")));
-}
+assert.sameValue(
+ Object("some string").constructor.prototype,
+ String.prototype,
+ 'The value of Object("some string").constructor.prototype is expected to equal the value of String.prototype'
+);
-// CHECK#3
-if (Object("some string").constructor.prototype !== String.prototype) {
- throw new Test262Error('#3: Object("some string").constructor.prototype === String.prototype. Actual: ' + (Object("some string").constructor.prototype));
-}
+assert.sameValue(Object("").valueOf(), "", 'Object("").valueOf() must return ""');
+assert.sameValue(typeof Object(""), "object", 'The value of `typeof Object("")` is expected to be "object"');
-// CHECK#4
-if (Object("").valueOf() !== "") {
- throw new Test262Error('#4: Object("").valueOf() === false. Actual: ' + (Object("").valueOf()));
-}
+assert.sameValue(
+ Object("").constructor.prototype,
+ String.prototype,
+ 'The value of Object("").constructor.prototype is expected to equal the value of String.prototype'
+);
-// CHECK#5
-if (typeof Object("") !== "object") {
- throw new Test262Error('#5: typeof Object("") === "object". Actual: ' + (typeof Object("")));
-}
+assert.sameValue(Object("\r\t\b\n\v\f").valueOf(), "\r\t\b\n\v\f", 'Object("rtbnvf").valueOf() must return "rtbnvf"');
-// CHECK#6
-if (Object("").constructor.prototype !== String.prototype) {
- throw new Test262Error('#6: Object("").constructor.prototype === String.prototype. Actual: ' + (Object("").constructor.prototype));
-}
+assert.sameValue(
+ typeof Object("\r\t\b\n\v\f"),
+ "object",
+ 'The value of `typeof Object("rtbnvf")` is expected to be "object"'
+);
-// CHECK#7
-if (Object("\r\t\b\n\v\f").valueOf() !== "\r\t\b\n\v\f") {
- throw new Test262Error('#7: Object("\\r\\t\\b\\n\\v\\f").valueOf() === false. Actual: ' + (Object("\r\t\b\n\v\f").valueOf()));
-}
+assert.sameValue(
+ Object("\r\t\b\n\v\f").constructor.prototype,
+ String.prototype,
+ 'The value of Object("rtbnvf").constructor.prototype is expected to equal the value of String.prototype'
+);
-// CHECK#8
-if (typeof Object("\r\t\b\n\v\f") !== "object") {
- throw new Test262Error('#8: typeof Object("\\r\\t\\b\\n\\v\\f") === "object". Actual: ' + (typeof Object("\r\t\b\n\v\f")));
-}
+assert.sameValue(Object(String(10)).valueOf(), "10", 'Object(String(10)).valueOf() must return "10"');
-// CHECK#9
-if (Object("\r\t\b\n\v\f").constructor.prototype !== String.prototype) {
- throw new Test262Error('#9: Object("\\r\\t\\b\\n\\v\\f").constructor.prototype === String.prototype. Actual: ' + (Object("\r\t\b\n\v\f").constructor.prototype));
-}
+assert.sameValue(
+ typeof Object(String(10)),
+ "object",
+ 'The value of `typeof Object(String(10))` is expected to be "object"'
+);
-// CHECK#10
-if (Object(String(10)).valueOf() !== "10") {
- throw new Test262Error('#10: Object(String(10)).valueOf() === false. Actual: ' + (Object(String(10)).valueOf()));
-}
-
-// CHECK#11
-if (typeof Object(String(10)) !== "object") {
- throw new Test262Error('#11: typeof Object(String(10)) === "object". Actual: ' + (typeof Object(String(10))));
-}
-
-// CHECK#12
-if (Object(String(10)).constructor.prototype !== String.prototype) {
- throw new Test262Error('#12: Object(String(10)).constructor.prototype === String.prototype. Actual: ' + (Object(String(10)).constructor.prototype));
-}
+assert.sameValue(
+ Object(String(10)).constructor.prototype,
+ String.prototype,
+ 'The value of Object(String(10)).constructor.prototype is expected to equal the value of String.prototype'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Object/S9.9_A6.js b/js/src/tests/test262/built-ins/Object/S9.9_A6.js
index 6645ceb7648a..ab0d260228c9 100644
--- a/js/src/tests/test262/built-ins/Object/S9.9_A6.js
+++ b/js/src/tests/test262/built-ins/Object/S9.9_A6.js
@@ -19,25 +19,15 @@ function MyObject(val) {
var x = new MyObject(1);
var y = Object(x);
-// CHECK#1
-if (y.valueOf() !== x.valueOf()) {
- throw new Test262Error('#1: Object(obj).valueOf() === obj.valueOf(). Actual: ' + (Object(obj).valueOf()));
-}
+assert.sameValue(y.valueOf(), x.valueOf(), 'y.valueOf() must return the same value returned by x.valueOf()');
+assert.sameValue(typeof y, typeof x, 'The value of `typeof y` is expected to be typeof x');
-// CHECK#2
-if (typeof y !== typeof x) {
- throw new Test262Error('#2: typeof Object(obj) === typeof obj. Actual: ' + (typeof Object(obj)));
-}
+assert.sameValue(
+ y.constructor.prototype,
+ x.constructor.prototype,
+ 'The value of y.constructor.prototype is expected to equal the value of x.constructor.prototype'
+);
-// CHECK#3
-if (y.constructor.prototype !== x.constructor.prototype) {
- throw new Test262Error('#3: Object(obj).constructor.prototype === obj.constructor.prototype. Actual: ' + (Object(obj).constructor.prototype));
-}
-
-
-// CHECK#4
-if (y !== x) {
- throw new Test262Error('#4: Object(obj) === obj');
-}
+assert.sameValue(y, x, 'The value of y is expected to equal the value of x');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Object/assign/Source-Null-Undefined.js b/js/src/tests/test262/built-ins/Object/assign/Source-Null-Undefined.js
index e5644ff84302..b2f3a877507d 100644
--- a/js/src/tests/test262/built-ins/Object/assign/Source-Null-Undefined.js
+++ b/js/src/tests/test262/built-ins/Object/assign/Source-Null-Undefined.js
@@ -9,6 +9,6 @@ esid: sec-object.assign
var target = new Object();
var result = Object.assign(target, undefined, null);
-assert.sameValue(result, target, "null and undefined should be ignored, result should be original object.");
+assert.sameValue(result, target, 'The value of result is expected to equal the value of target');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Object/assign/Source-Number-Boolen-Symbol.js b/js/src/tests/test262/built-ins/Object/assign/Source-Number-Boolen-Symbol.js
index d9c03935b9d2..60a851d5f96a 100644
--- a/js/src/tests/test262/built-ins/Object/assign/Source-Number-Boolen-Symbol.js
+++ b/js/src/tests/test262/built-ins/Object/assign/Source-Number-Boolen-Symbol.js
@@ -12,6 +12,6 @@ features: [Symbol]
var target = new Object();
var result = Object.assign(target, 123, true, Symbol('foo'));
-assert.sameValue(result, target, "Numbers, booleans, and symbols cannot have wrappers with own enumerable properties.");
+assert.sameValue(result, target, 'The value of result is expected to equal the value of target');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Object/assign/Source-String.js b/js/src/tests/test262/built-ins/Object/assign/Source-String.js
index 33f1993bf9c1..d102c60f45d0 100644
--- a/js/src/tests/test262/built-ins/Object/assign/Source-String.js
+++ b/js/src/tests/test262/built-ins/Object/assign/Source-String.js
@@ -9,8 +9,8 @@ esid: sec-object.assign
var target = new Object();
var result = Object.assign(target, "123");
-assert.sameValue(result[0], "1", "The value should be {\"0\":\"1\"}.");
-assert.sameValue(result[1], "2", "The value should be {\"1\":\"2\"}.");
-assert.sameValue(result[2], "3", "The value should be {\"2\":\"3\"}.");
+assert.sameValue(result[0], "1", 'The value of result[0] is expected to be "1"');
+assert.sameValue(result[1], "2", 'The value of result[1] is expected to be "2"');
+assert.sameValue(result[2], "3", 'The value of result[2] is expected to be "3"');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Object/assign/assign-descriptor.js b/js/src/tests/test262/built-ins/Object/assign/assign-descriptor.js
index e598566bbb16..5ee1c8216e33 100644
--- a/js/src/tests/test262/built-ins/Object/assign/assign-descriptor.js
+++ b/js/src/tests/test262/built-ins/Object/assign/assign-descriptor.js
@@ -3,8 +3,7 @@
/*---
description: Testing descriptor property of Object.assign
-includes:
- - propertyHelper.js
+includes: [propertyHelper.js]
es6id: 19.1.2.1
---*/
diff --git a/js/src/tests/test262/built-ins/Object/defineProperties/15.2.3.7-6-a-36.js b/js/src/tests/test262/built-ins/Object/defineProperties/15.2.3.7-6-a-36.js
index 3bfb09e71dab..cd1476eaea45 100644
--- a/js/src/tests/test262/built-ins/Object/defineProperties/15.2.3.7-6-a-36.js
+++ b/js/src/tests/test262/built-ins/Object/defineProperties/15.2.3.7-6-a-36.js
@@ -7,8 +7,7 @@ description: >
Object.defineProperties - 'P' doesn't exist in 'O', test
[[Configurable]] of 'P' is set as false value if absent in
accessor descriptor 'desc' (8.12.9 step 4.b.i)
-includes:
- - propertyHelper.js
+includes: [propertyHelper.js]
---*/
var obj = {};
diff --git a/js/src/tests/test262/built-ins/Object/defineProperty/S15.2.3.6_A1.js b/js/src/tests/test262/built-ins/Object/defineProperty/S15.2.3.6_A1.js
index e5aa5071dd75..e57b9345ff85 100644
--- a/js/src/tests/test262/built-ins/Object/defineProperty/S15.2.3.6_A1.js
+++ b/js/src/tests/test262/built-ins/Object/defineProperty/S15.2.3.6_A1.js
@@ -31,9 +31,7 @@ if (typeof document !== 'undefined' &&
}
if (!refused) {
var desc = Object.getOwnPropertyDescriptor(f, 'foo');
- if (desc.get !== getter) {
- throw new Test262Error('Getter on HTMLFormElement disappears');
- }
+ assert.sameValue(desc.get, getter, 'The value of desc.get is expected to equal the value of getter');
}
}
diff --git a/js/src/tests/test262/built-ins/Object/defineProperty/S15.2.3.6_A2.js b/js/src/tests/test262/built-ins/Object/defineProperty/S15.2.3.6_A2.js
index 7ce3aec7b579..ea75252e6d63 100644
--- a/js/src/tests/test262/built-ins/Object/defineProperty/S15.2.3.6_A2.js
+++ b/js/src/tests/test262/built-ins/Object/defineProperty/S15.2.3.6_A2.js
@@ -17,8 +17,10 @@ function getter() {
Object.defineProperty(base, 'foo', {
get: getter
});
-if (derived.hasOwnProperty('foo')) {
- throw new Test262Error('Accessor properties inherit as own properties');
-}
+
+assert(
+ !derived.hasOwnProperty('foo'),
+ 'The value of !derived.hasOwnProperty("foo") is expected to be true'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Object/getOwnPropertyNames/15.2.3.4-4-2.js b/js/src/tests/test262/built-ins/Object/getOwnPropertyNames/15.2.3.4-4-2.js
index 8365b029c5c0..2870645c468c 100644
--- a/js/src/tests/test262/built-ins/Object/getOwnPropertyNames/15.2.3.4-4-2.js
+++ b/js/src/tests/test262/built-ins/Object/getOwnPropertyNames/15.2.3.4-4-2.js
@@ -4,12 +4,24 @@
/*---
es5id: 15.2.3.4-4-2
description: Object.getOwnPropertyNames returns array of property names (Object)
-includes: [arrayContains.js]
---*/
var result = Object.getOwnPropertyNames(Object);
-var expResult = ["getPrototypeOf", "getOwnPropertyDescriptor", "getOwnPropertyNames", "create", "defineProperty", "defineProperties", "seal", "freeze", "preventExtensions", "isSealed", "isFrozen", "isExtensible", "keys", "prototype", "length"];
-assert(arrayContains(result, expResult), 'arrayContains(result, expResult) !== true');
+assert(result.indexOf("getPrototypeOf") > -1, "getPrototypeOf");
+assert(result.indexOf("getOwnPropertyDescriptor") > -1, "getOwnPropertyDescriptor");
+assert(result.indexOf("getOwnPropertyNames") > -1, "getOwnPropertyNames");
+assert(result.indexOf("create") > -1, "create");
+assert(result.indexOf("defineProperty") > -1, "defineProperty");
+assert(result.indexOf("defineProperties") > -1, "defineProperties");
+assert(result.indexOf("seal") > -1, "seal");
+assert(result.indexOf("freeze") > -1, "freeze");
+assert(result.indexOf("preventExtensions") > -1, "preventExtensions");
+assert(result.indexOf("isSealed") > -1, "isSealed");
+assert(result.indexOf("isFrozen") > -1, "isFrozen");
+assert(result.indexOf("isExtensible") > -1, "isExtensible");
+assert(result.indexOf("keys") > -1, "keys");
+assert(result.indexOf("prototype") > -1, "prototype");
+assert(result.indexOf("length") > -1, "length");
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Object/getOwnPropertyNames/15.2.3.4-4-44.js b/js/src/tests/test262/built-ins/Object/getOwnPropertyNames/15.2.3.4-4-44.js
index afc6047f00a5..5aaccf652c68 100644
--- a/js/src/tests/test262/built-ins/Object/getOwnPropertyNames/15.2.3.4-4-44.js
+++ b/js/src/tests/test262/built-ins/Object/getOwnPropertyNames/15.2.3.4-4-44.js
@@ -12,9 +12,6 @@ includes: [compareArray.js]
var str = new String("abc");
str[5] = "de";
-var expected = ["0", "1", "2", "5", "length"];
-var actual = Object.getOwnPropertyNames(str);
-
-assert(compareArray(actual, expected), 'compareArray(actual, expected) !== true');
+assert.compareArray(Object.getOwnPropertyNames(str), ["0", "1", "2", "5", "length"]);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Object/getOwnPropertyNames/15.2.3.4-4-49.js b/js/src/tests/test262/built-ins/Object/getOwnPropertyNames/15.2.3.4-4-49.js
index 4b7aaca6020d..d8f23995c62b 100644
--- a/js/src/tests/test262/built-ins/Object/getOwnPropertyNames/15.2.3.4-4-49.js
+++ b/js/src/tests/test262/built-ins/Object/getOwnPropertyNames/15.2.3.4-4-49.js
@@ -10,9 +10,6 @@ includes: [compareArray.js]
---*/
var arr = [0, 1, 2];
-var expected = ["0", "1", "2", "length"];
-var actual = Object.getOwnPropertyNames(arr);
-
-assert(compareArray(actual, expected), 'compareArray(actual, expected) !== true');
+assert.compareArray(Object.getOwnPropertyNames(arr), ["0", "1", "2", "length"]);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Object/getOwnPropertyNames/15.2.3.4-4-b-2.js b/js/src/tests/test262/built-ins/Object/getOwnPropertyNames/15.2.3.4-4-b-2.js
index 2b78c69d6768..4317af80fc8d 100644
--- a/js/src/tests/test262/built-ins/Object/getOwnPropertyNames/15.2.3.4-4-b-2.js
+++ b/js/src/tests/test262/built-ins/Object/getOwnPropertyNames/15.2.3.4-4-b-2.js
@@ -35,9 +35,6 @@ Object.defineProperty(obj, "d", {
configurable: true
});
-var actual = Object.getOwnPropertyNames(obj);
-var expected = ["a", "b", "c", "d"];
-
-assert(compareArray(actual, expected), 'compareArray(actual, expected) !== true');
+assert.compareArray(Object.getOwnPropertyNames(obj), ["a", "b", "c", "d"]);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Object/getOwnPropertyNames/S15.2.3.4_A1_T1.js b/js/src/tests/test262/built-ins/Object/getOwnPropertyNames/S15.2.3.4_A1_T1.js
index 20d4a09c822f..c683929cbbdf 100644
--- a/js/src/tests/test262/built-ins/Object/getOwnPropertyNames/S15.2.3.4_A1_T1.js
+++ b/js/src/tests/test262/built-ins/Object/getOwnPropertyNames/S15.2.3.4_A1_T1.js
@@ -16,9 +16,7 @@ function foo() {}
var names = Object.getOwnPropertyNames(foo);
for (var i = 0, len = names.length; i < len; i++) {
- if (!foo.hasOwnProperty(names[i])) {
- throw new Test262Error('Phantom own property: ' + names[i]);
- }
+ assert(!!foo.hasOwnProperty(names[i]), 'The value of !!foo.hasOwnProperty(names[i]) is expected to be true');
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Object/getOwnPropertyNames/shell.js b/js/src/tests/test262/built-ins/Object/getOwnPropertyNames/shell.js
index 40bfce343709..e69de29bb2d1 100644
--- a/js/src/tests/test262/built-ins/Object/getOwnPropertyNames/shell.js
+++ b/js/src/tests/test262/built-ins/Object/getOwnPropertyNames/shell.js
@@ -1,31 +0,0 @@
-// GENERATED, DO NOT EDIT
-// file: arrayContains.js
-// Copyright (C) 2017 Ecma International. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-/*---
-description: |
- Verify that a subArray is contained within an array.
-defines: [arrayContains]
----*/
-
-/**
- * @param {Array} array
- * @param {Array} subArray
- */
-
-function arrayContains(array, subArray) {
- var found;
- for (var i = 0; i < subArray.length; i++) {
- found = false;
- for (var j = 0; j < array.length; j++) {
- if (subArray[i] === array[j]) {
- found = true;
- break;
- }
- }
- if (!found) {
- return false;
- }
- }
- return true;
-}
diff --git a/js/src/tests/test262/built-ins/Object/hasOwn/descriptor.js b/js/src/tests/test262/built-ins/Object/hasOwn/descriptor.js
index 93422936f95c..105e9eaa10f9 100644
--- a/js/src/tests/test262/built-ins/Object/hasOwn/descriptor.js
+++ b/js/src/tests/test262/built-ins/Object/hasOwn/descriptor.js
@@ -4,8 +4,7 @@
/*---
esid: sec-object.hasown
description: Testing descriptor property of Object.hasOwn
-includes:
- - propertyHelper.js
+includes: [propertyHelper.js]
author: Jamie Kyle
features: [Object.hasOwn]
---*/
diff --git a/js/src/tests/test262/built-ins/Object/prototype/S15.2.3.1_A1.js b/js/src/tests/test262/built-ins/Object/prototype/S15.2.3.1_A1.js
index e10bb50de3f8..df8799dce498 100644
--- a/js/src/tests/test262/built-ins/Object/prototype/S15.2.3.1_A1.js
+++ b/js/src/tests/test262/built-ins/Object/prototype/S15.2.3.1_A1.js
@@ -13,17 +13,17 @@ verifyNotWritable(Object, "prototype", null, function() {
return "shifted";
});
-//CHECK#1
-if (Object.prototype !== obj) {
- throw new Test262Error('#1: the Object.prototype property has the attributes ReadOnly.');
-}
+assert.sameValue(Object.prototype, obj, 'The value of Object.prototype is expected to equal the value of obj');
-//CHECK#2
try {
Object.prototype();
throw new Test262Error('#2: the Object.prototype property has the attributes ReadOnly');
} catch (e) {
- if (e instanceof Test262Error) throw e;
+ if (e instanceof Test262Error) {
+ throw e;
+ }
}
+// TODO: Convert to verifyProperty() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Object/prototype/S15.2.3.1_A2.js b/js/src/tests/test262/built-ins/Object/prototype/S15.2.3.1_A2.js
index 77b53ccec6f1..44dbf8dd02b6 100644
--- a/js/src/tests/test262/built-ins/Object/prototype/S15.2.3.1_A2.js
+++ b/js/src/tests/test262/built-ins/Object/prototype/S15.2.3.1_A2.js
@@ -6,21 +6,21 @@ info: The Object.prototype property has the attribute DontEnum
es5id: 15.2.3.1_A2
description: Checking if enumerating "Object.prototype" property fails
---*/
+assert(
+ !Object.propertyIsEnumerable('prototype'),
+ 'The value of !Object.propertyIsEnumerable("prototype") is expected to be true'
+);
-// CHECK#1
-if (Object.propertyIsEnumerable('prototype')) {
- throw new Test262Error('#1: the Object.prototype property has the attributes DontEnum');
-}
-
-// CHECK#2
var cout = 0;
for (var p in Object) {
- if (p === "prototype") cout++;
+ if (p === "prototype") {
+ cout++;
+ }
}
-if (cout !== 0) {
- throw new Test262Error('#2: the Object.prototype property has the attributes DontEnum');
-}
+assert.sameValue(cout, 0, 'The value of cout is expected to be 0');
+
+// TODO: Convert to verifyProperty() format.
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Object/prototype/S15.2.3.1_A3.js b/js/src/tests/test262/built-ins/Object/prototype/S15.2.3.1_A3.js
index 18bd71bb8431..a60160dccecd 100644
--- a/js/src/tests/test262/built-ins/Object/prototype/S15.2.3.1_A3.js
+++ b/js/src/tests/test262/built-ins/Object/prototype/S15.2.3.1_A3.js
@@ -9,19 +9,19 @@ includes: [propertyHelper.js]
verifyNotConfigurable(Object, "prototype");
-//CHECK#1
try {
- if ((delete Object.prototype) !== false) {
- throw new Test262Error('#1: Object.prototype has the attribute DontDelete');
- }
+ assert.sameValue(delete Object.prototype, false, 'The value of `delete Object.prototype` is expected to be false');
} catch (e) {
- if (e instanceof Test262Error) throw e;
- assert(e instanceof TypeError);
+ if (e instanceof Test262Error) {
+ throw e;
+ }
+ assert(e instanceof TypeError, 'The result of evaluating (e instanceof TypeError) is expected to be true');
}
-//CHECK#2
if (!(Object.hasOwnProperty('prototype'))) {
throw new Test262Error('#2: the Object.prototype property has the attributes DontDelete.');
}
+// TODO: Convert to verifyProperty() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Object/prototype/S15.2.4_A1_T1.js b/js/src/tests/test262/built-ins/Object/prototype/S15.2.4_A1_T1.js
index 45b09496ee04..4dc07aac2f96 100644
--- a/js/src/tests/test262/built-ins/Object/prototype/S15.2.4_A1_T1.js
+++ b/js/src/tests/test262/built-ins/Object/prototype/S15.2.4_A1_T1.js
@@ -6,10 +6,10 @@ info: Object prototype object has not prototype
es5id: 15.2.4_A1_T1
description: Checking if obtaining Object.prototype.prototype fails
---*/
-
-// CHECK#1
-if (Object.prototype.prototype !== undefined) {
- throw new Test262Error('#1: Object prototype has not prototype');
-}
+assert.sameValue(
+ Object.prototype.prototype,
+ undefined,
+ 'The value of Object.prototype.prototype is expected to equal undefined'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Object/prototype/S15.2.4_A1_T2.js b/js/src/tests/test262/built-ins/Object/prototype/S15.2.4_A1_T2.js
index 97c52297d458..26fa71ae3310 100644
--- a/js/src/tests/test262/built-ins/Object/prototype/S15.2.4_A1_T2.js
+++ b/js/src/tests/test262/built-ins/Object/prototype/S15.2.4_A1_T2.js
@@ -8,22 +8,19 @@ description: >
Since the Object prototype object has not prototype, deleted
toString method can not be found in prototype chain
---*/
-
-//CHECK#1
-if (Object.prototype.toString() == false) {
- throw new Test262Error('#1: Object prototype object has not prototype');
-}
+assert.notSameValue(Object.prototype.toString(), false, 'Object.prototype.toString() must return false');
delete Object.prototype.toString;
-// CHECK#2
try {
Object.prototype.toString();
throw new Test262Error('#2: Object prototype object has not prototype');
} catch (e) {
- if ((e instanceof TypeError) !== true) {
- throw new Test262Error('#1.1: delete Object.prototype.toString; Object.prototype.toString() throw a TypeError. Actual: ' + (e));
- }
+ assert.sameValue(
+ e instanceof TypeError,
+ true,
+ 'The result of evaluating (e instanceof TypeError) is expected to be true'
+ );
}
//
diff --git a/js/src/tests/test262/built-ins/Object/prototype/S15.2.4_A2.js b/js/src/tests/test262/built-ins/Object/prototype/S15.2.4_A2.js
index 5dbe0f673fa3..52fd2735f74c 100644
--- a/js/src/tests/test262/built-ins/Object/prototype/S15.2.4_A2.js
+++ b/js/src/tests/test262/built-ins/Object/prototype/S15.2.4_A2.js
@@ -13,9 +13,6 @@ description: >
var tostr = Object.prototype.toString();
-//CHECK#1
-if (tostr !== "[object Object]") {
- throw new Test262Error('#1: the value of the internal [[Class]] property of Object prototype object is "Object"');
-}
+assert.sameValue(tostr, "[object Object]", 'The value of tostr is expected to be "[object Object]"');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Object/prototype/S15.2.4_A3.js b/js/src/tests/test262/built-ins/Object/prototype/S15.2.4_A3.js
index b581c23ae5da..06c9c56c45d5 100644
--- a/js/src/tests/test262/built-ins/Object/prototype/S15.2.4_A3.js
+++ b/js/src/tests/test262/built-ins/Object/prototype/S15.2.4_A3.js
@@ -11,6 +11,6 @@ description: Checking if calling Object prototype as a function fails
assert.throws(TypeError, function() {
Object.prototype();
-});
+}, 'Object.prototype() throws a TypeError exception');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Object/prototype/S15.2.4_A4.js b/js/src/tests/test262/built-ins/Object/prototype/S15.2.4_A4.js
index 3432083ba6c5..4502a1647839 100644
--- a/js/src/tests/test262/built-ins/Object/prototype/S15.2.4_A4.js
+++ b/js/src/tests/test262/built-ins/Object/prototype/S15.2.4_A4.js
@@ -11,6 +11,6 @@ description: Checking if creating "new Object.prototype" fails
assert.throws(TypeError, function() {
new Object.prototype;
-});
+}, '`new Object.prototype` throws a TypeError exception');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Object/prototype/constructor/S15.2.4.1_A1_T1.js b/js/src/tests/test262/built-ins/Object/prototype/constructor/S15.2.4.1_A1_T1.js
index cfe7dacdd00e..f22e1fc143ed 100644
--- a/js/src/tests/test262/built-ins/Object/prototype/constructor/S15.2.4.1_A1_T1.js
+++ b/js/src/tests/test262/built-ins/Object/prototype/constructor/S15.2.4.1_A1_T1.js
@@ -8,10 +8,10 @@ info: |
es5id: 15.2.4.1_A1_T1
description: Checking the Object.prototype.constructor
---*/
-
-//CHECK#1
-if (Object.prototype.constructor !== Object) {
- throw new Test262Error('#1: The initial value of Object.prototype.constructor is the built-in Object constructor');
-}
+assert.sameValue(
+ Object.prototype.constructor,
+ Object,
+ 'The value of Object.prototype.constructor is expected to equal the value of Object'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Object/prototype/constructor/S15.2.4.1_A1_T2.js b/js/src/tests/test262/built-ins/Object/prototype/constructor/S15.2.4.1_A1_T2.js
index 69d612079239..c987017fde35 100644
--- a/js/src/tests/test262/built-ins/Object/prototype/constructor/S15.2.4.1_A1_T2.js
+++ b/js/src/tests/test262/built-ins/Object/prototype/constructor/S15.2.4.1_A1_T2.js
@@ -15,30 +15,16 @@ var constr = Object.prototype.constructor;
var obj = new constr;
-// CHECK#0
-if (obj === undefined) {
- throw new Test262Error('#0: new Object() return the newly created native object.');
-}
+assert.notSameValue(obj, undefined, 'The value of obj is expected to not equal ``undefined``');
+assert.sameValue(obj.constructor, Object, 'The value of obj.constructor is expected to equal the value of Object');
-// CHECK#1
-if (obj.constructor !== Object) {
- throw new Test262Error('#1: new Object() create a new native ECMAScript object');
-}
+assert(
+ !!Object.prototype.isPrototypeOf(obj),
+ 'The value of !!Object.prototype.isPrototypeOf(obj) is expected to be true'
+);
-// CHECK#2
-if (!(Object.prototype.isPrototypeOf(obj))) {
- throw new Test262Error('#2: when new Object() calls the [[Prototype]] property of the newly constructed object is set to the Object prototype object.');
-}
-
-// CHECK#3
var to_string_result = '[object ' + 'Object' + ']';
-if (obj.toString() !== to_string_result) {
- throw new Test262Error('#3: when new Object() calls the [[Class]] property of the newly constructed object is set to "Object".');
-}
-
-// CHECK#4
-if (obj.valueOf().toString() !== to_string_result) {
- throw new Test262Error('#4: when new Object() calls the newly constructed object has no [[Value]] property.');
-}
+assert.sameValue(obj.toString(), to_string_result, 'obj.toString() returns to_string_result');
+assert.sameValue(obj.valueOf().toString(), to_string_result, 'obj.valueOf().toString() returns to_string_result');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Object/prototype/hasOwnProperty/S15.2.4.5_A12.js b/js/src/tests/test262/built-ins/Object/prototype/hasOwnProperty/S15.2.4.5_A12.js
index 2cf0599a7fe3..d22be23a7d8a 100644
--- a/js/src/tests/test262/built-ins/Object/prototype/hasOwnProperty/S15.2.4.5_A12.js
+++ b/js/src/tests/test262/built-ins/Object/prototype/hasOwnProperty/S15.2.4.5_A12.js
@@ -10,6 +10,6 @@ description: >
assert.throws(TypeError, function() {
Object.prototype.hasOwnProperty.call(undefined, 'foo');
-});
+}, 'Object.prototype.hasOwnProperty.call(undefined, "foo") throws a TypeError exception');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Object/prototype/hasOwnProperty/S15.2.4.5_A13.js b/js/src/tests/test262/built-ins/Object/prototype/hasOwnProperty/S15.2.4.5_A13.js
index 8eb9750bf11f..b8f3f150acf4 100644
--- a/js/src/tests/test262/built-ins/Object/prototype/hasOwnProperty/S15.2.4.5_A13.js
+++ b/js/src/tests/test262/built-ins/Object/prototype/hasOwnProperty/S15.2.4.5_A13.js
@@ -10,6 +10,6 @@ description: >
assert.throws(TypeError, function() {
Object.prototype.hasOwnProperty.call(null, 'foo');
-});
+}, 'Object.prototype.hasOwnProperty.call(null, "foo") throws a TypeError exception');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Object/prototype/hasOwnProperty/S15.2.4.5_A1_T1.js b/js/src/tests/test262/built-ins/Object/prototype/hasOwnProperty/S15.2.4.5_A1_T1.js
index 1097d21b0a8b..72f641c6ea26 100644
--- a/js/src/tests/test262/built-ins/Object/prototype/hasOwnProperty/S15.2.4.5_A1_T1.js
+++ b/js/src/tests/test262/built-ins/Object/prototype/hasOwnProperty/S15.2.4.5_A1_T1.js
@@ -13,16 +13,15 @@ description: >
Checking type of the Object.prototype.hasOwnProperty and the
returned result
---*/
+assert.sameValue(
+ typeof Object.prototype.hasOwnProperty,
+ "function",
+ 'The value of `typeof Object.prototype.hasOwnProperty` is expected to be "function"'
+);
-//CHECK#1
-if (typeof Object.prototype.hasOwnProperty !== "function") {
- throw new Test262Error('#1: hasOwnProperty method is defined');
-}
-
-//CHECK#2
-if (!(Object.prototype.hasOwnProperty("hasOwnProperty"))) {
- throw new Test262Error('#2: hasOwnProperty method works properly');
-}
-//
+assert(
+ !!Object.prototype.hasOwnProperty("hasOwnProperty"),
+ 'The value of !!Object.prototype.hasOwnProperty("hasOwnProperty") is expected to be true'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Object/prototype/hasOwnProperty/S15.2.4.5_A1_T2.js b/js/src/tests/test262/built-ins/Object/prototype/hasOwnProperty/S15.2.4.5_A1_T2.js
index f932bc76b873..d3b6acdad588 100644
--- a/js/src/tests/test262/built-ins/Object/prototype/hasOwnProperty/S15.2.4.5_A1_T2.js
+++ b/js/src/tests/test262/built-ins/Object/prototype/hasOwnProperty/S15.2.4.5_A1_T2.js
@@ -11,30 +11,30 @@ info: |
es5id: 15.2.4.5_A1_T2
description: Argument of the hasOwnProperty method is a custom boolean property
---*/
-
-//CHECK#1
-if (typeof Object.prototype.hasOwnProperty !== "function") {
- throw new Test262Error('#1: hasOwnProperty method is defined');
-}
+assert.sameValue(
+ typeof Object.prototype.hasOwnProperty,
+ "function",
+ 'The value of `typeof Object.prototype.hasOwnProperty` is expected to be "function"'
+);
var obj = {
the_property: true
};
-//CHECK#2
-if (typeof obj.hasOwnProperty !== "function") {
- throw new Test262Error('#2: hasOwnProperty method is accessed');
-}
+assert.sameValue(
+ typeof obj.hasOwnProperty,
+ "function",
+ 'The value of `typeof obj.hasOwnProperty` is expected to be "function"'
+);
-//CHECK#3
-if (obj.hasOwnProperty("hasOwnProperty")) {
- throw new Test262Error('#3: hasOwnProperty method works properly');
-}
+assert(
+ !obj.hasOwnProperty("hasOwnProperty"),
+ 'The value of !obj.hasOwnProperty("hasOwnProperty") is expected to be true'
+);
-//CHECK#4
-if (!(obj.hasOwnProperty("the_property"))) {
- throw new Test262Error('#4: hasOwnProperty method works properly');
-}
-//
+assert(
+ !!obj.hasOwnProperty("the_property"),
+ 'The value of !!obj.hasOwnProperty("the_property") is expected to be true'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Object/prototype/hasOwnProperty/S15.2.4.5_A1_T3.js b/js/src/tests/test262/built-ins/Object/prototype/hasOwnProperty/S15.2.4.5_A1_T3.js
index 73fa218a1859..407765b8653e 100644
--- a/js/src/tests/test262/built-ins/Object/prototype/hasOwnProperty/S15.2.4.5_A1_T3.js
+++ b/js/src/tests/test262/built-ins/Object/prototype/hasOwnProperty/S15.2.4.5_A1_T3.js
@@ -20,24 +20,26 @@ var FACTORY = function() {
var instance = new FACTORY;
-//CHECK#1
-if (typeof Object.prototype.hasOwnProperty !== "function") {
- throw new Test262Error('#1: hasOwnProperty method is defined');
-}
+assert.sameValue(
+ typeof Object.prototype.hasOwnProperty,
+ "function",
+ 'The value of `typeof Object.prototype.hasOwnProperty` is expected to be "function"'
+);
-//CHECK#2
-if (typeof instance.hasOwnProperty !== "function") {
- throw new Test262Error('#2: hasOwnProperty method is accessed');
-}
+assert.sameValue(
+ typeof instance.hasOwnProperty,
+ "function",
+ 'The value of `typeof instance.hasOwnProperty` is expected to be "function"'
+);
-//CHECK#3
-if (instance.hasOwnProperty("toString")) {
- throw new Test262Error('#3: hasOwnProperty method works properly');
-}
+assert(
+ !instance.hasOwnProperty("toString"),
+ 'The value of !instance.hasOwnProperty("toString") is expected to be true'
+);
-//CHECK#4
-if (!(instance.hasOwnProperty("aproperty"))) {
- throw new Test262Error('#4: hasOwnProperty method works properly');
-}
+assert(
+ !!instance.hasOwnProperty("aproperty"),
+ 'The value of !!instance.hasOwnProperty("aproperty") is expected to be true'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Object/prototype/hasOwnProperty/S15.2.4.5_A6.js b/js/src/tests/test262/built-ins/Object/prototype/hasOwnProperty/S15.2.4.5_A6.js
index 71d7882ff7dd..7b1ee66e757f 100644
--- a/js/src/tests/test262/built-ins/Object/prototype/hasOwnProperty/S15.2.4.5_A6.js
+++ b/js/src/tests/test262/built-ins/Object/prototype/hasOwnProperty/S15.2.4.5_A6.js
@@ -8,11 +8,10 @@ description: >
Checking if obtaining the prototype property of
Object.prototype.hasOwnProperty fails
---*/
-
-//CHECK#1
-if (Object.prototype.hasOwnProperty.prototype !== undefined) {
- throw new Test262Error('#1: Object.prototype.hasOwnProperty has not prototype property' + Object.prototype.hasOwnProperty.prototype);
-}
-//
+assert.sameValue(
+ Object.prototype.hasOwnProperty.prototype,
+ undefined,
+ 'The value of Object.prototype.hasOwnProperty.prototype is expected to equal undefined'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Object/prototype/hasOwnProperty/S15.2.4.5_A7.js b/js/src/tests/test262/built-ins/Object/prototype/hasOwnProperty/S15.2.4.5_A7.js
deleted file mode 100644
index ab20ea9d9c46..000000000000
--- a/js/src/tests/test262/built-ins/Object/prototype/hasOwnProperty/S15.2.4.5_A7.js
+++ /dev/null
@@ -1,16 +0,0 @@
-// Copyright 2009 the Sputnik authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-info: Object.prototype.hasOwnProperty can't be used as a constructor
-es5id: 15.2.4.5_A7
-description: Checking if creating "new Object.prototype.hasOwnProperty" fails
----*/
-
-var FACTORY = Object.prototype.hasOwnProperty;
-
-assert.throws(TypeError, function() {
- new FACTORY;
-});
-
-reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Object/prototype/propertyIsEnumerable/S15.2.4.7_A10.js b/js/src/tests/test262/built-ins/Object/prototype/propertyIsEnumerable/S15.2.4.7_A10.js
index 72888142f163..399bcf58a732 100644
--- a/js/src/tests/test262/built-ins/Object/prototype/propertyIsEnumerable/S15.2.4.7_A10.js
+++ b/js/src/tests/test262/built-ins/Object/prototype/propertyIsEnumerable/S15.2.4.7_A10.js
@@ -11,11 +11,10 @@ description: >
Object.prototype.propertyIsEnumerable.length property fails
includes: [propertyHelper.js]
---*/
-
-//CHECK#1
-if (!(Object.prototype.propertyIsEnumerable.hasOwnProperty('length'))) {
- throw new Test262Error('#1: the Object.prototype.propertyIsEnumerable has length property');
-}
+assert(
+ !!Object.prototype.propertyIsEnumerable.hasOwnProperty('length'),
+ 'The value of !!Object.prototype.propertyIsEnumerable.hasOwnProperty("length") is expected to be true'
+);
var obj = Object.prototype.propertyIsEnumerable.length;
@@ -23,9 +22,12 @@ verifyNotWritable(Object.prototype.propertyIsEnumerable, "length", null, functio
return "shifted";
});
-//CHECK#2
-if (Object.prototype.propertyIsEnumerable.length !== obj) {
- throw new Test262Error('#2: the Object.prototype.propertyIsEnumerable length property has the attributes ReadOnly');
-}
+assert.sameValue(
+ Object.prototype.propertyIsEnumerable.length,
+ obj,
+ 'The value of Object.prototype.propertyIsEnumerable.length is expected to equal the value of obj'
+);
+
+// TODO: Convert to verifyProperty() format.
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Object/prototype/propertyIsEnumerable/S15.2.4.7_A11.js b/js/src/tests/test262/built-ins/Object/prototype/propertyIsEnumerable/S15.2.4.7_A11.js
index 21242d2e809f..7f091b33b463 100644
--- a/js/src/tests/test262/built-ins/Object/prototype/propertyIsEnumerable/S15.2.4.7_A11.js
+++ b/js/src/tests/test262/built-ins/Object/prototype/propertyIsEnumerable/S15.2.4.7_A11.js
@@ -6,15 +6,15 @@ info: The length property of the hasOwnProperty method is 1
es5id: 15.2.4.7_A11
description: Checking the value of Object.prototype.hasOwnProperty.length
---*/
+assert(
+ !!Object.prototype.propertyIsEnumerable.hasOwnProperty("length"),
+ 'The value of !!Object.prototype.propertyIsEnumerable.hasOwnProperty("length") is expected to be true'
+);
-//CHECK#1
-if (!(Object.prototype.propertyIsEnumerable.hasOwnProperty("length"))) {
- throw new Test262Error('#1: the Object.prototype.propertyIsEnumerable has length property');
-}
-
-//CHECK#2
-if (Object.prototype.propertyIsEnumerable.length !== 1) {
- throw new Test262Error('#2: The length property of the toObject method is 1');
-}
+assert.sameValue(
+ Object.prototype.propertyIsEnumerable.length,
+ 1,
+ 'The value of Object.prototype.propertyIsEnumerable.length is expected to be 1'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Object/prototype/propertyIsEnumerable/S15.2.4.7_A12.js b/js/src/tests/test262/built-ins/Object/prototype/propertyIsEnumerable/S15.2.4.7_A12.js
index 2f4e08845379..545bb9f14e10 100644
--- a/js/src/tests/test262/built-ins/Object/prototype/propertyIsEnumerable/S15.2.4.7_A12.js
+++ b/js/src/tests/test262/built-ins/Object/prototype/propertyIsEnumerable/S15.2.4.7_A12.js
@@ -10,6 +10,6 @@ description: >
assert.throws(TypeError, function() {
Object.prototype.propertyIsEnumerable.call(undefined, 'foo');
-});
+}, 'Object.prototype.propertyIsEnumerable.call(undefined, "foo") throws a TypeError exception');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Object/prototype/propertyIsEnumerable/S15.2.4.7_A13.js b/js/src/tests/test262/built-ins/Object/prototype/propertyIsEnumerable/S15.2.4.7_A13.js
index 2b045554a128..95520cb23317 100644
--- a/js/src/tests/test262/built-ins/Object/prototype/propertyIsEnumerable/S15.2.4.7_A13.js
+++ b/js/src/tests/test262/built-ins/Object/prototype/propertyIsEnumerable/S15.2.4.7_A13.js
@@ -10,6 +10,6 @@ description: >
assert.throws(TypeError, function() {
Object.prototype.propertyIsEnumerable.call(null, 'foo');
-});
+}, 'Object.prototype.propertyIsEnumerable.call(null, "foo") throws a TypeError exception');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Object/prototype/propertyIsEnumerable/S15.2.4.7_A1_T1.js b/js/src/tests/test262/built-ins/Object/prototype/propertyIsEnumerable/S15.2.4.7_A1_T1.js
index 0857d77445e6..ccdabf7a1453 100644
--- a/js/src/tests/test262/built-ins/Object/prototype/propertyIsEnumerable/S15.2.4.7_A1_T1.js
+++ b/js/src/tests/test262/built-ins/Object/prototype/propertyIsEnumerable/S15.2.4.7_A1_T1.js
@@ -10,11 +10,11 @@ description: >
Calling the propertyIsEnumerable method for object in the
prototype chain
---*/
-
-//CHECK#1
-if (typeof Object.prototype.propertyIsEnumerable !== "function") {
- throw new Test262Error('#1: propertyIsEnumerable method is defined');
-}
+assert.sameValue(
+ typeof Object.prototype.propertyIsEnumerable,
+ "function",
+ 'The value of `typeof Object.prototype.propertyIsEnumerable` is expected to be "function"'
+);
var proto = {
rootprop: "avis"
@@ -22,26 +22,26 @@ var proto = {
function AVISFACTORY(name) {
this.name = name
-};
+}
AVISFACTORY.prototype = proto;
var seagull = new AVISFACTORY("seagull");
-//CHECK#2
-if (typeof seagull.propertyIsEnumerable !== "function") {
- throw new Test262Error('#2: propertyIsEnumerable method is accessed');
-}
+assert.sameValue(
+ typeof seagull.propertyIsEnumerable,
+ "function",
+ 'The value of `typeof seagull.propertyIsEnumerable` is expected to be "function"'
+);
-//CHECK#3
-if (!(seagull.propertyIsEnumerable("name"))) {
- throw new Test262Error('#3: propertyIsEnumerable method works properly');
-}
+assert(
+ !!seagull.propertyIsEnumerable("name"),
+ 'The value of !!seagull.propertyIsEnumerable("name") is expected to be true'
+);
-//CHECK#4
-if (seagull.propertyIsEnumerable("rootprop")) {
- throw new Test262Error('#4: propertyIsEnumerable method does not consider objects in the prototype chain');
-}
-//
+assert(
+ !seagull.propertyIsEnumerable("rootprop"),
+ 'The value of !seagull.propertyIsEnumerable("rootprop") is expected to be true'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Object/prototype/propertyIsEnumerable/S15.2.4.7_A2_T1.js b/js/src/tests/test262/built-ins/Object/prototype/propertyIsEnumerable/S15.2.4.7_A2_T1.js
index 5c103b9c205f..bcdeb0265619 100644
--- a/js/src/tests/test262/built-ins/Object/prototype/propertyIsEnumerable/S15.2.4.7_A2_T1.js
+++ b/js/src/tests/test262/built-ins/Object/prototype/propertyIsEnumerable/S15.2.4.7_A2_T1.js
@@ -14,16 +14,17 @@ description: >
Checking the type of Object.prototype.propertyIsEnumerable and the
returned result
---*/
+assert.sameValue(
+ typeof Object.prototype.propertyIsEnumerable,
+ "function",
+ 'The value of `typeof Object.prototype.propertyIsEnumerable` is expected to be "function"'
+);
-//CHECK#1
-if (typeof Object.prototype.propertyIsEnumerable !== "function") {
- throw new Test262Error('#1: hasOwnProperty method is defined');
-}
+assert(
+ !Object.prototype.propertyIsEnumerable("propertyIsEnumerable"),
+ 'The value of !Object.prototype.propertyIsEnumerable("propertyIsEnumerable") is expected to be true'
+);
-//CHECK#2
-if (Object.prototype.propertyIsEnumerable("propertyIsEnumerable")) {
- throw new Test262Error('#2: hasOwnProperty method works properly');
-}
-//
+// TODO: Convert to verifyProperty() format.
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Object/prototype/propertyIsEnumerable/S15.2.4.7_A2_T2.js b/js/src/tests/test262/built-ins/Object/prototype/propertyIsEnumerable/S15.2.4.7_A2_T2.js
index 8d2b9b049a36..cfee052ef91e 100644
--- a/js/src/tests/test262/built-ins/Object/prototype/propertyIsEnumerable/S15.2.4.7_A2_T2.js
+++ b/js/src/tests/test262/built-ins/Object/prototype/propertyIsEnumerable/S15.2.4.7_A2_T2.js
@@ -14,34 +14,33 @@ description: >
Argument of the propertyIsEnumerable method is a custom boolean
property
---*/
-
-//CHECK#1
-if (typeof Object.prototype.propertyIsEnumerable !== "function") {
- throw new Test262Error('#1: propertyIsEnumerable method is defined');
-}
+assert.sameValue(
+ typeof Object.prototype.propertyIsEnumerable,
+ "function",
+ 'The value of `typeof Object.prototype.propertyIsEnumerable` is expected to be "function"'
+);
var obj = {
the_property: true
};
-//CHECK#2
-if (typeof obj.propertyIsEnumerable !== "function") {
- throw new Test262Error('#2: propertyIsEnumerable method is accessed');
-}
+assert.sameValue(
+ typeof obj.propertyIsEnumerable,
+ "function",
+ 'The value of `typeof obj.propertyIsEnumerable` is expected to be "function"'
+);
-//CHECK#3
-if (!(obj.propertyIsEnumerable("the_property"))) {
- throw new Test262Error('#3: propertyIsEnumerable method works properly');
-}
+assert(
+ !!obj.propertyIsEnumerable("the_property"),
+ 'The value of !!obj.propertyIsEnumerable("the_property") is expected to be true'
+);
-//CHECK#4
var accum = "";
for (var prop in obj) {
accum += prop;
}
-if (accum.indexOf("the_property") !== 0) {
- throw new Test262Error('#4: enumerating works properly');
-}
-//
+assert.sameValue(accum.indexOf("the_property"), 0, 'accum.indexOf("the_property") must return 0');
+
+// TODO: Convert to verifyProperty() format.
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Object/prototype/propertyIsEnumerable/S15.2.4.7_A6.js b/js/src/tests/test262/built-ins/Object/prototype/propertyIsEnumerable/S15.2.4.7_A6.js
index 10684d62f709..ee0a6b3eb4d5 100644
--- a/js/src/tests/test262/built-ins/Object/prototype/propertyIsEnumerable/S15.2.4.7_A6.js
+++ b/js/src/tests/test262/built-ins/Object/prototype/propertyIsEnumerable/S15.2.4.7_A6.js
@@ -8,11 +8,10 @@ description: >
Checking if obtaining the prototype property of
Object.prototype.propertyIsEnumerable fails
---*/
-
-//CHECK#1
-if (Object.prototype.propertyIsEnumerable.prototype !== undefined) {
- throw new Test262Error('#1: Object.prototype.propertyIsEnumerable has not prototype property' + Object.prototype.propertyIsEnumerable.prototype);
-}
-//
+assert.sameValue(
+ Object.prototype.propertyIsEnumerable.prototype,
+ undefined,
+ 'The value of Object.prototype.propertyIsEnumerable.prototype is expected to equal undefined'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Object/prototype/propertyIsEnumerable/S15.2.4.7_A7.js b/js/src/tests/test262/built-ins/Object/prototype/propertyIsEnumerable/S15.2.4.7_A7.js
deleted file mode 100644
index d19a37317b70..000000000000
--- a/js/src/tests/test262/built-ins/Object/prototype/propertyIsEnumerable/S15.2.4.7_A7.js
+++ /dev/null
@@ -1,18 +0,0 @@
-// Copyright 2009 the Sputnik authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-info: Object.prototype.propertyIsEnumerable can't be used as a constructor
-es5id: 15.2.4.7_A7
-description: >
- Checking if creating "new Object.prototype.propertyIsEnumerable"
- fails
----*/
-
-var FACTORY = Object.prototype.propertyIsEnumerable;
-
-assert.throws(TypeError, function() {
- new FACTORY;
-});
-
-reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Object/prototype/propertyIsEnumerable/S15.2.4.7_A8.js b/js/src/tests/test262/built-ins/Object/prototype/propertyIsEnumerable/S15.2.4.7_A8.js
index 6151477ae994..8555db0e5f36 100644
--- a/js/src/tests/test262/built-ins/Object/prototype/propertyIsEnumerable/S15.2.4.7_A8.js
+++ b/js/src/tests/test262/built-ins/Object/prototype/propertyIsEnumerable/S15.2.4.7_A8.js
@@ -10,23 +10,21 @@ description: >
Checking if enumerating the
Object.prototype.propertyIsEnumerable.length property fails
---*/
+assert(
+ !!Object.prototype.propertyIsEnumerable.hasOwnProperty('length'),
+ 'The value of !!Object.prototype.propertyIsEnumerable.hasOwnProperty("length") is expected to be true'
+);
-//CHECK#0
-if (!(Object.prototype.propertyIsEnumerable.hasOwnProperty('length'))) {
- throw new Test262Error('#0: the Object.prototype.propertyIsEnumerable has length property');
-}
+assert(
+ !Object.prototype.propertyIsEnumerable.propertyIsEnumerable('length'),
+ 'The value of !Object.prototype.propertyIsEnumerable.propertyIsEnumerable("length") is expected to be true'
+);
-
-// CHECK#1
-if (Object.prototype.propertyIsEnumerable.propertyIsEnumerable('length')) {
- throw new Test262Error('#1: the Object.prototype.propertyIsEnumerable.length property has the attributes DontEnum');
-}
-
-// CHECK#2
for (var p in Object.prototype.propertyIsEnumerable) {
- if (p === "length")
- throw new Test262Error('#2: the Object.prototype.propertyIsEnumerable.length property has the attributes DontEnum');
+ assert.notSameValue(p, "length", 'The value of p is not "length"');
}
//
+// TODO: Convert to verifyProperty() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Object/prototype/propertyIsEnumerable/S15.2.4.7_A9.js b/js/src/tests/test262/built-ins/Object/prototype/propertyIsEnumerable/S15.2.4.7_A9.js
index f735b6b549cc..8f7264d09e6a 100644
--- a/js/src/tests/test262/built-ins/Object/prototype/propertyIsEnumerable/S15.2.4.7_A9.js
+++ b/js/src/tests/test262/built-ins/Object/prototype/propertyIsEnumerable/S15.2.4.7_A9.js
@@ -10,16 +10,16 @@ description: >
Checking if deleting the
Object.prototype.propertyIsEnumerable.length property fails
---*/
+assert(
+ !!Object.prototype.propertyIsEnumerable.hasOwnProperty('length'),
+ 'The value of !!Object.prototype.propertyIsEnumerable.hasOwnProperty("length") is expected to be true'
+);
-//CHECK#0
-if (!(Object.prototype.propertyIsEnumerable.hasOwnProperty('length'))) {
- throw new Test262Error('#0: the Object.prototype.propertyIsEnumerable has length property');
-}
+assert(
+ !!delete Object.prototype.propertyIsEnumerable.length,
+ 'The value of !!delete Object.prototype.propertyIsEnumerable.length is expected to be true'
+);
-//CHECK#1
-if (!delete Object.prototype.propertyIsEnumerable.length) {
- throw new Test262Error('#1: The Object.prototype.propertyIsEnumerable.length property does not have the attributes DontDelete');
-}
-//
+// TODO: Convert to verifyProperty() format.
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Object/prototype/toLocaleString/S15.2.4.3_A1.js b/js/src/tests/test262/built-ins/Object/prototype/toLocaleString/S15.2.4.3_A1.js
index 57259a715f06..1875921aa6b3 100644
--- a/js/src/tests/test262/built-ins/Object/prototype/toLocaleString/S15.2.4.3_A1.js
+++ b/js/src/tests/test262/built-ins/Object/prototype/toLocaleString/S15.2.4.3_A1.js
@@ -8,20 +8,22 @@ description: >
Checking the type of Object.prototype.toLocaleString and the
returned result
---*/
+assert.sameValue(
+ typeof Object.prototype.toLocaleString,
+ "function",
+ 'The value of `typeof Object.prototype.toLocaleString` is expected to be "function"'
+);
-//CHECK#1
-if (typeof Object.prototype.toLocaleString !== "function") {
- throw new Test262Error('#1: toLocaleString method defined');
-}
+assert.sameValue(
+ Object.prototype.toLocaleString(),
+ Object.prototype.toString(),
+ 'Object.prototype.toLocaleString() must return the same value returned by Object.prototype.toString()'
+);
-//CHECK#2
-if (Object.prototype.toLocaleString() !== Object.prototype.toString()) {
- throw new Test262Error('#1: toLocaleString function returns the result of calling toString()');
-}
-
-//CHECK#2
-if ({}.toLocaleString() !== {}.toString()) {
- throw new Test262Error('#2: toLocaleString function returns the result of calling toString()');
-}
+assert.sameValue(
+ {}.toLocaleString(),
+ {}.toString(),
+ '({}).toLocaleString() must return the same value returned by ({}).toString()'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Object/prototype/toLocaleString/S15.2.4.3_A10.js b/js/src/tests/test262/built-ins/Object/prototype/toLocaleString/S15.2.4.3_A10.js
index 657cc24481b8..788bc2719682 100644
--- a/js/src/tests/test262/built-ins/Object/prototype/toLocaleString/S15.2.4.3_A10.js
+++ b/js/src/tests/test262/built-ins/Object/prototype/toLocaleString/S15.2.4.3_A10.js
@@ -11,11 +11,10 @@ description: >
property fails
includes: [propertyHelper.js]
---*/
-
-//CHECK#1
-if (!(Object.prototype.toLocaleString.hasOwnProperty('length'))) {
- throw new Test262Error('#1: the Object.prototype.toLocaleString has length property.');
-}
+assert(
+ !!Object.prototype.toLocaleString.hasOwnProperty('length'),
+ 'The value of !!Object.prototype.toLocaleString.hasOwnProperty("length") is expected to be true'
+);
var obj = Object.prototype.toLocaleString.length;
@@ -23,9 +22,12 @@ verifyNotWritable(Object.prototype.toLocaleString, "length", null, function() {
return "shifted";
});
-//CHECK#2
-if (Object.prototype.toLocaleString.length !== obj) {
- throw new Test262Error('#2: the Object.prototype.toLocaleString length property has the attributes ReadOnly.');
-}
+assert.sameValue(
+ Object.prototype.toLocaleString.length,
+ obj,
+ 'The value of Object.prototype.toLocaleString.length is expected to equal the value of obj'
+);
+
+// TODO: Convert to verifyProperty() format.
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Object/prototype/toLocaleString/S15.2.4.3_A11.js b/js/src/tests/test262/built-ins/Object/prototype/toLocaleString/S15.2.4.3_A11.js
index ce7b16801b4d..1afdd3a546d0 100644
--- a/js/src/tests/test262/built-ins/Object/prototype/toLocaleString/S15.2.4.3_A11.js
+++ b/js/src/tests/test262/built-ins/Object/prototype/toLocaleString/S15.2.4.3_A11.js
@@ -6,15 +6,15 @@ info: The length property of the toLocaleString method is 0
es5id: 15.2.4.3_A11
description: Checking the Object.prototype.toLocaleString.length
---*/
+assert(
+ !!Object.prototype.toLocaleString.hasOwnProperty("length"),
+ 'The value of !!Object.prototype.toLocaleString.hasOwnProperty("length") is expected to be true'
+);
-//CHECK#1
-if (!(Object.prototype.toLocaleString.hasOwnProperty("length"))) {
- throw new Test262Error('#1: The length property of the toLocaleString method is 0');
-}
-
-//CHECK#2
-if (Object.prototype.toLocaleString.length !== 0) {
- throw new Test262Error('#2: The length property of the toLocaleString method is 0');
-}
+assert.sameValue(
+ Object.prototype.toLocaleString.length,
+ 0,
+ 'The value of Object.prototype.toLocaleString.length is expected to be 0'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Object/prototype/toLocaleString/S15.2.4.3_A12.js b/js/src/tests/test262/built-ins/Object/prototype/toLocaleString/S15.2.4.3_A12.js
index c426b688c20f..299609daedbf 100644
--- a/js/src/tests/test262/built-ins/Object/prototype/toLocaleString/S15.2.4.3_A12.js
+++ b/js/src/tests/test262/built-ins/Object/prototype/toLocaleString/S15.2.4.3_A12.js
@@ -10,6 +10,6 @@ description: >
assert.throws(TypeError, function() {
Object.prototype.toLocaleString.call(undefined);
-});
+}, 'Object.prototype.toLocaleString.call(undefined) throws a TypeError exception');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Object/prototype/toLocaleString/S15.2.4.3_A13.js b/js/src/tests/test262/built-ins/Object/prototype/toLocaleString/S15.2.4.3_A13.js
index f4f903a9e139..c51669fa6492 100644
--- a/js/src/tests/test262/built-ins/Object/prototype/toLocaleString/S15.2.4.3_A13.js
+++ b/js/src/tests/test262/built-ins/Object/prototype/toLocaleString/S15.2.4.3_A13.js
@@ -10,6 +10,6 @@ description: >
assert.throws(TypeError, function() {
Object.prototype.toLocaleString.call(null);
-});
+}, 'Object.prototype.toLocaleString.call(null) throws a TypeError exception');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Object/prototype/toLocaleString/S15.2.4.3_A6.js b/js/src/tests/test262/built-ins/Object/prototype/toLocaleString/S15.2.4.3_A6.js
index 2963dd8b6f3f..8f316e0dd459 100644
--- a/js/src/tests/test262/built-ins/Object/prototype/toLocaleString/S15.2.4.3_A6.js
+++ b/js/src/tests/test262/built-ins/Object/prototype/toLocaleString/S15.2.4.3_A6.js
@@ -8,11 +8,10 @@ description: >
Checking if obtaining the prototype property of
Object.prototype.toLocaleString fails
---*/
-
-//CHECK#1
-if (Object.prototype.toLocaleString.prototype !== undefined) {
- throw new Test262Error('#1: Object.prototype.toLocaleString has not prototype property' + Object.prototype.toLocaleString.prototype);
-}
-//
+assert.sameValue(
+ Object.prototype.toLocaleString.prototype,
+ undefined,
+ 'The value of Object.prototype.toLocaleString.prototype is expected to equal undefined'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Object/prototype/toLocaleString/S15.2.4.3_A7.js b/js/src/tests/test262/built-ins/Object/prototype/toLocaleString/S15.2.4.3_A7.js
deleted file mode 100644
index 5d8bc3bbec24..000000000000
--- a/js/src/tests/test262/built-ins/Object/prototype/toLocaleString/S15.2.4.3_A7.js
+++ /dev/null
@@ -1,16 +0,0 @@
-// Copyright 2009 the Sputnik authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-info: Object.prototype.toLocaleString can't be used as a constructor
-es5id: 15.2.4.3_A7
-description: Checking if creating "new Object.prototype.toLocaleString" fails
----*/
-
-var FACTORY = Object.prototype.toLocaleString;
-
-assert.throws(TypeError, function() {
- new FACTORY;
-});
-
-reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Object/prototype/toLocaleString/S15.2.4.3_A8.js b/js/src/tests/test262/built-ins/Object/prototype/toLocaleString/S15.2.4.3_A8.js
index ccda94cf2f4f..4b67335a4c6f 100644
--- a/js/src/tests/test262/built-ins/Object/prototype/toLocaleString/S15.2.4.3_A8.js
+++ b/js/src/tests/test262/built-ins/Object/prototype/toLocaleString/S15.2.4.3_A8.js
@@ -10,23 +10,21 @@ description: >
Checking if enumerating the Object.prototype.toLocaleString.length
property fails
---*/
+assert(
+ !!Object.prototype.toLocaleString.hasOwnProperty('length'),
+ 'The value of !!Object.prototype.toLocaleString.hasOwnProperty("length") is expected to be true'
+);
-//CHECK#0
-if (!(Object.prototype.toLocaleString.hasOwnProperty('length'))) {
- throw new Test262Error('#0: the Object.prototype.toLocaleString has length property.');
-}
+assert(
+ !Object.prototype.toLocaleString.propertyIsEnumerable('length'),
+ 'The value of !Object.prototype.toLocaleString.propertyIsEnumerable("length") is expected to be true'
+);
-
-// CHECK#1
-if (Object.prototype.toLocaleString.propertyIsEnumerable('length')) {
- throw new Test262Error('#1: the Object.prototype.toLocaleString.length property has the attributes DontEnum');
-}
-
-// CHECK#2
for (var p in Object.prototype.toLocaleString) {
- if (p === "length")
- throw new Test262Error('#2: the Object.prototype.toLocaleString.length property has the attributes DontEnum');
+ assert.notSameValue(p, "length", 'The value of p is not "length"');
}
//
+// TODO: Convert to verifyProperty() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Object/prototype/toLocaleString/S15.2.4.3_A9.js b/js/src/tests/test262/built-ins/Object/prototype/toLocaleString/S15.2.4.3_A9.js
index 9dc79e7f3a2b..861a0728d9f3 100644
--- a/js/src/tests/test262/built-ins/Object/prototype/toLocaleString/S15.2.4.3_A9.js
+++ b/js/src/tests/test262/built-ins/Object/prototype/toLocaleString/S15.2.4.3_A9.js
@@ -10,20 +10,21 @@ description: >
Checknig if deleting of the Object.prototype.toLocaleString.length
property fails
---*/
+assert(
+ !!Object.prototype.toLocaleString.hasOwnProperty('length'),
+ 'The value of !!Object.prototype.toLocaleString.hasOwnProperty("length") is expected to be true'
+);
-//CHECK#0
-if (!(Object.prototype.toLocaleString.hasOwnProperty('length'))) {
- throw new Test262Error('#0: the Object.prototype.toLocaleString has length property');
-}
+assert(
+ !!delete Object.prototype.toLocaleString.length,
+ 'The value of !!delete Object.prototype.toLocaleString.length is expected to be true'
+);
-//CHECK#1
-if (!delete Object.prototype.toLocaleString.length) {
- throw new Test262Error('#1: The Object.prototype.toLocaleString.length property does not have the attributes DontDelete');
-}
+assert(
+ !Object.prototype.toLocaleString.hasOwnProperty('length'),
+ 'The value of !Object.prototype.toLocaleString.hasOwnProperty("length") is expected to be true'
+);
-//CHECK#2
-if (Object.prototype.toLocaleString.hasOwnProperty('length')) {
- throw new Test262Error('#2: The Object.prototype.toLocaleString.length property does not have the attributes DontDelete');
-}
+// TODO: Convert to verifyProperty() format.
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Object/prototype/toString/not-ctor.js b/js/src/tests/test262/built-ins/Object/prototype/toString/not-ctor.js
deleted file mode 100644
index fde9e257ced6..000000000000
--- a/js/src/tests/test262/built-ins/Object/prototype/toString/not-ctor.js
+++ /dev/null
@@ -1,17 +0,0 @@
-// Copyright 2009 the Sputnik authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-esid: sec-ecmascript-standard-built-in-objects
-description: Object.prototype.toString is not a constructor
-info: |
- Built-in function objects that are not identified as constructors do
- not implement the [[Construct]] internal method unless otherwise specified
- in the description of a particular function
----*/
-
-assert.throws(TypeError, function() {
- new Object.prototype.toString();
-});
-
-reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Object/prototype/valueOf/S15.2.4.4_A10.js b/js/src/tests/test262/built-ins/Object/prototype/valueOf/S15.2.4.4_A10.js
index d068bf1ab89a..ff4efa939a0c 100644
--- a/js/src/tests/test262/built-ins/Object/prototype/valueOf/S15.2.4.4_A10.js
+++ b/js/src/tests/test262/built-ins/Object/prototype/valueOf/S15.2.4.4_A10.js
@@ -9,11 +9,10 @@ description: >
fails
includes: [propertyHelper.js]
---*/
-
-//CHECK#1
-if (!(Object.prototype.valueOf.hasOwnProperty('length'))) {
- throw new Test262Error('#1: the Object.prototype.valueOf has length property.');
-}
+assert(
+ !!Object.prototype.valueOf.hasOwnProperty('length'),
+ 'The value of !!Object.prototype.valueOf.hasOwnProperty("length") is expected to be true'
+);
var obj = Object.prototype.valueOf.length;
@@ -21,9 +20,12 @@ verifyNotWritable(Object.prototype.valueOf, "length", null, function() {
return "shifted";
});
-//CHECK#2
-if (Object.prototype.valueOf.length !== obj) {
- throw new Test262Error('#2: the Object.prototype.valueOf length property has the attributes ReadOnly.');
-}
+assert.sameValue(
+ Object.prototype.valueOf.length,
+ obj,
+ 'The value of Object.prototype.valueOf.length is expected to equal the value of obj'
+);
+
+// TODO: Convert to verifyProperty() format.
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Object/prototype/valueOf/S15.2.4.4_A11.js b/js/src/tests/test262/built-ins/Object/prototype/valueOf/S15.2.4.4_A11.js
index 25ae74e19d5b..de2b758efb6c 100644
--- a/js/src/tests/test262/built-ins/Object/prototype/valueOf/S15.2.4.4_A11.js
+++ b/js/src/tests/test262/built-ins/Object/prototype/valueOf/S15.2.4.4_A11.js
@@ -6,15 +6,15 @@ info: The length property of the valueOf method is 0
es5id: 15.2.4.4_A11
description: Checking the Object.prototype.valueOf.length
---*/
+assert(
+ !!Object.prototype.valueOf.hasOwnProperty("length"),
+ 'The value of !!Object.prototype.valueOf.hasOwnProperty("length") is expected to be true'
+);
-//CHECK#1
-if (!(Object.prototype.valueOf.hasOwnProperty("length"))) {
- throw new Test262Error('#1: The length property of the toObject method is 0');
-}
-
-//CHECK#2
-if (Object.prototype.valueOf.length !== 0) {
- throw new Test262Error('#2: The length property of the toObject method is 0');
-}
+assert.sameValue(
+ Object.prototype.valueOf.length,
+ 0,
+ 'The value of Object.prototype.valueOf.length is expected to be 0'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Object/prototype/valueOf/S15.2.4.4_A12.js b/js/src/tests/test262/built-ins/Object/prototype/valueOf/S15.2.4.4_A12.js
index 8eb232236adb..a95ea6e0659f 100644
--- a/js/src/tests/test262/built-ins/Object/prototype/valueOf/S15.2.4.4_A12.js
+++ b/js/src/tests/test262/built-ins/Object/prototype/valueOf/S15.2.4.4_A12.js
@@ -11,6 +11,6 @@ description: Checking Object.prototype.valueOf invoked by the 'call' property.
assert.throws(TypeError, function() {
Object.prototype.valueOf.call(undefined);
-});
+}, 'Object.prototype.valueOf.call(undefined) throws a TypeError exception');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Object/prototype/valueOf/S15.2.4.4_A13.js b/js/src/tests/test262/built-ins/Object/prototype/valueOf/S15.2.4.4_A13.js
index 9f368c774b3c..3a9d28b0f204 100644
--- a/js/src/tests/test262/built-ins/Object/prototype/valueOf/S15.2.4.4_A13.js
+++ b/js/src/tests/test262/built-ins/Object/prototype/valueOf/S15.2.4.4_A13.js
@@ -11,6 +11,6 @@ description: Checking Object.prototype.valueOf invoked by the 'call' property.
assert.throws(TypeError, function() {
Object.prototype.valueOf.call(null);
-});
+}, 'Object.prototype.valueOf.call(null) throws a TypeError exception');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Object/prototype/valueOf/S15.2.4.4_A14.js b/js/src/tests/test262/built-ins/Object/prototype/valueOf/S15.2.4.4_A14.js
index b35177f1db24..27322400549b 100644
--- a/js/src/tests/test262/built-ins/Object/prototype/valueOf/S15.2.4.4_A14.js
+++ b/js/src/tests/test262/built-ins/Object/prototype/valueOf/S15.2.4.4_A14.js
@@ -11,6 +11,6 @@ description: Checking Object.prototype.valueOf invoked by the 'call' property.
assert.throws(TypeError, function() {
(1, Object.prototype.valueOf)();
-});
+}, '(1, Object.prototype.valueOf)() throws a TypeError exception');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Object/prototype/valueOf/S15.2.4.4_A15.js b/js/src/tests/test262/built-ins/Object/prototype/valueOf/S15.2.4.4_A15.js
index 2d59bc797be1..c924da8b0f9a 100644
--- a/js/src/tests/test262/built-ins/Object/prototype/valueOf/S15.2.4.4_A15.js
+++ b/js/src/tests/test262/built-ins/Object/prototype/valueOf/S15.2.4.4_A15.js
@@ -9,10 +9,9 @@ es5id: 15.2.4.4_A15
description: Checking Object.prototype.valueOf when called as a global function.
---*/
-var v = Object.prototype.valueOf;
-
assert.throws(TypeError, function() {
- v();
-});
+ const valueOf = Object.prototype.valueOf;
+ valueOf();
+}, '`const valueOf = Object.prototype.valueOf; valueOf()` throws a TypeError exception');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Object/prototype/valueOf/S15.2.4.4_A1_T1.js b/js/src/tests/test262/built-ins/Object/prototype/valueOf/S15.2.4.4_A1_T1.js
index 72aa6f0bc92c..e60e7afc9a99 100644
--- a/js/src/tests/test262/built-ins/Object/prototype/valueOf/S15.2.4.4_A1_T1.js
+++ b/js/src/tests/test262/built-ins/Object/prototype/valueOf/S15.2.4.4_A1_T1.js
@@ -6,22 +6,15 @@ info: The valueOf method returns its "this" value
es5id: 15.2.4.4_A1_T1
description: "\"this\" value is a number"
---*/
-
-//CHECK#1
-if (typeof Object.prototype.valueOf !== "function") {
- throw new Test262Error('#1: valueOf method defined');
-}
+assert.sameValue(
+ typeof Object.prototype.valueOf,
+ "function",
+ 'The value of `typeof Object.prototype.valueOf` is expected to be "function"'
+);
var obj = new Object(1.1);
-//CHECK#2
-if (typeof obj.valueOf !== "function") {
- throw new Test262Error('#2: valueOf method accessed');
-}
-
-//CHECK#3
-if (obj.valueOf() !== 1.1) {
- throw new Test262Error('#3: The valueOf method returns its this value');
-}
+assert.sameValue(typeof obj.valueOf, "function", 'The value of `typeof obj.valueOf` is expected to be "function"');
+assert.sameValue(obj.valueOf(), 1.1, 'obj.valueOf() must return 1.1');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Object/prototype/valueOf/S15.2.4.4_A1_T2.js b/js/src/tests/test262/built-ins/Object/prototype/valueOf/S15.2.4.4_A1_T2.js
index d91820c57c3e..fa83ef26505e 100644
--- a/js/src/tests/test262/built-ins/Object/prototype/valueOf/S15.2.4.4_A1_T2.js
+++ b/js/src/tests/test262/built-ins/Object/prototype/valueOf/S15.2.4.4_A1_T2.js
@@ -6,22 +6,15 @@ info: The valueOf method returns its "this" value
es5id: 15.2.4.4_A1_T2
description: "\"this\" value is a boolean"
---*/
-
-//CHECK#1
-if (typeof Object.prototype.valueOf !== "function") {
- throw new Test262Error('#1: valueOf method defined');
-}
+assert.sameValue(
+ typeof Object.prototype.valueOf,
+ "function",
+ 'The value of `typeof Object.prototype.valueOf` is expected to be "function"'
+);
var obj = new Object(true);
-//CHECK#2
-if (typeof obj.valueOf !== "function") {
- throw new Test262Error('#2: valueOf method accessed');
-}
-
-//CHECK#3
-if (obj.valueOf() !== true) {
- throw new Test262Error('#3: The valueOf method returns its this value');
-}
+assert.sameValue(typeof obj.valueOf, "function", 'The value of `typeof obj.valueOf` is expected to be "function"');
+assert.sameValue(obj.valueOf(), true, 'obj.valueOf() must return true');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Object/prototype/valueOf/S15.2.4.4_A1_T3.js b/js/src/tests/test262/built-ins/Object/prototype/valueOf/S15.2.4.4_A1_T3.js
index 9da8956f0896..73933b535c1b 100644
--- a/js/src/tests/test262/built-ins/Object/prototype/valueOf/S15.2.4.4_A1_T3.js
+++ b/js/src/tests/test262/built-ins/Object/prototype/valueOf/S15.2.4.4_A1_T3.js
@@ -6,22 +6,15 @@ info: The valueOf method returns its "this" value
es5id: 15.2.4.4_A1_T3
description: "\"this\" value is a string"
---*/
-
-//CHECK#1
-if (typeof Object.prototype.valueOf !== "function") {
- throw new Test262Error('#1: valueOf method defined');
-}
+assert.sameValue(
+ typeof Object.prototype.valueOf,
+ "function",
+ 'The value of `typeof Object.prototype.valueOf` is expected to be "function"'
+);
var obj = new Object("greenfield");
-//CHECK#2
-if (typeof obj.valueOf !== "function") {
- throw new Test262Error('#2: valueOf method accessed');
-}
-
-//CHECK#3
-if (obj.valueOf() !== "greenfield") {
- throw new Test262Error('#3: The valueOf method returns its this value');
-}
+assert.sameValue(typeof obj.valueOf, "function", 'The value of `typeof obj.valueOf` is expected to be "function"');
+assert.sameValue(obj.valueOf(), "greenfield", 'obj.valueOf() must return "greenfield"');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Object/prototype/valueOf/S15.2.4.4_A1_T4.js b/js/src/tests/test262/built-ins/Object/prototype/valueOf/S15.2.4.4_A1_T4.js
index f49165c3ec97..f5e20832e151 100644
--- a/js/src/tests/test262/built-ins/Object/prototype/valueOf/S15.2.4.4_A1_T4.js
+++ b/js/src/tests/test262/built-ins/Object/prototype/valueOf/S15.2.4.4_A1_T4.js
@@ -6,22 +6,15 @@ info: The valueOf method returns its "this" value
es5id: 15.2.4.4_A1_T4
description: "\"this\" value is an object"
---*/
-
-//CHECK#1
-if (typeof Object.prototype.valueOf !== "function") {
- throw new Test262Error('#1: valueOf method defined');
-}
+assert.sameValue(
+ typeof Object.prototype.valueOf,
+ "function",
+ 'The value of `typeof Object.prototype.valueOf` is expected to be "function"'
+);
var obj = new Object;
-//CHECK#2
-if (typeof obj.valueOf !== "function") {
- throw new Test262Error('#2: valueOf method accessed');
-}
-
-//CHECK#3
-if (obj.valueOf() !== obj) {
- throw new Test262Error('#3: The valueOf method returns its this value');
-}
+assert.sameValue(typeof obj.valueOf, "function", 'The value of `typeof obj.valueOf` is expected to be "function"');
+assert.sameValue(obj.valueOf(), obj, 'obj.valueOf() returns obj');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Object/prototype/valueOf/S15.2.4.4_A1_T5.js b/js/src/tests/test262/built-ins/Object/prototype/valueOf/S15.2.4.4_A1_T5.js
index b71c46839a55..76fbd4a6be8d 100644
--- a/js/src/tests/test262/built-ins/Object/prototype/valueOf/S15.2.4.4_A1_T5.js
+++ b/js/src/tests/test262/built-ins/Object/prototype/valueOf/S15.2.4.4_A1_T5.js
@@ -6,22 +6,15 @@ info: The valueOf method returns its "this" value
es5id: 15.2.4.4_A1_T5
description: "\"this\" value is \"null\""
---*/
-
-//CHECK#1
-if (typeof Object.prototype.valueOf !== "function") {
- throw new Test262Error('#1: valueOf method defined');
-}
+assert.sameValue(
+ typeof Object.prototype.valueOf,
+ "function",
+ 'The value of `typeof Object.prototype.valueOf` is expected to be "function"'
+);
var obj = new Object(null);
-//CHECK#2
-if (typeof obj.valueOf !== "function") {
- throw new Test262Error('#2: valueOf method accessed');
-}
-
-//CHECK#3
-if (obj.valueOf() !== obj) {
- throw new Test262Error('#3: The valueOf method returns its this value');
-}
+assert.sameValue(typeof obj.valueOf, "function", 'The value of `typeof obj.valueOf` is expected to be "function"');
+assert.sameValue(obj.valueOf(), obj, 'obj.valueOf() returns obj');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Object/prototype/valueOf/S15.2.4.4_A1_T6.js b/js/src/tests/test262/built-ins/Object/prototype/valueOf/S15.2.4.4_A1_T6.js
index 7a7b7e549c41..1272ae585a31 100644
--- a/js/src/tests/test262/built-ins/Object/prototype/valueOf/S15.2.4.4_A1_T6.js
+++ b/js/src/tests/test262/built-ins/Object/prototype/valueOf/S15.2.4.4_A1_T6.js
@@ -6,22 +6,15 @@ info: The valueOf method returns its "this" value
es5id: 15.2.4.4_A1_T6
description: "\"this\" value is \"undefined\""
---*/
-
-//CHECK#1
-if (typeof Object.prototype.valueOf !== "function") {
- throw new Test262Error('#1: valueOf method defined');
-}
+assert.sameValue(
+ typeof Object.prototype.valueOf,
+ "function",
+ 'The value of `typeof Object.prototype.valueOf` is expected to be "function"'
+);
var obj = new Object(undefined);
-//CHECK#2
-if (typeof obj.valueOf !== "function") {
- throw new Test262Error('#2: valueOf method accessed');
-}
-
-//CHECK#3
-if (obj.valueOf() !== obj) {
- throw new Test262Error('#3: The valueOf method returns its this value');
-}
+assert.sameValue(typeof obj.valueOf, "function", 'The value of `typeof obj.valueOf` is expected to be "function"');
+assert.sameValue(obj.valueOf(), obj, 'obj.valueOf() returns obj');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Object/prototype/valueOf/S15.2.4.4_A1_T7.js b/js/src/tests/test262/built-ins/Object/prototype/valueOf/S15.2.4.4_A1_T7.js
index 48120a8a32eb..6c6f5a505928 100644
--- a/js/src/tests/test262/built-ins/Object/prototype/valueOf/S15.2.4.4_A1_T7.js
+++ b/js/src/tests/test262/built-ins/Object/prototype/valueOf/S15.2.4.4_A1_T7.js
@@ -6,22 +6,15 @@ info: The valueOf method returns its "this" value
es5id: 15.2.4.4_A1_T7
description: "\"this\" value is \"void 0\""
---*/
-
-//CHECK#1
-if (typeof Object.prototype.valueOf !== "function") {
- throw new Test262Error('#1: valueOf method defined');
-}
+assert.sameValue(
+ typeof Object.prototype.valueOf,
+ "function",
+ 'The value of `typeof Object.prototype.valueOf` is expected to be "function"'
+);
var obj = new Object(void 0);
-//CHECK#2
-if (typeof obj.valueOf !== "function") {
- throw new Test262Error('#2: valueOf method accessed');
-}
-
-//CHECK#3
-if (obj.valueOf() !== obj) {
- throw new Test262Error('#3: The valueOf method returns its this value');
-}
+assert.sameValue(typeof obj.valueOf, "function", 'The value of `typeof obj.valueOf` is expected to be "function"');
+assert.sameValue(obj.valueOf(), obj, 'obj.valueOf() returns obj');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Object/prototype/valueOf/S15.2.4.4_A6.js b/js/src/tests/test262/built-ins/Object/prototype/valueOf/S15.2.4.4_A6.js
index 27a58ba028ce..846c25a5d11c 100644
--- a/js/src/tests/test262/built-ins/Object/prototype/valueOf/S15.2.4.4_A6.js
+++ b/js/src/tests/test262/built-ins/Object/prototype/valueOf/S15.2.4.4_A6.js
@@ -8,11 +8,10 @@ description: >
Checking if obtaining the prototype property of
Object.prototype.valueOf fails
---*/
-
-//CHECK#1
-if (Object.prototype.valueOf.prototype !== undefined) {
- throw new Test262Error('#1: Object.prototype.valueOf has not prototype property' + Object.prototype.valueOf.prototype);
-}
-//
+assert.sameValue(
+ Object.prototype.valueOf.prototype,
+ undefined,
+ 'The value of Object.prototype.valueOf.prototype is expected to equal undefined'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Object/prototype/valueOf/S15.2.4.4_A7.js b/js/src/tests/test262/built-ins/Object/prototype/valueOf/S15.2.4.4_A7.js
deleted file mode 100644
index 831baf87b444..000000000000
--- a/js/src/tests/test262/built-ins/Object/prototype/valueOf/S15.2.4.4_A7.js
+++ /dev/null
@@ -1,16 +0,0 @@
-// Copyright 2009 the Sputnik authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-info: Object.prototype.valueOf can't be used as a constructor
-es5id: 15.2.4.4_A7
-description: Checking if creating "new Object.prototype.valueOf" fails
----*/
-
-var FACTORY = Object.prototype.valueOf;
-
-assert.throws(TypeError, function() {
- new FACTORY;
-});
-
-reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Object/prototype/valueOf/S15.2.4.4_A8.js b/js/src/tests/test262/built-ins/Object/prototype/valueOf/S15.2.4.4_A8.js
index da02b8de0dd0..07479f15e30d 100644
--- a/js/src/tests/test262/built-ins/Object/prototype/valueOf/S15.2.4.4_A8.js
+++ b/js/src/tests/test262/built-ins/Object/prototype/valueOf/S15.2.4.4_A8.js
@@ -8,23 +8,21 @@ description: >
Checking if enumerating the Object.prototype.valueOf.length
property fails
---*/
+assert(
+ !!Object.prototype.valueOf.hasOwnProperty('length'),
+ 'The value of !!Object.prototype.valueOf.hasOwnProperty("length") is expected to be true'
+);
-//CHECK#0
-if (!(Object.prototype.valueOf.hasOwnProperty('length'))) {
- throw new Test262Error('#0: the Object.prototype.valueOf has length property.');
-}
+assert(
+ !Object.prototype.valueOf.propertyIsEnumerable('length'),
+ 'The value of !Object.prototype.valueOf.propertyIsEnumerable("length") is expected to be true'
+);
-
-// CHECK#1
-if (Object.prototype.valueOf.propertyIsEnumerable('length')) {
- throw new Test262Error('#1: the Object.prototype.valueOf.length property has the attributes DontEnum');
-}
-
-// CHECK#2
for (var p in Object.prototype.valueOf) {
- if (p === "length")
- throw new Test262Error('#2: the Object.prototype.valueOf.length property has the attributes DontEnum');
+ assert.notSameValue(p, "length", 'The value of p is not "length"');
}
//
+// TODO: Convert to verifyProperty() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Object/prototype/valueOf/S15.2.4.4_A9.js b/js/src/tests/test262/built-ins/Object/prototype/valueOf/S15.2.4.4_A9.js
index ad883a872997..36eb233a0616 100644
--- a/js/src/tests/test262/built-ins/Object/prototype/valueOf/S15.2.4.4_A9.js
+++ b/js/src/tests/test262/built-ins/Object/prototype/valueOf/S15.2.4.4_A9.js
@@ -10,20 +10,21 @@ description: >
Checknig if deleting of the Object.prototype.valueOf.length
property fails
---*/
+assert(
+ !!Object.prototype.valueOf.hasOwnProperty('length'),
+ 'The value of !!Object.prototype.valueOf.hasOwnProperty("length") is expected to be true'
+);
-//CHECK#0
-if (!(Object.prototype.valueOf.hasOwnProperty('length'))) {
- throw new Test262Error('#0: the Object.prototype.valueOf has length property');
-}
+assert(
+ !!delete Object.prototype.valueOf.length,
+ 'The value of !!delete Object.prototype.valueOf.length is expected to be true'
+);
-//CHECK#1
-if (!delete Object.prototype.valueOf.length) {
- throw new Test262Error('#1: The Object.prototype.valueOf.length property does not have the attributes DontDelete');
-}
+assert(
+ !Object.prototype.valueOf.hasOwnProperty('length'),
+ 'The value of !Object.prototype.valueOf.hasOwnProperty("length") is expected to be true'
+);
-//CHECK#2
-if (Object.prototype.valueOf.hasOwnProperty('length')) {
- throw new Test262Error('#2: The Object.prototype.valueOf.length property does not have the attributes DontDelete');
-}
+// TODO: Convert to verifyProperty() format.
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Object/seal/seal-aggregateerror.js b/js/src/tests/test262/built-ins/Object/seal/seal-aggregateerror.js
index bbfcc1323bca..909979f3fe4b 100644
--- a/js/src/tests/test262/built-ins/Object/seal/seal-aggregateerror.js
+++ b/js/src/tests/test262/built-ins/Object/seal/seal-aggregateerror.js
@@ -31,6 +31,7 @@ info: |
Perform ? DefinePropertyOrThrow(O, k, desc).
Return true.
+features: [AggregateError]
---*/
Object.seal(new AggregateError([]));
diff --git a/js/src/tests/test262/built-ins/Promise/Symbol.species/symbol-species.js b/js/src/tests/test262/built-ins/Promise/Symbol.species/symbol-species.js
index 9a8bcf2abad2..24da4e82ee66 100644
--- a/js/src/tests/test262/built-ins/Promise/Symbol.species/symbol-species.js
+++ b/js/src/tests/test262/built-ins/Promise/Symbol.species/symbol-species.js
@@ -7,8 +7,7 @@ info: |
es6id: 6.1.5.1
author: Sam Mikes
description: Promise[Symbol.species] exists per spec
-includes:
- - propertyHelper.js
+includes: [propertyHelper.js]
features: [Symbol.species]
---*/
diff --git a/js/src/tests/test262/built-ins/Promise/all/S25.4.4.1_A1.1_T1.js b/js/src/tests/test262/built-ins/Promise/all/S25.4.4.1_A1.1_T1.js
index 90ff50b7ace6..1cf29b6a21b4 100644
--- a/js/src/tests/test262/built-ins/Promise/all/S25.4.4.1_A1.1_T1.js
+++ b/js/src/tests/test262/built-ins/Promise/all/S25.4.4.1_A1.1_T1.js
@@ -7,9 +7,6 @@ es6id: 25.4.4.1_A1.1_T1
author: Sam Mikes
description: Promise.all is callable
---*/
-
-if ((typeof Promise.all) !== "function") {
- throw new Test262Error('Expected Promise.all to be a function');
-}
+assert.sameValue(typeof Promise.all, "function", 'The value of `typeof Promise.all` is expected to be "function"');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Promise/all/S25.4.4.1_A2.1_T1.js b/js/src/tests/test262/built-ins/Promise/all/S25.4.4.1_A2.1_T1.js
index 3d4164286813..5d27aaab3521 100644
--- a/js/src/tests/test262/built-ins/Promise/all/S25.4.4.1_A2.1_T1.js
+++ b/js/src/tests/test262/built-ins/Promise/all/S25.4.4.1_A2.1_T1.js
@@ -9,8 +9,6 @@ description: Promise.all returns a Promise
---*/
var p = Promise.all([]);
-if (!(p instanceof Promise)) {
- throw new Test262Error('Expected p to be a Promise');
-}
+assert(!!(p instanceof Promise), 'The value of !!(p instanceof Promise) is expected to be true');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Promise/all/S25.4.4.1_A2.3_T1.js b/js/src/tests/test262/built-ins/Promise/all/S25.4.4.1_A2.3_T1.js
index c33bf1b91a92..c737bb4f9990 100644
--- a/js/src/tests/test262/built-ins/Promise/all/S25.4.4.1_A2.3_T1.js
+++ b/js/src/tests/test262/built-ins/Promise/all/S25.4.4.1_A2.3_T1.js
@@ -13,7 +13,5 @@ flags: [async]
var arg = [];
Promise.all(arg).then(function(result) {
- if (!(result instanceof Array)) {
- throw new Test262Error("expected an array from Promise.all, got " + result);
- }
+ assert(!!(result instanceof Array), 'The value of !!(result instanceof Array) is expected to be true');
}).then($DONE, $DONE);
diff --git a/js/src/tests/test262/built-ins/Promise/all/S25.4.4.1_A2.3_T2.js b/js/src/tests/test262/built-ins/Promise/all/S25.4.4.1_A2.3_T2.js
index 2a3f33138f39..ad9bfa6c4866 100644
--- a/js/src/tests/test262/built-ins/Promise/all/S25.4.4.1_A2.3_T2.js
+++ b/js/src/tests/test262/built-ins/Promise/all/S25.4.4.1_A2.3_T2.js
@@ -13,7 +13,5 @@ flags: [async]
var arg = [];
Promise.all(arg).then(function(result) {
- if (result.length !== 0) {
- throw new Test262Error("expected an empty array from Promise.all([]), got " + result);
- }
+ assert.sameValue(result.length, 0, 'The value of result.length is expected to be 0');
}).then($DONE, $DONE);
diff --git a/js/src/tests/test262/built-ins/Promise/all/S25.4.4.1_A2.3_T3.js b/js/src/tests/test262/built-ins/Promise/all/S25.4.4.1_A2.3_T3.js
index af3dc79a51ab..09b598f3fcf3 100644
--- a/js/src/tests/test262/built-ins/Promise/all/S25.4.4.1_A2.3_T3.js
+++ b/js/src/tests/test262/built-ins/Promise/all/S25.4.4.1_A2.3_T3.js
@@ -13,7 +13,5 @@ flags: [async]
var arg = [];
Promise.all(arg).then(function(result) {
- if (result === arg) {
- throw new Test262Error("expected a new array from Promise.all but argument was re-used");
- }
+ assert.notSameValue(result, arg, 'The value of result is expected to not equal the value of `arg`');
}).then($DONE, $DONE);
diff --git a/js/src/tests/test262/built-ins/Promise/all/S25.4.4.1_A3.1_T1.js b/js/src/tests/test262/built-ins/Promise/all/S25.4.4.1_A3.1_T1.js
index 889dcc45dcf6..88e7558c3d9f 100644
--- a/js/src/tests/test262/built-ins/Promise/all/S25.4.4.1_A3.1_T1.js
+++ b/js/src/tests/test262/built-ins/Promise/all/S25.4.4.1_A3.1_T1.js
@@ -18,7 +18,5 @@ var nonIterable = 3;
Promise.all(nonIterable).then(function() {
throw new Test262Error('Promise unexpectedly resolved: Promise.all(nonIterable) should throw TypeError');
}, function(err) {
- if (!(err instanceof TypeError)) {
- throw new Test262Error('Expected TypeError, got ' + err);
- }
+ assert(!!(err instanceof TypeError), 'The value of !!(err instanceof TypeError) is expected to be true');
}).then($DONE, $DONE);
diff --git a/js/src/tests/test262/built-ins/Promise/all/S25.4.4.1_A3.1_T2.js b/js/src/tests/test262/built-ins/Promise/all/S25.4.4.1_A3.1_T2.js
index bb56f94db2f6..23c5d8390d44 100644
--- a/js/src/tests/test262/built-ins/Promise/all/S25.4.4.1_A3.1_T2.js
+++ b/js/src/tests/test262/built-ins/Promise/all/S25.4.4.1_A3.1_T2.js
@@ -17,7 +17,5 @@ flags: [async]
Promise.all(new Error("abrupt")).then(function() {
throw new Test262Error('Promise unexpectedly resolved: Promise.all(abruptCompletion) should throw TypeError');
}, function(err) {
- if (!(err instanceof TypeError)) {
- throw new Test262Error('Expected TypeError, got ' + err);
- }
+ assert(!!(err instanceof TypeError), 'The value of !!(err instanceof TypeError) is expected to be true');
}).then($DONE, $DONE);
diff --git a/js/src/tests/test262/built-ins/Promise/all/S25.4.4.1_A3.1_T3.js b/js/src/tests/test262/built-ins/Promise/all/S25.4.4.1_A3.1_T3.js
index 181bb6d5c939..9a93d8bd9f97 100644
--- a/js/src/tests/test262/built-ins/Promise/all/S25.4.4.1_A3.1_T3.js
+++ b/js/src/tests/test262/built-ins/Promise/all/S25.4.4.1_A3.1_T3.js
@@ -23,7 +23,5 @@ Object.defineProperty(iterThrows, Symbol.iterator, {
Promise.all(iterThrows).then(function() {
throw new Test262Error('Promise unexpectedly fulfilled: Promise.all(iterThrows) should throw TypeError');
}, function(err) {
- if (!(err instanceof Error)) {
- throw new Test262Error('Expected promise to be rejected with error, got ' + err);
- }
+ assert(!!(err instanceof Error), 'The value of !!(err instanceof Error) is expected to be true');
}).then($DONE, $DONE);
diff --git a/js/src/tests/test262/built-ins/Promise/all/S25.4.4.1_A5.1_T1.js b/js/src/tests/test262/built-ins/Promise/all/S25.4.4.1_A5.1_T1.js
index 41a1651b39ed..b670d9e937e8 100644
--- a/js/src/tests/test262/built-ins/Promise/all/S25.4.4.1_A5.1_T1.js
+++ b/js/src/tests/test262/built-ins/Promise/all/S25.4.4.1_A5.1_T1.js
@@ -26,5 +26,5 @@ iterThrows[Symbol.iterator] = function() {
Promise.all(iterThrows).then(function() {
throw new Test262Error('Promise unexpectedly resolved: Promise.all(iterThrows) should throw TypeError');
}, function(reason) {
- assert.sameValue(reason, error);
+ assert.sameValue(reason, error, 'The value of reason is expected to equal the value of error');
}).then($DONE, $DONE);
diff --git a/js/src/tests/test262/built-ins/Promise/all/S25.4.4.1_A7.1_T1.js b/js/src/tests/test262/built-ins/Promise/all/S25.4.4.1_A7.1_T1.js
index 7a4fca923054..0cc08b3f2a6a 100644
--- a/js/src/tests/test262/built-ins/Promise/all/S25.4.4.1_A7.1_T1.js
+++ b/js/src/tests/test262/built-ins/Promise/all/S25.4.4.1_A7.1_T1.js
@@ -17,16 +17,8 @@ var p1 = Promise.resolve(3);
var pAll = Promise.all([p1]);
pAll.then(function(result) {
- if (!(pAll instanceof Promise)) {
- throw new Test262Error("Expected Promise.all() to be promise, actually " + pAll);
- }
- if (!(result instanceof Array)) {
- throw new Test262Error("Expected Promise.all() to be promise for an Array, actually " + result);
- }
- if (result.length !== 1) {
- throw new Test262Error("Expected Promise.all([p1]) to be a promise for one-element Array, actually " + result);
- }
- if (result[0] !== 3) {
- throw new Test262Error("Expected result[0] to be 3, actually " + result[0]);
- }
+ assert(!!(pAll instanceof Promise), 'The value of !!(pAll instanceof Promise) is expected to be true');
+ assert(!!(result instanceof Array), 'The value of !!(result instanceof Array) is expected to be true');
+ assert.sameValue(result.length, 1, 'The value of result.length is expected to be 1');
+ assert.sameValue(result[0], 3, 'The value of result[0] is expected to be 3');
}).then($DONE, $DONE);
diff --git a/js/src/tests/test262/built-ins/Promise/all/S25.4.4.1_A8.2_T1.js b/js/src/tests/test262/built-ins/Promise/all/S25.4.4.1_A8.2_T1.js
index c837a1e55775..d5ffb354d8fa 100644
--- a/js/src/tests/test262/built-ins/Promise/all/S25.4.4.1_A8.2_T1.js
+++ b/js/src/tests/test262/built-ins/Promise/all/S25.4.4.1_A8.2_T1.js
@@ -20,9 +20,7 @@ var rejectP1,
Promise.all([p1, p2]).then(function(resolve) {
throw new Test262Error("Did not expect promise to be fulfilled.");
}, function(rejected) {
- if (rejected !== 1) {
- throw new Test262Error("Expected promise to be rejected with 1, actually " + rejected);
- }
+ assert.sameValue(rejected, 1, 'The value of rejected is expected to be 1');
}).then($DONE, $DONE);
rejectP1(1);
diff --git a/js/src/tests/test262/built-ins/Promise/all/S25.4.4.1_A8.2_T2.js b/js/src/tests/test262/built-ins/Promise/all/S25.4.4.1_A8.2_T2.js
index 525503dc240c..71390b4c7154 100644
--- a/js/src/tests/test262/built-ins/Promise/all/S25.4.4.1_A8.2_T2.js
+++ b/js/src/tests/test262/built-ins/Promise/all/S25.4.4.1_A8.2_T2.js
@@ -20,9 +20,7 @@ var rejectP2,
Promise.all([p1, p2]).then(function() {
throw new Test262Error("Did not expect promise to be fulfilled.");
}, function(rejected) {
- if (rejected !== 2) {
- throw new Test262Error("Expected promise to be rejected with 2, actually " + rejected);
- }
+ assert.sameValue(rejected, 2, 'The value of rejected is expected to be 2');
}).then($DONE, $DONE);
rejectP2(2);
diff --git a/js/src/tests/test262/built-ins/Promise/prototype/S25.4.4.2_A1.1_T1.js b/js/src/tests/test262/built-ins/Promise/prototype/S25.4.4.2_A1.1_T1.js
index 32324280e14a..3c08a74243d0 100644
--- a/js/src/tests/test262/built-ins/Promise/prototype/S25.4.4.2_A1.1_T1.js
+++ b/js/src/tests/test262/built-ins/Promise/prototype/S25.4.4.2_A1.1_T1.js
@@ -9,9 +9,10 @@ es6id: S25.4.4.2_A1.1_T1
author: Sam Mikes
description: Promise prototype exists
---*/
-
-if (Promise.prototype === undefined) {
- throw new Test262Error("Expected Promise.prototype to be defined.");
-}
+assert.notSameValue(
+ Promise.prototype,
+ undefined,
+ 'The value of Promise.prototype is expected to not equal ``undefined``'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Promise/prototype/S25.4.5_A3.1_T1.js b/js/src/tests/test262/built-ins/Promise/prototype/S25.4.5_A3.1_T1.js
index 47fe1e0e2a8b..5095976ce7d7 100644
--- a/js/src/tests/test262/built-ins/Promise/prototype/S25.4.5_A3.1_T1.js
+++ b/js/src/tests/test262/built-ins/Promise/prototype/S25.4.5_A3.1_T1.js
@@ -8,9 +8,10 @@ es6id: S25.4.5_A3.1_T1
author: Sam Mikes
description: Promise.prototype.constructor is the Promise constructor
---*/
-
-if (Promise.prototype.constructor !== Promise) {
- throw new Test262Error("Expected Promise.prototype.constructor to be Promise");
-}
+assert.sameValue(
+ Promise.prototype.constructor,
+ Promise,
+ 'The value of Promise.prototype.constructor is expected to equal the value of Promise'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Promise/prototype/catch/S25.4.5.1_A1.1_T1.js b/js/src/tests/test262/built-ins/Promise/prototype/catch/S25.4.5.1_A1.1_T1.js
index 56d6efb8dd61..0f145ac2b24f 100644
--- a/js/src/tests/test262/built-ins/Promise/prototype/catch/S25.4.5.1_A1.1_T1.js
+++ b/js/src/tests/test262/built-ins/Promise/prototype/catch/S25.4.5.1_A1.1_T1.js
@@ -8,9 +8,9 @@ es6id: S25.4.5.1_A1.1_T1
author: Sam Mikes
description: Promise.prototype.catch is a function
---*/
-
-if (!(Promise.prototype.catch instanceof Function)) {
- throw new Test262Error("Expected Promise.prototype.catch to be a function");
-}
+assert(
+ !!(Promise.prototype.catch instanceof Function),
+ 'The value of !!(Promise.prototype.catch instanceof Function) is expected to be true'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Promise/prototype/catch/S25.4.5.1_A2.1_T1.js b/js/src/tests/test262/built-ins/Promise/prototype/catch/S25.4.5.1_A2.1_T1.js
index cb3f4a9a95a9..efdf80c4a83d 100644
--- a/js/src/tests/test262/built-ins/Promise/prototype/catch/S25.4.5.1_A2.1_T1.js
+++ b/js/src/tests/test262/built-ins/Promise/prototype/catch/S25.4.5.1_A2.1_T1.js
@@ -11,8 +11,9 @@ description: catch is a method on a Promise
var p = Promise.resolve(3);
-if (!(p.catch instanceof Function)) {
- throw new Test262Error("Expected p.catch to be a function");
-}
+assert(
+ !!(p.catch instanceof Function),
+ 'The value of !!(p.catch instanceof Function) is expected to be true'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Promise/prototype/catch/S25.4.5.1_A3.1_T1.js b/js/src/tests/test262/built-ins/Promise/prototype/catch/S25.4.5.1_A3.1_T1.js
index 16a78bf5f43c..415daf47aba8 100644
--- a/js/src/tests/test262/built-ins/Promise/prototype/catch/S25.4.5.1_A3.1_T1.js
+++ b/js/src/tests/test262/built-ins/Promise/prototype/catch/S25.4.5.1_A3.1_T1.js
@@ -11,14 +11,12 @@ description: catch is implemented in terms of then
flags: [async]
---*/
-var obj = {};
+var arg = {};
-var p = Promise.resolve(obj);
+var p = Promise.resolve(arg);
p.catch(function() {
throw new Test262Error("Should not be called - promise is fulfilled");
-}).then(function(arg) {
- if (arg !== obj) {
- throw new Test262Error("Expected promise to be fulfilled with obj, got " + arg);
- }
+}).then(function(result) {
+ assert.sameValue(result, arg, 'The value of result is expected to equal the value of arg');
}).then($DONE, $DONE);
diff --git a/js/src/tests/test262/built-ins/Promise/prototype/catch/S25.4.5.1_A3.1_T2.js b/js/src/tests/test262/built-ins/Promise/prototype/catch/S25.4.5.1_A3.1_T2.js
index efa6f7b9f4f8..df555fd774c2 100644
--- a/js/src/tests/test262/built-ins/Promise/prototype/catch/S25.4.5.1_A3.1_T2.js
+++ b/js/src/tests/test262/built-ins/Promise/prototype/catch/S25.4.5.1_A3.1_T2.js
@@ -11,14 +11,12 @@ description: catch is implemented in terms of then
flags: [async]
---*/
-var obj = {};
+var arg = {};
-var p = Promise.reject(obj);
+var p = Promise.reject(arg);
p.then(function() {
throw new Test262Error("Should not be called: did not expect promise to be fulfilled");
-}).catch(function(arg) {
- if (arg !== obj) {
- throw new Test262Error("Should have been rejected with reason obj, got " + arg);
- }
+}).catch(function(result) {
+ assert.sameValue(result, arg, 'The value of result is expected to equal the value of arg');
}).then($DONE, $DONE);
diff --git a/js/src/tests/test262/built-ins/Promise/prototype/then/S25.4.5.3_A1.1_T1.js b/js/src/tests/test262/built-ins/Promise/prototype/then/S25.4.5.3_A1.1_T1.js
index 87b183b749ac..959bc284dc8e 100644
--- a/js/src/tests/test262/built-ins/Promise/prototype/then/S25.4.5.3_A1.1_T1.js
+++ b/js/src/tests/test262/built-ins/Promise/prototype/then/S25.4.5.3_A1.1_T1.js
@@ -8,9 +8,9 @@ es6id: S25.4.5.3_A1.1_T1
author: Sam Mikes
description: Promise.prototype.then is a function of two arguments
---*/
-
-if (!(Promise.prototype.then instanceof Function)) {
- throw new Test262Error("Expected Promise.prototype.then to be a function");
-}
+assert(
+ !!(Promise.prototype.then instanceof Function),
+ 'The value of !!(Promise.prototype.then instanceof Function) is expected to be true'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Promise/prototype/then/S25.4.5.3_A1.1_T2.js b/js/src/tests/test262/built-ins/Promise/prototype/then/S25.4.5.3_A1.1_T2.js
index f60fd8d00ee3..c89023e08383 100644
--- a/js/src/tests/test262/built-ins/Promise/prototype/then/S25.4.5.3_A1.1_T2.js
+++ b/js/src/tests/test262/built-ins/Promise/prototype/then/S25.4.5.3_A1.1_T2.js
@@ -11,12 +11,7 @@ description: Promise.prototype.then is a function of two arguments
var p = new Promise(function() {});
-if (!(p.then instanceof Function)) {
- throw new Test262Error("Expected p.then to be a function");
-}
-
-if (p.then.length !== 2) {
- throw new Test262Error("Expected p.then to be a function of two arguments");
-}
+assert(!!(p.then instanceof Function), 'The value of !!(p.then instanceof Function) is expected to be true');
+assert.sameValue(p.then.length, 2, 'The value of p.then.length is expected to be 2');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Promise/prototype/then/S25.4.5.3_A4.1_T1.js b/js/src/tests/test262/built-ins/Promise/prototype/then/S25.4.5.3_A4.1_T1.js
index 5bad9a15a0a1..8fc66ab9642c 100644
--- a/js/src/tests/test262/built-ins/Promise/prototype/then/S25.4.5.3_A4.1_T1.js
+++ b/js/src/tests/test262/built-ins/Promise/prototype/then/S25.4.5.3_A4.1_T1.js
@@ -12,12 +12,10 @@ description: Promise.prototype.then accepts 'undefined' as arg1, arg2
flags: [async]
---*/
-var obj = {};
-var p = Promise.resolve(obj);
+var arg = {};
+var p = Promise.resolve(arg);
p.then(undefined, undefined)
- .then(function(arg) {
- if (arg !== obj) {
- throw new Test262Error("Expected resolution object to be passed through, got " + arg);
- }
- }).then($DONE, $DONE);
+ .then(function(result) {
+ assert.sameValue(result, arg, 'The value of result is expected to equal the value of arg');
+}).then($DONE, $DONE);
diff --git a/js/src/tests/test262/built-ins/Promise/prototype/then/S25.4.5.3_A4.1_T2.js b/js/src/tests/test262/built-ins/Promise/prototype/then/S25.4.5.3_A4.1_T2.js
index f23d0dfb0c11..3aeca23d955a 100644
--- a/js/src/tests/test262/built-ins/Promise/prototype/then/S25.4.5.3_A4.1_T2.js
+++ b/js/src/tests/test262/built-ins/Promise/prototype/then/S25.4.5.3_A4.1_T2.js
@@ -12,13 +12,11 @@ description: Promise.prototype.then accepts 'undefined' as arg1, arg2
flags: [async]
---*/
-var obj = {};
-var p = Promise.reject(obj);
+var arg = {};
+var p = Promise.reject(arg);
p.then(undefined, undefined).then(function() {
throw new Test262Error("Should not be called -- promise was rejected.");
-}, function(arg) {
- if (arg !== obj) {
- throw new Test262Error("Expected resolution object to be passed through, got " + arg);
- }
+}, function(result) {
+ assert.sameValue(result, arg, 'The value of result is expected to equal the value of arg');
}).then($DONE, $DONE);
diff --git a/js/src/tests/test262/built-ins/Promise/prototype/then/S25.4.5.3_A4.2_T1.js b/js/src/tests/test262/built-ins/Promise/prototype/then/S25.4.5.3_A4.2_T1.js
index dc233819c855..5b1ac21b2714 100644
--- a/js/src/tests/test262/built-ins/Promise/prototype/then/S25.4.5.3_A4.2_T1.js
+++ b/js/src/tests/test262/built-ins/Promise/prototype/then/S25.4.5.3_A4.2_T1.js
@@ -12,12 +12,10 @@ description: Promise.prototype.then treats non-callable arg1, arg2 as undefined
flags: [async]
---*/
-var obj = {};
-var p = Promise.resolve(obj);
+var arg = {};
+var p = Promise.resolve(arg);
p.then(3, 5)
- .then(function(arg) {
- if (arg !== obj) {
- throw new Test262Error("Expected resolution object to be passed through, got " + arg);
- }
- }).then($DONE, $DONE);
+ .then(function(result) {
+ assert.sameValue(result, arg, 'The value of result is expected to equal the value of arg');
+}).then($DONE, $DONE);
diff --git a/js/src/tests/test262/built-ins/Promise/prototype/then/S25.4.5.3_A4.2_T2.js b/js/src/tests/test262/built-ins/Promise/prototype/then/S25.4.5.3_A4.2_T2.js
index bab8ae9e116d..5efe836020e4 100644
--- a/js/src/tests/test262/built-ins/Promise/prototype/then/S25.4.5.3_A4.2_T2.js
+++ b/js/src/tests/test262/built-ins/Promise/prototype/then/S25.4.5.3_A4.2_T2.js
@@ -12,13 +12,11 @@ description: Promise.prototype.then treats non-callable arg1, arg2 as undefined
flags: [async]
---*/
-var obj = {};
-var p = Promise.reject(obj);
+var arg = {};
+var p = Promise.reject(arg);
p.then(3, 5).then(function() {
throw new Test262Error("Should not be called -- promise was rejected.");
-}, function(arg) {
- if (arg !== obj) {
- throw new Test262Error("Expected resolution object to be passed through, got " + arg);
- }
+}, function(result) {
+ assert.sameValue(result, arg, 'The value of result is expected to equal the value of arg');
}).then($DONE, $DONE);
diff --git a/js/src/tests/test262/built-ins/Promise/prototype/then/S25.4.5.3_A5.3_T1.js b/js/src/tests/test262/built-ins/Promise/prototype/then/S25.4.5.3_A5.3_T1.js
index d5e5feb058b2..87a2b2271b1b 100644
--- a/js/src/tests/test262/built-ins/Promise/prototype/then/S25.4.5.3_A5.3_T1.js
+++ b/js/src/tests/test262/built-ins/Promise/prototype/then/S25.4.5.3_A5.3_T1.js
@@ -27,7 +27,7 @@ p.then(function() {
throw new Test262Error("Should not be called -- Promise rejected.");
}, function() {
sequence.push(3);
- assert.sameValue(sequence.length, 3);
+ assert.sameValue(sequence.length, 3, 'The value of sequence.length is expected to be 3');
checkSequence(sequence, "Should be first");
}).catch($DONE);
@@ -37,12 +37,12 @@ Promise.resolve().then(function() {
throw new Test262Error("Should not be called (2) -- Promise rejected.");
}, function() {
sequence.push(5);
- assert.sameValue(sequence.length, 5);
+ assert.sameValue(sequence.length, 5, 'The value of sequence.length is expected to be 5');
checkSequence(sequence, "Should be third");
}).then($DONE, $DONE);
sequence.push(4);
- assert.sameValue(sequence.length, 4);
+ assert.sameValue(sequence.length, 4, 'The value of sequence.length is expected to be 4');
checkSequence(sequence, "Should be second");
}).catch($DONE);
diff --git a/js/src/tests/test262/built-ins/Promise/race/S25.4.4.3_A1.1_T1.js b/js/src/tests/test262/built-ins/Promise/race/S25.4.4.3_A1.1_T1.js
index a8792e3f4e4d..fadedf1e242d 100644
--- a/js/src/tests/test262/built-ins/Promise/race/S25.4.4.3_A1.1_T1.js
+++ b/js/src/tests/test262/built-ins/Promise/race/S25.4.4.3_A1.1_T1.js
@@ -7,9 +7,6 @@ es6id: S25.4.4.3_A1.1_T1
author: Sam Mikes
description: Promise.race is callable
---*/
-
-if (typeof Promise.race !== "function") {
- throw new Test262Error("Expected Promise.race to be a function, actually " + typeof Promise.race);
-}
+assert.sameValue(typeof Promise.race, "function", 'The value of `typeof Promise.race` is expected to be "function"');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Promise/race/S25.4.4.3_A2.1_T1.js b/js/src/tests/test262/built-ins/Promise/race/S25.4.4.3_A2.1_T1.js
index ae0938f6c647..0200158ab594 100644
--- a/js/src/tests/test262/built-ins/Promise/race/S25.4.4.3_A2.1_T1.js
+++ b/js/src/tests/test262/built-ins/Promise/race/S25.4.4.3_A2.1_T1.js
@@ -10,8 +10,6 @@ description: Promise.race returns a new promise
var p = Promise.race([]);
-if (!(p instanceof Promise)) {
- throw new Test262Error("Expected Promise.race([]) to return a promise.");
-}
+assert(!!(p instanceof Promise), 'The value of !!(p instanceof Promise) is expected to be true');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Promise/race/S25.4.4.3_A2.2_T1.js b/js/src/tests/test262/built-ins/Promise/race/S25.4.4.3_A2.2_T1.js
index dc41d520dc62..1adfb40d633d 100644
--- a/js/src/tests/test262/built-ins/Promise/race/S25.4.4.3_A2.2_T1.js
+++ b/js/src/tests/test262/built-ins/Promise/race/S25.4.4.3_A2.2_T1.js
@@ -15,7 +15,5 @@ var nonIterable = 3;
Promise.race(nonIterable).then(function() {
throw new Test262Error('Promise unexpectedly fulfilled: Promise.race(nonIterable) should throw TypeError');
}, function(err) {
- if (!(err instanceof TypeError)) {
- throw new Test262Error('Expected TypeError, got ' + err);
- }
+ assert(!!(err instanceof TypeError), 'The value of !!(err instanceof TypeError) is expected to be true');
}).then($DONE, $DONE);
diff --git a/js/src/tests/test262/built-ins/Promise/race/S25.4.4.3_A2.2_T2.js b/js/src/tests/test262/built-ins/Promise/race/S25.4.4.3_A2.2_T2.js
index bbe8e5277c60..3555d007f734 100644
--- a/js/src/tests/test262/built-ins/Promise/race/S25.4.4.3_A2.2_T2.js
+++ b/js/src/tests/test262/built-ins/Promise/race/S25.4.4.3_A2.2_T2.js
@@ -13,7 +13,5 @@ flags: [async]
Promise.race(new Error("abrupt")).then(function() {
throw new Test262Error('Promise unexpectedly resolved: Promise.race(abruptCompletion) should throw TypeError');
}, function(err) {
- if (!(err instanceof TypeError)) {
- throw new Test262Error('Expected TypeError, got ' + err);
- }
+ assert(!!(err instanceof TypeError), 'The value of !!(err instanceof TypeError) is expected to be true');
}).then($DONE, $DONE);
diff --git a/js/src/tests/test262/built-ins/Promise/race/S25.4.4.3_A2.2_T3.js b/js/src/tests/test262/built-ins/Promise/race/S25.4.4.3_A2.2_T3.js
index e8ff9d11ec66..7e8f21d0daf2 100644
--- a/js/src/tests/test262/built-ins/Promise/race/S25.4.4.3_A2.2_T3.js
+++ b/js/src/tests/test262/built-ins/Promise/race/S25.4.4.3_A2.2_T3.js
@@ -24,7 +24,5 @@ Object.defineProperty(iterThrows, Symbol.iterator, {
Promise.race(iterThrows).then(function() {
throw new Test262Error('Promise unexpectedly fulfilled: Promise.race(iterThrows) should throw');
}, function(err) {
- if (!(err instanceof Error)) {
- throw new Test262Error('Expected Promise to be rejected with an error, got ' + err);
- }
+ assert(!!(err instanceof Error), 'The value of !!(err instanceof Error) is expected to be true');
}).then($DONE, $DONE);
diff --git a/js/src/tests/test262/built-ins/Promise/race/S25.4.4.3_A4.1_T1.js b/js/src/tests/test262/built-ins/Promise/race/S25.4.4.3_A4.1_T1.js
index de4bfec6421d..e4602242f2e7 100644
--- a/js/src/tests/test262/built-ins/Promise/race/S25.4.4.3_A4.1_T1.js
+++ b/js/src/tests/test262/built-ins/Promise/race/S25.4.4.3_A4.1_T1.js
@@ -23,5 +23,5 @@ iterThrows[Symbol.iterator] = function() {
Promise.race(iterThrows).then(function() {
throw new Test262Error('Promise unexpectedly fulfilled: Promise.race(iterThrows) should throw TypeError');
}, function(reason) {
- assert.sameValue(reason, error);
+ assert.sameValue(reason, error, 'The value of reason is expected to equal the value of error');
}).then($DONE, $DONE);
diff --git a/js/src/tests/test262/built-ins/Promise/race/S25.4.4.3_A4.1_T2.js b/js/src/tests/test262/built-ins/Promise/race/S25.4.4.3_A4.1_T2.js
index 946ba3e82710..c8aeb4602f40 100644
--- a/js/src/tests/test262/built-ins/Promise/race/S25.4.4.3_A4.1_T2.js
+++ b/js/src/tests/test262/built-ins/Promise/race/S25.4.4.3_A4.1_T2.js
@@ -30,7 +30,5 @@ Object.defineProperty(iterThrows, Symbol.iterator, {
Promise.race(iterThrows).then(function() {
throw new Test262Error('Promise unexpectedly fulfilled: Promise.race(iterThrows) should throw TypeError');
}, function(err) {
- if (!(err instanceof TypeError)) {
- throw new Test262Error('Expected TypeError, got ' + err);
- }
+ assert(!!(err instanceof TypeError), 'The value of !!(err instanceof TypeError) is expected to be true');
}).then($DONE, $DONE);
diff --git a/js/src/tests/test262/built-ins/Promise/race/S25.4.4.3_A6.2_T1.js b/js/src/tests/test262/built-ins/Promise/race/S25.4.4.3_A6.2_T1.js
index 2775442e5c6b..5be746bfab40 100644
--- a/js/src/tests/test262/built-ins/Promise/race/S25.4.4.3_A6.2_T1.js
+++ b/js/src/tests/test262/built-ins/Promise/race/S25.4.4.3_A6.2_T1.js
@@ -21,17 +21,17 @@ p.then(function() {
throw new Test262Error("Should not fulfill.");
}, function() {
sequence.push(4);
- assert.sameValue(sequence.length, 4);
+ assert.sameValue(sequence.length, 4, 'The value of sequence.length is expected to be 4');
checkSequence(sequence, "This happens second");
}).catch($DONE);
Promise.resolve().then(function() {
sequence.push(3);
- assert.sameValue(sequence.length, 3);
+ assert.sameValue(sequence.length, 3, 'The value of sequence.length is expected to be 3');
checkSequence(sequence, "This happens first");
}).then(function() {
sequence.push(5);
- assert.sameValue(sequence.length, 5);
+ assert.sameValue(sequence.length, 5, 'The value of sequence.length is expected to be 5');
checkSequence(sequence, "This happens third");
}).then($DONE, $DONE);
diff --git a/js/src/tests/test262/built-ins/Promise/race/S25.4.4.3_A7.1_T1.js b/js/src/tests/test262/built-ins/Promise/race/S25.4.4.3_A7.1_T1.js
index 8126071a4f36..768f25c84277 100644
--- a/js/src/tests/test262/built-ins/Promise/race/S25.4.4.3_A7.1_T1.js
+++ b/js/src/tests/test262/built-ins/Promise/race/S25.4.4.3_A7.1_T1.js
@@ -18,23 +18,21 @@ var p1 = Promise.resolve(1),
sequence.push(1);
-p.then(function(arg) {
- if (arg !== 1) {
- throw new Test262Error("Expected promise to be fulfilled with 1, got " + arg);
- }
+p.then(function(result) {
+ assert.sameValue(result, 1, 'The value of result is expected to be 1');
sequence.push(4);
- assert.sameValue(sequence.length, 4);
+ assert.sameValue(sequence.length, 4, 'The value of sequence.length is expected to be 4');
checkSequence(sequence, "This happens second");
}).catch($DONE);
Promise.resolve().then(function() {
sequence.push(3);
- assert.sameValue(sequence.length, 3);
+ assert.sameValue(sequence.length, 3, 'The value of sequence.length is expected to be 3');
checkSequence(sequence, "This happens first");
}).then(function() {
sequence.push(5);
- assert.sameValue(sequence.length, 5);
+ assert.sameValue(sequence.length, 5, 'The value of sequence.length is expected to be 5');
checkSequence(sequence, "This happens third");
}).then($DONE, $DONE);
diff --git a/js/src/tests/test262/built-ins/Promise/race/S25.4.4.3_A7.1_T2.js b/js/src/tests/test262/built-ins/Promise/race/S25.4.4.3_A7.1_T2.js
index 58bd3f12d3af..72b7200f8596 100644
--- a/js/src/tests/test262/built-ins/Promise/race/S25.4.4.3_A7.1_T2.js
+++ b/js/src/tests/test262/built-ins/Promise/race/S25.4.4.3_A7.1_T2.js
@@ -18,23 +18,21 @@ var p1 = Promise.resolve(1),
sequence.push(1);
-p.then(function(arg) {
- if (arg !== 1) {
- throw new Test262Error("Expected promise to be fulfilled with 1, got " + arg);
- }
+p.then(function(result) {
+ assert.sameValue(result, 1, 'The value of result is expected to be 1');
sequence.push(4);
- assert.sameValue(sequence.length, 4);
+ assert.sameValue(sequence.length, 4, 'The value of sequence.length is expected to be 4');
checkSequence(sequence, "This happens second");
}).catch($DONE);
Promise.resolve().then(function() {
sequence.push(3);
- assert.sameValue(sequence.length, 3);
+ assert.sameValue(sequence.length, 3, 'The value of sequence.length is expected to be 3');
checkSequence(sequence, "This happens first");
}).then(function() {
sequence.push(5);
- assert.sameValue(sequence.length, 5);
+ assert.sameValue(sequence.length, 5, 'The value of sequence.length is expected to be 5');
checkSequence(sequence, "This happens third");
}).then($DONE, $DONE);
diff --git a/js/src/tests/test262/built-ins/Promise/race/S25.4.4.3_A7.1_T3.js b/js/src/tests/test262/built-ins/Promise/race/S25.4.4.3_A7.1_T3.js
index ff8f5f8dea3f..ce763b023abd 100644
--- a/js/src/tests/test262/built-ins/Promise/race/S25.4.4.3_A7.1_T3.js
+++ b/js/src/tests/test262/built-ins/Promise/race/S25.4.4.3_A7.1_T3.js
@@ -18,23 +18,21 @@ var p1 = new Promise(function() {}),
sequence.push(1);
-p.then(function(arg) {
- if (arg !== 2) {
- throw new Test262Error("Expected promise to be fulfilled with 2, got " + arg);
- }
+p.then(function(result) {
+ assert.sameValue(result, 2, 'The value of result is expected to be 2');
sequence.push(4);
- assert.sameValue(sequence.length, 4);
+ assert.sameValue(sequence.length, 4, 'The value of sequence.length is expected to be 4');
checkSequence(sequence, "This happens second");
}).catch($DONE);
Promise.resolve().then(function() {
sequence.push(3);
- assert.sameValue(sequence.length, 3);
+ assert.sameValue(sequence.length, 3, 'The value of sequence.length is expected to be 3');
checkSequence(sequence, "This happens first");
}).then(function() {
sequence.push(5);
- assert.sameValue(sequence.length, 5);
+ assert.sameValue(sequence.length, 5, 'The value of sequence.length is expected to be 5');
checkSequence(sequence, "This happens third");
}).then($DONE, $DONE);
diff --git a/js/src/tests/test262/built-ins/Promise/race/S25.4.4.3_A7.2_T1.js b/js/src/tests/test262/built-ins/Promise/race/S25.4.4.3_A7.2_T1.js
index aa795da610aa..b38ba8eae62e 100644
--- a/js/src/tests/test262/built-ins/Promise/race/S25.4.4.3_A7.2_T1.js
+++ b/js/src/tests/test262/built-ins/Promise/race/S25.4.4.3_A7.2_T1.js
@@ -20,23 +20,21 @@ sequence.push(1);
p.then(function() {
throw new Test262Error("Should not be fulfilled - expected rejection.");
-}, function(arg) {
- if (arg !== 1) {
- throw new Test262Error("Expected rejection reason to be 1, got " + arg);
- }
+}, function(result) {
+ assert.sameValue(result, 1, 'The value of result is expected to be 1');
sequence.push(4);
- assert.sameValue(sequence.length, 4);
+ assert.sameValue(sequence.length, 4, 'The value of sequence.length is expected to be 4');
checkSequence(sequence, "This happens second");
}).catch($DONE);
Promise.resolve().then(function() {
sequence.push(3);
- assert.sameValue(sequence.length, 3);
+ assert.sameValue(sequence.length, 3, 'The value of sequence.length is expected to be 3');
checkSequence(sequence, "This happens first");
}).then(function() {
sequence.push(5);
- assert.sameValue(sequence.length, 5);
+ assert.sameValue(sequence.length, 5, 'The value of sequence.length is expected to be 5');
checkSequence(sequence, "This happens third");
}).then($DONE, $DONE);
diff --git a/js/src/tests/test262/built-ins/Promise/race/S25.4.4.3_A7.3_T1.js b/js/src/tests/test262/built-ins/Promise/race/S25.4.4.3_A7.3_T1.js
index b915c9dfea55..303441a11d6c 100644
--- a/js/src/tests/test262/built-ins/Promise/race/S25.4.4.3_A7.3_T1.js
+++ b/js/src/tests/test262/built-ins/Promise/race/S25.4.4.3_A7.3_T1.js
@@ -20,8 +20,6 @@ var resolveP1, rejectP2,
rejectP2(new Error("Promise.race should not see this if P1 already resolved"));
resolveP1(1);
-Promise.race([p1, p2]).then(function(arg) {
- if (arg !== 1) {
- throw new Test262Error("Expected fulfillment with 1, got " + arg);
- }
+Promise.race([p1, p2]).then(function(result) {
+ assert.sameValue(result, 1, 'The value of result is expected to be 1');
}).then($DONE, $DONE);
diff --git a/js/src/tests/test262/built-ins/Promise/race/S25.4.4.3_A7.3_T2.js b/js/src/tests/test262/built-ins/Promise/race/S25.4.4.3_A7.3_T2.js
index 59cb1f4237bb..7081e0b3f7eb 100644
--- a/js/src/tests/test262/built-ins/Promise/race/S25.4.4.3_A7.3_T2.js
+++ b/js/src/tests/test262/built-ins/Promise/race/S25.4.4.3_A7.3_T2.js
@@ -19,10 +19,8 @@ var resolveP1, rejectP2,
Promise.race([p1, p2]).then(function() {
throw new Test262Error("Should not be fulfilled: expected rejection.");
-}, function(arg) {
- if (arg !== 2) {
- throw new Test262Error("Expected rejection reason to be 2, got " + arg);
- }
+}, function(result) {
+ assert.sameValue(result, 2, 'The value of result is expected to be 2');
}).then($DONE, $DONE);
rejectP2(2);
diff --git a/js/src/tests/test262/built-ins/Promise/race/resolved-sequence-with-rejections.js b/js/src/tests/test262/built-ins/Promise/race/resolved-sequence-with-rejections.js
index a7bac87a8601..882684d04f66 100644
--- a/js/src/tests/test262/built-ins/Promise/race/resolved-sequence-with-rejections.js
+++ b/js/src/tests/test262/built-ins/Promise/race/resolved-sequence-with-rejections.js
@@ -45,7 +45,7 @@ Promise.all([
return checkSequence(sequence, 'Expected to be called second.');
})
]).then(result => {
- compareArray(result, [true, true, true]);
+ assert.compareArray(result, [true, true, true]);
assert.sameValue(sequence.length, 5);
checkSequence(sequence);
}).then($DONE, $DONE);
diff --git a/js/src/tests/test262/built-ins/Promise/race/resolved-sequence.js b/js/src/tests/test262/built-ins/Promise/race/resolved-sequence.js
index fcf2b7c0d436..316db984bf03 100644
--- a/js/src/tests/test262/built-ins/Promise/race/resolved-sequence.js
+++ b/js/src/tests/test262/built-ins/Promise/race/resolved-sequence.js
@@ -45,7 +45,7 @@ Promise.all([
return checkSequence(sequence, 'Expected to be called second.');
})
]).then(result => {
- compareArray(result, [true, true, true]);
+ assert.compareArray(result, [true, true, true]);
assert.sameValue(sequence.length, 5);
checkSequence(sequence)
}).then($DONE, $DONE);
diff --git a/js/src/tests/test262/built-ins/Promise/reject/S25.4.4.4_A1.1_T1.js b/js/src/tests/test262/built-ins/Promise/reject/S25.4.4.4_A1.1_T1.js
index 80bd2d80774e..999e0db577d4 100644
--- a/js/src/tests/test262/built-ins/Promise/reject/S25.4.4.4_A1.1_T1.js
+++ b/js/src/tests/test262/built-ins/Promise/reject/S25.4.4.4_A1.1_T1.js
@@ -8,9 +8,10 @@ es6id: S25.4.4.4_A1.1_T1
author: Sam Mikes
description: Promise.reject is a function
---*/
-
-if ((typeof Promise.reject) !== "function") {
- throw new Test262Error("Expected Promise.reject to be a function");
-}
+assert.sameValue(
+ typeof Promise.reject,
+ "function",
+ 'The value of `typeof Promise.reject` is expected to be "function"'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Promise/reject/S25.4.4.4_A2.1_T1.js b/js/src/tests/test262/built-ins/Promise/reject/S25.4.4.4_A2.1_T1.js
index 62d3280661ab..101f184caf76 100644
--- a/js/src/tests/test262/built-ins/Promise/reject/S25.4.4.4_A2.1_T1.js
+++ b/js/src/tests/test262/built-ins/Promise/reject/S25.4.4.4_A2.1_T1.js
@@ -19,14 +19,10 @@ flags: [async]
var p = Promise.reject(3);
-if (!(p instanceof Promise)) {
- throw new Test262Error("Expected Promise.reject to return a promise.");
-}
+assert(!!(p instanceof Promise), 'The value of !!(p instanceof Promise) is expected to be true');
p.then(function() {
throw new Test262Error("Promise should not be fulfilled.");
-}, function(arg) {
- if (arg !== 3) {
- throw new Test262Error("Expected promise to be rejected with supplied arg, got " + arg);
- }
+}, function(result) {
+ assert.sameValue(result, 3, 'The value of result is expected to be 3');
}).then($DONE, $DONE);
diff --git a/js/src/tests/test262/built-ins/Promise/resolve/S25.4.4.5_A1.1_T1.js b/js/src/tests/test262/built-ins/Promise/resolve/S25.4.4.5_A1.1_T1.js
index 1d94ada58eb8..ba9e815a667f 100644
--- a/js/src/tests/test262/built-ins/Promise/resolve/S25.4.4.5_A1.1_T1.js
+++ b/js/src/tests/test262/built-ins/Promise/resolve/S25.4.4.5_A1.1_T1.js
@@ -8,9 +8,10 @@ es6id: S25.4.4.5_A1.1_T1
author: Sam Mikes
description: Promise.resolve is a function
---*/
-
-if ((typeof Promise.resolve) !== "function") {
- throw new Test262Error("Expected Promise.resolve to be a function");
-}
+assert.sameValue(
+ typeof Promise.resolve,
+ "function",
+ 'The value of `typeof Promise.resolve` is expected to be "function"'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Promise/resolve/S25.4.4.5_A2.1_T1.js b/js/src/tests/test262/built-ins/Promise/resolve/S25.4.4.5_A2.1_T1.js
index 53d8011fcf74..4277dcbbd517 100644
--- a/js/src/tests/test262/built-ins/Promise/resolve/S25.4.4.5_A2.1_T1.js
+++ b/js/src/tests/test262/built-ins/Promise/resolve/S25.4.4.5_A2.1_T1.js
@@ -10,8 +10,6 @@ description: Promise.resolve passes through a promise w/ same Constructor
var p1 = Promise.resolve(1),
p2 = Promise.resolve(p1);
-if (p1 !== p2) {
- throw new Test262Error("Expected p1 === Promise.resolve(p1) because they have same constructor");
-}
+assert.sameValue(p1, p2, 'The value of p1 is expected to equal the value of p2');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Promise/resolve/S25.4.4.5_A2.2_T1.js b/js/src/tests/test262/built-ins/Promise/resolve/S25.4.4.5_A2.2_T1.js
index ab55251cd5c2..1445d3a242aa 100644
--- a/js/src/tests/test262/built-ins/Promise/resolve/S25.4.4.5_A2.2_T1.js
+++ b/js/src/tests/test262/built-ins/Promise/resolve/S25.4.4.5_A2.2_T1.js
@@ -14,16 +14,12 @@ var resolveP1,
resolveP1 = resolve;
}),
p2 = Promise.resolve(p1),
- obj = {};
+ arg = {};
-if (p1 !== p2) {
- throw new Test262Error("Expected p1 === Promise.resolve(p1) because they have same constructor");
-}
+assert.sameValue(p1, p2, 'The value of p1 is expected to equal the value of p2');
-p2.then(function(arg) {
- if (arg !== obj) {
- throw new Test262Error("Expected promise to be resolved with obj, actually " + arg);
- }
+p2.then(function(result) {
+ assert.sameValue(result, arg, 'The value of result is expected to equal the value of arg');
}).then($DONE, $DONE);
-resolveP1(obj);
+resolveP1(arg);
diff --git a/js/src/tests/test262/built-ins/Promise/resolve/S25.4.4.5_A2.3_T1.js b/js/src/tests/test262/built-ins/Promise/resolve/S25.4.4.5_A2.3_T1.js
index 8fdea5f215a8..e028c21cbac0 100644
--- a/js/src/tests/test262/built-ins/Promise/resolve/S25.4.4.5_A2.3_T1.js
+++ b/js/src/tests/test262/built-ins/Promise/resolve/S25.4.4.5_A2.3_T1.js
@@ -14,18 +14,14 @@ var rejectP1,
rejectP1 = reject;
}),
p2 = Promise.resolve(p1),
- obj = {};
+ arg = {};
-if (p1 !== p2) {
- throw new Test262Error("Expected p1 === Promise.resolve(p1) because they have same constructor");
-}
+assert.sameValue(p1, p2, 'The value of p1 is expected to equal the value of p2');
p2.then(function() {
throw new Test262Error("Expected p2 to be rejected, not fulfilled.");
-}, function(arg) {
- if (arg !== obj) {
- throw new Test262Error("Expected promise to be rejected with reason obj, actually " + arg);
- }
+}, function(result) {
+ assert.sameValue(result, arg, 'The value of result is expected to equal the value of arg');
}).then($DONE, $DONE);
-rejectP1(obj);
+rejectP1(arg);
diff --git a/js/src/tests/test262/built-ins/Promise/resolve/S25.4.4.5_A4.1_T1.js b/js/src/tests/test262/built-ins/Promise/resolve/S25.4.4.5_A4.1_T1.js
index 279f62d2cfb1..25b8acf3a283 100644
--- a/js/src/tests/test262/built-ins/Promise/resolve/S25.4.4.5_A4.1_T1.js
+++ b/js/src/tests/test262/built-ins/Promise/resolve/S25.4.4.5_A4.1_T1.js
@@ -21,7 +21,5 @@ resolveP(p);
p.then(function() {
throw new Test262Error("Should not fulfill: should reject with TypeError.");
}, function(err) {
- if (!(err instanceof TypeError)) {
- throw new Test262Error("Expected TypeError, got " + err);
- }
+ assert(!!(err instanceof TypeError), 'The value of !!(err instanceof TypeError) is expected to be true');
}).then($DONE, $DONE);
diff --git a/js/src/tests/test262/built-ins/Proxy/construct/return-not-object-throws-number.js b/js/src/tests/test262/built-ins/Proxy/construct/return-not-object-throws-number.js
index 967065bf5831..bc1c591b288a 100644
--- a/js/src/tests/test262/built-ins/Proxy/construct/return-not-object-throws-number.js
+++ b/js/src/tests/test262/built-ins/Proxy/construct/return-not-object-throws-number.js
@@ -11,8 +11,6 @@ info: |
features: [Proxy]
---*/
-function Target() {}
-
var P = new Proxy(function() {
throw new Test262Error('target should not be called');
}, {
diff --git a/js/src/tests/test262/built-ins/Proxy/construct/return-not-object-throws-string.js b/js/src/tests/test262/built-ins/Proxy/construct/return-not-object-throws-string.js
index cff36e2baaa2..32bb69bfa59a 100644
--- a/js/src/tests/test262/built-ins/Proxy/construct/return-not-object-throws-string.js
+++ b/js/src/tests/test262/built-ins/Proxy/construct/return-not-object-throws-string.js
@@ -11,8 +11,6 @@ info: |
features: [Proxy]
---*/
-function Target() {}
-
var P = new Proxy(function() {
throw new Test262Error('target should not be called');
}, {
diff --git a/js/src/tests/test262/built-ins/Proxy/construct/return-not-object-throws-symbol.js b/js/src/tests/test262/built-ins/Proxy/construct/return-not-object-throws-symbol.js
index c210669954ef..857e0b6ae73e 100644
--- a/js/src/tests/test262/built-ins/Proxy/construct/return-not-object-throws-symbol.js
+++ b/js/src/tests/test262/built-ins/Proxy/construct/return-not-object-throws-symbol.js
@@ -11,8 +11,6 @@ info: |
features: [Proxy, Symbol]
---*/
-function Target() {}
-
var P = new Proxy(function() {
throw new Test262Error('target should not be called');
}, {
diff --git a/js/src/tests/test262/built-ins/Proxy/enumerate/removed-does-not-trigger.js b/js/src/tests/test262/built-ins/Proxy/enumerate/removed-does-not-trigger.js
index a13f6966a940..c738d3adaa90 100644
--- a/js/src/tests/test262/built-ins/Proxy/enumerate/removed-does-not-trigger.js
+++ b/js/src/tests/test262/built-ins/Proxy/enumerate/removed-does-not-trigger.js
@@ -23,14 +23,14 @@ for (x in p) {
forInResults.push(x);
}
-assert(compareArray(forInResults, ["0", "1", "2"]));
+assert.compareArray(forInResults, ["0", "1", "2"]);
var forOfResults = [];
for (x of p) {
forOfResults.push(x);
}
-assert(compareArray(forOfResults, [1, 2, 3]));
+assert.compareArray(forOfResults, [1, 2, 3]);
var itor = p[Symbol.iterator]();
var next = itor.next();
diff --git a/js/src/tests/test262/built-ins/Proxy/revocable/tco-fn-realm-strict.js b/js/src/tests/test262/built-ins/Proxy/revocable/tco-fn-realm-strict.js
new file mode 100644
index 000000000000..6714f09e6334
--- /dev/null
+++ b/js/src/tests/test262/built-ins/Proxy/revocable/tco-fn-realm-strict.js
@@ -0,0 +1,27 @@
+// |reftest| skip -- tail-call-optimization is not supported
+'use strict';
+// Copyright (C) 2021 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+description: >
+ Realm of the TypeError from invoking a revoked Proxy during tail-call
+ optimization
+esid: sec-tail-position-calls
+flags: [onlyStrict]
+features: [Proxy, tail-call-optimization]
+---*/
+
+var other = $262.createRealm();
+var F = other.evalScript(`
+ (function() {
+ var { proxy, revoke } = Proxy.revocable(function() {}, {});
+ revoke();
+ return proxy();
+ })
+`);
+
+assert.throws(other.global.TypeError, function() {
+ F();
+});
+
+reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Realm/constructor.js b/js/src/tests/test262/built-ins/Realm/constructor.js
deleted file mode 100644
index f6e6d3dba6a6..000000000000
--- a/js/src/tests/test262/built-ins/Realm/constructor.js
+++ /dev/null
@@ -1,21 +0,0 @@
-// |reftest| skip -- callable-boundary-realms is not supported
-// Copyright (C) 2021 Rick Waldron. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-/*---
-esid: sec-realm-constructor
-description: >
- Realm is a constructor and has [[Construct]] internal method.
-includes: [isConstructor.js]
-features: [callable-boundary-realms, Reflect.construct]
----*/
-assert.sameValue(
- typeof Realm,
- 'function',
- 'This test must fail if Realm is not a function'
-);
-
-assert(isConstructor(Realm));
-assert.sameValue(Object.getPrototypeOf(Realm), Function.prototype);
-new Realm();
-
-reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Realm/instance.js b/js/src/tests/test262/built-ins/Realm/instance.js
deleted file mode 100644
index b6668d0f149c..000000000000
--- a/js/src/tests/test262/built-ins/Realm/instance.js
+++ /dev/null
@@ -1,33 +0,0 @@
-// |reftest| skip -- callable-boundary-realms is not supported
-// Copyright (C) 2021 Rick Waldron. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-/*---
-esid: sec-realm-constructor
-description: >
- new Realm() returns a realm instance
-info: |
- Realm ( )
-
- ...
- 2. Let O be ? OrdinaryCreateFromConstructor(NewTarget, "%Realm.prototype%",
- « [[Realm]], [[ExecutionContext]] »).
- ...
- 13. Return O.
-features: [callable-boundary-realms]
----*/
-assert.sameValue(
- typeof Realm,
- 'function',
- 'This test must fail if Realm is not a function'
-);
-
-var realm = new Realm();
-
-assert(realm instanceof Realm);
-assert.sameValue(
- Object.getPrototypeOf(realm),
- Realm.prototype,
- '[[Prototype]] is set to %Realm.prototype%'
-);
-
-reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Realm/prototype/evaluate/errors-from-the-other-realm-is-wrapped-into-a-typeerror.js b/js/src/tests/test262/built-ins/Realm/prototype/evaluate/errors-from-the-other-realm-is-wrapped-into-a-typeerror.js
deleted file mode 100644
index f7b9ce2d8986..000000000000
--- a/js/src/tests/test262/built-ins/Realm/prototype/evaluate/errors-from-the-other-realm-is-wrapped-into-a-typeerror.js
+++ /dev/null
@@ -1,24 +0,0 @@
-// |reftest| skip -- callable-boundary-realms is not supported
-// Copyright (C) 2021 Rick Waldron. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-/*---
-esid: sec-realm.prototype.evaluate
-description: >
- Realm.prototype.evaluate wraps errors from other realm into TypeErrors
-features: [callable-boundary-realms]
----*/
-
-assert.sameValue(
- typeof Realm.prototype.evaluate,
- 'function',
- 'This test must fail if Realm.prototype.evaluate is not a function'
-);
-
-const r = new Realm();
-
-assert.throws(TypeError, () => r.evaluate('...'), 'SyntaxError => TypeError');
-assert.throws(TypeError, () => r.evaluate('throw 42'), 'throw primitive => TypeError');
-assert.throws(TypeError, () => r.evaluate('throw new ReferenceError("aaa")'), 'custom ctor => TypeError');
-assert.throws(TypeError, () => r.evaluate('throw new TypeError("aaa")'), 'Child TypeError => Parent TypeError');
-
-reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Realm/prototype/evaluate/not-constructor.js b/js/src/tests/test262/built-ins/Realm/prototype/evaluate/not-constructor.js
deleted file mode 100644
index aa6e87d90931..000000000000
--- a/js/src/tests/test262/built-ins/Realm/prototype/evaluate/not-constructor.js
+++ /dev/null
@@ -1,37 +0,0 @@
-// |reftest| skip -- callable-boundary-realms is not supported
-// Copyright (C) 2021 Rick Waldron. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-/*---
-esid: sec-realm.prototype.evaluate
-description: >
- Realm.prototype.evaluate is not a constructor.
-includes: [isConstructor.js]
-features: [callable-boundary-realms, Reflect.construct]
----*/
-
-assert.sameValue(
- typeof Realm.prototype.evaluate,
- 'function',
- 'This test must fail if Realm.prototype.evaluate is not a function'
-);
-
-assert.sameValue(
- isConstructor(Realm.prototype.evaluate),
- false,
- 'isConstructor(Realm.prototype.evaluate) must return false'
-);
-
-assert.throws(TypeError, () => {
- new Realm.prototype.evaluate("");
-}, '`new Realm.prototype.evaluate("")` throws TypeError');
-
-const r = new Realm();
-r.evaluate('globalThis.x = 0');
-
-assert.throws(TypeError, () => {
- new r.evaluate("globalThis.x += 1;");
-}, '`new r.evaluate("...")` throws TypeError');
-
-assert.sameValue(r.evaluate('globalThis.x'), 0, 'No code evaluated in the new expression');
-
-reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Realm/prototype/evaluate/returns-symbol-values.js b/js/src/tests/test262/built-ins/Realm/prototype/evaluate/returns-symbol-values.js
deleted file mode 100644
index 34a81e3aa68b..000000000000
--- a/js/src/tests/test262/built-ins/Realm/prototype/evaluate/returns-symbol-values.js
+++ /dev/null
@@ -1,26 +0,0 @@
-// |reftest| skip -- callable-boundary-realms is not supported
-// Copyright (C) 2021 Rick Waldron. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-/*---
-esid: sec-realm.prototype.evaluate
-description: >
- Realm.prototype.evaluate returns symbol values
-features: [callable-boundary-realms]
----*/
-
-assert.sameValue(
- typeof Realm.prototype.evaluate,
- 'function',
- 'This test must fail if Realm.prototype.evaluate is not a function'
-);
-
-const r = new Realm();
-const s = r.evaluate('Symbol()');
-
-assert.sameValue(typeof s, 'symbol');
-assert.sameValue(s.constructor, Symbol, 'primitive does not expose other Realm constructor');
-assert.sameValue(Object.getPrototypeOf(s), Symbol.prototype);
-assert.sameValue(r.evaluate('Symbol.for("x")'), Symbol.for('x'));
-assert.sameValue(Symbol.prototype.toString.call(s), 'Symbol()');
-
-reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Realm/prototype/evaluate/validates-realm-object.js b/js/src/tests/test262/built-ins/Realm/prototype/evaluate/validates-realm-object.js
deleted file mode 100644
index b0627decc11e..000000000000
--- a/js/src/tests/test262/built-ins/Realm/prototype/evaluate/validates-realm-object.js
+++ /dev/null
@@ -1,24 +0,0 @@
-// |reftest| skip -- callable-boundary-realms is not supported
-// Copyright (C) 2021 Rick Waldron. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-/*---
-esid: sec-realm.prototype.evaluate
-description: >
- Realm.prototype.evaluate validates realm object.
-features: [callable-boundary-realms]
----*/
-
-assert.sameValue(
- typeof Realm.prototype.evaluate,
- 'function',
- 'This test must fail if Realm.prototype.evaluate is not a function'
-);
-
-const r = new Realm();
-const bogus = {};
-
-assert.throws(TypeError, function() {
- r.evaluate.call(bogus, '');
-}, 'throws a TypeError if this is not a Realm object');
-
-reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Realm/prototype/importValue/import-value.js b/js/src/tests/test262/built-ins/Realm/prototype/importValue/import-value.js
deleted file mode 100644
index 50a17e02d2bf..000000000000
--- a/js/src/tests/test262/built-ins/Realm/prototype/importValue/import-value.js
+++ /dev/null
@@ -1,24 +0,0 @@
-// |reftest| skip module async -- callable-boundary-realms is not supported
-// Copyright (C) 2021 Rick Waldron. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-/*---
-esid: sec-realm.prototype.importvalue
-description: >
- Realm.prototype.importValue can import a value.
-flags: [async, module]
-features: [callable-boundary-realms]
----*/
-
-assert.sameValue(
- typeof Realm.prototype.importValue,
- 'function',
- 'This test must fail if Realm.prototype.importValue is not a function'
-);
-
-const r = new Realm();
-
-r.importValue('./import-value_FIXTURE.js', 'x').then(x => {
-
- assert.sameValue(x, 1);
-
-}).then($DONE, $DONE);
diff --git a/js/src/tests/test262/built-ins/Realm/prototype/importValue/not-constructor.js b/js/src/tests/test262/built-ins/Realm/prototype/importValue/not-constructor.js
deleted file mode 100644
index 0065d2910b9f..000000000000
--- a/js/src/tests/test262/built-ins/Realm/prototype/importValue/not-constructor.js
+++ /dev/null
@@ -1,34 +0,0 @@
-// |reftest| skip -- callable-boundary-realms is not supported
-// Copyright (C) 2021 Rick Waldron. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-/*---
-esid: sec-realm.prototype.importvalue
-description: >
- Realm.prototype.importValue is not a constructor.
-includes: [isConstructor.js]
-features: [callable-boundary-realms, Reflect.construct]
----*/
-
-assert.sameValue(
- typeof Realm.prototype.importValue,
- 'function',
- 'This test must fail if Realm.prototype.importValue is not a function'
-);
-
-assert.sameValue(
- isConstructor(Realm.prototype.importValue),
- false,
- 'isConstructor(Realm.prototype.importValue) must return false'
-);
-
-assert.throws(TypeError, () => {
- new Realm.prototype.importValue("", "name");
-}, '`new Realm.prototype.importValue("")` throws TypeError');
-
-const r = new Realm();
-
-assert.throws(TypeError, () => {
- new r.imporValue("./import-value_FIXTURE.js", "x");
-}, '`new r.imporValue("...")` throws TypeError');
-
-reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Realm/prototype/importValue/specifier-tostring.js b/js/src/tests/test262/built-ins/Realm/prototype/importValue/specifier-tostring.js
deleted file mode 100644
index 466dd81b6b07..000000000000
--- a/js/src/tests/test262/built-ins/Realm/prototype/importValue/specifier-tostring.js
+++ /dev/null
@@ -1,33 +0,0 @@
-// |reftest| skip -- callable-boundary-realms is not supported
-// Copyright (C) 2021 Rick Waldron. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-/*---
-esid: sec-realm.prototype.importvalue
-description: >
- Realm.prototype.importValue coerces specifier to string.
-features: [callable-boundary-realms]
----*/
-
-assert.sameValue(
- typeof Realm.prototype.importValue,
- 'function',
- 'This test must fail if Realm.prototype.importValue is not a function'
-);
-
-const r = new Realm();
-let count = 0;
-
-const specifier = {
- toString() {
- count += 1;
- throw new Test262Error();
- }
-};
-
-assert.throws(Test262Error, () => {
- r.importValue(specifier);
-});
-
-assert.sameValue(count, 1);
-
-reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Realm/prototype/importValue/validates-realm-object.js b/js/src/tests/test262/built-ins/Realm/prototype/importValue/validates-realm-object.js
deleted file mode 100644
index 24e2a3e7bb2e..000000000000
--- a/js/src/tests/test262/built-ins/Realm/prototype/importValue/validates-realm-object.js
+++ /dev/null
@@ -1,24 +0,0 @@
-// |reftest| skip -- callable-boundary-realms is not supported
-// Copyright (C) 2021 Rick Waldron. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-/*---
-esid: sec-realm.prototype.importvalue
-description: >
- Realm.prototype.importValue validates realm object.
-features: [callable-boundary-realms]
----*/
-
-assert.sameValue(
- typeof Realm.prototype.importValue,
- 'function',
- 'This test must fail if Realm.prototype.importValue is not a function'
-);
-
-const r = new Realm();
-const bogus = {};
-
-assert.throws(TypeError, function() {
- r.importValue.call(bogus, "specifier", "name");
-}, 'throws a TypeError if this is not a Realm object');
-
-reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Reflect/getOwnPropertyDescriptor/return-from-accessor-descriptor.js b/js/src/tests/test262/built-ins/Reflect/getOwnPropertyDescriptor/return-from-accessor-descriptor.js
index 48c17a004c49..e4200db1c2d9 100644
--- a/js/src/tests/test262/built-ins/Reflect/getOwnPropertyDescriptor/return-from-accessor-descriptor.js
+++ b/js/src/tests/test262/built-ins/Reflect/getOwnPropertyDescriptor/return-from-accessor-descriptor.js
@@ -45,10 +45,9 @@ Object.defineProperty(o1, 'p', {
var result = Reflect.getOwnPropertyDescriptor(o1, 'p');
-assert(
- compareArray(
- Object.getOwnPropertyNames(result), ['get', 'set', 'enumerable', 'configurable']
- )
+assert.compareArray(
+ Object.getOwnPropertyNames(result),
+ ['get', 'set', 'enumerable', 'configurable']
);
assert.sameValue(result.enumerable, false);
assert.sameValue(result.configurable, true);
diff --git a/js/src/tests/test262/built-ins/Reflect/getOwnPropertyDescriptor/return-from-data-descriptor.js b/js/src/tests/test262/built-ins/Reflect/getOwnPropertyDescriptor/return-from-data-descriptor.js
index 1967fe9d7f16..6acc6cdcff63 100644
--- a/js/src/tests/test262/built-ins/Reflect/getOwnPropertyDescriptor/return-from-data-descriptor.js
+++ b/js/src/tests/test262/built-ins/Reflect/getOwnPropertyDescriptor/return-from-data-descriptor.js
@@ -21,10 +21,9 @@ var o1 = {
var result = Reflect.getOwnPropertyDescriptor(o1, 'p');
-assert(
- compareArray(
- Object.getOwnPropertyNames(result), ['value', 'writable', 'enumerable', 'configurable']
- )
+assert.compareArray(
+ Object.getOwnPropertyNames(result),
+ ['value', 'writable', 'enumerable', 'configurable']
);
assert.sameValue(result.value, 'foo');
assert.sameValue(result.enumerable, true);
diff --git a/js/src/tests/test262/built-ins/Reflect/getOwnPropertyDescriptor/symbol-property.js b/js/src/tests/test262/built-ins/Reflect/getOwnPropertyDescriptor/symbol-property.js
index 12a4d3699629..ed4956702db5 100644
--- a/js/src/tests/test262/built-ins/Reflect/getOwnPropertyDescriptor/symbol-property.js
+++ b/js/src/tests/test262/built-ins/Reflect/getOwnPropertyDescriptor/symbol-property.js
@@ -27,10 +27,9 @@ o[s] = 42;
var result = Reflect.getOwnPropertyDescriptor(o, s);
-assert(
- compareArray(
- Object.getOwnPropertyNames(result), ['value', 'writable', 'enumerable', 'configurable']
- )
+assert.compareArray(
+ Object.getOwnPropertyNames(result),
+ ['value', 'writable', 'enumerable', 'configurable']
);
assert.sameValue(result.value, 42);
assert.sameValue(result.enumerable, true);
diff --git a/js/src/tests/test262/built-ins/Reflect/ownKeys/return-array-with-own-keys-only.js b/js/src/tests/test262/built-ins/Reflect/ownKeys/return-array-with-own-keys-only.js
index 0f3ae2f89e4d..1d23fd7b3216 100644
--- a/js/src/tests/test262/built-ins/Reflect/ownKeys/return-array-with-own-keys-only.js
+++ b/js/src/tests/test262/built-ins/Reflect/ownKeys/return-array-with-own-keys-only.js
@@ -23,9 +23,6 @@ var o = Object.create(proto);
o.p1 = 42;
o.p2 = 43;
o.p3 = 44;
-assert(
- compareArray(Reflect.ownKeys(o), ['p1', 'p2', 'p3']),
- 'return object own keys'
-);
+assert.compareArray(Reflect.ownKeys(o), ['p1', 'p2', 'p3'], 'return object own keys');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Reflect/ownKeys/return-empty-array.js b/js/src/tests/test262/built-ins/Reflect/ownKeys/return-empty-array.js
index 50bc23159252..a43aadca9e14 100644
--- a/js/src/tests/test262/built-ins/Reflect/ownKeys/return-empty-array.js
+++ b/js/src/tests/test262/built-ins/Reflect/ownKeys/return-empty-array.js
@@ -15,12 +15,12 @@ includes: [compareArray.js]
features: [Reflect]
---*/
-assert(compareArray(Reflect.ownKeys({}), []));
+assert.compareArray(Reflect.ownKeys({}), []);
var o = {
d: 42
};
delete o.d;
-assert(compareArray(Reflect.ownKeys(o), []));
+assert.compareArray(Reflect.ownKeys(o), []);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Reflect/ownKeys/return-non-enumerable-keys.js b/js/src/tests/test262/built-ins/Reflect/ownKeys/return-non-enumerable-keys.js
index 0387bb22a06f..10c4ee2d70df 100644
--- a/js/src/tests/test262/built-ins/Reflect/ownKeys/return-non-enumerable-keys.js
+++ b/js/src/tests/test262/built-ins/Reflect/ownKeys/return-non-enumerable-keys.js
@@ -15,15 +15,13 @@ includes: [compareArray.js]
features: [Reflect]
---*/
-assert(
- compareArray(Reflect.ownKeys([]), ['length']),
+assert.compareArray(
+ Reflect.ownKeys([]),
+ ['length'],
'return non enumerable `length` from empty array'
);
-assert(
- compareArray(Reflect.ownKeys([, , 2]), ['2', 'length']),
- 'return array keys'
-);
+assert.compareArray(Reflect.ownKeys([, , 2]), ['2', 'length'], 'return array keys');
var o = {};
Object.defineProperty(o, 'p1', {
@@ -35,6 +33,6 @@ Object.defineProperty(o, 'p2', {
enumerable: false
});
-assert(compareArray(Reflect.ownKeys(o), ['p1', 'p2']));
+assert.compareArray(Reflect.ownKeys(o), ['p1', 'p2']);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/CharacterClassEscapes/shell.js b/js/src/tests/test262/built-ins/RegExp/CharacterClassEscapes/shell.js
index b21e5a8be535..1c0f4dad1409 100644
--- a/js/src/tests/test262/built-ins/RegExp/CharacterClassEscapes/shell.js
+++ b/js/src/tests/test262/built-ins/RegExp/CharacterClassEscapes/shell.js
@@ -5,7 +5,7 @@
/*---
description: |
Collection of functions used to assert the correctness of RegExp objects.
-defines: [buildString, testPropertyEscapes, matchValidator]
+defines: [buildString, testPropertyEscapes, testPropertyOfStrings, matchValidator]
---*/
function buildString(args) {
@@ -33,23 +33,65 @@ function buildString(args) {
return result;
}
-function testPropertyEscapes(regex, string, expression) {
- if (!regex.test(string)) {
+function printCodePoint(codePoint) {
+ const hex = codePoint
+ .toString(16)
+ .toUpperCase()
+ .padStart(6, "0");
+ return `U+${hex}`;
+}
+
+function printStringCodePoints(string) {
+ const buf = [];
+ for (const symbol of string) {
+ const formatted = printCodePoint(symbol.codePointAt(0));
+ buf.push(formatted);
+ }
+ return buf.join(' ');
+}
+
+function testPropertyEscapes(regExp, string, expression) {
+ if (!regExp.test(string)) {
for (const symbol of string) {
- const hex = symbol
- .codePointAt(0)
- .toString(16)
- .toUpperCase()
- .padStart(6, "0");
+ printCodePoint(symbol.codePointAt(0));
assert(
- regex.test(symbol),
+ regExp.test(symbol),
`\`${ expression }\` should match U+${ hex } (\`${ symbol }\`)`
);
}
}
}
-// Returns a function that will validate RegExp match result
+function testPropertyOfStrings(args) {
+ // Use member expressions rather than destructuring `args` for improved
+ // compatibility with engines that only implement assignment patterns
+ // partially or not at all.
+ const regExp = args.regExp;
+ const expression = args.expression;
+ const matchStrings = args.matchStrings;
+ const nonMatchStrings = args.nonMatchStrings;
+ const allStrings = matchStrings.join('');
+ if (!regExp.test(allStrings)) {
+ for (const string of matchStrings) {
+ assert(
+ regExp.test(string),
+ `\`${ expression }\` should match ${ string } (U+${ printStringCodePoints(string) })`
+ );
+ }
+ }
+
+ const allNonMatchStrings = nonMatchStrings.join('');
+ if (regExp.test(allNonMatchStrings)) {
+ for (const string of nonMatchStrings) {
+ assert(
+ !regExp.test(string),
+ `\`${ expression }\` should not match ${ string } (U+${ printStringCodePoints(string) })`
+ );
+ }
+ }
+}
+
+// Returns a function that validates a RegExp match result.
//
// Example:
//
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.1_A1_T1.js b/js/src/tests/test262/built-ins/RegExp/S15.10.1_A1_T1.js
index 0f4435d183dd..e2f3444095dc 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.1_A1_T1.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.1_A1_T1.js
@@ -7,13 +7,16 @@ es5id: 15.10.1_A1_T1
description: Tested RegExp is "a**"
---*/
-//CHECK#1
try {
- throw new Test262Error('#1.1: new RegExp("a**") throw SyntaxError. Actual: ' + (new RegExp("a**")));
+ throw new Test262Error('#1.1: new RegExp("a**") throw SyntaxError. Actual: ' + (new RegExp("a**")));
} catch (e) {
- if ((e instanceof SyntaxError !== true)) {
- throw new Test262Error('#1.2: new RegExp("a**") throw SyntaxError. Actual: ' + (e));
- }
+ assert.sameValue(
+ e instanceof SyntaxError,
+ true,
+ 'The result of evaluating (e instanceof SyntaxError) is expected to be true'
+ );
}
+// TODO: Convert to assert.throws() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.1_A1_T10.js b/js/src/tests/test262/built-ins/RegExp/S15.10.1_A1_T10.js
index 4402c8602f29..646a0ef2d581 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.1_A1_T10.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.1_A1_T10.js
@@ -7,13 +7,16 @@ es5id: 15.10.1_A1_T10
description: Tested RegExp is "++a"
---*/
-//CHECK#1
try {
- throw new Test262Error('#1.1: new RegExp("++a") throw SyntaxError. Actual: ' + (new RegExp("++a")));
+ throw new Test262Error('#1.1: new RegExp("++a") throw SyntaxError. Actual: ' + (new RegExp("++a")));
} catch (e) {
- if ((e instanceof SyntaxError) !== true) {
- throw new Test262Error('#1.2: new RegExp("++a") throw SyntaxError. Actual: ' + (e));
- }
+ assert.sameValue(
+ e instanceof SyntaxError,
+ true,
+ 'The result of evaluating (e instanceof SyntaxError) is expected to be true'
+ );
}
+// TODO: Convert to assert.throws() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.1_A1_T11.js b/js/src/tests/test262/built-ins/RegExp/S15.10.1_A1_T11.js
index dd392cbd7472..af48741fb27f 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.1_A1_T11.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.1_A1_T11.js
@@ -7,13 +7,16 @@ es5id: 15.10.1_A1_T11
description: Tested RegExp is "?a"
---*/
-//CHECK#1
try {
- throw new Test262Error('#1.1: new RegExp("?a") throw SyntaxError. Actual: ' + (new RegExp("?a")));
+ throw new Test262Error('#1.1: new RegExp("?a") throw SyntaxError. Actual: ' + (new RegExp("?a")));
} catch (e) {
- if ((e instanceof SyntaxError) !== true) {
- throw new Test262Error('#1.2: new RegExp("?a") throw SyntaxError. Actual: ' + (e));
- }
+ assert.sameValue(
+ e instanceof SyntaxError,
+ true,
+ 'The result of evaluating (e instanceof SyntaxError) is expected to be true'
+ );
}
+// TODO: Convert to assert.throws() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.1_A1_T12.js b/js/src/tests/test262/built-ins/RegExp/S15.10.1_A1_T12.js
index 6d39681ba7b4..2ed3c6942ec3 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.1_A1_T12.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.1_A1_T12.js
@@ -7,13 +7,16 @@ es5id: 15.10.1_A1_T12
description: Tested RegExp is "??a"
---*/
-//CHECK#1
try {
- throw new Test262Error('#1.1: new RegExp("??a") throw SyntaxError. Actual: ' + (new RegExp("??a")));
+ throw new Test262Error('#1.1: new RegExp("??a") throw SyntaxError. Actual: ' + (new RegExp("??a")));
} catch (e) {
- if ((e instanceof SyntaxError) !== true) {
- throw new Test262Error('#1.2: new RegExp("??a") throw SyntaxError. Actual: ' + (e));
- }
+ assert.sameValue(
+ e instanceof SyntaxError,
+ true,
+ 'The result of evaluating (e instanceof SyntaxError) is expected to be true'
+ );
}
+// TODO: Convert to assert.throws() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.1_A1_T13.js b/js/src/tests/test262/built-ins/RegExp/S15.10.1_A1_T13.js
index c264b6c5e721..5d2177b2fac8 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.1_A1_T13.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.1_A1_T13.js
@@ -7,13 +7,16 @@ es5id: 15.10.1_A1_T13
description: Tested RegExp is "x{1}{1,}"
---*/
-//CHECK#1
try {
- throw new Test262Error('#1.1: new RegExp("x{1}{1,}") throw SyntaxError. Actual: ' + (new RegExp("x{1}{1,}")));
+ throw new Test262Error('#1.1: new RegExp("x{1}{1,}") throw SyntaxError. Actual: ' + (new RegExp("x{1}{1,}")));
} catch (e) {
- if ((e instanceof SyntaxError) !== true) {
- throw new Test262Error('#1.2: new RegExp("x{1}{1,}") throw SyntaxError. Actual: ' + (e));
- }
+ assert.sameValue(
+ e instanceof SyntaxError,
+ true,
+ 'The result of evaluating (e instanceof SyntaxError) is expected to be true'
+ );
}
+// TODO: Convert to assert.throws() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.1_A1_T14.js b/js/src/tests/test262/built-ins/RegExp/S15.10.1_A1_T14.js
index 54e7b96411f9..ca498b4c874e 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.1_A1_T14.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.1_A1_T14.js
@@ -7,13 +7,16 @@ es5id: 15.10.1_A1_T14
description: Tested RegExp is "x{1,2}{1}"
---*/
-//CHECK#1
try {
- throw new Test262Error('#1.1: new RegExp("x{1,2}{1}") throw SyntaxError. Actual: ' + (new RegExp("x{1,2}{1}")));
+ throw new Test262Error('#1.1: new RegExp("x{1,2}{1}") throw SyntaxError. Actual: ' + (new RegExp("x{1,2}{1}")));
} catch (e) {
- if ((e instanceof SyntaxError) !== true) {
- throw new Test262Error('#1.2: new RegExp("x{1,2}{1}") throw SyntaxError. Actual: ' + (e));
- }
+ assert.sameValue(
+ e instanceof SyntaxError,
+ true,
+ 'The result of evaluating (e instanceof SyntaxError) is expected to be true'
+ );
}
+// TODO: Convert to assert.throws() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.1_A1_T15.js b/js/src/tests/test262/built-ins/RegExp/S15.10.1_A1_T15.js
index 4465d25b3b8a..81463577344c 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.1_A1_T15.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.1_A1_T15.js
@@ -7,13 +7,16 @@ es5id: 15.10.1_A1_T15
description: Tested RegExp is "x{1,}{1}"
---*/
-//CHECK#1
try {
- throw new Test262Error('#1.1: new RegExp("x{1,}{1}") throw SyntaxError. Actual: ' + (new RegExp("x{1,}{1}")));
+ throw new Test262Error('#1.1: new RegExp("x{1,}{1}") throw SyntaxError. Actual: ' + (new RegExp("x{1,}{1}")));
} catch (e) {
- if ((e instanceof SyntaxError) !== true) {
- throw new Test262Error('#1.2: new RegExp("x{1,}{1}") throw SyntaxError. Actual: ' + (e));
- }
+ assert.sameValue(
+ e instanceof SyntaxError,
+ true,
+ 'The result of evaluating (e instanceof SyntaxError) is expected to be true'
+ );
}
+// TODO: Convert to assert.throws() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.1_A1_T16.js b/js/src/tests/test262/built-ins/RegExp/S15.10.1_A1_T16.js
index c63f049efe05..2c0e2b2623a4 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.1_A1_T16.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.1_A1_T16.js
@@ -7,13 +7,16 @@ es5id: 15.10.1_A1_T16
description: Tested RegExp is "x{0,1}{1,}"
---*/
-//CHECK#1
try {
- throw new Test262Error('#1.1: new RegExp("x{0,1}{1,}") throw SyntaxError. Actual: ' + (new RegExp("x{0,1}{1,}")));
+ throw new Test262Error('#1.1: new RegExp("x{0,1}{1,}") throw SyntaxError. Actual: ' + (new RegExp("x{0,1}{1,}")));
} catch (e) {
- if ((e instanceof SyntaxError) !== true) {
- throw new Test262Error('#1.2: new RegExp("x{0,1}{1,}") throw SyntaxError. Actual: ' + (e));
- }
+ assert.sameValue(
+ e instanceof SyntaxError,
+ true,
+ 'The result of evaluating (e instanceof SyntaxError) is expected to be true'
+ );
}
+// TODO: Convert to assert.throws() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.1_A1_T2.js b/js/src/tests/test262/built-ins/RegExp/S15.10.1_A1_T2.js
index ac011d7bed59..579e63f433fc 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.1_A1_T2.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.1_A1_T2.js
@@ -7,13 +7,16 @@ es5id: 15.10.1_A1_T2
description: Tested RegExp is "a***"
---*/
-//CHECK#1
try {
- throw new Test262Error('#1.1: new RegExp("a***") throw SyntaxError. Actual: ' + (new RegExp("a***")));
+ throw new Test262Error('#1.1: new RegExp("a***") throw SyntaxError. Actual: ' + (new RegExp("a***")));
} catch (e) {
- if ((e instanceof SyntaxError) !== true) {
- throw new Test262Error('#1.2: new RegExp("a***") throw SyntaxError. Actual: ' + (e));
- }
+ assert.sameValue(
+ e instanceof SyntaxError,
+ true,
+ 'The result of evaluating (e instanceof SyntaxError) is expected to be true'
+ );
}
+// TODO: Convert to assert.throws() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.1_A1_T3.js b/js/src/tests/test262/built-ins/RegExp/S15.10.1_A1_T3.js
index cbb90abfce2f..a4d8955adb96 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.1_A1_T3.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.1_A1_T3.js
@@ -7,13 +7,16 @@ es5id: 15.10.1_A1_T3
description: Tested RegExp is "a++"
---*/
-//CHECK#1
try {
- throw new Test262Error('#1.1: new RegExp("a++") throw SyntaxError. Actual: ' + (new RegExp("a++")));
+ throw new Test262Error('#1.1: new RegExp("a++") throw SyntaxError. Actual: ' + (new RegExp("a++")));
} catch (e) {
- if ((e instanceof SyntaxError) !== true) {
- throw new Test262Error('#1.2: new RegExp("a++") throw SyntaxError. Actual: ' + (e));
- }
+ assert.sameValue(
+ e instanceof SyntaxError,
+ true,
+ 'The result of evaluating (e instanceof SyntaxError) is expected to be true'
+ );
}
+// TODO: Convert to assert.throws() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.1_A1_T4.js b/js/src/tests/test262/built-ins/RegExp/S15.10.1_A1_T4.js
index 47a618d09950..6032464c56a0 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.1_A1_T4.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.1_A1_T4.js
@@ -7,13 +7,16 @@ es5id: 15.10.1_A1_T4
description: Tested RegExp is "a+++"
---*/
-//CHECK#1
try {
- throw new Test262Error('#1.1: new RegExp("a+++") throw SyntaxError. Actual: ' + (new RegExp("a+++")));
+ throw new Test262Error('#1.1: new RegExp("a+++") throw SyntaxError. Actual: ' + (new RegExp("a+++")));
} catch (e) {
- if ((e instanceof SyntaxError) !== true) {
- throw new Test262Error('#1.2: new RegExp("a+++") throw SyntaxError. Actual: ' + (e));
- }
+ assert.sameValue(
+ e instanceof SyntaxError,
+ true,
+ 'The result of evaluating (e instanceof SyntaxError) is expected to be true'
+ );
}
+// TODO: Convert to assert.throws() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.1_A1_T5.js b/js/src/tests/test262/built-ins/RegExp/S15.10.1_A1_T5.js
index 4881117cdd60..ffe44746ba7c 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.1_A1_T5.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.1_A1_T5.js
@@ -7,13 +7,16 @@ es5id: 15.10.1_A1_T5
description: Tested RegExp is "a???"
---*/
-//CHECK#1
try {
- throw new Test262Error('#1.1: new RegExp("a???") throw SyntaxError. Actual: ' + (new RegExp("a???")));
+ throw new Test262Error('#1.1: new RegExp("a???") throw SyntaxError. Actual: ' + (new RegExp("a???")));
} catch (e) {
- if ((e instanceof SyntaxError) !== true) {
- throw new Test262Error('#1.2: new RegExp("a???") throw SyntaxError. Actual: ' + (e));
- }
+ assert.sameValue(
+ e instanceof SyntaxError,
+ true,
+ 'The result of evaluating (e instanceof SyntaxError) is expected to be true'
+ );
}
+// TODO: Convert to assert.throws() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.1_A1_T6.js b/js/src/tests/test262/built-ins/RegExp/S15.10.1_A1_T6.js
index d989adadac00..d5f8dc4feb55 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.1_A1_T6.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.1_A1_T6.js
@@ -7,13 +7,16 @@ es5id: 15.10.1_A1_T6
description: Tested RegExp is "a????"
---*/
-//CHECK#1
try {
- throw new Test262Error('#1.1: new RegExp("a????") throw SyntaxError. Actual: ' + (new RegExp("a????")));
+ throw new Test262Error('#1.1: new RegExp("a????") throw SyntaxError. Actual: ' + (new RegExp("a????")));
} catch (e) {
- if ((e instanceof SyntaxError) !== true) {
- throw new Test262Error('#1.2: new RegExp("a????") throw SyntaxError. Actual: ' + (e));
- }
+ assert.sameValue(
+ e instanceof SyntaxError,
+ true,
+ 'The result of evaluating (e instanceof SyntaxError) is expected to be true'
+ );
}
+// TODO: Convert to assert.throws() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.1_A1_T7.js b/js/src/tests/test262/built-ins/RegExp/S15.10.1_A1_T7.js
index d65de061b55b..25a7541cd411 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.1_A1_T7.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.1_A1_T7.js
@@ -7,13 +7,16 @@ es5id: 15.10.1_A1_T7
description: Tested RegExp is "*a"
---*/
-//CHECK#1
try {
- throw new Test262Error('#1.1: new RegExp("*a") throw SyntaxError. Actual: ' + (new RegExp("*a")));
+ throw new Test262Error('#1.1: new RegExp("*a") throw SyntaxError. Actual: ' + (new RegExp("*a")));
} catch (e) {
- if ((e instanceof SyntaxError) !== true) {
- throw new Test262Error('#1.2: new RegExp("*a") throw SyntaxError. Actual: ' + (e));
- }
+ assert.sameValue(
+ e instanceof SyntaxError,
+ true,
+ 'The result of evaluating (e instanceof SyntaxError) is expected to be true'
+ );
}
+// TODO: Convert to assert.throws() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.1_A1_T8.js b/js/src/tests/test262/built-ins/RegExp/S15.10.1_A1_T8.js
index 5b5671ec5fe3..34897392e5e6 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.1_A1_T8.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.1_A1_T8.js
@@ -7,13 +7,16 @@ es5id: 15.10.1_A1_T8
description: Tested RegExp is "**a"
---*/
-//CHECK#1
try {
- throw new Test262Error('#1.1: new RegExp("**a") throw SyntaxError. Actual: ' + (new RegExp("**a")));
+ throw new Test262Error('#1.1: new RegExp("**a") throw SyntaxError. Actual: ' + (new RegExp("**a")));
} catch (e) {
- if ((e instanceof SyntaxError) !== true) {
- throw new Test262Error('#1.2: new RegExp("**a") throw SyntaxError. Actual: ' + (e));
- }
+ assert.sameValue(
+ e instanceof SyntaxError,
+ true,
+ 'The result of evaluating (e instanceof SyntaxError) is expected to be true'
+ );
}
+// TODO: Convert to assert.throws() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.1_A1_T9.js b/js/src/tests/test262/built-ins/RegExp/S15.10.1_A1_T9.js
index cac798a86723..f4b6e47fd8da 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.1_A1_T9.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.1_A1_T9.js
@@ -7,13 +7,16 @@ es5id: 15.10.1_A1_T9
description: Tested RegExp is "+a"
---*/
-//CHECK#1
try {
- throw new Test262Error('#1.1: new RegExp("+a") throw SyntaxError. Actual: ' + (new RegExp("+a")));
+ throw new Test262Error('#1.1: new RegExp("+a") throw SyntaxError. Actual: ' + (new RegExp("+a")));
} catch (e) {
- if ((e instanceof SyntaxError) !== true) {
- throw new Test262Error('#1.2: new RegExp("+a") throw SyntaxError. Actual: ' + (e));
- }
+ assert.sameValue(
+ e instanceof SyntaxError,
+ true,
+ 'The result of evaluating (e instanceof SyntaxError) is expected to be true'
+ );
}
+// TODO: Convert to assert.throws() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.10_A1.1_T1.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.10_A1.1_T1.js
index 09aa5c15ba45..18e2455db79e 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.10_A1.1_T1.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.10_A1.1_T1.js
@@ -9,13 +9,11 @@ es5id: 15.10.2.10_A1.1_T1
description: Use \t in RegExp and \u0009 in tested string
---*/
-//CHECK#1
var arr = /\t/.exec("\u0009");
if ((arr === null) || (arr[0] !== "\u0009")) {
throw new Test262Error('#1: var arr = /\\t/.exec("\\u0009"); arr[0] === "\\u0009". Actual. ' + (arr && arr[0]));
}
-//CHECK#2
var arr = /\t\t/.exec("a\u0009\u0009b");
if ((arr === null) || (arr[0] !== "\u0009\u0009")) {
throw new Test262Error('#2: var arr = /\\t\\t/.exec("a\\u0009\\u0009b"); arr[0] === "\\u0009\\u0009". Actual. ' + (arr && arr[0]));
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.10_A1.2_T1.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.10_A1.2_T1.js
index cb5c240c30d6..0ca647f8ed3b 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.10_A1.2_T1.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.10_A1.2_T1.js
@@ -9,13 +9,11 @@ es5id: 15.10.2.10_A1.2_T1
description: Use \n in RegExp and \u000A in tested string
---*/
-//CHECK#1
var arr = /\n/.exec("\u000A");
if ((arr === null) || (arr[0] !== "\u000A")) {
throw new Test262Error('#1: var arr = /\\n/.exec("\\u000A"); arr[0] === "\\u000A". Actual. ' + (arr && arr[0]));
}
-//CHECK#2
var arr = /\n\n/.exec("a\u000A\u000Ab");
if ((arr === null) || (arr[0] !== "\u000A\u000A")) {
throw new Test262Error('#2: var arr = /\\n\\n/.exec("a\\u000A\\u000Ab"); arr[0] === "\\u000A\\u000A". Actual. ' + (arr && arr[0]));
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.10_A1.3_T1.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.10_A1.3_T1.js
index 10f3b9289148..f27ebb19ef7a 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.10_A1.3_T1.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.10_A1.3_T1.js
@@ -9,13 +9,11 @@ es5id: 15.10.2.10_A1.3_T1
description: Use \v in RegExp and \u000B in tested string
---*/
-//CHECK#1
var arr = /\v/.exec("\u000B");
if ((arr === null) || (arr[0] !== "\u000B")) {
throw new Test262Error('#1: var arr = /\\v/.exec("\\u000B"); arr[0] === "\\u000B". Actual. ' + (arr && arr[0]));
}
-//CHECK#2
var arr = /\v\v/.exec("a\u000B\u000Bb");
if ((arr === null) || (arr[0] !== "\u000B\u000B")) {
throw new Test262Error('#2: var arr = /\\v\\v/.exec("a\\u000B\\u000Bb"); arr[0] === "\\u000B\\u000B". Actual. ' + (arr && arr[0]));
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.10_A1.4_T1.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.10_A1.4_T1.js
index e794276c52c6..27d31424ecab 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.10_A1.4_T1.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.10_A1.4_T1.js
@@ -9,13 +9,11 @@ es5id: 15.10.2.10_A1.4_T1
description: Use \f in RegExp and \u000C in tested string
---*/
-//CHECK#1
var arr = /\f/.exec("\u000C");
if ((arr === null) || (arr[0] !== "\u000C")) {
throw new Test262Error('#1: var arr = /\\f/.exec("\\u000C"); arr[0] === "\\u000C". Actual. ' + (arr && arr[0]));
}
-//CHECK#2
var arr = /\f\f/.exec("a\u000C\u000Cb");
if ((arr === null) || (arr[0] !== "\u000C\u000C")) {
throw new Test262Error('#2: var arr = /\\f\\f/.exec("a\\u000C\\u000Cb"); arr[0] === "\\u000C\\u000C". Actual. ' + (arr && arr[0]));
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.10_A1.5_T1.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.10_A1.5_T1.js
index 211acbaf9367..86658679d148 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.10_A1.5_T1.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.10_A1.5_T1.js
@@ -9,13 +9,11 @@ es5id: 15.10.2.10_A1.5_T1
description: Use \r in RegExp and \u000D in tested string
---*/
-//CHECK#1
var arr = /\r/.exec("\u000D");
if ((arr === null) || (arr[0] !== "\u000D")) {
throw new Test262Error('#1: var arr = /\\r/.exec("\\u000D"); arr[0] === "\\u000D". Actual. ' + (arr && arr[0]));
}
-//CHECK#2
var arr = /\r\r/.exec("a\u000D\u000Db");
if ((arr === null) || (arr[0] !== "\u000D\u000D")) {
throw new Test262Error('#2: var arr = /\\r\\r/.exec("a\\u000D\\u000Db"); arr[0] === "\\u000D\\u000D". Actual. ' + (arr && arr[0]));
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.10_A2.1_T1.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.10_A2.1_T1.js
index fefcd48b898d..5ccba147194a 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.10_A2.1_T1.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.10_A2.1_T1.js
@@ -7,8 +7,7 @@ es5id: 15.10.2.10_A2.1_T1
description: "ControlLetter :: A - Z"
---*/
-//CHECK#0041-005A
-var result = true;
+var result = true;
for (var alpha = 0x0041; alpha <= 0x005A; alpha++) {
var str = String.fromCharCode(alpha % 32);
var arr = (new RegExp("\\c" + String.fromCharCode(alpha))).exec(str);
@@ -17,8 +16,6 @@ for (var alpha = 0x0041; alpha <= 0x005A; alpha++) {
}
}
-if (result !== true) {
- throw new Test262Error('#1: CharacterEscape :: c A - Z');
-}
+assert.sameValue(result, true, 'The value of result is expected to be true');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.10_A2.1_T2.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.10_A2.1_T2.js
index 3bf5d2b769a2..a2506137bab0 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.10_A2.1_T2.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.10_A2.1_T2.js
@@ -7,8 +7,7 @@ es5id: 15.10.2.10_A2.1_T2
description: "ControlLetter :: a - z"
---*/
-//CHECK#0061-007A
-var result = true;
+var result = true;
for (var alpha = 0x0061; alpha <= 0x007A; alpha++) {
var str = String.fromCharCode(alpha % 32);
var arr = (new RegExp("\\c" + String.fromCharCode(alpha))).exec(str);
@@ -17,8 +16,6 @@ for (var alpha = 0x0061; alpha <= 0x007A; alpha++) {
}
}
-if (result !== true) {
- throw new Test262Error('#1: CharacterEscape :: c a - z');
-}
+assert.sameValue(result, true, 'The value of result is expected to be true');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.10_A3.1_T1.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.10_A3.1_T1.js
index fe2e29e6290c..005de2849d56 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.10_A3.1_T1.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.10_A3.1_T1.js
@@ -7,25 +7,21 @@ es5id: 15.10.2.10_A3.1_T1
description: Tested string include equal unicode symbols
---*/
-//CHECK#0
var arr = /\x00/.exec("\u0000");
if ((arr === null) || (arr[0] !== "\u0000")) {
throw new Test262Error('#0: var arr = /\\x00/.exec(\\u0000); arr[0] === "\\u0000". Actual. ' + (arr && arr[0]));
}
-//CHECK#1
var arr = /\x01/.exec("\u0001");
if ((arr === null) || (arr[0] !== "\u0001")) {
throw new Test262Error('#1: var arr = /\\x01/.exec(\\u0001); arr[0] === "\\u0001". Actual. ' + (arr && arr[0]));
}
-//CHECK#2
var arr = /\x0A/.exec("\u000A");
if ((arr === null) || (arr[0] !== "\u000A")) {
throw new Test262Error('#2: var arr = /\\x0A/.exec(\\u000A); arr[0] === "\\u000A". Actual. ' + (arr && arr[0]));
}
-//CHECK#3
var arr = /\xFF/.exec("\u00FF");
if ((arr === null) || (arr[0] !== "\u00FF")) {
throw new Test262Error('#3: var arr = /\\xFF/.exec(\\u00FF); arr[0] === "\\u00FF". Actual. ' + (arr && arr[0]));
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.10_A3.1_T2.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.10_A3.1_T2.js
index 9e694b164fc6..11b7ff7e4077 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.10_A3.1_T2.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.10_A3.1_T2.js
@@ -7,7 +7,6 @@ es5id: 15.10.2.10_A3.1_T2
description: Checking ENGLISH CAPITAL ALPHABET and english small alphabet
---*/
-//CHECK#41-5A
var hex = ["\\x41", "\\x42", "\\x43", "\\x44", "\\x45", "\\x46", "\\x47", "\\x48", "\\x49", "\\x4A", "\\x4B", "\\x4C", "\\x4D", "\\x4E", "\\x4F", "\\x50", "\\x51", "\\x52", "\\x53", "\\x54", "\\x55", "\\x56", "\\x57", "\\x58", "\\x59", "\\x5A"];
var character = ["A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z"];
var result = true;
@@ -18,11 +17,8 @@ for (var index = 0; index < hex.length; index++) {
}
}
-if (result !== true) {
- throw new Test262Error('#1: ENGLISH CAPITAL ALPHABET');
-}
+assert.sameValue(result, true, 'The value of result is expected to be true');
-//CHECK#61-7A
hex = ["\\x61", "\\x62", "\\x63", "\\x64", "\\x65", "\\x66", "\\x67", "\\x68", "\\x69", "\\x6A", "\\x6B", "\\x6C", "\\x6D", "\\x6E", "\\x6F", "\\x70", "\\x71", "\\x72", "\\x73", "\\x74", "\\x75", "\\x76", "\\x77", "\\x78", "\\x79", "\\x7A"];
character = ["a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z"];
var result = true;
@@ -33,8 +29,6 @@ for (index = 0; index < hex.length; index++) {
}
}
-if (result !== true) {
- throw new Test262Error('#1: english small alphabet');
-}
+assert.sameValue(result, true, 'The value of result is expected to be true');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.10_A4.1_T1.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.10_A4.1_T1.js
index 98d2cfe0f865..e5c056a85927 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.10_A4.1_T1.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.10_A4.1_T1.js
@@ -9,37 +9,31 @@ es5id: 15.10.2.10_A4.1_T1
description: RegExp and tested string include uncode symbols
---*/
-//CHECK#0
var arr = /\u0000/.exec("\u0000");
if ((arr === null) || (arr[0] !== "\u0000")) {
throw new Test262Error('#0: var arr = /\\u0000/.exec(\\u0000); arr[0] === "\\u0000". Actual. ' + (arr && arr[0]));
}
-//CHECK#1
var arr = /\u0001/.exec("\u0001");
if ((arr === null) || (arr[0] !== "\u0001")) {
throw new Test262Error('#1: var arr = /\\u0001/.exec(\\u0001); arr[0] === "\\u0001". Actual. ' + (arr && arr[0]));
}
-//CHECK#2
var arr = /\u000A/.exec("\u000A");
if ((arr === null) || (arr[0] !== "\u000A")) {
throw new Test262Error('#2: var arr = /\\u000A/.exec(\\u000A); arr[0] === "\\u000A". Actual. ' + (arr && arr[0]));
}
-//CHECK#3
var arr = /\u00FF/.exec("\u00FF");
if ((arr === null) || (arr[0] !== "\u00FF")) {
throw new Test262Error('#3: var arr = /\\u00FF/.exec(\\u00FF); arr[0] === "\\u00FF". Actual. ' + (arr && arr[0]));
}
-//CHECK#4
var arr = /\u0FFF/.exec("\u0FFF");
if ((arr === null) || (arr[0] !== "\u0FFF")) {
throw new Test262Error('#4: var arr = /\\u0FFF/.exec(\\u0FFF); arr[0] === "\\u0FFF". Actual. ' + (arr && arr[0]));
}
-//CHECK#5
var arr = /\uFFFF/.exec("\uFFFF");
if ((arr === null) || (arr[0] !== "\uFFFF")) {
throw new Test262Error('#5: var arr = /\\uFFFF/.exec(\\uFFFF); arr[0] === "\\uFFFF". Actual. ' + (arr && arr[0]));
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.10_A4.1_T2.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.10_A4.1_T2.js
index a7f86cc94010..7cb62b2d5263 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.10_A4.1_T2.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.10_A4.1_T2.js
@@ -11,7 +11,6 @@ description: >
alphabet
---*/
-//CHECK#41-5A
var hex = ["\\u0041", "\\u0042", "\\u0043", "\\u0044", "\\u0045", "\\u0046", "\\u0047", "\\u0048", "\\u0049", "\\u004A", "\\u004B", "\\u004C", "\\u004D", "\\u004E", "\\u004F", "\\u0050", "\\u0051", "\\u0052", "\\u0053", "\\u0054", "\\u0055", "\\u0056", "\\u0057", "\\u0058", "\\u0059", "\\u005A"];
var character = ["A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z"];
var result = true;
@@ -22,11 +21,8 @@ for (var index = 0; index < hex.length; index++) {
}
}
-if (result !== true) {
- throw new Test262Error('#1: ENGLISH CAPITAL ALPHABET');
-}
+assert.sameValue(result, true, 'The value of result is expected to be true');
-//CHECK#61-7A
hex = ["\\u0061", "\\u0062", "\\u0063", "\\u0064", "\\u0065", "\\u0066", "\\u0067", "\\u0068", "\\u0069", "\\u006A", "\\u006B", "\\u006C", "\\u006D", "\\u006E", "\\u006F", "\\u0070", "\\u0071", "\\u0072", "\\u0073", "\\u0074", "\\u0075", "\\u0076", "\\u0077", "\\u0078", "\\u0079", "\\u007A"];
character = ["a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z"];
var result = true;
@@ -37,8 +33,6 @@ for (index = 0; index < hex.length; index++) {
}
}
-if (result !== true) {
- throw new Test262Error('#1: english small alphabet');
-}
+assert.sameValue(result, true, 'The value of result is expected to be true');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.10_A4.1_T3.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.10_A4.1_T3.js
index 6ae5eca13cd8..e10f55ec2711 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.10_A4.1_T3.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.10_A4.1_T3.js
@@ -11,7 +11,6 @@ description: >
alphabet in unicode notation
---*/
-//CHECK#0410-042F, 0401
var hex = ["\\u0410", "\\u0411", "\\u0412", "\\u0413", "\\u0414", "\\u0415", "\\u0416", "\\u0417", "\\u0418", "\\u0419", "\\u041A", "\\u041B", "\\u041C", "\\u041D", "\\u041E", "\\u041F", "\\u0420", "\\u0421", "\\u0422", "\\u0423", "\\u0424", "\\u0425", "\\u0426", "\\u0427", "\\u0428", "\\u0429", "\\u042A", "\\u042B", "\\u042C", "\\u042D", "\\u042E", "\\u042F", "\\u0401"];
var character = ["\u0410", "\u0411", "\u0412", "\u0413", "\u0414", "\u0415", "\u0416", "\u0417", "\u0418", "\u0419", "\u041A", "\u041B", "\u041C", "\u041D", "\u041E", "\u041F", "\u0420", "\u0421", "\u0422", "\u0423", "\u0424", "\u0425", "\u0426", "\u0427", "\u0428", "\u0429", "\u042A", "\u042B", "\u042C", "\u042D", "\u042E", "\u042F", "\u0401"];
var result = true;
@@ -22,11 +21,8 @@ for (var index = 0; index < hex.length; index++) {
}
}
-if (result !== true) {
- throw new Test262Error('#1: RUSSIAN CAPITAL ALPHABET');
-}
+assert.sameValue(result, true, 'The value of result is expected to be true');
-//CHECK#0430-044F, 0451
hex = ["\\u0430", "\\u0431", "\\u0432", "\\u0433", "\\u0434", "\\u0435", "\\u0436", "\\u0437", "\\u0438", "\\u0439", "\\u043A", "\\u043B", "\\u043C", "\\u043D", "\\u043E", "\\u043F", "\\u0440", "\\u0441", "\\u0442", "\\u0443", "\\u0444", "\\u0445", "\\u0446", "\\u0447", "\\u0448", "\\u0449", "\\u044A", "\\u044B", "\\u044C", "\\u044D", "\\u044E", "\\u044F", "\\u0451"];
character = ["\u0430", "\u0431", "\u0432", "\u0433", "\u0434", "\u0435", "\u0436", "\u0437", "\u0438", "\u0439", "\u043A", "\u043B", "\u043C", "\u043D", "\u043E", "\u043F", "\u0440", "\u0441", "\u0442", "\u0443", "\u0444", "\u0445", "\u0446", "\u0447", "\u0448", "\u0449", "\u044A", "\u044B", "\u044C", "\u044D", "\u044E", "\u044F", "\u0451"];
var result = true;
@@ -37,8 +33,6 @@ for (index = 0; index < hex.length; index++) {
}
}
-if (result !== true) {
- throw new Test262Error('#1: russian small alphabet');
-}
+assert.sameValue(result, true, 'The value of result is expected to be true');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.10_A5.1_T1.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.10_A5.1_T1.js
index 60f66e2c394a..fdd568379cc6 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.10_A5.1_T1.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.10_A5.1_T1.js
@@ -9,7 +9,6 @@ es5id: 15.10.2.10_A5.1_T1
description: "Tested string is \"~`!@#$%^&*()-+={[}]|\\\\:;'<,>./?\" + '\"'"
---*/
-//CHECK#1
var non_ident = "~`!@#$%^&*()-+={[}]|\\:;'<,>./?" + '"';
for (var k = 0; k < non_ident.length; ++k) {
var arr = new RegExp("\\" + non_ident[k], "g").exec(non_ident);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.11_A1_T1.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.11_A1_T1.js
index 0dcd8a15c391..d9cdd5f2ce58 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.11_A1_T1.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.11_A1_T1.js
@@ -9,13 +9,11 @@ description: >
consisting of a character (Unicodevalue0000)
---*/
-//CHECK#1
var arr = /\0/.exec("\u0000");
if ((arr === null) || (arr[0] !== "\u0000")) {
throw new Test262Error('#1: var arr = /\\0/.exec(\\u0000); arr[0] === "\\u0000". Actual. ' + (arr && arr[0]));
}
-//CHECK#2
var arr = (new RegExp("\\0")).exec("\u0000");
if ((arr === null) || (arr[0] !== "\u0000")) {
throw new Test262Error('#2: var arr = (new RegExp("\\0")).exec(\\u0000); arr[0] === "\\u0000". Actual. ' + (arr && arr[0]));
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.11_A1_T4.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.11_A1_T4.js
index bbc25a3cfc7e..107cf8b1194a 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.11_A1_T4.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.11_A1_T4.js
@@ -9,12 +9,10 @@ description: DecimalIntegerLiteral is not 0
var arr = /(A)\1/.exec("AA");
-//CHECK#1
if ((arr === null) || (arr[0] !== "AA")) {
throw new Test262Error('#1: var arr = (/(A)\\1/.exec("AA")); arr[0] === "AA". Actual. ' + (arr && arr[0]));
}
-//CHECK#2
if ((arr === null) || (arr[1] !== "A")) {
throw new Test262Error('#2: var arr = (/(A)\\1/.exec("AA")); arr[1] === "A". Actual. ' + (arr && arr[1]));
}
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.11_A1_T5.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.11_A1_T5.js
index 94e9334f2576..b1565c418cf8 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.11_A1_T5.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.11_A1_T5.js
@@ -9,12 +9,10 @@ description: DecimalIntegerLiteral is not 0
var arr = /\1(A)/.exec("AA");
-//CHECK#1
if ((arr === null) || (arr[0] !== "A")) {
throw new Test262Error('#1: var arr = (/\\1(A)/.exec("AA")); arr[0] === "A". Actual. ' + (arr && arr[0]));
}
-//CHECK#2
if ((arr === null) || (arr[1] !== "A")) {
throw new Test262Error('#2: var arr = (/\\1(A)/.exec("AA")); arr[1] === "A". Actual. ' + (arr && arr[1]));
}
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.11_A1_T6.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.11_A1_T6.js
index 7358043ca336..7c42d31a1d60 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.11_A1_T6.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.11_A1_T6.js
@@ -9,17 +9,14 @@ description: DecimalIntegerLiteral is not 0
var arr = /(A)\1(B)\2/.exec("AABB");
-//CHECK#1
if ((arr === null) || (arr[0] !== "AABB")) {
throw new Test262Error('#1: var arr = /(A)\\1(B)\\2/.exec("AABB"); arr[0] === "AABB". Actual. ' + (arr && arr[0]));
}
-//CHECK#2
if ((arr === null) || (arr[1] !== "A")) {
throw new Test262Error('#2: var arr = /(A)\\1(B)\\2/.exec("AABB"); arr[1] === "A". Actual. ' + (arr && arr[1]));
}
-//CHECK#3
if ((arr === null) || (arr[2] !== "B")) {
throw new Test262Error('#3: var arr = /(A)\\1(B)\\2/.exec("AABB"); arr[2] === "B". Actual. ' + (arr && arr[2]));
}
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.11_A1_T7.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.11_A1_T7.js
index ea45725a2dc6..7e1f5d9dd57b 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.11_A1_T7.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.11_A1_T7.js
@@ -9,17 +9,14 @@ description: DecimalIntegerLiteral is not 0
var arr = /\1(A)(B)\2/.exec("ABB");
-//CHECK#1
if ((arr === null) || (arr[0] !== "ABB")) {
throw new Test262Error('#1: var arr = /\\1(A)(B)\\2/.exec("ABB"); arr[0] === "ABB". Actual. ' + (arr && arr[0]));
}
-//CHECK#2
if ((arr === null) || (arr[1] !== "A")) {
throw new Test262Error('#2: var arr = /\\1(A)(B)\\2/.exec("ABB"); arr[1] === "A". Actual. ' + (arr && arr[1]));
}
-//CHECK#3
if ((arr === null) || (arr[2] !== "B")) {
throw new Test262Error('#3: var arr = /\\1(A)(B)\\2/.exec("ABB"); arr[2] === "B". Actual. ' + (arr && arr[2]));
}
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.11_A1_T8.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.11_A1_T8.js
index cbee58ee460e..51b516c8a1ef 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.11_A1_T8.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.11_A1_T8.js
@@ -9,14 +9,12 @@ description: DecimalIntegerLiteral is not 0
var arr = /((((((((((A))))))))))\1\2\3\4\5\6\7\8\9\10/.exec("AAAAAAAAAAA");
-//CHECK#1
if ((arr === null) || (arr[0] !== "AAAAAAAAAAA")) {
throw new Test262Error('#1: var arr = /((((((((((A))))))))))\\1\\2\\3\\4\\5\\6\\7\\8\\9\\10/.exec("AAAAAAAAAAA"); arr[0] === "AAAAAAAAAAA". Actual. ' + (arr && arr[0]));
}
for (var i = 1; i <= 10; i++) {
- //CHECK#i
- if ((arr === null) || (arr[i] !== "A")) {
+ if ((arr === null) || (arr[i] !== "A")) {
throw new Test262Error('#2: var arr = /((((((((((A))))))))))\\1\\2\\3\\4\\5\\6\\7\\8\\9\\10/.exec("AAAAAAAAAAA"); arr[' + i + '] === "A". Actual. ' + (arr && arr[i]));
}
}
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.11_A1_T9.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.11_A1_T9.js
index 38c52743fef5..0ed36cd7e985 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.11_A1_T9.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.11_A1_T9.js
@@ -9,14 +9,12 @@ description: DecimalIntegerLiteral is not 0
var arr = /((((((((((A))))))))))\10\9\8\7\6\5\4\3\2\1/.exec("AAAAAAAAAAA");
-//CHECK#1
if ((arr === null) || (arr[0] !== "AAAAAAAAAAA")) {
throw new Test262Error('#1: var arr = /((((((((((A))))))))))\\10\\9\\8\\7\\6\\5\\4\\3\\2\\1/.exec("AAAAAAAAAAA"); arr[0] === "AAAAAAAAAAA". Actual. ' + (arr && arr[0]));
}
for (var i = 1; i <= 10; i++) {
- //CHECK#i
- if ((arr === null) || (arr[i] !== "A")) {
+ if ((arr === null) || (arr[i] !== "A")) {
throw new Test262Error('#2: var arr = /((((((((((A))))))))))\\10\\9\\8\\7\\6\\5\\4\\3\\2\\1/.exec("AAAAAAAAAAA"); arr[' + i + '] === "A". Actual. ' + (arr && arr[i]));
}
}
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.12_A3_T5.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.12_A3_T5.js
index 64de182cef00..d4dcdc3f0488 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.12_A3_T5.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.12_A3_T5.js
@@ -9,13 +9,14 @@ es5id: 15.10.2.12_A3_T5
description: non-w
---*/
-//CHECK#1
var non_w = "\f\n\r\t\v~`!@#$%^&*()-+={[}]|\\:;'<,>./? " + '"';
-if (/\w/.exec(non_w) !== null) {
- throw new Test262Error('#1: non-w');
-}
-//CHECK#2
+assert.sameValue(
+ /\w/.exec(non_w),
+ null,
+ '/w/.exec(""fnrtv~`!@#$%^&*()-+={[}]|:;\'<,>./? " + \'"\'") must return null'
+);
+
var non_W = "_0123456789_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
var regexp_w = /\w/g;
var k = 0;
@@ -23,8 +24,6 @@ while (regexp_w.exec(non_W) !== null) {
k++;
}
-if (non_W.length !== k) {
- throw new Test262Error('#2: non-W');
-}
+assert.sameValue(non_W.length, k, 'The value of non_W.length is expected to equal the value of k');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.12_A4_T5.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.12_A4_T5.js
index 668167cd9622..f3bcc0c6d064 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.12_A4_T5.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.12_A4_T5.js
@@ -9,7 +9,6 @@ es5id: 15.10.2.12_A4_T5
description: non-w
---*/
-//CHECK#1
var non_w = "\f\n\r\t\v~`!@#$%^&*()-+={[}]|\\:;'<,>./? " + '"';
var regexp_W = /\W/g;
var k = 0;
@@ -17,14 +16,14 @@ while (regexp_W.exec(non_w) !== null) {
k++;
}
-if (non_w.length !== k) {
- throw new Test262Error('#1: non-w');
-}
+assert.sameValue(non_w.length, k, 'The value of non_w.length is expected to equal the value of k');
-//CHECK#2
var non_W = "_0123456789_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
-if (/\W/.exec(non_W) !== null) {
- throw new Test262Error('#2: non-W');
-}
+
+assert.sameValue(
+ /\W/.exec(non_W),
+ null,
+ '/W/.exec(""_0123456789_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"") must return null'
+);
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.13_A1_T1.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.13_A1_T1.js
index 30d19b2eb438..9b535a2e3f8e 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.13_A1_T1.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.13_A1_T1.js
@@ -10,11 +10,7 @@ es5id: 15.10.2.13_A1_T1
description: Execute /[]a/.test("\0a\0a") and check results
---*/
-var __executed = /[]a/.test("\0a\0a");;
-
-//CHECK#1
- if (__executed) {
- throw new Test262Error('#1: /[]a/.test("\\0a\\0a") === false');
-}
+var __executed = /[]a/.test("\0a\0a");
+assert(!__executed, 'The value of !__executed is expected to be true');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.13_A1_T10.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.13_A1_T10.js
index ffc2d8c09664..aa816075ad30 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.13_A1_T10.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.13_A1_T10.js
@@ -16,26 +16,30 @@ var __expected = ["abc324234"];
__expected.index = 2;
__expected.input = "\n\n\abc324234\n";
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __executed = /[a-c\\d]+/.exec("\\n\\n\\abc324234\\n"); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __executed = /[a-c\\d]+/.exec("\\n\\n\\abc324234\\n"); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __executed = /[a-c\\d]+/.exec("\\n\\n\\abc324234\\n"); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __executed = /[a-c\\d]+/.exec("\\n\\n\\abc324234\\n"); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.13_A1_T11.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.13_A1_T11.js
index aad5965f17c3..1c490e122eed 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.13_A1_T11.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.13_A1_T11.js
@@ -16,26 +16,30 @@ var __expected = ["abc"];
__expected.index = 0;
__expected.input = "abc";
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __executed = /ab[.]?c/.exec("abc"); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __executed = /ab[.]?c/.exec("abc"); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __executed = /ab[.]?c/.exec("abc"); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __executed = /ab[.]?c/.exec("abc"); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.13_A1_T12.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.13_A1_T12.js
index e6276f861642..20f9efd7d8d2 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.13_A1_T12.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.13_A1_T12.js
@@ -16,26 +16,30 @@ var __expected = ["abc"];
__expected.index = 0;
__expected.input = "abc";
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __executed = /a[b]c/.exec("abc"); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __executed = /a[b]c/.exec("abc"); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __executed = /a[b]c/.exec("abc"); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __executed = /a[b]c/.exec("abc"); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.13_A1_T13.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.13_A1_T13.js
index 5f6963ef87d3..944e396867f8 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.13_A1_T13.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.13_A1_T13.js
@@ -18,26 +18,30 @@ var __expected = ["def"];
__expected.index = 15;
__expected.input = "a1b b2c c3d def f4g";
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __executed = /[a-z][^1-9][a-z]/.exec("a1b b2c c3d def f4g"); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __executed = /[a-z][^1-9][a-z]/.exec("a1b b2c c3d def f4g"); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __executed = /[a-z][^1-9][a-z]/.exec("a1b b2c c3d def f4g"); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __executed = /[a-z][^1-9][a-z]/.exec("a1b b2c c3d def f4g"); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.13_A1_T14.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.13_A1_T14.js
index 6a55b9be9987..dc9072d83547 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.13_A1_T14.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.13_A1_T14.js
@@ -16,26 +16,30 @@ var __expected = ["*&$"];
__expected.index = 3;
__expected.input = "123*&$abc";
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __executed = /[*&$]{3}/.exec("123*&$abc"); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __executed = /[*&$]{3}/.exec("123*&$abc"); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __executed = /[*&$]{3}/.exec("123*&$abc"); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __executed = /[*&$]{3}/.exec("123*&$abc"); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.13_A1_T15.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.13_A1_T15.js
index 0a3a3b551dd4..2a0a1f1fe8af 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.13_A1_T15.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.13_A1_T15.js
@@ -16,26 +16,30 @@ var __expected = ["1\nl"];
__expected.index = 4;
__expected.input = "line1\nline2";
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __executed = /[\\d][\\n][^\\d]/.exec("line1\\nline2"); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __executed = /[\\d][\\n][^\\d]/.exec("line1\\nline2"); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __executed = /[\\d][\\n][^\\d]/.exec("line1\\nline2"); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __executed = /[\\d][\\n][^\\d]/.exec("line1\\nline2"); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.13_A1_T17.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.13_A1_T17.js
index c1b82276864e..e41ac621f683 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.13_A1_T17.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.13_A1_T17.js
@@ -12,9 +12,6 @@ description: Execute /[]/.exec("a[b\n[]\tc]d") and check results
var __executed = /[]/.exec("a[b\n[]\tc]d");
-//CHECK#1
-if (__executed !== null) {
- throw new Test262Error('#1: /[]/.exec("a[b\\n[]\\tc]d") === false');
-}
+assert.sameValue(__executed, null, 'The value of __executed is expected to be null');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.13_A1_T2.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.13_A1_T2.js
index af4b32fe30c5..8bc8d7feb7ed 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.13_A1_T2.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.13_A1_T2.js
@@ -10,11 +10,7 @@ es5id: 15.10.2.13_A1_T2
description: Execute /a[]/.test("\0a\0a") and check results
---*/
-var __executed = /a[]/.test("\0a\0a");;
-
-//CHECK#1
-if (__executed) {
- throw new Test262Error('#1: /a[]/.test("\\0a\\0a") === false');
-}
+var __executed = /a[]/.test("\0a\0a");
+assert(!__executed, 'The value of !__executed is expected to be true');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.13_A1_T3.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.13_A1_T3.js
index 4f1be423fade..68a70433c2cb 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.13_A1_T3.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.13_A1_T3.js
@@ -16,26 +16,30 @@ var __expected = ["qy"];
__expected.index = 2;
__expected.input = "qYqy ";
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __executed = /q[ax-zb](?=\\s+)/.exec("qYqy "); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __executed = /q[ax-zb](?=\\s+)/.exec("qYqy "); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __executed = /q[ax-zb](?=\\s+)/.exec("qYqy "); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __executed = /q[ax-zb](?=\\s+)/.exec("qYqy "); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.13_A1_T4.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.13_A1_T4.js
index 03b3c89d2b36..60d7939f0f24 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.13_A1_T4.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.13_A1_T4.js
@@ -16,26 +16,30 @@ var __expected = ["qy"];
__expected.index = 3;
__expected.input = "tqaqy ";
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __executed = /q[ax-zb](?=\\s+)/.exec("tqaqy "); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __executed = /q[ax-zb](?=\\s+)/.exec("tqaqy "); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __executed = /q[ax-zb](?=\\s+)/.exec("tqaqy "); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __executed = /q[ax-zb](?=\\s+)/.exec("tqaqy "); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.13_A1_T5.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.13_A1_T5.js
index ad7cbebdca9c..04a47f75b8ca 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.13_A1_T5.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.13_A1_T5.js
@@ -16,26 +16,30 @@ var __expected = ["qa"];
__expected.index = 1;
__expected.input = "tqa\t qy ";
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __executed = /q[ax-zb](?=\\s+)/.exec("tqa\\t qy "); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __executed = /q[ax-zb](?=\\s+)/.exec("tqa\\t qy "); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __executed = /q[ax-zb](?=\\s+)/.exec("tqa\\t qy "); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __executed = /q[ax-zb](?=\\s+)/.exec("tqa\\t qy "); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.13_A1_T6.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.13_A1_T6.js
index e4785e37e9b5..e7ef9156b8c2 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.13_A1_T6.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.13_A1_T6.js
@@ -16,26 +16,30 @@ var __expected = ["abcde"];
__expected.index = 0;
__expected.input = "abcde";
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __executed = /ab[ercst]de/.exec("abcde"); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __executed = /ab[ercst]de/.exec("abcde"); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __executed = /ab[ercst]de/.exec("abcde"); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __executed = /ab[ercst]de/.exec("abcde"); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.13_A1_T7.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.13_A1_T7.js
index 590cb26aaaf8..bbef9f124b99 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.13_A1_T7.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.13_A1_T7.js
@@ -12,9 +12,6 @@ description: Execute /ab[erst]de/.test("abcde") and check results
var __executed = /ab[erst]de/.test("abcde");
-//CHECK#1
-if (__executed) {
- throw new Test262Error('#1: /ab[erst]de/.test("abcde") === false');
-}
+assert(!__executed, 'The value of !__executed is expected to be true');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.13_A1_T8.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.13_A1_T8.js
index b9ebd728124a..5d616fca7208 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.13_A1_T8.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.13_A1_T8.js
@@ -16,26 +16,30 @@ var __expected = ["defgh"];
__expected.index = 3;
__expected.input = "abcdefghijkl";
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __executed = /[d-h]+/.exec("abcdefghijkl"); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __executed = /[d-h]+/.exec("abcdefghijkl"); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __executed = /[d-h]+/.exec("abcdefghijkl"); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __executed = /[d-h]+/.exec("abcdefghijkl"); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.13_A1_T9.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.13_A1_T9.js
index 9143f2acef09..eca4bdcd1479 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.13_A1_T9.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.13_A1_T9.js
@@ -16,26 +16,30 @@ var __expected = ["6de"];
__expected.index = 3;
__expected.input = "abc6defghijkl";
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __executed = /[1234567].{2}/.exec("abc6defghijkl"); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __executed = /[1234567].{2}/.exec("abc6defghijkl"); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __executed = /[1234567].{2}/.exec("abc6defghijkl"); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __executed = /[1234567].{2}/.exec("abc6defghijkl"); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.13_A2_T1.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.13_A2_T1.js
index 9008b651daec..3c9b4032e014 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.13_A2_T1.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.13_A2_T1.js
@@ -16,26 +16,30 @@ var __expected = ["\na"];
__expected.index = 1;
__expected.input = "a\naba";
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __executed = /[^]a/m.exec("a\\naba"); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __executed = /[^]a/m.exec("a\\naba"); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __executed = /[^]a/m.exec("a\\naba"); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __executed = /[^]a/m.exec("a\\naba"); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.13_A2_T2.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.13_A2_T2.js
index ee7bb7ca2ba0..2ac8ff3c4afd 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.13_A2_T2.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.13_A2_T2.js
@@ -16,26 +16,30 @@ var __expected = ["a\t"];
__expected.index = 3;
__expected.input = " a\t\n";
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __executed = /a[^]/.exec(" a\\t\\n"); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __executed = /a[^]/.exec(" a\\t\\n"); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __executed = /a[^]/.exec(" a\\t\\n"); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __executed = /a[^]/.exec(" a\\t\\n"); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.13_A2_T3.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.13_A2_T3.js
index 0bccef378603..42161ba17d4f 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.13_A2_T3.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.13_A2_T3.js
@@ -16,26 +16,30 @@ var __expected = ["aY "];
__expected.index = 9;
__expected.input = "ab an az aY n";
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __executed = /a[^b-z]\\s+/.exec("ab an az aY n"); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __executed = /a[^b-z]\\s+/.exec("ab an az aY n"); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __executed = /a[^b-z]\\s+/.exec("ab an az aY n"); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __executed = /a[^b-z]\\s+/.exec("ab an az aY n"); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.13_A2_T4.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.13_A2_T4.js
index 63184e367d52..7c204f12ae29 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.13_A2_T4.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.13_A2_T4.js
@@ -16,26 +16,30 @@ var __expected = ["easy"];
__expected.index = 0;
__expected.input = "easy\bto\u0008ride";
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __executed = /[^\\b]+/g.exec("easy\\bto\\u0008ride"); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __executed = /[^\\b]+/g.exec("easy\\bto\\u0008ride"); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __executed = /[^\\b]+/g.exec("easy\\bto\\u0008ride"); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __executed = /[^\\b]+/g.exec("easy\\bto\\u0008ride"); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.13_A2_T5.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.13_A2_T5.js
index 0ced6a900a6b..d2ed2187aab9 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.13_A2_T5.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.13_A2_T5.js
@@ -16,26 +16,30 @@ var __expected = ["abc"];
__expected.index = 0;
__expected.input = "abc";
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __executed = /a[^1-9]c/.exec("abc"); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __executed = /a[^1-9]c/.exec("abc"); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __executed = /a[^1-9]c/.exec("abc"); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __executed = /a[^1-9]c/.exec("abc"); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.13_A2_T6.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.13_A2_T6.js
index 010facccdac5..46aefd0f037c 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.13_A2_T6.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.13_A2_T6.js
@@ -12,9 +12,6 @@ description: Execute /a[^b]c/.test("abc") and check results
var __executed = /a[^b]c/.test("abc");
-//CHECK#1
-if (__executed) {
- throw new Test262Error('#1: /a[^b]c/.test("abc") === false');
-}
+assert(!__executed, 'The value of !__executed is expected to be true');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.13_A2_T7.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.13_A2_T7.js
index 4187166ba0db..cc9c45060f9f 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.13_A2_T7.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.13_A2_T7.js
@@ -16,26 +16,30 @@ var __expected = ["%&*@"];
__expected.index = 9;
__expected.input = "abc#$%def%&*@ghi";
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __executed = /[^a-z]{4}/.exec("abc#$%def%&*@ghi"); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __executed = /[^a-z]{4}/.exec("abc#$%def%&*@ghi"); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __executed = /[^a-z]{4}/.exec("abc#$%def%&*@ghi"); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __executed = /[^a-z]{4}/.exec("abc#$%def%&*@ghi"); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.13_A2_T8.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.13_A2_T8.js
index 4dc047a9750f..16b262456d13 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.13_A2_T8.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.13_A2_T8.js
@@ -16,26 +16,30 @@ var __expected = ["a"];
__expected.index = 0;
__expected.input = "abc#$%def%&*@ghi";
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __executed = /[^]/.exec("abc#$%def%&*@ghi"); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __executed = /[^]/.exec("abc#$%def%&*@ghi"); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __executed = /[^]/.exec("abc#$%def%&*@ghi"); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __executed = /[^]/.exec("abc#$%def%&*@ghi"); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.13_A3_T1.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.13_A3_T1.js
index e0fbe7923e11..f7410bc10bc0 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.13_A3_T1.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.13_A3_T1.js
@@ -13,26 +13,30 @@ var __expected = ["c\bd"];
__expected.index = 2;
__expected.input = "abc\bdef";
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __executed = /.[\\b]./.exec("abc\\bdef"); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __executed = /.[\\b]./.exec("abc\\bdef"); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __executed = /.[\\b]./.exec("abc\\bdef"); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __executed = /.[\\b]./.exec("abc\\bdef"); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.13_A3_T2.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.13_A3_T2.js
index 6744cd77a46d..693278004b61 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.13_A3_T2.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.13_A3_T2.js
@@ -13,26 +13,30 @@ var __expected = ["c\b\b\bd"];
__expected.index = 2;
__expected.input = "abc\b\b\bdef";
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __executed = /c[\\b]{3}d/.exec("abc\\b\\b\\bdef"); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __executed = /c[\\b]{3}d/.exec("abc\\b\\b\\bdef"); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __executed = /c[\\b]{3}d/.exec("abc\\b\\b\\bdef"); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __executed = /c[\\b]{3}d/.exec("abc\\b\\b\\bdef"); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.13_A3_T3.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.13_A3_T3.js
index 1363670c1d25..10dbcc25bd04 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.13_A3_T3.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.13_A3_T3.js
@@ -13,26 +13,30 @@ var __expected = ["abc"];
__expected.index = 0;
__expected.input = "abc\bdef";
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __executed = /[^\\[\\b\\]]+/.exec("abc\\bdef"); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __executed = /[^\\[\\b\\]]+/.exec("abc\\bdef"); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __executed = /[^\\[\\b\\]]+/.exec("abc\\bdef"); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __executed = /[^\\[\\b\\]]+/.exec("abc\\bdef"); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.13_A3_T4.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.13_A3_T4.js
index 478762b4d2e7..b158386550cc 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.13_A3_T4.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.13_A3_T4.js
@@ -13,26 +13,30 @@ var __expected = ["abcdef"];
__expected.index = 0;
__expected.input = "abcdef";
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __executed = /[^\\[\\b\\]]+/.exec("abcdef"); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __executed = /[^\\[\\b\\]]+/.exec("abcdef"); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __executed = /[^\\[\\b\\]]+/.exec("abcdef"); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __executed = /[^\\[\\b\\]]+/.exec("abcdef"); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.15_A1_T1.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.15_A1_T1.js
index d73347838866..cdcf0e9f42e2 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.15_A1_T1.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.15_A1_T1.js
@@ -16,13 +16,16 @@ description: >
the correct exception
---*/
-//CHECK#1
try {
throw new Test262Error('#1.1: /[b-ac-e]/.exec("a") throw SyntaxError. Actual: ' + (new RegExp("[b-ac-e]").exec("a")));
} catch (e) {
- if((e instanceof SyntaxError) !== true){
- throw new Test262Error('#1.2: /[b-ac-e]/.exec("a") throw SyntaxError. Actual: ' + (e));
- }
+ assert.sameValue(
+ e instanceof SyntaxError,
+ true,
+ 'The result of evaluating (e instanceof SyntaxError) is expected to be true'
+ );
}
+// TODO: Convert to assert.throws() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.15_A1_T10.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.15_A1_T10.js
index b9dabf00c8d7..ceedfbbad1db 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.15_A1_T10.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.15_A1_T10.js
@@ -16,13 +16,16 @@ description: >
the correct exception
---*/
-//CHECK#1
try {
throw new Test262Error('#1.1: /[\\10b-G]/.exec("a") throw SyntaxError. Actual: ' + (new RegExp("[\\10b-G]").exec("a")));
} catch (e) {
- if((e instanceof SyntaxError) !== true){
- throw new Test262Error('#1.2: /[\\10b-G]/.exec("a") throw SyntaxError. Actual: ' + (e));
- }
+ assert.sameValue(
+ e instanceof SyntaxError,
+ true,
+ 'The result of evaluating (e instanceof SyntaxError) is expected to be true'
+ );
}
+// TODO: Convert to assert.throws() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.15_A1_T11.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.15_A1_T11.js
index 2a7f64a97416..a936f005ea4d 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.15_A1_T11.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.15_A1_T11.js
@@ -16,13 +16,16 @@ description: >
the correct exception
---*/
-//CHECK#1
try {
throw new Test262Error('#1.1: /[\\bd-G]/.exec("a") throw SyntaxError. Actual: ' + (new RegExp("[\\bd-G]").exec("a")));
} catch (e) {
- if((e instanceof SyntaxError) !== true){
- throw new Test262Error('#1.2: /[\\bd-G]/.exec("a") throw SyntaxError. Actual: ' + (e));
- }
+ assert.sameValue(
+ e instanceof SyntaxError,
+ true,
+ 'The result of evaluating (e instanceof SyntaxError) is expected to be true'
+ );
}
+// TODO: Convert to assert.throws() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.15_A1_T12.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.15_A1_T12.js
index c3c8d7b180dc..0adc1f2575c8 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.15_A1_T12.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.15_A1_T12.js
@@ -16,13 +16,16 @@ description: >
the correct exception
---*/
-//CHECK#1
try {
throw new Test262Error('#1.1: /[\\Bd-G]/.exec("a") throw SyntaxError. Actual: ' + (new RegExp("[\\Bd-G]").exec("a")));
} catch (e) {
- if((e instanceof SyntaxError) !== true){
- throw new Test262Error('#1.2: /[\\Bd-G]/.exec("a") throw SyntaxError. Actual: ' + (e));
- }
+ assert.sameValue(
+ e instanceof SyntaxError,
+ true,
+ 'The result of evaluating (e instanceof SyntaxError) is expected to be true'
+ );
}
+// TODO: Convert to assert.throws() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.15_A1_T13.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.15_A1_T13.js
index e4ebd9317019..f159e9cbb4b8 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.15_A1_T13.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.15_A1_T13.js
@@ -16,13 +16,16 @@ description: >
the correct exception
---*/
-//CHECK#1
try {
throw new Test262Error('#1.1: /[\\td-G]/.exec("a") throw SyntaxError. Actual: ' + (new RegExp("[\\td-G]").exec("a")));
} catch (e) {
- if((e instanceof SyntaxError) !== true){
- throw new Test262Error('#1.2: /[\\td-G]/.exec("a") throw SyntaxError. Actual: ' + (e));
- }
+ assert.sameValue(
+ e instanceof SyntaxError,
+ true,
+ 'The result of evaluating (e instanceof SyntaxError) is expected to be true'
+ );
}
+// TODO: Convert to assert.throws() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.15_A1_T14.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.15_A1_T14.js
index 1c997fb29a22..8a10b5695444 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.15_A1_T14.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.15_A1_T14.js
@@ -16,13 +16,16 @@ description: >
the correct exception
---*/
-//CHECK#1
try {
throw new Test262Error('#1.1: /[\\nd-G]/.exec("a") throw SyntaxError. Actual: ' + (new RegExp("[\\nd-G]").exec("a")));
} catch (e) {
- if((e instanceof SyntaxError) !== true){
- throw new Test262Error('#1.2: /[\\nd-G]/.exec("a") throw SyntaxError. Actual: ' + (e));
- }
+ assert.sameValue(
+ e instanceof SyntaxError,
+ true,
+ 'The result of evaluating (e instanceof SyntaxError) is expected to be true'
+ );
}
+// TODO: Convert to assert.throws() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.15_A1_T15.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.15_A1_T15.js
index d1f08eec3578..801266013dfd 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.15_A1_T15.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.15_A1_T15.js
@@ -16,13 +16,16 @@ description: >
the correct exception
---*/
-//CHECK#1
try {
throw new Test262Error('#1.1: /[\\vd-G]/.exec("a") throw SyntaxError. Actual: ' + (new RegExp("[\\vd-G]").exec("a")));
} catch (e) {
- if((e instanceof SyntaxError) !== true){
- throw new Test262Error('#1.2: /[\\vd-G]/.exec("a") throw SyntaxError. Actual: ' + (e));
- }
+ assert.sameValue(
+ e instanceof SyntaxError,
+ true,
+ 'The result of evaluating (e instanceof SyntaxError) is expected to be true'
+ );
}
+// TODO: Convert to assert.throws() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.15_A1_T16.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.15_A1_T16.js
index fde16d023936..79d78cbb724c 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.15_A1_T16.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.15_A1_T16.js
@@ -16,13 +16,16 @@ description: >
the correct exception
---*/
-//CHECK#1
try {
throw new Test262Error('#1.1: /[\\fd-G]/.exec("a") throw SyntaxError. Actual: ' + (new RegExp("[\\fd-G]").exec("a")));
} catch (e) {
- if((e instanceof SyntaxError) !== true){
- throw new Test262Error('#1.2: /[\\fd-G]/.exec("a") throw SyntaxError. Actual: ' + (e));
- }
+ assert.sameValue(
+ e instanceof SyntaxError,
+ true,
+ 'The result of evaluating (e instanceof SyntaxError) is expected to be true'
+ );
}
+// TODO: Convert to assert.throws() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.15_A1_T17.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.15_A1_T17.js
index 089eb1ff8228..76bea152fb52 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.15_A1_T17.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.15_A1_T17.js
@@ -16,13 +16,16 @@ description: >
the correct exception
---*/
-//CHECK#1
try {
throw new Test262Error('#1.1: /[\\rd-G]/.exec("a") throw SyntaxError. Actual: ' + (new RegExp("[\\rd-G]").exec("a")));
} catch (e) {
- if((e instanceof SyntaxError) !== true){
- throw new Test262Error('#1.2: /[\\rd-G]/.exec("a") throw SyntaxError. Actual: ' + (e));
- }
+ assert.sameValue(
+ e instanceof SyntaxError,
+ true,
+ 'The result of evaluating (e instanceof SyntaxError) is expected to be true'
+ );
}
+// TODO: Convert to assert.throws() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.15_A1_T18.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.15_A1_T18.js
index 7107052ee7bf..71d67c145515 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.15_A1_T18.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.15_A1_T18.js
@@ -16,13 +16,16 @@ description: >
throwing the correct exception
---*/
-//CHECK#1
try {
throw new Test262Error('#1.1: /[\\c0001d-G]/.exec("1") throw SyntaxError. Actual: ' + (new RegExp("[\\c0001d-G]").exec("1")));
} catch (e) {
- if((e instanceof SyntaxError) !== true){
- throw new Test262Error('#1.2: /[\\c0001d-G]/.exec("1") throw SyntaxError. Actual: ' + (e));
- }
+ assert.sameValue(
+ e instanceof SyntaxError,
+ true,
+ 'The result of evaluating (e instanceof SyntaxError) is expected to be true'
+ );
}
+// TODO: Convert to assert.throws() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.15_A1_T19.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.15_A1_T19.js
index 7127de955af3..dde7055f7025 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.15_A1_T19.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.15_A1_T19.js
@@ -16,13 +16,16 @@ description: >
throwing the correct exception
---*/
-//CHECK#1
try {
throw new Test262Error('#1.1: /[\\x0061d-G]/.exec("1") throw SyntaxError. Actual: ' + (new RegExp("[\\x0061d-G]").exec("1")));
} catch (e) {
- if((e instanceof SyntaxError) !== true){
- throw new Test262Error('#1.2: /[\\x0061d-G]/.exec("1") throw SyntaxError. Actual: ' + (e));
- }
+ assert.sameValue(
+ e instanceof SyntaxError,
+ true,
+ 'The result of evaluating (e instanceof SyntaxError) is expected to be true'
+ );
}
+// TODO: Convert to assert.throws() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.15_A1_T2.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.15_A1_T2.js
index a44269b0ad2d..9237c603d75a 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.15_A1_T2.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.15_A1_T2.js
@@ -16,13 +16,16 @@ description: >
the correct exception
---*/
-//CHECK#1
try {
throw new Test262Error('#1.1: /[a-dc-b]/.exec("a") throw SyntaxError. Actual: ' + (new RegExp("[a-dc-b]").exec("a")));
} catch (e) {
- if((e instanceof SyntaxError) !== true){
- throw new Test262Error('#1.2: /[a-dc-b]/.exec("a") throw SyntaxError. Actual: ' + (e));
- }
+ assert.sameValue(
+ e instanceof SyntaxError,
+ true,
+ 'The result of evaluating (e instanceof SyntaxError) is expected to be true'
+ );
}
+// TODO: Convert to assert.throws() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.15_A1_T20.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.15_A1_T20.js
index 23685a45ac1c..f5e5ef365850 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.15_A1_T20.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.15_A1_T20.js
@@ -16,13 +16,16 @@ description: >
throwing the correct exception
---*/
-//CHECK#1
try {
throw new Test262Error('#1.1: /[\\u0061d-G]/.exec("a") throw SyntaxError. Actual: ' + (new RegExp("[\\u0061d-G]").exec("a")));
} catch (e) {
- if((e instanceof SyntaxError) !== true){
- throw new Test262Error('#1.2: /[\\u0061d-G]/.exec("a") throw SyntaxError. Actual: ' + (e));
- }
+ assert.sameValue(
+ e instanceof SyntaxError,
+ true,
+ 'The result of evaluating (e instanceof SyntaxError) is expected to be true'
+ );
}
+// TODO: Convert to assert.throws() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.15_A1_T21.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.15_A1_T21.js
index 0661def33cd0..8e1e6f505e6c 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.15_A1_T21.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.15_A1_T21.js
@@ -16,13 +16,16 @@ description: >
the correct exception
---*/
-//CHECK#1
try {
throw new Test262Error('#1.1: /[\\ad-G]/.exec("a") throw SyntaxError. Actual: ' + (new RegExp("[\\ad-G]").exec("a")));
} catch (e) {
- if((e instanceof SyntaxError) !== true){
- throw new Test262Error('#1.2: /[\\ad-G]/.exec("a") throw SyntaxError. Actual: ' + (e));
- }
+ assert.sameValue(
+ e instanceof SyntaxError,
+ true,
+ 'The result of evaluating (e instanceof SyntaxError) is expected to be true'
+ );
}
+// TODO: Convert to assert.throws() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.15_A1_T22.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.15_A1_T22.js
index db6ecf812431..83386db9aabc 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.15_A1_T22.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.15_A1_T22.js
@@ -16,13 +16,16 @@ description: >
the correct exception
---*/
-//CHECK#1
try {
throw new Test262Error('#1.1: /[c-eb-a]/.exec("a") throw SyntaxError. Actual: ' + (new RegExp("[c-eb-a]").exec("a")));
} catch (e) {
- if((e instanceof SyntaxError) !== true){
- throw new Test262Error('#1.2: /[c-eb-a]/.exec("a") throw SyntaxError. Actual: ' + (e));
- }
+ assert.sameValue(
+ e instanceof SyntaxError,
+ true,
+ 'The result of evaluating (e instanceof SyntaxError) is expected to be true'
+ );
}
+// TODO: Convert to assert.throws() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.15_A1_T23.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.15_A1_T23.js
index f29346ed5b32..25940b01bb05 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.15_A1_T23.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.15_A1_T23.js
@@ -16,13 +16,16 @@ description: >
the correct exception
---*/
-//CHECK#1
try {
throw new Test262Error('#1.1: /[b-G\\d]/.exec("a") throw SyntaxError. Actual: ' + (new RegExp("[b-G\\d]").exec("a")));
} catch (e) {
- if((e instanceof SyntaxError) !== true){
- throw new Test262Error('#1.2: /[b-G\\d]/.exec("a") throw SyntaxError. Actual: ' + (e));
- }
+ assert.sameValue(
+ e instanceof SyntaxError,
+ true,
+ 'The result of evaluating (e instanceof SyntaxError) is expected to be true'
+ );
}
+// TODO: Convert to assert.throws() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.15_A1_T24.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.15_A1_T24.js
index 8cf4bfe8144f..705b88d66b31 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.15_A1_T24.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.15_A1_T24.js
@@ -16,13 +16,16 @@ description: >
the correct exception
---*/
-//CHECK#1
try {
throw new Test262Error('#1.1: /[b-G\\D]/.exec("a") throw SyntaxError. Actual: ' + (new RegExp("[b-G\\D]").exec("a")));
} catch (e) {
- if((e instanceof SyntaxError) !== true){
- throw new Test262Error('#1.2: /[b-G\\D]/.exec("a") throw SyntaxError. Actual: ' + (e));
- }
+ assert.sameValue(
+ e instanceof SyntaxError,
+ true,
+ 'The result of evaluating (e instanceof SyntaxError) is expected to be true'
+ );
}
+// TODO: Convert to assert.throws() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.15_A1_T25.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.15_A1_T25.js
index 67c44c6d49c2..89adf8be03c2 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.15_A1_T25.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.15_A1_T25.js
@@ -16,13 +16,16 @@ description: >
the correct exception
---*/
-//CHECK#1
try {
throw new Test262Error('#1.1: /[b-G\\s]/.exec("a") throw SyntaxError. Actual: ' + (new RegExp("[b-G\\s]").exec("a")));
} catch (e) {
- if((e instanceof SyntaxError) !== true){
- throw new Test262Error('#1.2: /[b-G\\s]/.exec("a") throw SyntaxError. Actual: ' + (e));
- }
+ assert.sameValue(
+ e instanceof SyntaxError,
+ true,
+ 'The result of evaluating (e instanceof SyntaxError) is expected to be true'
+ );
}
+// TODO: Convert to assert.throws() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.15_A1_T26.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.15_A1_T26.js
index e94fd04f9de5..a7c25bf6864d 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.15_A1_T26.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.15_A1_T26.js
@@ -16,13 +16,16 @@ description: >
the correct exception
---*/
-//CHECK#1
try {
throw new Test262Error('#1.1: /[b-G\\S]/.exec("a") throw SyntaxError. Actual: ' + (new RegExp("[b-G\\S]").exec("a")));
} catch (e) {
- if((e instanceof SyntaxError) !== true){
- throw new Test262Error('#1.2: /[b-G\\S]/.exec("a") throw SyntaxError. Actual: ' + (e));
- }
+ assert.sameValue(
+ e instanceof SyntaxError,
+ true,
+ 'The result of evaluating (e instanceof SyntaxError) is expected to be true'
+ );
}
+// TODO: Convert to assert.throws() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.15_A1_T27.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.15_A1_T27.js
index bc3cbafc0b10..5c4186280a9c 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.15_A1_T27.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.15_A1_T27.js
@@ -16,13 +16,16 @@ description: >
the correct exception
---*/
-//CHECK#1
try {
throw new Test262Error('#1.1: /[b-G\\w]/.exec("a") throw SyntaxError. Actual: ' + (new RegExp("[b-G\\w]").exec("a")));
} catch (e) {
- if((e instanceof SyntaxError) !== true){
- throw new Test262Error('#1.2: /[b-G\\w]/.exec("a") throw SyntaxError. Actual: ' + (e));
- }
+ assert.sameValue(
+ e instanceof SyntaxError,
+ true,
+ 'The result of evaluating (e instanceof SyntaxError) is expected to be true'
+ );
}
+// TODO: Convert to assert.throws() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.15_A1_T28.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.15_A1_T28.js
index 1da63d357afa..07ae0e85f9f1 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.15_A1_T28.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.15_A1_T28.js
@@ -16,13 +16,16 @@ description: >
the correct exception
---*/
-//CHECK#1
try {
throw new Test262Error('#1.1: /[b-G\\W]/.exec("a") throw SyntaxError. Actual: ' + (new RegExp("[b-G\\W]").exec("a")));
} catch (e) {
- if((e instanceof SyntaxError) !== true){
- throw new Test262Error('#1.2: /[b-G\\W]/.exec("a") throw SyntaxError. Actual: ' + (e));
- }
+ assert.sameValue(
+ e instanceof SyntaxError,
+ true,
+ 'The result of evaluating (e instanceof SyntaxError) is expected to be true'
+ );
}
+// TODO: Convert to assert.throws() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.15_A1_T29.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.15_A1_T29.js
index b00d6a732e54..0d14d5df0227 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.15_A1_T29.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.15_A1_T29.js
@@ -16,13 +16,16 @@ description: >
the correct exception
---*/
-//CHECK#1
try {
throw new Test262Error('#1.1: /[b-G\\0]/.exec("a") throw SyntaxError. Actual: ' + (new RegExp("[b-G\\0]").exec("a")));
} catch (e) {
- if((e instanceof SyntaxError) !== true){
- throw new Test262Error('#1.2: /[b-G\\0]/.exec("a") throw SyntaxError. Actual: ' + (e));
- }
+ assert.sameValue(
+ e instanceof SyntaxError,
+ true,
+ 'The result of evaluating (e instanceof SyntaxError) is expected to be true'
+ );
}
+// TODO: Convert to assert.throws() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.15_A1_T3.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.15_A1_T3.js
index 446a518fab0a..8c3d9e8b6666 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.15_A1_T3.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.15_A1_T3.js
@@ -16,13 +16,16 @@ description: >
the correct exception
---*/
-//CHECK#1
try {
throw new Test262Error('#1.1: /[\\db-G]/.exec("a") throw SyntaxError. Actual: ' + (new RegExp("[\\db-G]").exec("a")));
} catch (e) {
- if((e instanceof SyntaxError) !== true){
- throw new Test262Error('#1.2: /[\\db-G]/.exec("a") throw SyntaxError. Actual: ' + (e));
- }
+ assert.sameValue(
+ e instanceof SyntaxError,
+ true,
+ 'The result of evaluating (e instanceof SyntaxError) is expected to be true'
+ );
}
+// TODO: Convert to assert.throws() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.15_A1_T30.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.15_A1_T30.js
index 66b1b28b9182..32219f1133a5 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.15_A1_T30.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.15_A1_T30.js
@@ -16,13 +16,16 @@ description: >
the correct exception
---*/
-//CHECK#1
try {
throw new Test262Error('#1.1: /[b-G\\10]/.exec("a") throw SyntaxError. Actual: ' + (new RegExp("[b-G\\10]").exec("a")));
} catch (e) {
- if((e instanceof SyntaxError) !== true){
- throw new Test262Error('#1.2: /[b-G\\10]/.exec("a") throw SyntaxError. Actual: ' + (e));
- }
+ assert.sameValue(
+ e instanceof SyntaxError,
+ true,
+ 'The result of evaluating (e instanceof SyntaxError) is expected to be true'
+ );
}
+// TODO: Convert to assert.throws() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.15_A1_T31.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.15_A1_T31.js
index 0ef5287cf5eb..a7280a204c34 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.15_A1_T31.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.15_A1_T31.js
@@ -16,13 +16,16 @@ description: >
the correct exception
---*/
-//CHECK#1
try {
throw new Test262Error('#1.1: /[d-G\\b]/.exec("a") throw SyntaxError. Actual: ' + (new RegExp("[d-G\\b]").exec("a")));
} catch (e) {
- if((e instanceof SyntaxError) !== true){
- throw new Test262Error('#1.2: /[d-G\\b]/.exec("a") throw SyntaxError. Actual: ' + (e));
- }
+ assert.sameValue(
+ e instanceof SyntaxError,
+ true,
+ 'The result of evaluating (e instanceof SyntaxError) is expected to be true'
+ );
}
+// TODO: Convert to assert.throws() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.15_A1_T32.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.15_A1_T32.js
index 1e842d0d2a77..47805bf1b34e 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.15_A1_T32.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.15_A1_T32.js
@@ -16,13 +16,16 @@ description: >
the correct exception
---*/
-//CHECK#1
try {
throw new Test262Error('#1.1: /[d-G\\B]/.exec("a") throw SyntaxError. Actual: ' + (new RegExp("[d-G\\B]").exec("a")));
} catch (e) {
- if((e instanceof SyntaxError) !== true){
- throw new Test262Error('#1.2: /[d-G\\B]/.exec("a") throw SyntaxError. Actual: ' + (e));
- }
+ assert.sameValue(
+ e instanceof SyntaxError,
+ true,
+ 'The result of evaluating (e instanceof SyntaxError) is expected to be true'
+ );
}
+// TODO: Convert to assert.throws() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.15_A1_T33.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.15_A1_T33.js
index e0ffb4b86eb8..d2c55d0a7906 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.15_A1_T33.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.15_A1_T33.js
@@ -16,13 +16,16 @@ description: >
the correct exception
---*/
-//CHECK#1
try {
throw new Test262Error('#1.1: /[d-G\\t]/.exec("a") throw SyntaxError. Actual: ' + (new RegExp("[d-G\\t]").exec("a")));
} catch (e) {
- if((e instanceof SyntaxError) !== true){
- throw new Test262Error('#1.2: /[d-G\\t]/.exec("a") throw SyntaxError. Actual: ' + (e));
- }
+ assert.sameValue(
+ e instanceof SyntaxError,
+ true,
+ 'The result of evaluating (e instanceof SyntaxError) is expected to be true'
+ );
}
+// TODO: Convert to assert.throws() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.15_A1_T34.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.15_A1_T34.js
index 9261e7c68e09..51d8cb00d0f9 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.15_A1_T34.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.15_A1_T34.js
@@ -16,13 +16,16 @@ description: >
the correct exception
---*/
-//CHECK#1
try {
throw new Test262Error('#1.1: /[d-G\\n]/.exec("a") throw SyntaxError. Actual: ' + (new RegExp("[d-G\\n]").exec("a")));
} catch (e) {
- if((e instanceof SyntaxError) !== true){
- throw new Test262Error('#1.2: /[d-G\\n]/.exec("a") throw SyntaxError. Actual: ' + (e));
- }
+ assert.sameValue(
+ e instanceof SyntaxError,
+ true,
+ 'The result of evaluating (e instanceof SyntaxError) is expected to be true'
+ );
}
+// TODO: Convert to assert.throws() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.15_A1_T35.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.15_A1_T35.js
index a0f711b37508..f89adc57b008 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.15_A1_T35.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.15_A1_T35.js
@@ -16,13 +16,16 @@ description: >
the correct exception
---*/
-//CHECK#1
try {
throw new Test262Error('#1.1: /[d-G\\v]/.exec("a") throw SyntaxError. Actual: ' + (new RegExp("[d-G\\v]").exec("a")));
} catch (e) {
- if((e instanceof SyntaxError) !== true){
- throw new Test262Error('#1.2: /[d-G\\v]/.exec("a") throw SyntaxError. Actual: ' + (e));
- }
+ assert.sameValue(
+ e instanceof SyntaxError,
+ true,
+ 'The result of evaluating (e instanceof SyntaxError) is expected to be true'
+ );
}
+// TODO: Convert to assert.throws() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.15_A1_T36.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.15_A1_T36.js
index 70ada582067a..8234169341dd 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.15_A1_T36.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.15_A1_T36.js
@@ -16,13 +16,16 @@ description: >
the correct exception
---*/
-//CHECK#1
try {
throw new Test262Error('#1.1: /[d-G\\f]/.exec("a") throw SyntaxError. Actual: ' + (new RegExp("[d-G\\f]").exec("a")));
} catch (e) {
- if((e instanceof SyntaxError) !== true){
- throw new Test262Error('#1.2: /[d-G\\f]/.exec("a") throw SyntaxError. Actual: ' + (e));
- }
+ assert.sameValue(
+ e instanceof SyntaxError,
+ true,
+ 'The result of evaluating (e instanceof SyntaxError) is expected to be true'
+ );
}
+// TODO: Convert to assert.throws() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.15_A1_T37.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.15_A1_T37.js
index 54423536c9fd..84660c66333e 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.15_A1_T37.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.15_A1_T37.js
@@ -16,13 +16,16 @@ description: >
the correct exception
---*/
-//CHECK#1
try {
throw new Test262Error('#1.1: /[d-G\\r]/.exec("a") throw SyntaxError. Actual: ' + (new RegExp("[d-G\\r]").exec("a")));
} catch (e) {
- if((e instanceof SyntaxError) !== true){
- throw new Test262Error('#1.2: /[d-G\\r]/.exec("a") throw SyntaxError. Actual: ' + (e));
- }
+ assert.sameValue(
+ e instanceof SyntaxError,
+ true,
+ 'The result of evaluating (e instanceof SyntaxError) is expected to be true'
+ );
}
+// TODO: Convert to assert.throws() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.15_A1_T38.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.15_A1_T38.js
index 0cc2719aa61f..9bc2fd2c0ebf 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.15_A1_T38.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.15_A1_T38.js
@@ -16,13 +16,16 @@ description: >
throwing the correct exception
---*/
-//CHECK#1
try {
throw new Test262Error('#1.1: /[d-G\\c0001]/.exec("1") throw SyntaxError. Actual: ' + (new RegExp("[d-G\\c0001]").exec("1")));
} catch (e) {
- if((e instanceof SyntaxError) !== true){
- throw new Test262Error('#1.2: /[d-G\\c0001]/.exec("1") throw SyntaxError. Actual: ' + (e));
- }
+ assert.sameValue(
+ e instanceof SyntaxError,
+ true,
+ 'The result of evaluating (e instanceof SyntaxError) is expected to be true'
+ );
}
+// TODO: Convert to assert.throws() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.15_A1_T39.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.15_A1_T39.js
index 003b8020c73f..7e9776e80f9e 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.15_A1_T39.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.15_A1_T39.js
@@ -16,13 +16,16 @@ description: >
throwing the correct exception
---*/
-//CHECK#1
try {
throw new Test262Error('#1.1: /[d-G\\x0061]/.exec("1") throw SyntaxError. Actual: ' + (new RegExp("[d-G\\x0061]").exec("1")));
} catch (e) {
- if((e instanceof SyntaxError) !== true){
- throw new Test262Error('#1.2: /[d-G\\x0061]/.exec("1") throw SyntaxError. Actual: ' + (e));
- }
+ assert.sameValue(
+ e instanceof SyntaxError,
+ true,
+ 'The result of evaluating (e instanceof SyntaxError) is expected to be true'
+ );
}
+// TODO: Convert to assert.throws() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.15_A1_T4.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.15_A1_T4.js
index d095011f2f0b..3d2f9c794012 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.15_A1_T4.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.15_A1_T4.js
@@ -16,13 +16,16 @@ description: >
the correct exception
---*/
-//CHECK#1
try {
throw new Test262Error('#1.1: /[\\Db-G]/.exec("a") throw SyntaxError. Actual: ' + (new RegExp("[\\Db-G]").exec("a")));
} catch (e) {
- if((e instanceof SyntaxError) !== true){
- throw new Test262Error('#1.2: /[\\Db-G]/.exec("a") throw SyntaxError. Actual: ' + (e));
- }
+ assert.sameValue(
+ e instanceof SyntaxError,
+ true,
+ 'The result of evaluating (e instanceof SyntaxError) is expected to be true'
+ );
}
+// TODO: Convert to assert.throws() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.15_A1_T40.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.15_A1_T40.js
index 16fcb79469e6..484e4f7a3e36 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.15_A1_T40.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.15_A1_T40.js
@@ -16,13 +16,16 @@ description: >
throwing the correct exception
---*/
-//CHECK#1
try {
throw new Test262Error('#1.1: /[d-G\\u0061]/.exec("a") throw SyntaxError. Actual: ' + (new RegExp("[d-G\\u0061]").exec("a")));
} catch (e) {
- if((e instanceof SyntaxError) !== true){
- throw new Test262Error('#1.2: /[d-G\\u0061]/.exec("a") throw SyntaxError. Actual: ' + (e));
- }
+ assert.sameValue(
+ e instanceof SyntaxError,
+ true,
+ 'The result of evaluating (e instanceof SyntaxError) is expected to be true'
+ );
}
+// TODO: Convert to assert.throws() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.15_A1_T41.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.15_A1_T41.js
index 5479ba24528b..b7602ed2d5fc 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.15_A1_T41.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.15_A1_T41.js
@@ -16,13 +16,16 @@ description: >
the correct exception
---*/
-//CHECK#1
try {
throw new Test262Error('#1.1: /[d-G\\a]/.exec("a") throw SyntaxError. Actual: ' + (new RegExp("[d-G\\a]").exec("a")));
} catch (e) {
- if((e instanceof SyntaxError) !== true){
- throw new Test262Error('#1.2: /[d-G\\a]/.exec("a") throw SyntaxError. Actual: ' + (e));
- }
+ assert.sameValue(
+ e instanceof SyntaxError,
+ true,
+ 'The result of evaluating (e instanceof SyntaxError) is expected to be true'
+ );
}
+// TODO: Convert to assert.throws() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.15_A1_T5.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.15_A1_T5.js
index 19d4fb08c84d..784c14f8e8b5 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.15_A1_T5.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.15_A1_T5.js
@@ -16,13 +16,16 @@ description: >
the correct exception
---*/
-//CHECK#1
try {
throw new Test262Error('#1.1: /[\\sb-G]/.exec("a") throw SyntaxError. Actual: ' + (new RegExp("[\\sb-G]").exec("a")));
} catch (e) {
- if((e instanceof SyntaxError) !== true){
- throw new Test262Error('#1.2: /[\\sb-G]/.exec("a") throw SyntaxError. Actual: ' + (e));
- }
+ assert.sameValue(
+ e instanceof SyntaxError,
+ true,
+ 'The result of evaluating (e instanceof SyntaxError) is expected to be true'
+ );
}
+// TODO: Convert to assert.throws() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.15_A1_T6.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.15_A1_T6.js
index 69b845fde74e..4e8925c196be 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.15_A1_T6.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.15_A1_T6.js
@@ -16,13 +16,16 @@ description: >
the correct exception
---*/
-//CHECK#1
try {
throw new Test262Error('#1.1: /[\\Sb-G]/.exec("a") throw SyntaxError. Actual: ' + (new RegExp("[\\Sb-G]").exec("a")));
} catch (e) {
- if((e instanceof SyntaxError) !== true){
- throw new Test262Error('#1.2: /[\\Sb-G]/.exec("a") throw SyntaxError. Actual: ' + (e));
- }
+ assert.sameValue(
+ e instanceof SyntaxError,
+ true,
+ 'The result of evaluating (e instanceof SyntaxError) is expected to be true'
+ );
}
+// TODO: Convert to assert.throws() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.15_A1_T7.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.15_A1_T7.js
index 12c3baf2c169..1a54c701d6ec 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.15_A1_T7.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.15_A1_T7.js
@@ -16,13 +16,16 @@ description: >
the correct exception
---*/
-//CHECK#1
try {
throw new Test262Error('#1.1: /[\\wb-G]/.exec("a") throw SyntaxError. Actual: ' + (new RegExp("[\\wb-G]").exec("a")));
} catch (e) {
- if((e instanceof SyntaxError) !== true){
- throw new Test262Error('#1.2: /[\\wb-G]/.exec("a") throw SyntaxError. Actual: ' + (e));
- }
+ assert.sameValue(
+ e instanceof SyntaxError,
+ true,
+ 'The result of evaluating (e instanceof SyntaxError) is expected to be true'
+ );
}
+// TODO: Convert to assert.throws() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.15_A1_T8.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.15_A1_T8.js
index 1405376d0e57..e11bce529c71 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.15_A1_T8.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.15_A1_T8.js
@@ -16,13 +16,16 @@ description: >
the correct exception
---*/
-//CHECK#1
try {
throw new Test262Error('#1.1: /[\\Wb-G]/.exec("a") throw SyntaxError. Actual: ' + (new RegExp("[\\Wb-G]").exec("a")));
} catch (e) {
- if((e instanceof SyntaxError) !== true){
- throw new Test262Error('#1.2: /[\\Wb-G]/.exec("a") throw SyntaxError. Actual: ' + (e));
- }
+ assert.sameValue(
+ e instanceof SyntaxError,
+ true,
+ 'The result of evaluating (e instanceof SyntaxError) is expected to be true'
+ );
}
+// TODO: Convert to assert.throws() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.15_A1_T9.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.15_A1_T9.js
index f7f5ea889d48..cc05a2123dfe 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.15_A1_T9.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.15_A1_T9.js
@@ -16,13 +16,16 @@ description: >
the correct exception
---*/
-//CHECK#1
try {
throw new Test262Error('#1.1: /[\\0b-G]/.exec("a") throw SyntaxError. Actual: ' + (new RegExp("[\\0b-G]").exec("a")));
} catch (e) {
- if((e instanceof SyntaxError) !== true){
- throw new Test262Error('#1.2: /[\\0b-G]/.exec("a") throw SyntaxError. Actual: ' + (e));
- }
+ assert.sameValue(
+ e instanceof SyntaxError,
+ true,
+ 'The result of evaluating (e instanceof SyntaxError) is expected to be true'
+ );
}
+// TODO: Convert to assert.throws() format.
+
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.3_A1_T1.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.3_A1_T1.js
index baf13355b2d6..b1a3d5728bec 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.3_A1_T1.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.3_A1_T1.js
@@ -16,26 +16,30 @@ var __expected = ["a"];
__expected.index = 0;
__expected.input = "abc";
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __executed = /a|ab/.exec("abc"); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __executed = /a|ab/.exec("abc"); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __executed = /a|ab/.exec("abc"); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __executed = /a|ab/.exec("abc"); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.3_A1_T10.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.3_A1_T10.js
index 7080222f0c26..eedbe81f06fa 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.3_A1_T10.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.3_A1_T10.js
@@ -16,26 +16,30 @@ var __expected = ["eF"];
__expected.index = 3;
__expected.input = "AEKeFCDab";
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __executed = /(?:ab|cd)+|ef/i.exec("AEKeFCDab"); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __executed = /(?:ab|cd)+|ef/i.exec("AEKeFCDab"); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __executed = /(?:ab|cd)+|ef/i.exec("AEKeFCDab"); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __executed = /(?:ab|cd)+|ef/i.exec("AEKeFCDab"); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.3_A1_T11.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.3_A1_T11.js
index a98a0f04b8f7..67cce12424fc 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.3_A1_T11.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.3_A1_T11.js
@@ -16,26 +16,30 @@ var __expected = ["11111"];
__expected.index = 0;
__expected.input = "1111111111111111";
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __executed = /11111|111/.exec("1111111111111111"); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __executed = /11111|111/.exec("1111111111111111"); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __executed = /11111|111/.exec("1111111111111111"); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __executed = /11111|111/.exec("1111111111111111"); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.3_A1_T12.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.3_A1_T12.js
index f251884454c0..54834ab06f56 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.3_A1_T12.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.3_A1_T12.js
@@ -16,26 +16,30 @@ var __expected = ["abc"];
__expected.index = 0;
__expected.input = "abc";
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __executed = /xyz|.../.exec("abc"); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __executed = /xyz|.../.exec("abc"); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __executed = /xyz|.../.exec("abc"); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __executed = /xyz|.../.exec("abc"); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.3_A1_T13.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.3_A1_T13.js
index 48b4f6bddbe3..525d5ac02813 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.3_A1_T13.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.3_A1_T13.js
@@ -16,26 +16,30 @@ var __expected = ["abc","a"];
__expected.index = 0;
__expected.input = "abc";
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __executed = /(.)..|abc/.exec("abc"); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __executed = /(.)..|abc/.exec("abc"); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __executed = /(.)..|abc/.exec("abc"); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __executed = /(.)..|abc/.exec("abc"); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.3_A1_T14.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.3_A1_T14.js
index 763f66aa27ba..a758b725ab79 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.3_A1_T14.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.3_A1_T14.js
@@ -16,26 +16,30 @@ var __expected = ["color: grey","e"];
__expected.index = 0;
__expected.input = "color: grey";
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __executed = /.+: gr(a|e)y/.exec("color: grey"); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __executed = /.+: gr(a|e)y/.exec("color: grey"); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __executed = /.+: gr(a|e)y/.exec("color: grey"); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __executed = /.+: gr(a|e)y/.exec("color: grey"); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.3_A1_T15.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.3_A1_T15.js
index 307b271001eb..88f68b83e78e 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.3_A1_T15.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.3_A1_T15.js
@@ -18,26 +18,30 @@ var __expected = ["Bob",undefined,"Bob", undefined, undefined];
__expected.index = 3;
__expected.input = "Hi Bob";
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __executed = /(Rob)|(Bob)|(Robert)|(Bobby)/.exec("Hi Bob"); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __executed = /(Rob)|(Bob)|(Robert)|(Bobby)/.exec("Hi Bob"); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __executed = /(Rob)|(Bob)|(Robert)|(Bobby)/.exec("Hi Bob"); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __executed = /(Rob)|(Bob)|(Robert)|(Bobby)/.exec("Hi Bob"); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.3_A1_T16.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.3_A1_T16.js
index 887469647f21..500d24ed4538 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.3_A1_T16.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.3_A1_T16.js
@@ -16,26 +16,30 @@ var __expected = ["",""];
__expected.index = 0;
__expected.input = "";
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __executed = /()|/.exec(""); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __executed = /()|/.exec(""); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __executed = /()|/.exec(""); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __executed = /()|/.exec(""); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.3_A1_T17.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.3_A1_T17.js
index 6ac7e2b94dff..4780213347d9 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.3_A1_T17.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.3_A1_T17.js
@@ -16,26 +16,30 @@ var __expected = ["",undefined];
__expected.index = 0;
__expected.input = "";
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __executed = /|()/.exec(""); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __executed = /|()/.exec(""); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __executed = /|()/.exec(""); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __executed = /|()/.exec(""); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.3_A1_T2.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.3_A1_T2.js
index a30323b5e5d5..e48da33a03dc 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.3_A1_T2.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.3_A1_T2.js
@@ -16,26 +16,30 @@ var __expected = ["abc", "a", "a", undefined, "bc", undefined, "bc"];
__expected.index = 0;
__expected.input = "abc";
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __executed = /((a)|(ab))((c)|(bc))/.exec("abc"); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __executed = /((a)|(ab))((c)|(bc))/.exec("abc"); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __executed = /((a)|(ab))((c)|(bc))/.exec("abc"); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __executed = /((a)|(ab))((c)|(bc))/.exec("abc"); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.3_A1_T3.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.3_A1_T3.js
index 48b2e9b54e7d..cc627d8c60f0 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.3_A1_T3.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.3_A1_T3.js
@@ -18,26 +18,30 @@ var __expected = ["cour"];
__expected.index = 13;
__expected.input = "2, 12 and of course repeat 12";
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __executed = /\\d{3}|[a-z]{4}/.exec("2, 12 and of course repeat 12"); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __executed = /\\d{3}|[a-z]{4}/.exec("2, 12 and of course repeat 12"); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __executed = /\\d{3}|[a-z]{4}/.exec("2, 12 and of course repeat 12"); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __executed = /\\d{3}|[a-z]{4}/.exec("2, 12 and of course repeat 12"); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.3_A1_T4.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.3_A1_T4.js
index 21d099597638..47827a040959 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.3_A1_T4.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.3_A1_T4.js
@@ -18,26 +18,30 @@ var __expected = ["234"];
__expected.index = 10;
__expected.input = "2, 12 and 234 AND of course repeat 12";
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __executed = /\\d{3}|[a-z]{4}/.exec("2, 12 and 234 AND of course repeat 12"); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __executed = /\\d{3}|[a-z]{4}/.exec("2, 12 and 234 AND of course repeat 12"); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __executed = /\\d{3}|[a-z]{4}/.exec("2, 12 and 234 AND of course repeat 12"); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __executed = /\\d{3}|[a-z]{4}/.exec("2, 12 and 234 AND of course repeat 12"); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.3_A1_T5.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.3_A1_T5.js
index cdf8b72a8e64..db7b6bc3f411 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.3_A1_T5.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.3_A1_T5.js
@@ -14,9 +14,6 @@ description: >
var __executed = /\d{3}|[a-z]{4}/.test("2, 12 and 23 AND 0.00.1");
-//CHECK#1
-if (__executed) {
- throw new Test262Error('#1: /\\d{3}|[a-z]{4}/.test("2, 12 and 23 AND 0.00.1") === false');
-}
+assert(!__executed, 'The value of !__executed is expected to be true');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.3_A1_T6.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.3_A1_T6.js
index b58343630ae7..dbc9adec6859 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.3_A1_T6.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.3_A1_T6.js
@@ -16,26 +16,30 @@ var __expected = ["CD"];
__expected.index = 4;
__expected.input = "AEKFCD";
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __executed = /ab|cd|ef/i.exec("AEKFCD"); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __executed = /ab|cd|ef/i.exec("AEKFCD"); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __executed = /ab|cd|ef/i.exec("AEKFCD"); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __executed = /ab|cd|ef/i.exec("AEKFCD"); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.3_A1_T7.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.3_A1_T7.js
index efb202e36264..4c239a847eac 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.3_A1_T7.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.3_A1_T7.js
@@ -12,9 +12,6 @@ description: Execute /ab|cd|ef/.test("AEKFCD") and check results
var __executed = /ab|cd|ef/.test("AEKFCD");
-//CHECK#1
-if (__executed) {
- throw new Test262Error('#1: /ab|cd|ef/.test("AEKFCD") === false');
-}
+assert(!__executed, 'The value of !__executed is expected to be true');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.3_A1_T8.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.3_A1_T8.js
index 1a3b54ed09cb..d8657663ea4c 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.3_A1_T8.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.3_A1_T8.js
@@ -16,26 +16,30 @@ var __expected = ["CD"];
__expected.index = 4;
__expected.input = "AEKFCD";
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __executed = /(?:ab|cd)+|ef/i.exec("AEKFCD"); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __executed = /(?:ab|cd)+|ef/i.exec("AEKFCD"); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __executed = /(?:ab|cd)+|ef/i.exec("AEKFCD"); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __executed = /(?:ab|cd)+|ef/i.exec("AEKFCD"); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.3_A1_T9.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.3_A1_T9.js
index 9a6b180fe782..58ff15a8c33d 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.3_A1_T9.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.3_A1_T9.js
@@ -16,26 +16,30 @@ var __expected = ["CDab"];
__expected.index = 4;
__expected.input = "AEKFCDab";
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __executed = /(?:ab|cd)+|ef/i.exec("AEKFCDab"); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __executed = /(?:ab|cd)+|ef/i.exec("AEKFCDab"); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __executed = /(?:ab|cd)+|ef/i.exec("AEKFCDab"); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __executed = /(?:ab|cd)+|ef/i.exec("AEKFCDab"); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.5_A1_T1.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.5_A1_T1.js
index 817f881ec413..dcb7f09d4365 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.5_A1_T1.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.5_A1_T1.js
@@ -15,26 +15,30 @@ var __expected = ["abcde"];
__expected.index = 0;
__expected.input = "abcdefghi";
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __executed = /a[a-z]{2,4}/.exec("abcdefghi"); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __executed = /a[a-z]{2,4}/.exec("abcdefghi"); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __executed = /a[a-z]{2,4}/.exec("abcdefghi"); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __executed = /a[a-z]{2,4}/.exec("abcdefghi"); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.5_A1_T2.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.5_A1_T2.js
index 0f91a8944642..3e881512284f 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.5_A1_T2.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.5_A1_T2.js
@@ -15,26 +15,30 @@ var __expected = ["abc"];
__expected.index = 0;
__expected.input = "abcdefghi";
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __executed = /a[a-z]{2,4}?/.exec("abcdefghi"); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __executed = /a[a-z]{2,4}?/.exec("abcdefghi"); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __executed = /a[a-z]{2,4}?/.exec("abcdefghi"); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __executed = /a[a-z]{2,4}?/.exec("abcdefghi"); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.5_A1_T3.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.5_A1_T3.js
index 8119e8849fa8..f395719dfc94 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.5_A1_T3.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.5_A1_T3.js
@@ -15,26 +15,30 @@ var __expected = ["aaba", "ba"];
__expected.index = 0;
__expected.input = "aabaac";
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __executed = /(aa|aabaac|ba|b|c)*/.exec("aabaac"); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __executed = /(aa|aabaac|ba|b|c)*/.exec("aabaac"); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __executed = /(aa|aabaac|ba|b|c)*/.exec("aabaac"); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __executed = /(aa|aabaac|ba|b|c)*/.exec("aabaac"); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.5_A1_T4.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.5_A1_T4.js
index f66300c8bbbc..e3ef4d864036 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.5_A1_T4.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.5_A1_T4.js
@@ -15,26 +15,30 @@ var __expected = ["zaacbbbcac", "z", "ac", "a", undefined, "c"];
__expected.index = 0;
__expected.input = "zaacbbbcac";
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __executed = /(z)((a+)?(b+)?(c))*/.exec("zaacbbbcac"); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __executed = /(z)((a+)?(b+)?(c))*/.exec("zaacbbbcac"); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __executed = /(z)((a+)?(b+)?(c))*/.exec("zaacbbbcac"); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __executed = /(z)((a+)?(b+)?(c))*/.exec("zaacbbbcac"); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.5_A1_T5.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.5_A1_T5.js
index 3520e1f5bb59..2ffe40efd299 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.5_A1_T5.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.5_A1_T5.js
@@ -15,26 +15,30 @@ var __expected = ["b", ""];
__expected.index = 0;
__expected.input = "baaaac";
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __executed = /(a*)b\\1+/.exec("baaaac"); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __executed = /(a*)b\\1+/.exec("baaaac"); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __executed = /(a*)b\\1+/.exec("baaaac"); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __executed = /(a*)b\\1+/.exec("baaaac"); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.6_A1_T1.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.6_A1_T1.js
index be8d2d944bd8..3ba6f1a88088 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.6_A1_T1.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.6_A1_T1.js
@@ -11,9 +11,6 @@ description: Execute /s$/.test("pairs\nmakes\tdouble") and check results
var __executed = /s$/.test("pairs\nmakes\tdouble");
-//CHECK#1
-if (__executed) {
- throw new Test262Error('#1: /s$/.test("pairs\\nmakes\\tdouble") === false');
-}
+assert(!__executed, 'The value of !__executed is expected to be true');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.6_A1_T2.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.6_A1_T2.js
index c8852626058b..d314d096bb9c 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.6_A1_T2.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.6_A1_T2.js
@@ -15,26 +15,30 @@ var __expected = ["e"];
__expected.index = 17;
__expected.input = "pairs\nmakes\tdouble";
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __executed = /e$/.exec("pairs\\nmakes\\tdouble"); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __executed = /e$/.exec("pairs\\nmakes\\tdouble"); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __executed = /e$/.exec("pairs\\nmakes\\tdouble"); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __executed = /e$/.exec("pairs\\nmakes\\tdouble"); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.6_A1_T3.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.6_A1_T3.js
index ff290c3eb52a..16dee376404a 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.6_A1_T3.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.6_A1_T3.js
@@ -15,26 +15,30 @@ var __expected = ["s"];
__expected.index = 4;
__expected.input = "pairs\nmakes\tdouble";
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __executed = /s$/m.exec("pairs\\nmakes\\tdouble"); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __executed = /s$/m.exec("pairs\\nmakes\\tdouble"); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __executed = /s$/m.exec("pairs\\nmakes\\tdouble"); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __executed = /s$/m.exec("pairs\\nmakes\\tdouble"); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.6_A1_T4.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.6_A1_T4.js
index 2d49953e141d..34109058e1dd 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.6_A1_T4.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.6_A1_T4.js
@@ -15,26 +15,30 @@ var __expected = ["s"];
__expected.index = 4;
__expected.input = "pairs\nmakes\tdouble";
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __executed = /[^e]$/mg.exec("pairs\\nmakes\\tdouble"); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __executed = /[^e]$/mg.exec("pairs\\nmakes\\tdouble"); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __executed = /[^e]$/mg.exec("pairs\\nmakes\\tdouble"); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __executed = /[^e]$/mg.exec("pairs\\nmakes\\tdouble"); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.6_A1_T5.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.6_A1_T5.js
index b4588b4bffa0..da6610d97aee 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.6_A1_T5.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.6_A1_T5.js
@@ -17,26 +17,30 @@ var __expected = ["es"];
__expected.index = 17;
__expected.input = "pairs\nmakes\tdoubles";
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __executed = /es$/mg.exec("pairs\\nmakes\\tdoubl\\u0065s"); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __executed = /es$/mg.exec("pairs\\nmakes\\tdoubl\\u0065s"); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __executed = /es$/mg.exec("pairs\\nmakes\\tdoubl\\u0065s"); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __executed = /es$/mg.exec("pairs\\nmakes\\tdoubl\\u0065s"); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.6_A2_T1.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.6_A2_T1.js
index 0c94b920e312..8af0b6fe9abe 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.6_A2_T1.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.6_A2_T1.js
@@ -11,9 +11,6 @@ description: Execute /^m/.test("pairs\nmakes\tdouble") and check results
var __executed = /^m/.test("pairs\nmakes\tdouble");
-//CHECK#1
-if (__executed) {
- throw new Test262Error('#1: /^m/.test("pairs\\nmakes\\tdouble") === false');
-}
+assert(!__executed, 'The value of !__executed is expected to be true');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.6_A2_T10.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.6_A2_T10.js
index 6a6cdd34574c..b8d18b59c1b4 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.6_A2_T10.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.6_A2_T10.js
@@ -15,26 +15,30 @@ var __expected = ["123"];
__expected.index = 4;
__expected.input = "abc\n123xyz";
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __executed = /^\\d+/m.exec("abc\\n123xyz"); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __executed = /^\\d+/m.exec("abc\\n123xyz"); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __executed = /^\\d+/m.exec("abc\\n123xyz"); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __executed = /^\\d+/m.exec("abc\\n123xyz"); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.6_A2_T2.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.6_A2_T2.js
index d435b125bfd2..a9884c5c508c 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.6_A2_T2.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.6_A2_T2.js
@@ -15,26 +15,30 @@ var __expected = ["m"];
__expected.index = 6;
__expected.input = "pairs\nmakes\tdouble";
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __executed = /^m/m.exec("pairs\\nmakes\\tdouble"); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __executed = /^m/m.exec("pairs\\nmakes\\tdouble"); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __executed = /^m/m.exec("pairs\\nmakes\\tdouble"); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __executed = /^m/m.exec("pairs\\nmakes\\tdouble"); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.6_A2_T3.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.6_A2_T3.js
index a059d9255414..aeb06cccdb9b 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.6_A2_T3.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.6_A2_T3.js
@@ -17,26 +17,30 @@ var __expected = ["pa"];
__expected.index = 0;
__expected.input = "pairs\nmakes\tdouble\npesos";
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __executed = /^p[a-z]/.exec("pairs\\nmakes\\tdouble\\npesos"); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __executed = /^p[a-z]/.exec("pairs\\nmakes\\tdouble\\npesos"); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __executed = /^p[a-z]/.exec("pairs\\nmakes\\tdouble\\npesos"); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __executed = /^p[a-z]/.exec("pairs\\nmakes\\tdouble\\npesos"); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.6_A2_T4.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.6_A2_T4.js
index 7a9756d9b180..df304897e4c1 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.6_A2_T4.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.6_A2_T4.js
@@ -17,26 +17,30 @@ var __expected = ["pe"];
__expected.index = 19;
__expected.input = "pairs\nmakes\tdouble\npesos";
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __executed = /^p[b-z]/m.exec("pairs\\nmakes\\tdouble\\npesos"); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __executed = /^p[b-z]/m.exec("pairs\\nmakes\\tdouble\\npesos"); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __executed = /^p[b-z]/m.exec("pairs\\nmakes\\tdouble\\npesos"); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __executed = /^p[b-z]/m.exec("pairs\\nmakes\\tdouble\\npesos"); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.6_A2_T5.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.6_A2_T5.js
index bf912f521b25..546bf531a330 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.6_A2_T5.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.6_A2_T5.js
@@ -17,26 +17,30 @@ var __expected = ["m"];
__expected.index = 6;
__expected.input = "pairs\nmakes\tdouble\npesos";
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __executed = /^[^p]/m.exec("pairs\\nmakes\\tdouble\\npesos"); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __executed = /^[^p]/m.exec("pairs\\nmakes\\tdouble\\npesos"); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __executed = /^[^p]/m.exec("pairs\\nmakes\\tdouble\\npesos"); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __executed = /^[^p]/m.exec("pairs\\nmakes\\tdouble\\npesos"); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.6_A2_T6.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.6_A2_T6.js
index af971ab49968..49e4ba2cc4a7 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.6_A2_T6.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.6_A2_T6.js
@@ -15,26 +15,30 @@ var __expected = ["ab"];
__expected.index = 0;
__expected.input = "abcde";
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __executed = /^ab/.exec("abcde"); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __executed = /^ab/.exec("abcde"); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __executed = /^ab/.exec("abcde"); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __executed = /^ab/.exec("abcde"); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.6_A2_T7.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.6_A2_T7.js
index 6e52c4805314..4d346246bc47 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.6_A2_T7.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.6_A2_T7.js
@@ -11,9 +11,6 @@ description: Execute /^..^e/.test("ab\ncde") and check results
var __executed = /^..^e/.test("ab\ncde");
-//CHECK#1
-if (__executed) {
- throw new Test262Error('#1: /^..^e/.test("ab\\ncde") === false');
-}
+assert(!__executed, 'The value of !__executed is expected to be true');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.6_A2_T8.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.6_A2_T8.js
index dae132c1b4b4..e56cf8b95776 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.6_A2_T8.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.6_A2_T8.js
@@ -11,9 +11,6 @@ description: Execute /^xxx/.test("yyyyy") and check results
var __executed = /^xxx/.test("yyyyy");
-//CHECK#1
-if (__executed) {
- throw new Test262Error('#1: /^xxx/.test("yyyyy") === false');
-}
+assert(!__executed, 'The value of !__executed is expected to be true');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.6_A2_T9.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.6_A2_T9.js
index b8c89d6a47ee..6587eb1bbcb3 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.6_A2_T9.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.6_A2_T9.js
@@ -15,26 +15,30 @@ var __expected = ["^^^"];
__expected.index = 0;
__expected.input = "^^^x";
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __executed = /^\\^+/.exec("^^^x"); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __executed = /^\\^+/.exec("^^^x"); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __executed = /^\\^+/.exec("^^^x"); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __executed = /^\\^+/.exec("^^^x"); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.6_A3_T1.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.6_A3_T1.js
index 08d7547d557f..9b50a149cfa7 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.6_A3_T1.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.6_A3_T1.js
@@ -17,26 +17,30 @@ var __expected = ["p"];
__expected.index = 0;
__expected.input = "pilot\nsoviet robot\topenoffice";
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __executed = /\\bp/.exec("pilot\\nsoviet robot\\topenoffice"); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __executed = /\\bp/.exec("pilot\\nsoviet robot\\topenoffice"); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __executed = /\\bp/.exec("pilot\\nsoviet robot\\topenoffice"); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __executed = /\\bp/.exec("pilot\\nsoviet robot\\topenoffice"); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.6_A3_T10.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.6_A3_T10.js
index deb21ca73b52..873b729522b9 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.6_A3_T10.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.6_A3_T10.js
@@ -17,26 +17,30 @@ var __expected = ["robot"];
__expected.index = 13;
__expected.input = "pilot\nsoviet robot\topenoffice";
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __executed = /\\brobot\\b/.exec("pilot\\nsoviet robot\\topenoffice"); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __executed = /\\brobot\\b/.exec("pilot\\nsoviet robot\\topenoffice"); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __executed = /\\brobot\\b/.exec("pilot\\nsoviet robot\\topenoffice"); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __executed = /\\brobot\\b/.exec("pilot\\nsoviet robot\\topenoffice"); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.6_A3_T11.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.6_A3_T11.js
index 071d0cacf072..17e48b1d853b 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.6_A3_T11.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.6_A3_T11.js
@@ -17,26 +17,30 @@ var __expected = ["pilot"];
__expected.index = 0;
__expected.input = "pilot\nsoviet robot\topenoffice";
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __executed = /\\b\\w{5}\\b/.exec("pilot\\nsoviet robot\\topenoffice"); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __executed = /\\b\\w{5}\\b/.exec("pilot\\nsoviet robot\\topenoffice"); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __executed = /\\b\\w{5}\\b/.exec("pilot\\nsoviet robot\\topenoffice"); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __executed = /\\b\\w{5}\\b/.exec("pilot\\nsoviet robot\\topenoffice"); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.6_A3_T12.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.6_A3_T12.js
index b4ab14df9dc2..cfcde0a25735 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.6_A3_T12.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.6_A3_T12.js
@@ -17,26 +17,30 @@ var __expected = ["op"];
__expected.index = 19;
__expected.input = "pilot\nsoviet robot\topenoffice";
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __executed = /\\bop/.exec("pilot\\nsoviet robot\\topenoffice"); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __executed = /\\bop/.exec("pilot\\nsoviet robot\\topenoffice"); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __executed = /\\bop/.exec("pilot\\nsoviet robot\\topenoffice"); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __executed = /\\bop/.exec("pilot\\nsoviet robot\\topenoffice"); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.6_A3_T13.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.6_A3_T13.js
index e90cbbca11b4..ec17f59bc469 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.6_A3_T13.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.6_A3_T13.js
@@ -13,9 +13,6 @@ description: >
var __executed = /op\b/.test("pilot\nsoviet robot\topenoffice");
-//CHECK#1
-if (__executed) {
- throw new Test262Error('#1: /op\\b/.test("pilot\\nsoviet robot\\topenoffice") === false');
-}
+assert(!__executed, 'The value of !__executed is expected to be true');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.6_A3_T14.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.6_A3_T14.js
index d0f7d40b41fa..e899c72c1b47 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.6_A3_T14.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.6_A3_T14.js
@@ -17,26 +17,30 @@ var __expected = ["e"];
__expected.index = 28;
__expected.input = "pilot\nsoviet robot\topenoffice";
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __executed = /e\\b/.exec("pilot\\nsoviet robot\\topenoffic\\u0065"); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __executed = /e\\b/.exec("pilot\\nsoviet robot\\topenoffic\\u0065"); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __executed = /e\\b/.exec("pilot\\nsoviet robot\\topenoffic\\u0065"); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __executed = /e\\b/.exec("pilot\\nsoviet robot\\topenoffic\\u0065"); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.6_A3_T15.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.6_A3_T15.js
index 57503371c77f..9b450811e8ba 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.6_A3_T15.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.6_A3_T15.js
@@ -13,9 +13,6 @@ description: >
var __executed = /\be/.test("pilot\nsoviet robot\topenoffic\u0065");
-//CHECK#1
-if (__executed) {
- throw new Test262Error('#1: /\\be/.test("pilot\\nsoviet robot\\topenoffic\\u0065") === false');
-}
+assert(!__executed, 'The value of !__executed is expected to be true');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.6_A3_T2.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.6_A3_T2.js
index 077c4039730c..2c4bedaa6835 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.6_A3_T2.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.6_A3_T2.js
@@ -17,26 +17,30 @@ var __expected = ["ot"];
__expected.index = 3;
__expected.input = "pilot\nsoviet robot\topenoffice";
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __executed = /ot\\b/.exec("pilot\\nsoviet robot\\topenoffice"); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __executed = /ot\\b/.exec("pilot\\nsoviet robot\\topenoffice"); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __executed = /ot\\b/.exec("pilot\\nsoviet robot\\topenoffice"); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __executed = /ot\\b/.exec("pilot\\nsoviet robot\\topenoffice"); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.6_A3_T3.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.6_A3_T3.js
index 79a2db1f39c1..edb7b1a9f69d 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.6_A3_T3.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.6_A3_T3.js
@@ -13,9 +13,6 @@ description: >
var __executed = /\bot/.test("pilot\nsoviet robot\topenoffice");
-//CHECK#1
-if (__executed) {
- throw new Test262Error('#1: /\\bot/.test("pilot\\nsoviet robot\\topenoffice") === false');
-}
+assert(!__executed, 'The value of !__executed is expected to be true');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.6_A3_T4.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.6_A3_T4.js
index be3d0924f710..02cbed9dd02b 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.6_A3_T4.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.6_A3_T4.js
@@ -17,26 +17,30 @@ var __expected = ["so"];
__expected.index = 6;
__expected.input = "pilot\nsoviet robot\topenoffice";
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __executed = /\\bso/.exec("pilot\\nsoviet robot\\topenoffice"); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __executed = /\\bso/.exec("pilot\\nsoviet robot\\topenoffice"); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __executed = /\\bso/.exec("pilot\\nsoviet robot\\topenoffice"); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __executed = /\\bso/.exec("pilot\\nsoviet robot\\topenoffice"); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.6_A3_T5.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.6_A3_T5.js
index d9615852832d..de857fe73a20 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.6_A3_T5.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.6_A3_T5.js
@@ -13,9 +13,6 @@ description: >
var __executed = /so\b/.test("pilot\nsoviet robot\topenoffice");
-//CHECK#1
-if (__executed) {
- throw new Test262Error('#1: /so\\b/.test("pilot\\nsoviet robot\\topenoffice") === false');
-}
+assert(!__executed, 'The value of !__executed is expected to be true');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.6_A3_T6.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.6_A3_T6.js
index 18fe91ebb590..36c5708757e1 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.6_A3_T6.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.6_A3_T6.js
@@ -17,26 +17,30 @@ var __expected = ["Ot"];
__expected.index = 3;
__expected.input = "pilOt\nsoviet robot\topenoffice";
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __executed = /[^o]t\\b/.exec("pilOt\\nsoviet robot\\topenoffice"); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __executed = /[^o]t\\b/.exec("pilOt\\nsoviet robot\\topenoffice"); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __executed = /[^o]t\\b/.exec("pilOt\\nsoviet robot\\topenoffice"); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __executed = /[^o]t\\b/.exec("pilOt\\nsoviet robot\\topenoffice"); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.6_A3_T7.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.6_A3_T7.js
index 67890d4aeabc..ff918dfa2e75 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.6_A3_T7.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.6_A3_T7.js
@@ -17,26 +17,30 @@ var __expected = ["et"];
__expected.index = 10;
__expected.input = "pilOt\nsoviet robot\topenoffice";
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __executed = /[^o]t\\b/i.exec("pilOt\\nsoviet robot\\topenoffice"); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __executed = /[^o]t\\b/i.exec("pilOt\\nsoviet robot\\topenoffice"); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __executed = /[^o]t\\b/i.exec("pilOt\\nsoviet robot\\topenoffice"); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __executed = /[^o]t\\b/i.exec("pilOt\\nsoviet robot\\topenoffice"); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.6_A3_T8.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.6_A3_T8.js
index d9888a0af4a0..2a1cdb82cbf6 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.6_A3_T8.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.6_A3_T8.js
@@ -17,26 +17,30 @@ var __expected = ["ro"];
__expected.index = 13;
__expected.input = "pilot\nsoviet robot\topenoffice";
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __executed = /\\bro/.exec("pilot\\nsoviet robot\\topenoffice"); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __executed = /\\bro/.exec("pilot\\nsoviet robot\\topenoffice"); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __executed = /\\bro/.exec("pilot\\nsoviet robot\\topenoffice"); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __executed = /\\bro/.exec("pilot\\nsoviet robot\\topenoffice"); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.6_A3_T9.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.6_A3_T9.js
index cfe38bc71c76..98da926ed4d4 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.6_A3_T9.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.6_A3_T9.js
@@ -13,9 +13,6 @@ description: >
var __executed = /r\b/.test("pilot\nsoviet robot\topenoffice");
-//CHECK#1
-if (__executed) {
- throw new Test262Error('#1: /r\\b/.test("pilot\\nsoviet robot\\topenoffice") === false');
-}
+assert(!__executed, 'The value of !__executed is expected to be true');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.6_A4_T1.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.6_A4_T1.js
index 541536b82eb6..671488030654 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.6_A4_T1.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.6_A4_T1.js
@@ -17,26 +17,30 @@ var __expected = ["evil"];
__expected.index = 1;
__expected.input = "devils arise\tfor\nevil";
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __executed = /\\Bevil\\B/.exec("devils arise\\tfor\\nevil"); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __executed = /\\Bevil\\B/.exec("devils arise\\tfor\\nevil"); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __executed = /\\Bevil\\B/.exec("devils arise\\tfor\\nevil"); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __executed = /\\Bevil\\B/.exec("devils arise\\tfor\\nevil"); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.6_A4_T2.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.6_A4_T2.js
index 0e59ca34246e..19f5f976f479 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.6_A4_T2.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.6_A4_T2.js
@@ -17,26 +17,30 @@ var __expected = ["re"];
__expected.index = 17;
__expected.input = "devils arise\tfor\nrevil";
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __executed = /[f-z]e\\B/.exec("devils arise\\tfor\\nrevil"); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __executed = /[f-z]e\\B/.exec("devils arise\\tfor\\nrevil"); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __executed = /[f-z]e\\B/.exec("devils arise\\tfor\\nrevil"); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __executed = /[f-z]e\\B/.exec("devils arise\\tfor\\nrevil"); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.6_A4_T3.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.6_A4_T3.js
index d85f1e23fb6e..cb9b12e48410 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.6_A4_T3.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.6_A4_T3.js
@@ -15,26 +15,30 @@ var __expected = ["O"];
__expected.index = 14;
__expected.input = "devils arise\tfOr\nrevil";
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __executed = /\\Bo\\B/i.exec("devils arise\\tfOr\\nrevil"); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __executed = /\\Bo\\B/i.exec("devils arise\\tfOr\\nrevil"); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __executed = /\\Bo\\B/i.exec("devils arise\\tfOr\\nrevil"); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __executed = /\\Bo\\B/i.exec("devils arise\\tfOr\\nrevil"); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.6_A4_T4.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.6_A4_T4.js
index cbbf7a46d3b9..696fa8745a13 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.6_A4_T4.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.6_A4_T4.js
@@ -15,26 +15,30 @@ var __expected = ["e"];
__expected.index = 1;
__expected.input = "devils arise\tfor\nrevil";
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __executed = /\\B\\w\\B/.exec("devils arise\\tfor\\nrevil"); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __executed = /\\B\\w\\B/.exec("devils arise\\tfor\\nrevil"); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __executed = /\\B\\w\\B/.exec("devils arise\\tfor\\nrevil"); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __executed = /\\B\\w\\B/.exec("devils arise\\tfor\\nrevil"); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.6_A4_T5.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.6_A4_T5.js
index 00eb5b588805..68a46190c75f 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.6_A4_T5.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.6_A4_T5.js
@@ -15,26 +15,30 @@ var __expected = ["d"];
__expected.index = 0;
__expected.input = "devils arise\tfor\nrevil";
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __executed = /\\w\\B/.exec("devils arise\\tfor\\nrevil"); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __executed = /\\w\\B/.exec("devils arise\\tfor\\nrevil"); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __executed = /\\w\\B/.exec("devils arise\\tfor\\nrevil"); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __executed = /\\w\\B/.exec("devils arise\\tfor\\nrevil"); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.6_A4_T6.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.6_A4_T6.js
index dbe57cf83ee2..fef789b36705 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.6_A4_T6.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.6_A4_T6.js
@@ -15,26 +15,30 @@ var __expected = ["e"];
__expected.index = 1;
__expected.input = "devils arise\tfor\nrevil";
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __executed = /\\B\\w/.exec("devils arise\\tfor\\nrevil"); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __executed = /\\B\\w/.exec("devils arise\\tfor\\nrevil"); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __executed = /\\B\\w/.exec("devils arise\\tfor\\nrevil"); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __executed = /\\B\\w/.exec("devils arise\\tfor\\nrevil"); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.6_A4_T7.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.6_A4_T7.js
index 85366482d620..1da61dbe0689 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.6_A4_T7.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.6_A4_T7.js
@@ -17,26 +17,30 @@ var __expected = ["il a"];
__expected.index = 3;
__expected.input = "devil arise\tforzzx\nevils";
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __executed = /\B[^z]{4}\B/.exec("devil arise\\tforzzx\\nevils"); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __executed = /\B[^z]{4}\B/.exec("devil arise\\tforzzx\\nevils"); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __executed = /\B[^z]{4}\B/.exec("devil arise\\tforzzx\\nevils"); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __executed = /\B[^z]{4}\B/.exec("devil arise\\tforzzx\\nevils"); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.6_A4_T8.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.6_A4_T8.js
index 4a9ead8a486c..486eeac080cd 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.6_A4_T8.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.6_A4_T8.js
@@ -17,26 +17,30 @@ var __expected = ["orzz"];
__expected.index = 13;
__expected.input = "devil arise\tforzzx\nevils";
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __executed = /\\B\\w{4}\\B/.exec("devil arise\\tforzzx\\nevils"); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __executed = /\\B\\w{4}\\B/.exec("devil arise\\tforzzx\\nevils"); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __executed = /\\B\\w{4}\\B/.exec("devil arise\\tforzzx\\nevils"); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __executed = /\\B\\w{4}\\B/.exec("devil arise\\tforzzx\\nevils"); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.6_A5_T1.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.6_A5_T1.js
index 2845fcd1ab65..23b889928532 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.6_A5_T1.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.6_A5_T1.js
@@ -15,26 +15,30 @@ var __expected = ["robot"];
__expected.index = 0;
__expected.input = "robot";
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __executed = /^^^^^^^robot$$$$/.exec("robot"); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __executed = /^^^^^^^robot$$$$/.exec("robot"); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __executed = /^^^^^^^robot$$$$/.exec("robot"); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __executed = /^^^^^^^robot$$$$/.exec("robot"); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.6_A5_T2.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.6_A5_T2.js
index a02889e77fb7..75b64eb6c4f1 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.6_A5_T2.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.6_A5_T2.js
@@ -17,26 +17,30 @@ var __expected = ["bot"];
__expected.index = 2;
__expected.input = "robot wall-e";
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __executed = /\\B\\B\\B\\B\\B\\Bbot\\b\\b\\b\\b\\b\\b\\b/.exec("robot wall-e"); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __executed = /\\B\\B\\B\\B\\B\\Bbot\\b\\b\\b\\b\\b\\b\\b/.exec("robot wall-e"); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __executed = /\\B\\B\\B\\B\\B\\Bbot\\b\\b\\b\\b\\b\\b\\b/.exec("robot wall-e"); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __executed = /\\B\\B\\B\\B\\B\\Bbot\\b\\b\\b\\b\\b\\b\\b/.exec("robot wall-e"); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.6_A6_T1.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.6_A6_T1.js
index 58e119350ba5..0a20bbd8deda 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.6_A6_T1.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.6_A6_T1.js
@@ -15,26 +15,30 @@ var __expected = ["Hello World"];
__expected.index = 0;
__expected.input = "Hello World";
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __executed = /^.*?$/.exec("Hello World"); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __executed = /^.*?$/.exec("Hello World"); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __executed = /^.*?$/.exec("Hello World"); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __executed = /^.*?$/.exec("Hello World"); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.6_A6_T2.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.6_A6_T2.js
index 4d9a24053f67..0bbaf8cb71e6 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.6_A6_T2.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.6_A6_T2.js
@@ -13,26 +13,30 @@ var __expected = [""];
__expected.index = 0;
__expected.input = "Hello World";
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __executed = /^.*?/.exec("Hello World"); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __executed = /^.*?/.exec("Hello World"); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __executed = /^.*?/.exec("Hello World"); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __executed = /^.*?/.exec("Hello World"); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.6_A6_T3.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.6_A6_T3.js
index d7c5e72c7a3f..c7c25431ce38 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.6_A6_T3.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.6_A6_T3.js
@@ -13,26 +13,30 @@ var __expected = ["Hello:", ":"];
__expected.index = 0;
__expected.input = "Hello: World";
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __executed = /^.*?(:|$)/.exec("Hello: World"); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __executed = /^.*?(:|$)/.exec("Hello: World"); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __executed = /^.*?(:|$)/.exec("Hello: World"); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __executed = /^.*?(:|$)/.exec("Hello: World"); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.6_A6_T4.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.6_A6_T4.js
index 26b0bf3eacbd..8dbaa0ba089c 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.6_A6_T4.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.6_A6_T4.js
@@ -13,26 +13,30 @@ var __expected = ["Hello: World", ""];
__expected.index = 0;
__expected.input = "Hello: World";
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __executed = /^.*(:|$)/.exec("Hello: World"); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __executed = /^.*(:|$)/.exec("Hello: World"); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __executed = /^.*(:|$)/.exec("Hello: World"); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __executed = /^.*(:|$)/.exec("Hello: World"); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A1_T1.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A1_T1.js
index 39773d2536bc..e8072e7423fc 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A1_T1.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A1_T1.js
@@ -15,26 +15,30 @@ var __expected = ["42"];
__expected.index = 14;
__expected.input = "the answer is 42";
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __executed = /\\d{2,4}/.exec("the answer is 42"); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __executed = /\\d{2,4}/.exec("the answer is 42"); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __executed = /\\d{2,4}/.exec("the answer is 42"); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __executed = /\\d{2,4}/.exec("the answer is 42"); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A1_T10.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A1_T10.js
index 937f7d852770..10983028b7c8 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A1_T10.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A1_T10.js
@@ -15,26 +15,30 @@ var __expected = ["bbbbc"];
__expected.index = 3;
__expected.input = "aaabbbbcccddeeeefffff";
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __executed = /b{0,93}c/.exec("aaabbbbcccddeeeefffff"); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __executed = /b{0,93}c/.exec("aaabbbbcccddeeeefffff"); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __executed = /b{0,93}c/.exec("aaabbbbcccddeeeefffff"); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __executed = /b{0,93}c/.exec("aaabbbbcccddeeeefffff"); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A1_T11.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A1_T11.js
index 2d3fdf6901de..89a51c5b7637 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A1_T11.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A1_T11.js
@@ -15,26 +15,30 @@ var __expected = ["bc"];
__expected.index = 6;
__expected.input = "aaabbbbcccddeeeefffff";
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __executed = /bx{0,93}c/.exec("aaabbbbcccddeeeefffff"); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __executed = /bx{0,93}c/.exec("aaabbbbcccddeeeefffff"); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __executed = /bx{0,93}c/.exec("aaabbbbcccddeeeefffff"); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __executed = /bx{0,93}c/.exec("aaabbbbcccddeeeefffff"); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A1_T12.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A1_T12.js
index 136bc7e79b12..6f01e3945205 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A1_T12.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A1_T12.js
@@ -15,26 +15,30 @@ var __expected = ["weirwerdf"];
__expected.index = 0;
__expected.input = "weirwerdf";
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __executed = /.{0,93}/.exec("weirwerdf"); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __executed = /.{0,93}/.exec("weirwerdf"); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __executed = /.{0,93}/.exec("weirwerdf"); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __executed = /.{0,93}/.exec("weirwerdf"); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A1_T2.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A1_T2.js
index 42325346a491..9f57db24d3a7 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A1_T2.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A1_T2.js
@@ -11,9 +11,6 @@ description: Execute /\d{2,4}/.test("the 7 movie") and check results
var __executed = /\d{2,4}/.test("the 7 movie");
-//CHECK#1
-if (__executed) {
- throw new Test262Error('#1: /\\d{2,4}/.test("the 7 movie") === false');
-}
+assert(!__executed, 'The value of !__executed is expected to be true');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A1_T3.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A1_T3.js
index 2008a6b0e4db..bd101cb36e5e 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A1_T3.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A1_T3.js
@@ -17,26 +17,30 @@ var __expected = ["2000"];
__expected.index = 4;
__expected.input = "the 20000 Leagues Under the Sea book";
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __executed = /\\d{2,4}/.exec("the 20000 Leagues Under the Sea book"); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __executed = /\\d{2,4}/.exec("the 20000 Leagues Under the Sea book"); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __executed = /\\d{2,4}/.exec("the 20000 Leagues Under the Sea book"); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __executed = /\\d{2,4}/.exec("the 20000 Leagues Under the Sea book"); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A1_T4.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A1_T4.js
index 843ba6478332..f6fac80150ae 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A1_T4.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A1_T4.js
@@ -15,26 +15,30 @@ var __expected = ["451"];
__expected.index = 15;
__expected.input = "the Fahrenheit 451 book";
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __executed = /\\d{2,4}/.exec("the Fahrenheit 451 book"); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __executed = /\\d{2,4}/.exec("the Fahrenheit 451 book"); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __executed = /\\d{2,4}/.exec("the Fahrenheit 451 book"); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __executed = /\\d{2,4}/.exec("the Fahrenheit 451 book"); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A1_T5.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A1_T5.js
index 5f2969f82ec8..fa380832b645 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A1_T5.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A1_T5.js
@@ -15,26 +15,30 @@ var __expected = ["1984"];
__expected.index = 4;
__expected.input = "the 1984 novel";
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __executed = /\\d{2,4}/.exec("the 1984 novel"); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __executed = /\\d{2,4}/.exec("the 1984 novel"); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __executed = /\\d{2,4}/.exec("the 1984 novel"); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __executed = /\\d{2,4}/.exec("the 1984 novel"); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A1_T6.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A1_T6.js
index a554f862368e..1ea6f51f1100 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A1_T6.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A1_T6.js
@@ -15,26 +15,30 @@ var __expected = ["011"];
__expected.index = 2;
__expected.input = "0a011b";
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __executed = /\\d{2,4}/.exec("0a0\\u0031\\u0031b"); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __executed = /\\d{2,4}/.exec("0a0\\u0031\\u0031b"); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __executed = /\\d{2,4}/.exec("0a0\\u0031\\u0031b"); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __executed = /\\d{2,4}/.exec("0a0\\u0031\\u0031b"); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A1_T7.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A1_T7.js
index 0df33fe22a73..9c99440b792b 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A1_T7.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A1_T7.js
@@ -15,26 +15,30 @@ var __expected = ["0112"];
__expected.index = 2;
__expected.input = "0a01122b";
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __executed = /\\d{2,4}/.exec("0a0\\u0031\\u003122b"); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __executed = /\\d{2,4}/.exec("0a0\\u0031\\u003122b"); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __executed = /\\d{2,4}/.exec("0a0\\u0031\\u003122b"); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __executed = /\\d{2,4}/.exec("0a0\\u0031\\u003122b"); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A1_T8.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A1_T8.js
index 885ef19db71a..e0bb7ef12187 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A1_T8.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A1_T8.js
@@ -15,26 +15,30 @@ var __expected = ["bbbc"];
__expected.index = 4;
__expected.input = "aaabbbbcccddeeeefffff";
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __executed = /b{2,3}c/.exec("aaabbbbcccddeeeefffff"); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __executed = /b{2,3}c/.exec("aaabbbbcccddeeeefffff"); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __executed = /b{2,3}c/.exec("aaabbbbcccddeeeefffff"); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __executed = /b{2,3}c/.exec("aaabbbbcccddeeeefffff"); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A1_T9.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A1_T9.js
index e2f5aecd6106..a6fab5cedb7e 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A1_T9.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A1_T9.js
@@ -11,9 +11,6 @@ description: Execute /b{42,93}c/.exec("aaabbbbcccddeeeefffff") and check results
var __executed = /b{42,93}c/.test("aaabbbbcccddeeeefffff");
-//CHECK#1
-if (__executed) {
- throw new Test262Error('#1: /b{42,93}c/.test("aaabbbbcccddeeeefffff") === false');
-}
+assert(!__executed, 'The value of !__executed is expected to be true');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A2_T1.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A2_T1.js
index 385bcb2348c4..f44569d91be9 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A2_T1.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A2_T1.js
@@ -15,26 +15,30 @@ var __expected = ["box1"];
__expected.index = 5;
__expected.input = "CE\uFFFFL\uFFDDbox127";
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __executed = /\\w{3}\\d?/.exec("CE\\uFFFFL\\uFFDDbox127"); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __executed = /\\w{3}\\d?/.exec("CE\\uFFFFL\\uFFDDbox127"); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __executed = /\\w{3}\\d?/.exec("CE\\uFFFFL\\uFFDDbox127"); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __executed = /\\w{3}\\d?/.exec("CE\\uFFFFL\\uFFDDbox127"); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A2_T2.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A2_T2.js
index 5e65c71aeda2..c32caec3cb88 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A2_T2.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A2_T2.js
@@ -15,26 +15,30 @@ var __expected = ["CEL"];
__expected.index = 0;
__expected.input = "CELL\uFFDDbox127";
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __executed = /\\w{3}\\d?/.exec("CELL\\uFFDDbox127"); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __executed = /\\w{3}\\d?/.exec("CELL\\uFFDDbox127"); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __executed = /\\w{3}\\d?/.exec("CELL\\uFFDDbox127"); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __executed = /\\w{3}\\d?/.exec("CELL\\uFFDDbox127"); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A2_T3.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A2_T3.js
index dd05806fbb37..e54ef037854d 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A2_T3.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A2_T3.js
@@ -15,26 +15,30 @@ var __expected = ["bbc"];
__expected.index = 5;
__expected.input = "aaabbbbcccddeeeefffff";
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __executed = /b{2}c/.exec("aaabbbbcccddeeeefffff"); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __executed = /b{2}c/.exec("aaabbbbcccddeeeefffff"); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __executed = /b{2}c/.exec("aaabbbbcccddeeeefffff"); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __executed = /b{2}c/.exec("aaabbbbcccddeeeefffff"); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A2_T4.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A2_T4.js
index 2cc8b2ef1f57..e11162cc6ce4 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A2_T4.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A2_T4.js
@@ -11,9 +11,6 @@ description: Execute /b{8}c/.test("aaabbbbcccddeeeefffff") and check results
var __executed = /b{8}/.test("aaabbbbcccddeeeefffff");
-//CHECK#1
-if (__executed) {
- throw new Test262Error('#1: /b{8}/.test("aaabbbbcccddeeeefffff") === false');
-}
+assert(!__executed, 'The value of !__executed is expected to be true');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A3_T1.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A3_T1.js
index bb1ee3ae2fab..072d08131820 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A3_T1.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A3_T1.js
@@ -15,26 +15,30 @@ var __expected = [" java\n"];
__expected.index = 8;
__expected.input = "language java\n";
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __executed = /\\s+java\\s+/.exec("language java\\n"); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __executed = /\\s+java\\s+/.exec("language java\\n"); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __executed = /\\s+java\\s+/.exec("language java\\n"); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __executed = /\\s+java\\s+/.exec("language java\\n"); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A3_T10.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A3_T10.js
index b0996c6d6a0d..4315cc7f54e2 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A3_T10.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A3_T10.js
@@ -11,9 +11,6 @@ description: Execute /o+/.test("abcdefg") and check results
var __executed = /o+/.test("abcdefg");
-//CHECK#1
-if (__executed) {
- throw new Test262Error('#1: /o+/.test("abcdefg") === false');
-}
+assert(!__executed, 'The value of !__executed is expected to be true');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A3_T11.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A3_T11.js
index e36fa81c9942..c0f1d1ce9c27 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A3_T11.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A3_T11.js
@@ -15,26 +15,30 @@ var __expected = ["d"];
__expected.index = 3;
__expected.input = "abcdefg";
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __executed = /d+/.exec("abcdefg"); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __executed = /d+/.exec("abcdefg"); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __executed = /d+/.exec("abcdefg"); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __executed = /d+/.exec("abcdefg"); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A3_T12.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A3_T12.js
index d9aa1dae17e9..2e135ae15230 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A3_T12.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A3_T12.js
@@ -15,26 +15,30 @@ var __expected = ["bbbbbbb","bbbbb","b","b"];
__expected.index = 1;
__expected.input = "abbbbbbbc";
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __executed = /(b+)(b+)(b+)/.exec("abbbbbbbc"); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __executed = /(b+)(b+)(b+)/.exec("abbbbbbbc"); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __executed = /(b+)(b+)(b+)/.exec("abbbbbbbc"); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __executed = /(b+)(b+)(b+)/.exec("abbbbbbbc"); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A3_T13.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A3_T13.js
index 8cc580697801..551536266769 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A3_T13.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A3_T13.js
@@ -15,26 +15,30 @@ var __expected = ["bbbbbbb","bbbbbbb",""];
__expected.index = 1;
__expected.input = "abbbbbbbc";
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __executed = /(b+)(b*)/.exec("abbbbbbbc"); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __executed = /(b+)(b*)/.exec("abbbbbbbc"); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __executed = /(b+)(b*)/.exec("abbbbbbbc"); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __executed = /(b+)(b*)/.exec("abbbbbbbc"); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A3_T14.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A3_T14.js
index 4e85524e69dc..0b5fba3cc01e 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A3_T14.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A3_T14.js
@@ -15,26 +15,30 @@ var __expected = ["bbbbbbb"];
__expected.index = 1;
__expected.input = "abbbbbbbc";
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __executed = /b*b+/.exec("abbbbbbbc"); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __executed = /b*b+/.exec("abbbbbbbc"); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __executed = /b*b+/.exec("abbbbbbbc"); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __executed = /b*b+/.exec("abbbbbbbc"); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A3_T2.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A3_T2.js
index 6ca0fdbfb555..a39ca721cc68 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A3_T2.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A3_T2.js
@@ -15,26 +15,30 @@ var __expected = ["\t java "];
__expected.index = 0;
__expected.input = "\t java object";
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __executed = /\\s+java\\s+/.exec("\\t java object"); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __executed = /\\s+java\\s+/.exec("\\t java object"); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __executed = /\\s+java\\s+/.exec("\\t java object"); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __executed = /\\s+java\\s+/.exec("\\t java object"); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A3_T3.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A3_T3.js
index 5aca296d493d..1aeef1d1e57f 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A3_T3.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A3_T3.js
@@ -11,9 +11,6 @@ description: Execute /\s+java\s+/.test("\t javax package") and check results
var __executed = /\s+java\s+/.test("\t javax package");
-//CHECK#1
-if (__executed) {
- throw new Test262Error('#1: /\\s+java\\s+/.test("\\t javax package") === false');
-}
+assert(!__executed, 'The value of !__executed is expected to be true');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A3_T4.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A3_T4.js
index 4f84ce994eca..31a6563c491f 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A3_T4.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A3_T4.js
@@ -11,9 +11,6 @@ description: Execute /\s+java\s+/.test("java\n\nobject") and check results
var __executed = /\s+java\s+/.test("java\n\nobject");
-//CHECK#1
-if (__executed) {
- throw new Test262Error('#1: /\\s+java\\s+/.test("java\\n\\nobject") === false');
-}
+assert(!__executed, 'The value of !__executed is expected to be true');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A3_T5.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A3_T5.js
index 15551302374c..5470c8405626 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A3_T5.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A3_T5.js
@@ -17,26 +17,30 @@ var __expected = ["x2"];
__expected.index = 10;
__expected.input = "x 2 ff 55 x2 as1 z12 abc12.0";
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __executed = /[a-z]+\\d+/.exec("x 2 ff 55 x2 as1 z12 abc12.0"); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __executed = /[a-z]+\\d+/.exec("x 2 ff 55 x2 as1 z12 abc12.0"); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __executed = /[a-z]+\\d+/.exec("x 2 ff 55 x2 as1 z12 abc12.0"); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __executed = /[a-z]+\\d+/.exec("x 2 ff 55 x2 as1 z12 abc12.0"); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A3_T6.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A3_T6.js
index 9f8ff9820f2f..82fdad1ebb60 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A3_T6.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A3_T6.js
@@ -15,26 +15,30 @@ var __expected = ["abc123"];
__expected.index = 2;
__expected.input = "__abc123.0";
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __executed = /[a-z]+\\d+/.exec("__abc123.0"); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __executed = /[a-z]+\\d+/.exec("__abc123.0"); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __executed = /[a-z]+\\d+/.exec("__abc123.0"); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __executed = /[a-z]+\\d+/.exec("__abc123.0"); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A3_T7.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A3_T7.js
index 3e55d0ffd34c..5b40564801d1 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A3_T7.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A3_T7.js
@@ -17,26 +17,30 @@ var __expected = ["x2","2"];
__expected.index = 10;
__expected.input = "x 2 ff 55 x2 as1 z12 abc12.0";
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __executed = /[a-z]+(\\d+)/.exec("x 2 ff 55 x2 as1 z12 abc12.0"); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __executed = /[a-z]+(\\d+)/.exec("x 2 ff 55 x2 as1 z12 abc12.0"); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __executed = /[a-z]+(\\d+)/.exec("x 2 ff 55 x2 as1 z12 abc12.0"); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __executed = /[a-z]+(\\d+)/.exec("x 2 ff 55 x2 as1 z12 abc12.0"); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A3_T8.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A3_T8.js
index b4ab4e6bbf06..bac3261480d1 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A3_T8.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A3_T8.js
@@ -15,26 +15,30 @@ var __expected = ["abc123","123"];
__expected.index = 2;
__expected.input = "__abc123.0";
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __executed = /[a-z]+(\\d+)/.exec("__abc123.0"); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __executed = /[a-z]+(\\d+)/.exec("__abc123.0"); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __executed = /[a-z]+(\\d+)/.exec("__abc123.0"); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __executed = /[a-z]+(\\d+)/.exec("__abc123.0"); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A3_T9.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A3_T9.js
index f347ee11b65e..3b1079232385 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A3_T9.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A3_T9.js
@@ -15,26 +15,30 @@ var __expected = ["ddddd"];
__expected.index = 3;
__expected.input = "abcdddddefg";
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __executed = /d+/.exec("abcdddddefg"); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __executed = /d+/.exec("abcdddddefg"); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __executed = /d+/.exec("abcdddddefg"); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __executed = /d+/.exec("abcdddddefg"); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A4_T1.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A4_T1.js
index 2d451a8cf10a..f0cd20dee5e6 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A4_T1.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A4_T1.js
@@ -15,26 +15,30 @@ var __expected = [""];
__expected.index = 0;
__expected.input = '"beast"-nickname';
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __executed = /[^"]*/.exec(\'"beast"-nickname\'); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __executed = /[^"]*/.exec(\'"beast"-nickname\'); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __executed = /[^"]*/.exec(\'"beast"-nickname\'); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __executed = /[^"]*/.exec(\'"beast"-nickname\'); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A4_T10.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A4_T10.js
index 1588cd414c24..948d57a34844 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A4_T10.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A4_T10.js
@@ -15,26 +15,30 @@ var __expected = [""];
__expected.index = 0;
__expected.input = 'abcddddefg';
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __executed = /d*/.exec(\'abcddddefg\'); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __executed = /d*/.exec(\'abcddddefg\'); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __executed = /d*/.exec(\'abcddddefg\'); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __executed = /d*/.exec(\'abcddddefg\'); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A4_T11.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A4_T11.js
index 97e1692c8d36..b681718210a6 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A4_T11.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A4_T11.js
@@ -15,26 +15,30 @@ var __expected = ["cdddd"];
__expected.index = 2;
__expected.input = 'abcddddefg';
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __executed = /cd*/.exec(\'abcddddefg\'); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __executed = /cd*/.exec(\'abcddddefg\'); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __executed = /cd*/.exec(\'abcddddefg\'); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __executed = /cd*/.exec(\'abcddddefg\'); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A4_T12.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A4_T12.js
index 01fa409c0ddf..395efeb782c3 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A4_T12.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A4_T12.js
@@ -15,26 +15,30 @@ var __expected = ["cd"];
__expected.index = 2;
__expected.input = 'abcdefg';
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __executed = /cx*d/.exec(\'abcdefg\'); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __executed = /cx*d/.exec(\'abcdefg\'); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __executed = /cx*d/.exec(\'abcdefg\'); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __executed = /cx*d/.exec(\'abcdefg\'); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A4_T13.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A4_T13.js
index ff5a91d01014..3923e10ceafc 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A4_T13.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A4_T13.js
@@ -15,26 +15,30 @@ var __expected = ["xxxxxxx","xxxxxx","x"];
__expected.index = 0;
__expected.input = 'xxxxxxx';
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __executed = /(x*)(x+)/.exec(\'xxxxxxx\'); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __executed = /(x*)(x+)/.exec(\'xxxxxxx\'); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __executed = /(x*)(x+)/.exec(\'xxxxxxx\'); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __executed = /(x*)(x+)/.exec(\'xxxxxxx\'); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A4_T14.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A4_T14.js
index fbcce8bf5f65..b2c67150d20f 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A4_T14.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A4_T14.js
@@ -15,26 +15,30 @@ var __expected = ["1234567890","123456789","0"];
__expected.index = 0;
__expected.input = '1234567890';
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __executed = /(\\d*)(\\d+)/.exec(\'1234567890\'); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __executed = /(\\d*)(\\d+)/.exec(\'1234567890\'); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __executed = /(\\d*)(\\d+)/.exec(\'1234567890\'); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __executed = /(\\d*)(\\d+)/.exec(\'1234567890\'); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A4_T15.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A4_T15.js
index 21008b0196a8..17d1e7401182 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A4_T15.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A4_T15.js
@@ -15,26 +15,30 @@ var __expected = ["1234567890","12345678","0"];
__expected.index = 0;
__expected.input = '1234567890';
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __executed = /(\\d*)\\d(\\d+)/.exec(\'1234567890\'); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __executed = /(\\d*)\\d(\\d+)/.exec(\'1234567890\'); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __executed = /(\\d*)\\d(\\d+)/.exec(\'1234567890\'); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __executed = /(\\d*)\\d(\\d+)/.exec(\'1234567890\'); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A4_T16.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A4_T16.js
index 49a2a454900e..7a6fb47f5853 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A4_T16.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A4_T16.js
@@ -15,26 +15,30 @@ var __expected = ["xxxxxxx","xxxxxxx",""];
__expected.index = 0;
__expected.input = 'xxxxxxx';
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __executed = /(x+)(x*)/.exec(\'xxxxxxx\'); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __executed = /(x+)(x*)/.exec(\'xxxxxxx\'); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __executed = /(x+)(x*)/.exec(\'xxxxxxx\'); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __executed = /(x+)(x*)/.exec(\'xxxxxxx\'); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A4_T17.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A4_T17.js
index b5b6889c3f6d..3b101535fdd3 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A4_T17.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A4_T17.js
@@ -15,26 +15,30 @@ var __expected = ["xxxxxxyyyyyy"];
__expected.index = 0;
__expected.input = 'xxxxxxyyyyyy';
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __executed = /x*y+$/.exec(\'xxxxxxyyyyyy\'); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __executed = /x*y+$/.exec(\'xxxxxxyyyyyy\'); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __executed = /x*y+$/.exec(\'xxxxxxyyyyyy\'); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __executed = /x*y+$/.exec(\'xxxxxxyyyyyy\'); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A4_T18.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A4_T18.js
index fde8bccf1ee8..7a0bc65cde94 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A4_T18.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A4_T18.js
@@ -15,26 +15,30 @@ var __expected = ["bcd"];
__expected.index = 1;
__expected.input = 'abcdef';
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __executed = /[\\d]*[\\s]*bc./.exec(\'abcdef\'); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __executed = /[\\d]*[\\s]*bc./.exec(\'abcdef\'); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __executed = /[\\d]*[\\s]*bc./.exec(\'abcdef\'); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __executed = /[\\d]*[\\s]*bc./.exec(\'abcdef\'); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A4_T19.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A4_T19.js
index 1e51be8da063..602e50140adf 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A4_T19.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A4_T19.js
@@ -15,26 +15,30 @@ var __expected = ["bcde"];
__expected.index = 1;
__expected.input = 'abcdef';
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __executed = /bc..[\\d]*[\\s]*/.exec(\'abcdef\'); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __executed = /bc..[\\d]*[\\s]*/.exec(\'abcdef\'); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __executed = /bc..[\\d]*[\\s]*/.exec(\'abcdef\'); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __executed = /bc..[\\d]*[\\s]*/.exec(\'abcdef\'); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A4_T2.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A4_T2.js
index bcf492f846b0..58d918c35220 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A4_T2.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A4_T2.js
@@ -15,26 +15,30 @@ var __expected = ["alice said: "];
__expected.index = 0;
__expected.input = 'alice said: "don\'t"';
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __executed = /[^"]*/.exec(\'alice said: "don\'t"\'); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __executed = /[^"]*/.exec(\'alice said: "don\'t"\'); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __executed = /[^"]*/.exec(\'alice said: "don\'t"\'); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __executed = /[^"]*/.exec(\'alice said: "don\'t"\'); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A4_T20.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A4_T20.js
index 289b44f8d435..63b815f24f07 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A4_T20.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A4_T20.js
@@ -15,26 +15,30 @@ var __expected = ["a1b2c3"];
__expected.index = 0;
__expected.input = 'a1b2c3';
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __executed = /.*/.exec(\'a1b2c3\'); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __executed = /.*/.exec(\'a1b2c3\'); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __executed = /.*/.exec(\'a1b2c3\'); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __executed = /.*/.exec(\'a1b2c3\'); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A4_T21.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A4_T21.js
index f8a24ca6591c..cf968dbe01bd 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A4_T21.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A4_T21.js
@@ -11,9 +11,6 @@ description: Execute /[xyz]*1/.test('a0.b2.c3') and check results
var __executed = /[xyz]*1/.test('a0.b2.c3');
-//CHECK#1
-if (__executed) {
- throw new Test262Error('#1: /[xyz]*1/.test(\'a0.b2.c3\') === false');
-}
+assert(!__executed, 'The value of !__executed is expected to be true');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A4_T3.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A4_T3.js
index 4f13416b1eaf..52bacbcce1e5 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A4_T3.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A4_T3.js
@@ -15,26 +15,30 @@ var __expected = ["before\'i\'start"];
__expected.index = 0;
__expected.input = "before\'i\'start";
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __executed = /[^"]*/.exec("before\'i\'start"); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __executed = /[^"]*/.exec("before\'i\'start"); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __executed = /[^"]*/.exec("before\'i\'start"); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __executed = /[^"]*/.exec("before\'i\'start"); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A4_T4.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A4_T4.js
index 44bcefd20feb..2b5411872007 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A4_T4.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A4_T4.js
@@ -17,26 +17,30 @@ var __expected = ["alice "];
__expected.index = 0;
__expected.input = 'alice \"sweep\": "don\'t"';
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __executed = /[^"]*/.exec(\'alice \\"sweep\\": "don\'t"\'); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __executed = /[^"]*/.exec(\'alice \\"sweep\\": "don\'t"\'); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __executed = /[^"]*/.exec(\'alice \\"sweep\\": "don\'t"\'); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __executed = /[^"]*/.exec(\'alice \\"sweep\\": "don\'t"\'); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A4_T5.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A4_T5.js
index 07887399ae2c..23a729ff412e 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A4_T5.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A4_T5.js
@@ -17,26 +17,30 @@ var __expected = ["alice "];
__expected.index = 0;
__expected.input = 'alice "sweep": "don\'t"';
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __executed = /[^"]*/.exec(\'alice \\u0022sweep\\u0022: "don\'t"\'); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __executed = /[^"]*/.exec(\'alice \\u0022sweep\\u0022: "don\'t"\'); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __executed = /[^"]*/.exec(\'alice \\u0022sweep\\u0022: "don\'t"\'); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __executed = /[^"]*/.exec(\'alice \\u0022sweep\\u0022: "don\'t"\'); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A4_T6.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A4_T6.js
index 3b04f1895494..c4a1af3672b9 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A4_T6.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A4_T6.js
@@ -17,26 +17,30 @@ var __expected = ["\"sweep\""];
__expected.index = 6;
__expected.input = 'alice "sweep": "don\'t"';
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __executed = /["\'][^"\']*["\']/.exec(\'alice \\u0022sweep\\u0022: "don\'t"\'); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __executed = /["\'][^"\']*["\']/.exec(\'alice \\u0022sweep\\u0022: "don\'t"\'); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __executed = /["\'][^"\']*["\']/.exec(\'alice \\u0022sweep\\u0022: "don\'t"\'); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __executed = /["\'][^"\']*["\']/.exec(\'alice \\u0022sweep\\u0022: "don\'t"\'); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A4_T7.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A4_T7.js
index 081ab50a68bf..da460ae8c451 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A4_T7.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A4_T7.js
@@ -17,26 +17,30 @@ var __expected = ["\'don\'"];
__expected.index = 17;
__expected.input = 'alice cries out: \'don\'t\'';
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __executed = /["\'][^"\']*["\']/.exec(\'alice cries out: \'don\'t\'\'); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __executed = /["\'][^"\']*["\']/.exec(\'alice cries out: \'don\'t\'\'); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __executed = /["\'][^"\']*["\']/.exec(\'alice cries out: \'don\'t\'\'); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __executed = /["\'][^"\']*["\']/.exec(\'alice cries out: \'don\'t\'\'); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A4_T8.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A4_T8.js
index 3346c257bcbc..e8c14f6abcfa 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A4_T8.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A4_T8.js
@@ -13,9 +13,6 @@ description: >
var __executed = /["'][^"']*["']/.test('alice cries out: don\'t');
-//CHECK#1
-if (__executed) {
- throw new Test262Error('#1: /["\'][^"\']*["\']/.test(\'alice cries out: don\'t\') === false');
-}
+assert(!__executed, 'The value of !__executed is expected to be true');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A4_T9.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A4_T9.js
index ca58f58ba9bc..fe9bb0967960 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A4_T9.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A4_T9.js
@@ -17,26 +17,30 @@ var __expected = ['\"\"'];
__expected.index = 16;
__expected.input = 'alice cries out:\"\"';
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __executed = /["\'][^"\']*["\']/.exec(\'alice cries out:\\"\\"\'); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __executed = /["\'][^"\']*["\']/.exec(\'alice cries out:\\"\\"\'); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __executed = /["\'][^"\']*["\']/.exec(\'alice cries out:\\"\\"\'); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __executed = /["\'][^"\']*["\']/.exec(\'alice cries out:\\"\\"\'); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A5_T1.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A5_T1.js
index 37181c366552..5e3c767f9add 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A5_T1.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A5_T1.js
@@ -17,26 +17,30 @@ var __expected = ["javascript", "script"];
__expected.index = 7;
__expected.input = "state: javascript is extension of ecma script";
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __executed = /java(script)?/.exec("state: javascript is extension of ecma script"); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __executed = /java(script)?/.exec("state: javascript is extension of ecma script"); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __executed = /java(script)?/.exec("state: javascript is extension of ecma script"); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __executed = /java(script)?/.exec("state: javascript is extension of ecma script"); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A5_T10.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A5_T10.js
index 67cc610ea161..ef584ffdd523 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A5_T10.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A5_T10.js
@@ -15,26 +15,30 @@ var __expected = ["az"];
__expected.index = 3;
__expected.input = "123az789";
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __executed = /ab?c?d?x?y?z/.exec("123az789"); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __executed = /ab?c?d?x?y?z/.exec("123az789"); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __executed = /ab?c?d?x?y?z/.exec("123az789"); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __executed = /ab?c?d?x?y?z/.exec("123az789"); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A5_T11.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A5_T11.js
index 6aeb7a706a1a..ff6e848627dd 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A5_T11.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A5_T11.js
@@ -15,26 +15,30 @@ var __expected = ["?????"];
__expected.index = 0;
__expected.input = "?????";
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __executed = /\\??\\??\\??\\??\\??/.exec("?????"); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __executed = /\\??\\??\\??\\??\\??/.exec("?????"); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __executed = /\\??\\??\\??\\??\\??/.exec("?????"); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __executed = /\\??\\??\\??\\??\\??/.exec("?????"); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A5_T12.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A5_T12.js
index b9dd7a895c40..26ea7cf5f8eb 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A5_T12.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A5_T12.js
@@ -15,26 +15,30 @@ var __expected = ["test"];
__expected.index = 0;
__expected.input = "test";
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __executed = /.?.?.?.?.?.?.?/.exec("test"); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __executed = /.?.?.?.?.?.?.?/.exec("test"); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __executed = /.?.?.?.?.?.?.?/.exec("test"); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __executed = /.?.?.?.?.?.?.?/.exec("test"); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A5_T2.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A5_T2.js
index d1c68597be30..c564977263cc 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A5_T2.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A5_T2.js
@@ -17,26 +17,30 @@ var __expected = ["java", undefined];
__expected.index = 7;
__expected.input = "state: java and javascript are vastly different";
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __executed = /java(script)?/.exec("state: java and javascript are vastly different"); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __executed = /java(script)?/.exec("state: java and javascript are vastly different"); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __executed = /java(script)?/.exec("state: java and javascript are vastly different"); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __executed = /java(script)?/.exec("state: java and javascript are vastly different"); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A5_T3.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A5_T3.js
index e3f082df449c..e1ffbf274d50 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A5_T3.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A5_T3.js
@@ -13,9 +13,6 @@ description: >
var __executed = /java(script)?/.test("state: both Java and JavaScript used in web development");
-//CHECK#1
-if (__executed) {
- throw new Test262Error('#1: /java(script)?/.test("state: both Java and JavaScript used in web development") === false');
-}
+assert(!__executed, 'The value of !__executed is expected to be true');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A5_T4.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A5_T4.js
index 8a2f7d6a8ed0..2d92531837dd 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A5_T4.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A5_T4.js
@@ -15,26 +15,30 @@ var __expected = ["cde"];
__expected.index = 2;
__expected.input = "abcdef";
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __executed = /cd?e/.exec("abcdef"); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __executed = /cd?e/.exec("abcdef"); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __executed = /cd?e/.exec("abcdef"); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __executed = /cd?e/.exec("abcdef"); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A5_T5.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A5_T5.js
index 1977c2aeb7bc..e82cf268ec32 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A5_T5.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A5_T5.js
@@ -15,26 +15,30 @@ var __expected = ["cde"];
__expected.index = 2;
__expected.input = "abcdef";
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __executed = /cdx?e/.exec("abcdef"); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __executed = /cdx?e/.exec("abcdef"); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __executed = /cdx?e/.exec("abcdef"); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __executed = /cdx?e/.exec("abcdef"); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A5_T6.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A5_T6.js
index 45f948398b94..866129d5ca07 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A5_T6.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A5_T6.js
@@ -15,26 +15,30 @@ var __expected = ["pqrst"];
__expected.index = 0;
__expected.input = "pqrstuvw";
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __executed = /o?pqrst/.exec("pqrstuvw"); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __executed = /o?pqrst/.exec("pqrstuvw"); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __executed = /o?pqrst/.exec("pqrstuvw"); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __executed = /o?pqrst/.exec("pqrstuvw"); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A5_T7.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A5_T7.js
index 989a648bf821..2744ff1d60a2 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A5_T7.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A5_T7.js
@@ -15,26 +15,30 @@ var __expected = [""];
__expected.index = 0;
__expected.input = "abcd";
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __executed = /x?y?z?/.exec("abcd"); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __executed = /x?y?z?/.exec("abcd"); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __executed = /x?y?z?/.exec("abcd"); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __executed = /x?y?z?/.exec("abcd"); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A5_T8.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A5_T8.js
index ba6f8a779ad1..71981332795e 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A5_T8.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A5_T8.js
@@ -15,26 +15,30 @@ var __expected = ["abc"];
__expected.index = 0;
__expected.input = "abcd";
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __executed = /x?ay?bz?c/.exec("abcd"); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __executed = /x?ay?bz?c/.exec("abcd"); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __executed = /x?ay?bz?c/.exec("abcd"); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __executed = /x?ay?bz?c/.exec("abcd"); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A5_T9.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A5_T9.js
index 7f7481830183..400828d58389 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A5_T9.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A5_T9.js
@@ -15,26 +15,30 @@ var __expected = ["bbbb"];
__expected.index = 1;
__expected.input = "abbbbc";
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __executed = /b?b?b?b/.exec("abbbbc"); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __executed = /b?b?b?b/.exec("abbbbc"); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __executed = /b?b?b?b/.exec("abbbbc"); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __executed = /b?b?b?b/.exec("abbbbc"); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A6_T1.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A6_T1.js
index 047e465ae681..54c1647ee710 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A6_T1.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A6_T1.js
@@ -16,26 +16,30 @@ var __expected = ["bbbbc"];
__expected.index = 3;
__expected.input = "aaabbbbcccddeeeefffff";
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __executed = /b{2,}c/.exec("aaabbbbcccddeeeefffff"); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __executed = /b{2,}c/.exec("aaabbbbcccddeeeefffff"); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __executed = /b{2,}c/.exec("aaabbbbcccddeeeefffff"); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __executed = /b{2,}c/.exec("aaabbbbcccddeeeefffff"); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A6_T2.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A6_T2.js
index 6430ba27c24d..92975448cf6e 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A6_T2.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A6_T2.js
@@ -12,9 +12,6 @@ description: Execute /b{8,}c/.test("aaabbbbcccddeeeefffff") and check results
var __executed = /b{8,}c/.test("aaabbbbcccddeeeefffff");
-//CHECK#1
-if (__executed) {
- throw new Test262Error('#1: /b{8,}c/.test("aaabbbbcccddeeeefffff") === false');
-}
+assert(!__executed, 'The value of !__executed is expected to be true');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A6_T3.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A6_T3.js
index 2b59d18cc6a5..3262cab91e3d 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A6_T3.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A6_T3.js
@@ -16,26 +16,30 @@ var __expected = ["456646"];
__expected.index = 3;
__expected.input = "wqe456646dsff";
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __executed = /\\d{1,}/.exec("wqe456646dsff"); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __executed = /\\d{1,}/.exec("wqe456646dsff"); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __executed = /\\d{1,}/.exec("wqe456646dsff"); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __executed = /\\d{1,}/.exec("wqe456646dsff"); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A6_T4.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A6_T4.js
index a99ac16e7b09..fad3bca88bad 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A6_T4.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A6_T4.js
@@ -16,26 +16,30 @@ var __expected = ["123123","123"];
__expected.index = 0;
__expected.input = "123123";
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __executed = /(123){1,}/.exec("123123"); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __executed = /(123){1,}/.exec("123123"); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __executed = /(123){1,}/.exec("123123"); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __executed = /(123){1,}/.exec("123123"); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A6_T5.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A6_T5.js
index dd2d2fddd408..96fa2c7f7917 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A6_T5.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A6_T5.js
@@ -16,26 +16,30 @@ var __expected = ["123123x123","123"];
__expected.index = 0;
__expected.input = "123123x123";
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __executed = /(123){1,}x\\1/.exec("123123x123"); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __executed = /(123){1,}x\\1/.exec("123123x123"); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __executed = /(123){1,}x\\1\\/.exec("123123x123"); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __executed = /(123){1,}x\\1/.exec("123123x123"); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A6_T6.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A6_T6.js
index dd5ad9d8c9c2..32ede9c0a72c 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A6_T6.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.7_A6_T6.js
@@ -16,26 +16,30 @@ var __expected = ["xxxxxxx"];
__expected.index = 0;
__expected.input = "xxxxxxx";
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __executed = /x{1,2}x{1,}/.exec("xxxxxxx"); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __executed = /x{1,2}x{1,}/.exec("xxxxxxx"); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __executed = /x{1,2}x{1,}/.exec("xxxxxxx"); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __executed = /x{1,2}x{1,}/.exec("xxxxxxx"); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A1_T1.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A1_T1.js
index f329f9755956..29b1ff56af5d 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A1_T1.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A1_T1.js
@@ -16,26 +16,30 @@ var __expected = ["", "aaa"];
__expected.index = 1;
__expected.input = "baaabac";
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __executed = /(?=(a+))/.exec("baaabac"); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __executed = /(?=(a+))/.exec("baaabac"); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __executed = /(?=(a+))/.exec("baaabac"); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __executed = /(?=(a+))/.exec("baaabac"); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A1_T2.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A1_T2.js
index 67c153a65a9b..2b7bb21a440e 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A1_T2.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A1_T2.js
@@ -16,26 +16,30 @@ var __expected = ["aba", "a"];
__expected.index = 3;
__expected.input = "baaabac";
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __executed = /(?=(a+))a*b\\1/.exec("baaabac"); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __executed = /(?=(a+))a*b\\1/.exec("baaabac"); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __executed = /(?=(a+))a*b\\1/.exec("baaabac"); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __executed = /(?=(a+))a*b\\1/.exec("baaabac"); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A1_T3.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A1_T3.js
index 690d1d824a36..1c016971a675 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A1_T3.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A1_T3.js
@@ -18,26 +18,30 @@ var __expected = ["Javascript", "script"];
__expected.index = 5;
__expected.input = "just Javascript: the way af jedi";
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __executed = /[Jj]ava([Ss]cript)?(?=\\:)/.exec("just Javascript: the way af jedi"); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __executed = /[Jj]ava([Ss]cript)?(?=\\:)/.exec("just Javascript: the way af jedi"); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __executed = /[Jj]ava([Ss]cript)?(?=\\:)/.exec("just Javascript: the way af jedi"); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __executed = /[Jj]ava([Ss]cript)?(?=\\:)/.exec("just Javascript: the way af jedi"); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A1_T4.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A1_T4.js
index a460e7aba858..250f19027ca5 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A1_T4.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A1_T4.js
@@ -18,26 +18,30 @@ var __expected = ["java", undefined];
__expected.index = 9;
__expected.input = "taste of java: the cookbook ";
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __executed = /[Jj]ava([Ss]cript)?(?=\\:)/.exec("taste of java: the cookbook "); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __executed = /[Jj]ava([Ss]cript)?(?=\\:)/.exec("taste of java: the cookbook "); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __executed = /[Jj]ava([Ss]cript)?(?=\\:)/.exec("taste of java: the cookbook "); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __executed = /[Jj]ava([Ss]cript)?(?=\\:)/.exec("taste of java: the cookbook "); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A1_T5.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A1_T5.js
index 1a6d9ad563e6..411525199812 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A1_T5.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A1_T5.js
@@ -14,9 +14,6 @@ description: >
var __executed = /[Jj]ava([Ss]cript)?(?=\:)/.test("rhino is JavaScript engine");
-//CHECK#1
-if (__executed) {
- throw new Test262Error('#1: /[Jj]ava([Ss]cript)?(?=\\:)/.test("rhino is JavaScript engine") === false');
-}
+assert(!__executed, 'The value of !__executed is expected to be true');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A2_T1.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A2_T1.js
index 90dd912d388e..97af14fa673f 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A2_T1.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A2_T1.js
@@ -18,26 +18,30 @@ var __expected = ["baaabaac", "ba", undefined, "abaac"];
__expected.index = 0;
__expected.input = "baaabaac";
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __executed = /(.*?)a(?!(a+)b\\2c)\\2(.*)/.exec("baaabaac"); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __executed = /(.*?)a(?!(a+)b\\2c)\\2(.*)/.exec("baaabaac"); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __executed = /(.*?)a(?!(a+)b\\2c)\\2(.*)/.exec("baaabaac"); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __executed = /(.*?)a(?!(a+)b\\2c)\\2(.*)/.exec("baaabaac"); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A2_T10.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A2_T10.js
index d4de33bf8a27..4bf35f2a06e0 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A2_T10.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A2_T10.js
@@ -16,26 +16,30 @@ var __expected = [""];
__expected.index = 1;
__expected.input = "bc";
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __executed = /(?!a|b)|c/.exec("bc"); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __executed = /(?!a|b)|c/.exec("bc"); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __executed = /(?!a|b)|c/.exec("bc"); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __executed = /(?!a|b)|c/.exec("bc"); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A2_T11.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A2_T11.js
index c460334b2c0f..11ac98acbef8 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A2_T11.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A2_T11.js
@@ -16,26 +16,30 @@ var __expected = [""];
__expected.index = 0;
__expected.input = "d";
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __executed = /(?!a|b)|c/.exec("d"); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __executed = /(?!a|b)|c/.exec("d"); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __executed = /(?!a|b)|c/.exec("d"); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __executed = /(?!a|b)|c/.exec("d"); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A2_T2.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A2_T2.js
index 4fea491548df..d6b8b49fde92 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A2_T2.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A2_T2.js
@@ -18,26 +18,30 @@ var __expected = ["JavaBeans", "Beans"];
__expected.index = 9;
__expected.input = "using of JavaBeans technology";
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __executed = /Java(?!Script)([A-Z]\\w*)/.exec("using of JavaBeans technology"); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __executed = /Java(?!Script)([A-Z]\\w*)/.exec("using of JavaBeans technology"); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __executed = /Java(?!Script)([A-Z]\\w*)/.exec("using of JavaBeans technology"); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __executed = /Java(?!Script)([A-Z]\\w*)/.exec("using of JavaBeans technology"); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A2_T3.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A2_T3.js
index edf58da53752..79cc4000a9d2 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A2_T3.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A2_T3.js
@@ -14,9 +14,6 @@ description: >
var __executed = /Java(?!Script)([A-Z]\w*)/.test("using of Java language");
-//CHECK#1
-if (__executed) {
- throw new Test262Error('#1: /Java(?!Script)([A-Z]\\w*)/.test("using of Java language") === false');
-}
+assert(!__executed, 'The value of !__executed is expected to be true');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A2_T4.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A2_T4.js
index 02f275de3b21..1739ef884cbb 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A2_T4.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A2_T4.js
@@ -14,9 +14,6 @@ description: >
var __executed = /Java(?!Script)([A-Z]\w*)/.test("i'm a JavaScripter ");
-//CHECK#1
-if (__executed) {
- throw new Test262Error('#1: /Java(?!Script)([A-Z]\\w*)/.test("i\'m a JavaScripter ") === false');
-}
+assert(!__executed, 'The value of !__executed is expected to be true');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A2_T5.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A2_T5.js
index 38c242219775..19941de31198 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A2_T5.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A2_T5.js
@@ -18,26 +18,30 @@ var __expected = ["JavaScr", "Scr"];
__expected.index = 0;
__expected.input = "JavaScr oops ipt ";
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __executed = /Java(?!Script)([A-Z]\\w*)/.exec("JavaScr oops ipt "); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __executed = /Java(?!Script)([A-Z]\\w*)/.exec("JavaScr oops ipt "); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __executed = /Java(?!Script)([A-Z]\\w*)/.exec("JavaScr oops ipt "); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __executed = /Java(?!Script)([A-Z]\\w*)/.exec("JavaScr oops ipt "); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A2_T6.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A2_T6.js
index a6704cb076ba..6422a3f64176 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A2_T6.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A2_T6.js
@@ -16,26 +16,30 @@ var __expected = ['.', '.'];
__expected.index = 2;
__expected.input = "ah.info";
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __executed = /(\\.(?!com|org)|\\/)/.exec("ah.info"); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __executed = /(\\.(?!com|org)|\\/)/.exec("ah.info"); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __executed = /(\\.(?!com|org)|\\/)/.exec("ah.info"); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __executed = /(\\.(?!com|org)|\\/)/.exec("ah.info"); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A2_T7.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A2_T7.js
index 8941733be216..50a6ab57b107 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A2_T7.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A2_T7.js
@@ -16,26 +16,30 @@ var __expected = ['/', '/'];
__expected.index = 2;
__expected.input = "ah/info";
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __executed = /(\\.(?!com|org)|\\/)/.exec("ah/info"); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __executed = /(\\.(?!com|org)|\\/)/.exec("ah/info"); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __executed = /(\\.(?!com|org)|\\/)/.exec("ah/info"); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __executed = /(\\.(?!com|org)|\\/)/.exec("ah/info"); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A2_T8.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A2_T8.js
index 219fc2df473f..6ae39b2fd6c2 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A2_T8.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A2_T8.js
@@ -12,9 +12,6 @@ description: Execute /(\.(?!com|org)|\/)/.test("ah.com") and check results
var __executed = /(\.(?!com|org)|\/)/.test("ah.com");
-//CHECK#1
-if (__executed) {
- throw new Test262Error('#1: /(\\.(?!com|org)|\\/)/.test("ah.com") === false');
-}
+assert(!__executed, 'The value of !__executed is expected to be true');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A2_T9.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A2_T9.js
index 02c94ac11a5d..5450143ebddb 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A2_T9.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A2_T9.js
@@ -16,26 +16,30 @@ var __expected = [""];
__expected.index = 0;
__expected.input = "";
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __executed = /(?!a|b)|c/.exec(""); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __executed = /(?!a|b)|c/.exec(""); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __executed = /(?!a|b)|c/.exec(""); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __executed = /(?!a|b)|c/.exec(""); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A3_T1.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A3_T1.js
index 64f96f8c809d..cf6d753d7533 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A3_T1.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A3_T1.js
@@ -19,26 +19,30 @@ var __expected = ["javaScript is funny","javaScript","Script","funny"];
__expected.index = 9;
__expected.input = "Learning javaScript is funny, really";
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __executed = /([Jj]ava([Ss]cript)?)\\sis\\s(fun\\w*)/.exec("Learning javaScript is funny, really"); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __executed = /([Jj]ava([Ss]cript)?)\\sis\\s(fun\\w*)/.exec("Learning javaScript is funny, really"); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __executed = /([Jj]ava([Ss]cript)?)\\sis\\s(fun\\w*)/.exec("Learning javaScript is funny, really"); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __executed = /([Jj]ava([Ss]cript)?)\\sis\\s(fun\\w*)/.exec("Learning javaScript is funny, really"); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A3_T10.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A3_T10.js
index e5d2aff732f3..5277cdb72125 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A3_T10.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A3_T10.js
@@ -17,26 +17,30 @@ var __expected = ["123456123456","123","456"];
__expected.index = 0;
__expected.input = "123456123456";
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __executed = /(\\d{3})(\\d{3})\\1\\2/.exec("123456123456"); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __executed = /(\\d{3})(\\d{3})\\1\\2/.exec("123456123456"); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __executed = /(\\d{3})(\\d{3})\\1\\2/.exec("123456123456"); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __executed = /(\\d{3})(\\d{3})\\1\\2/.exec("123456123456"); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A3_T11.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A3_T11.js
index 7ad4ab9a22f7..8ef2996ce663 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A3_T11.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A3_T11.js
@@ -17,26 +17,30 @@ var __expected = ["abcdefg","bcdefg","de"];
__expected.index = 0;
__expected.input = "abcdefgh";
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __executed = /a(..(..)..)/.exec("abcdefgh"); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __executed = /a(..(..)..)/.exec("abcdefgh"); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __executed = /a(..(..)..)/.exec("abcdefgh"); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __executed = /a(..(..)..)/.exec("abcdefgh"); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A3_T12.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A3_T12.js
index 7b859da454eb..ecd890165932 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A3_T12.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A3_T12.js
@@ -17,26 +17,30 @@ var __expected = ["abcdef","abc","bc","c","def","ef","f"];
__expected.index = 1;
__expected.input = "xabcdefg";
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __executed = /(a(b(c)))(d(e(f)))/.exec("xabcdefg"); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __executed = /(a(b(c)))(d(e(f)))/.exec("xabcdefg"); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __executed = /(a(b(c)))(d(e(f)))/.exec("xabcdefg"); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __executed = /(a(b(c)))(d(e(f)))/.exec("xabcdefg"); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A3_T13.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A3_T13.js
index b10ddf4ade21..c16fe9f704a3 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A3_T13.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A3_T13.js
@@ -19,26 +19,30 @@ var __expected = ["abcdefbcef","abc","bc","c","def","ef","f"];
__expected.index = 1;
__expected.input = "xabcdefbcefg";
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __executed = /(a(b(c)))(d(e(f)))\\2\\5/.exec("xabcdefbcefg"); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __executed = /(a(b(c)))(d(e(f)))\\2\\5/.exec("xabcdefbcefg"); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __executed = /(a(b(c)))(d(e(f)))\\2\\5/.exec("xabcdefbcefg"); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __executed = /(a(b(c)))(d(e(f)))\\2\\5/.exec("xabcdefbcefg"); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A3_T14.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A3_T14.js
index f3ae85d3acb2..c0bfcf61277a 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A3_T14.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A3_T14.js
@@ -17,26 +17,30 @@ var __expected = ["abcd",""];
__expected.index = 0;
__expected.input = "abcd";
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __executed = /a(.?)b\\1c\\1d\\1/.exec("abcd"); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __executed = /a(.?)b\\1c\\1d\\1/.exec("abcd"); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __executed = /a(.?)b\\1c\\1d\\1/.exec("abcd"); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __executed = /a(.?)b\\1c\\1d\\1/.exec("abcd"); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A3_T15.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A3_T15.js
index fb89221b47cb..07133691c188 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A3_T15.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A3_T15.js
@@ -16,15 +16,15 @@ var __openParen = '(';
var __closeParen = ')';
var __pattern = '';
var numParens = 200;
-
+
for (var i=0; iKibology for all\nAll for Kibology
\n'
__expected.index = 7;
__expected.input = __html;
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __executed = /((.*\\n?)*?)<\\/body>/i.exec(__html); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __executed = /((.*\\n?)*?)<\\/body>/i.exec(__html); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __executed = /((.*\\n?)*?)<\\/body>/i.exec(__html); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __executed = /((.*\\n?)*?)<\\/body>/i.exec(__html); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A3_T18.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A3_T18.js
index f859c2a6ef94..d5a6abd51643 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A3_T18.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A3_T18.js
@@ -15,9 +15,6 @@ var __replaced = "To sign up click |here|https:www.xxxx.org/subscribe.htm|".repl
var __expected = 'To sign up click here';
-//CHECK#1
-if (__replaced !== __expected) {
- throw new Test262Error('#1: __replaced = "To sign up click |here|https:www.xxxx.org/subscribe.htm|".replace(/(\\|)([\\w\\x81-\\xff ]*)(\\|)([\\/a-z][\\w:\\/\\.]*\\.[a-z]{3,4})(\\|)/ig, \'$2\'); __replaced === ' + __expected + '. Actual: ' + __replaced);
-}
+assert.sameValue(__replaced, __expected, 'The value of __replaced is expected to equal the value of __expected');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A3_T19.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A3_T19.js
index 8e25d564f3b1..d4ceeb97496e 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A3_T19.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A3_T19.js
@@ -19,26 +19,30 @@ var __expected = ["Course_Creator = Test","Course_Creator",undefined];
__expected.index = 0;
__expected.input = "Course_Creator = Test";
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __executed = /([\\S]+([ \\t]+[\\S]+)*)[ \\t]*=[ \\t]*[\\S]+/.exec("Course_Creator = Test"); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __executed = /([\\S]+([ \\t]+[\\S]+)*)[ \\t]*=[ \\t]*[\\S]+/.exec("Course_Creator = Test"); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __executed = /([\\S]+([ \\t]+[\\S]+)*)[ \\t]*=[ \\t]*[\\S]+/.exec("Course_Creator = Test"); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __executed = /([\\S]+([ \\t]+[\\S]+)*)[ \\t]*=[ \\t]*[\\S]+/.exec("Course_Creator = Test"); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A3_T2.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A3_T2.js
index 5c421b0eb8d0..370a1abc2691 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A3_T2.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A3_T2.js
@@ -19,26 +19,30 @@ var __expected = ["Java is fun","Java",undefined,"fun"];
__expected.index = 16;
__expected.input = "Developing with Java is fun, try it";
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __executed = /([Jj]ava([Ss]cript)?)\\sis\\s(fun\\w*)/.exec("Developing with Java is fun, try it"); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __executed = /([Jj]ava([Ss]cript)?)\\sis\\s(fun\\w*)/.exec("Developing with Java is fun, try it"); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __executed = /([Jj]ava([Ss]cript)?)\\sis\\s(fun\\w*)/.exec("Developing with Java is fun, try it"); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __executed = /([Jj]ava([Ss]cript)?)\\sis\\s(fun\\w*)/.exec("Developing with Java is fun, try it"); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A3_T20.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A3_T20.js
index b81fbdbf32b2..71c30023d159 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A3_T20.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A3_T20.js
@@ -17,26 +17,30 @@ var __expected = ["AAA","A","AA"];
__expected.index = 0;
__expected.input = "AAA";
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __executed = /^(A)?(A.*)$/.exec("AAA"); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __executed = /^(A)?(A.*)$/.exec("AAA"); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __executed = /^(A)?(A.*)$/.exec("AAA"); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __executed = /^(A)?(A.*)$/.exec("AAA"); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A3_T21.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A3_T21.js
index 37e21a4ba5a4..0d4447f05485 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A3_T21.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A3_T21.js
@@ -17,26 +17,30 @@ var __expected = ["AA","A","A"];
__expected.index = 0;
__expected.input = "AA";
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __executed = /^(A)?(A.*)$/.exec("AA"); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __executed = /^(A)?(A.*)$/.exec("AA"); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __executed = /^(A)?(A.*)$/.exec("AA"); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __executed = /^(A)?(A.*)$/.exec("AA"); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A3_T22.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A3_T22.js
index 8fe19e712588..4f1c2aad1de2 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A3_T22.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A3_T22.js
@@ -17,26 +17,30 @@ var __expected = ["A",undefined,"A"];
__expected.index = 0;
__expected.input = "A";
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __executed = /^(A)?(A.*)$/.exec("A"); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __executed = /^(A)?(A.*)$/.exec("A"); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __executed = /^(A)?(A.*)$/.exec("A"); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __executed = /^(A)?(A.*)$/.exec("A"); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A3_T23.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A3_T23.js
index fb0556df1204..36fe0946a0c2 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A3_T23.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A3_T23.js
@@ -21,26 +21,30 @@ var __expected = ["AAAaaAAaaaf;lrlrzs","A","AAaaAAaaaf;lrlrzs"];
__expected.index = 13;
__expected.input = __string;
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __string = "zxcasd;fl\\\ ^AAAaaAAaaaf;lrlrzs"; __executed = /(A)?(A.*)/.exec(__string); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __string = "zxcasd;fl\\\ ^AAAaaAAaaaf;lrlrzs"; __executed = /(A)?(A.*)/.exec(__string); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __string = "zxcasd;fl\\\ ^AAAaaAAaaaf;lrlrzs"; __executed = /(A)?(A.*)/.exec(__string); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __string = "zxcasd;fl\\\ ^AAAaaAAaaaf;lrlrzs"; __executed = /(A)?(A.*)/.exec(__string); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A3_T24.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A3_T24.js
index 3f1f76a18193..f77fcd6d4bf3 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A3_T24.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A3_T24.js
@@ -21,26 +21,30 @@ var __expected = ["AAaaAAaaaf;lrlrzs","A","AaaAAaaaf;lrlrzs"];
__expected.index = 13;
__expected.input = __string;
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __string = "zxcasd;fl\\\ ^AAaaAAaaaf;lrlrzs"; __executed = /(A)?(A.*)/.exec(__string); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __string = "zxcasd;fl\\\ ^AAaaAAaaaf;lrlrzs"; __executed = /(A)?(A.*)/.exec(__string); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __string = "zxcasd;fl\\\ ^AAaaAAaaaf;lrlrzs"; __executed = /(A)?(A.*)/.exec(__string); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __string = "zxcasd;fl\\\ ^AAaaAAaaaf;lrlrzs"; __executed = /(A)?(A.*)/.exec(__string); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A3_T25.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A3_T25.js
index f1df4136c6d1..bb7309293bfc 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A3_T25.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A3_T25.js
@@ -21,26 +21,30 @@ var __expected = ["AaaAAaaaf;lrlrzs",undefined,"AaaAAaaaf;lrlrzs"];
__expected.index = 13;
__expected.input = __string;
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __string = "zxcasd;fl\\\ ^AaaAAaaaf;lrlrzs"; __executed = /(A)?(A.*)/.exec(__string); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __string = "zxcasd;fl\\\ ^AaaAAaaaf;lrlrzs"; __executed = /(A)?(A.*)/.exec(__string); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __string = "zxcasd;fl\\\ ^AaaAAaaaf;lrlrzs"; __executed = /(A)?(A.*)/.exec(__string); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __string = "zxcasd;fl\\\ ^AaaAAaaaf;lrlrzs"; __executed = /(A)?(A.*)/.exec(__string); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A3_T26.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A3_T26.js
index 9edf3318435b..f87e8e9421fb 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A3_T26.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A3_T26.js
@@ -19,26 +19,30 @@ var __expected = ["a",undefined];
__expected.index = 0;
__expected.input = __string;
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __string = "a"; __executed = /(a)?a/.exec(__string); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __string = "a"; __executed = /(a)?a/.exec(__string); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __string = "a"; __executed = /(a)?a/.exec(__string); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __string = "a"; __executed = /(a)?a/.exec(__string); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A3_T27.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A3_T27.js
index a63d54e35ac5..2cd86fb3e89a 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A3_T27.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A3_T27.js
@@ -19,26 +19,30 @@ var __expected = ["a",undefined];
__expected.index = 0;
__expected.input = __string;
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __string = "a"; __executed = /a|(b)/.exec(__string); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __string = "a"; __executed = /a|(b)/.exec(__string); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __string = "a"; __executed = /a|(b)/.exec(__string); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __string = "a"; __executed = /a|(b)/.exec(__string); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A3_T28.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A3_T28.js
index b2543bc9672a..08d6919c8aa2 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A3_T28.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A3_T28.js
@@ -19,26 +19,30 @@ var __expected = ['a', undefined, 'a'];
__expected.index = 0;
__expected.input = __string;
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __string = "a"; __executed = /(a)?(a)/.exec(__string); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __string = "a"; __executed = /(a)?(a)/.exec(__string); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __string = "a"; __executed = /(a)?(a)/.exec(__string); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __string = "a"; __executed = /(a)?(a)/.exec(__string); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A3_T29.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A3_T29.js
index e0e1fd1ee7a8..b0e0906fe1d8 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A3_T29.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A3_T29.js
@@ -19,26 +19,30 @@ var __expected = ['a', undefined];
__expected.index = 0;
__expected.input = __string;
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __string = "a"; __executed = /^([a-z]+)*[a-z]$/.exec(__string); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __string = "a"; __executed = /^([a-z]+)*[a-z]$/.exec(__string); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __string = "a"; __executed = /^([a-z]+)*[a-z]$/.exec(__string); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __string = "a"; __executed = /^([a-z]+)*[a-z]$/.exec(__string); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A3_T3.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A3_T3.js
index bdd00961eff2..2a8065a982d7 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A3_T3.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A3_T3.js
@@ -16,9 +16,6 @@ description: >
var __executed = /([Jj]ava([Ss]cript)?)\sis\s(fun\w*)/.test("Developing with JavaScript is dangerous, do not try it without assistance");
-//CHECK#1
-if (__executed) {
- throw new Test262Error('#1: /([Jj]ava([Ss]cript)?)\\sis\\s(fun\\w*)/.test("Developing with JavaScript is dangerous, do not try it without assistance") === false');
-}
+assert(!__executed, 'The value of !__executed is expected to be true');
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A3_T30.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A3_T30.js
index 61c13627d4a0..2eeccafe13c7 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A3_T30.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A3_T30.js
@@ -19,26 +19,30 @@ var __expected = ['ab', "a"];
__expected.index = 0;
__expected.input = __string;
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __string = "ab"; __executed = /^([a-z]+)*[a-z]$/.exec(__string); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __string = "ab"; __executed = /^([a-z]+)*[a-z]$/.exec(__string); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __string = "ab"; __executed = /^([a-z]+)*[a-z]$/.exec(__string); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __string = "ab"; __executed = /^([a-z]+)*[a-z]$/.exec(__string); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A3_T31.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A3_T31.js
index 8354167c9542..0ea67e654882 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A3_T31.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A3_T31.js
@@ -19,26 +19,30 @@ var __expected = ['abc', "ab"];
__expected.index = 0;
__expected.input = __string;
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __string = "abc"; __executed = /^([a-z]+)*[a-z]$/.exec(__string); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __string = "abc"; __executed = /^([a-z]+)*[a-z]$/.exec(__string); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __string = "abc"; __executed = /^([a-z]+)*[a-z]$/.exec(__string); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __string = "abc"; __executed = /^([a-z]+)*[a-z]$/.exec(__string); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A3_T32.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A3_T32.js
index 7e7c48280ee6..82df62b73211 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A3_T32.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A3_T32.js
@@ -19,26 +19,30 @@ var __expected = ['www.netscape.com', 'netscape.', 'netscap'];
__expected.index = 0;
__expected.input = __string;
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __string = "www.netscape.com"; __executed = /^(([a-z]+)*[a-z]\\.)+[a-z]{2,}$/.exec(__string); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __string = "www.netscape.com"; __executed = /^(([a-z]+)*[a-z]\\.)+[a-z]{2,}$/.exec(__string); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __string = "www.netscape.com"; __executed = /^(([a-z]+)*[a-z]\\.)+[a-z]{2,}$/.exec(__string); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __string = "www.netscape.com"; __executed = /^(([a-z]+)*[a-z]\\.)+[a-z]{2,}$/.exec(__string); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A3_T33.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A3_T33.js
index 699050404e8a..8d4c4ca701f2 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A3_T33.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A3_T33.js
@@ -19,26 +19,30 @@ var __expected = ['www.netscape.com', 'netscape.', 'netscap', 'e'];
__expected.index = 0;
__expected.input = __string;
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __string = "www.netscape.com"; __executed = /^(([a-z]+)*([a-z])\\.)+[a-z]{2,}$/.exec(__string); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __string = "www.netscape.com"; __executed = /^(([a-z]+)*([a-z])\\.)+[a-z]{2,}$/.exec(__string); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __string = "www.netscape.com"; __executed = /^(([a-z]+)*([a-z])\\.)+[a-z]{2,}$/.exec(__string); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __string = "www.netscape.com"; __executed = /^(([a-z]+)*([a-z])\\.)+[a-z]{2,}$/.exec(__string); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A3_T4.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A3_T4.js
index 221eb109b8f2..c5cc745c4400 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A3_T4.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A3_T4.js
@@ -17,26 +17,30 @@ var __expected = ["abc","abc"];
__expected.index = 0;
__expected.input = "abc";
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __executed = /(abc)/.exec("abc"); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __executed = /(abc)/.exec("abc"); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __executed = /(abc)/.exec("abc"); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __executed = /(abc)/.exec("abc"); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A3_T5.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A3_T5.js
index 4d8c999e0113..c7653979c385 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A3_T5.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A3_T5.js
@@ -17,26 +17,30 @@ var __expected = ["abcdefg","bc","ef"];
__expected.index = 0;
__expected.input = "abcdefg";
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __executed = /a(bc)d(ef)g/.exec("abcdefg"); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __executed = /a(bc)d(ef)g/.exec("abcdefg"); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __executed = /a(bc)d(ef)g/.exec("abcdefg"); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __executed = /a(bc)d(ef)g/.exec("abcdefg"); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A3_T6.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A3_T6.js
index 3fb01f1b5f3e..ef359a9be90b 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A3_T6.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A3_T6.js
@@ -17,26 +17,30 @@ var __expected = ["abcdefg","abc","defg"];
__expected.index = 0;
__expected.input = "abcdefgh";
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __executed = /(.{3})(.{4})/.exec("abcdefgh"); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __executed = /(.{3})(.{4})/.exec("abcdefgh"); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __executed = /(.{3})(.{4})/.exec("abcdefgh"); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __executed = /(.{3})(.{4})/.exec("abcdefgh"); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A3_T7.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A3_T7.js
index 5080ccc2565a..97ba72a59009 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A3_T7.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A3_T7.js
@@ -17,26 +17,30 @@ var __expected = ["aabcdaa","aa"];
__expected.index = 0;
__expected.input = "aabcdaabcd";
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __executed = /(aa)bcd\\1/.exec("aabcdaabcd"); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __executed = /(aa)bcd\\1/.exec("aabcdaabcd"); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __executed = /(aa)bcd\\1/.exec("aabcdaabcd"); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __executed = /(aa)bcd\\1/.exec("aabcdaabcd"); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A3_T8.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A3_T8.js
index 75e9b4b8b312..6432cbbec91d 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A3_T8.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A3_T8.js
@@ -17,26 +17,30 @@ var __expected = ["aabcdaa","aa"];
__expected.index = 0;
__expected.input = "aabcdaabcd";
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __executed = /(aa).+\\1/.exec("aabcdaabcd"); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __executed = /(aa).+\\1/.exec("aabcdaabcd"); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __executed = /(aa).+\\1/.exec("aabcdaabcd"); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __executed = /(aa).+\\1/.exec("aabcdaabcd"); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A3_T9.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A3_T9.js
index 2a1bf2f8d0b4..5d59ba7bdf78 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A3_T9.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A3_T9.js
@@ -17,26 +17,30 @@ var __expected = ["aabcdaa","aa"];
__expected.index = 0;
__expected.input = "aabcdaabcd";
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __executed = /(.{2}).+\\1/.exec("aabcdaabcd"); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __executed = /(.{2}).+\\1/.exec("aabcdaabcd"); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __executed = /(.{2}).+\\1/.exec("aabcdaabcd"); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __executed = /(.{2}).+\\1/.exec("aabcdaabcd"); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A4_T1.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A4_T1.js
index db0b50c77e2c..4553d6d26489 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A4_T1.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A4_T1.js
@@ -17,26 +17,30 @@ var __expected = ["abcde"];
__expected.index = 0;
__expected.input = __string;
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __string = "abcde"; __executed = /ab.de/.exec(__string); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __string = "abcde"; __executed = /ab.de/.exec(__string); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __string = "abcde"; __executed = /ab.de/.exec(__string); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __string = "abcde"; __executed = /ab.de/.exec(__string); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A4_T2.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A4_T2.js
index fec3edc1c397..d455db122670 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A4_T2.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A4_T2.js
@@ -17,26 +17,30 @@ var __expected = ["line 1"];
__expected.index = 0;
__expected.input = __string;
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __string = "line 1\nline 2"; __executed = /.+/.exec(__string); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __string = "line 1\nline 2"; __executed = /.+/.exec(__string); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __string = "line 1\nline 2"; __executed = /.+/.exec(__string); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __string = "line 1\nline 2"; __executed = /.+/.exec(__string); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A4_T3.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A4_T3.js
index 9ba86b46cc83..57a9cc0b9593 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A4_T3.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A4_T3.js
@@ -17,26 +17,30 @@ var __expected = ["this is a test"];
__expected.index = 0;
__expected.input = __string;
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __string = "this is a test"; __executed = /.*a.*/.exec(__string); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __string = "this is a test"; __executed = /.*a.*/.exec(__string); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __string = "this is a test"; __executed = /.*a.*/.exec(__string); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __string = "this is a test"; __executed = /.*a.*/.exec(__string); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A4_T4.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A4_T4.js
index e435f367ad5a..eb141a1878ce 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A4_T4.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A4_T4.js
@@ -17,26 +17,30 @@ var __expected = ["this is a *&^%$# test"];
__expected.index = 0;
__expected.input = __string;
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __string = "this is a *&^%$# test"; __executed = /.+/.exec(__string); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __string = "this is a *&^%$# test"; __executed = /.+/.exec(__string); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __string = "this is a *&^%$# test"; __executed = /.+/.exec(__string); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __string = "this is a *&^%$# test"; __executed = /.+/.exec(__string); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A4_T5.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A4_T5.js
index a39b25de0045..1beaa1ebad35 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A4_T5.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A4_T5.js
@@ -17,26 +17,30 @@ var __expected = ["...."];
__expected.index = 0;
__expected.input = __string;
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __string = "...."; __executed = /.+/.exec(__string); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __string = "...."; __executed = /.+/.exec(__string); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __string = "...."; __executed = /.+/.exec(__string); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __string = "...."; __executed = /.+/.exec(__string); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A4_T6.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A4_T6.js
index 5f2338b332d9..eaa7d66da164 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A4_T6.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A4_T6.js
@@ -17,26 +17,30 @@ var __expected = ["abcdefghijklmnopqrstuvwxyz"];
__expected.index = 0;
__expected.input = __string;
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __string = "abcdefghijklmnopqrstuvwxyz"; __executed = /.+/.exec(__string); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __string = "abcdefghijklmnopqrstuvwxyz"; __executed = /.+/.exec(__string); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __string = "abcdefghijklmnopqrstuvwxyz"; __executed = /.+/.exec(__string); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __string = "abcdefghijklmnopqrstuvwxyz"; __executed = /.+/.exec(__string); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A4_T7.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A4_T7.js
index 6b2355c7fdd8..227a1d577cbb 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A4_T7.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A4_T7.js
@@ -17,26 +17,30 @@ var __expected = ["ABCDEFGHIJKLMNOPQRSTUVWXYZ"];
__expected.index = 0;
__expected.input = __string;
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __string = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; __executed = /.+/.exec(__string); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __string = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; __executed = /.+/.exec(__string); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __string = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; __executed = /.+/.exec(__string); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __string = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; __executed = /.+/.exec(__string); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A4_T8.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A4_T8.js
index 7b4104087760..8b94b062d034 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A4_T8.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A4_T8.js
@@ -17,26 +17,30 @@ var __expected = ["`1234567890-=~!@#$%^&*()_+"];
__expected.index = 0;
__expected.input = __string;
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __string = "`1234567890-=~!@#$%^&*()_+"; __executed = /.+/.exec(__string); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __string = "`1234567890-=~!@#$%^&*()_+"; __executed = /.+/.exec(__string); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __string = "`1234567890-=~!@#$%^&*()_+"; __executed = /.+/.exec(__string); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __string = "`1234567890-=~!@#$%^&*()_+"; __executed = /.+/.exec(__string); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A4_T9.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A4_T9.js
index eb06ecc05aee..3b5060ff54fc 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A4_T9.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A4_T9.js
@@ -17,26 +17,30 @@ var __expected = ["|\\[{]};:\"\',<>.?/"];
__expected.index = 0;
__expected.input = __string;
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __string = "|\\[{]};:\"\',<>.?/"; __executed = /.+/.exec(__string); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __string = "|\\[{]};:\"\',<>.?/"; __executed = /.+/.exec(__string); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __string = "|\\[{]};:\"\',<>.?/"; __executed = /.+/.exec(__string); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __string = "|\\[{]};:\"\',<>.?/"; __executed = /.+/.exec(__string); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A5_T1.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A5_T1.js
index 0093360b7189..f68b8c0ff928 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A5_T1.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A5_T1.js
@@ -16,26 +16,30 @@ var __expected = ["ABC"];
__expected.index = 0;
__expected.input = __string;
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __string = "ABC def ghi"; __executed = /[a-z]+/ig.exec(__string); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __string = "ABC def ghi"; __executed = /[a-z]+/ig.exec(__string); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __string = "ABC def ghi"; __executed = /[a-z]+/ig.exec(__string); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __string = "ABC def ghi"; __executed = /[a-z]+/ig.exec(__string); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A5_T2.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A5_T2.js
index 7fe224a17c76..e193e1c6dc6e 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A5_T2.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.8_A5_T2.js
@@ -16,26 +16,30 @@ var __expected = ["def"];
__expected.index = 4;
__expected.input = __string;
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __string = "ABC def ghi"; __executed = /[a-z]+/.exec(__string); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __string = "ABC def ghi"; __executed = /[a-z]+/.exec(__string); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __string = "ABC def ghi"; __executed = /[a-z]+/.exec(__string); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __string = "ABC def ghi"; __executed = /[a-z]+/.exec(__string); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.9_A1_T1.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.9_A1_T1.js
index 9860f3d8dea2..dd3b69b5166b 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.9_A1_T1.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.9_A1_T1.js
@@ -18,26 +18,30 @@ var __expected = ["the the", "the"];
__expected.index = 14;
__expected.input = "do you listen the the band";
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __executed = /\\b(\\w+) \\1\\b/.exec("do you listen the the band"); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __executed = /\\b(\\w+) \\1\\b/.exec("do you listen the the band"); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __executed = /\\b(\\w+) \\1\\b/.exec("do you listen the the band"); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __executed = /\\b(\\w+) \\1\\b/.exec("do you listen the the band"); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.9_A1_T2.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.9_A1_T2.js
index a6441a8ccbcf..cf1749de1b0f 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.9_A1_T2.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.9_A1_T2.js
@@ -19,26 +19,30 @@ var __expected = ["x01x01", "x01", undefined];
__expected.index = 6;
__expected.input = "x09x12x01x01u00FFu00FFx04x04x23";
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __executed = /([xu]\\d{2}([A-H]{2})?)\\1/.exec("x09x12x01x01u00FFu00FFx04x04x23"); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __executed = /([xu]\\d{2}([A-H]{2})?)\\1/.exec("x09x12x01x01u00FFu00FFx04x04x23"); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __executed = /([xu]\\d{2}([A-H]{2})?)\\1/.exec("x09x12x01x01u00FFu00FFx04x04x23"); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __executed = /([xu]\\d{2}([A-H]{2})?)\\1/.exec("x09x12x01x01u00FFu00FFx04x04x23"); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.9_A1_T3.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.9_A1_T3.js
index ef492f3c8763..a85b267c4b7c 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.9_A1_T3.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.9_A1_T3.js
@@ -19,26 +19,30 @@ var __expected = ["u00FFu00FF", "u00FF", "FF"];
__expected.index = 12;
__expected.input = "x09x12x01x05u00FFu00FFx04x04x23";
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __executed = /([xu]\\d{2}([A-H]{2})?)\\1/.exec("x09x12x01x05u00FFu00FFx04x04x23"); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __executed = /([xu]\\d{2}([A-H]{2})?)\\1/.exec("x09x12x01x05u00FFu00FFx04x04x23"); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __executed = /([xu]\\d{2}([A-H]{2})?)\\1/.exec("x09x12x01x05u00FFu00FFx04x04x23"); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __executed = /([xu]\\d{2}([A-H]{2})?)\\1/.exec("x09x12x01x05u00FFu00FFx04x04x23"); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2.9_A1_T5.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2.9_A1_T5.js
index 5825028d9157..b7b229137d1d 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2.9_A1_T5.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2.9_A1_T5.js
@@ -16,26 +16,30 @@ var __expected = ["b", ""];
__expected.index = 0;
__expected.input = "baaac";
-//CHECK#1
-if (__executed.length !== __expected.length) {
- throw new Test262Error('#1: __executed = /(a*)b\\1+/.exec("baaac"); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
-}
+assert.sameValue(
+ __executed.length,
+ __expected.length,
+ 'The value of __executed.length is expected to equal the value of __expected.length'
+);
-//CHECK#2
-if (__executed.index !== __expected.index) {
- throw new Test262Error('#2: __executed = /(a*)b\\1+/.exec("baaac"); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
-}
+assert.sameValue(
+ __executed.index,
+ __expected.index,
+ 'The value of __executed.index is expected to equal the value of __expected.index'
+);
-//CHECK#3
-if (__executed.input !== __expected.input) {
- throw new Test262Error('#3: __executed = /(a*)b\\1+/.exec("baaac"); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
-}
+assert.sameValue(
+ __executed.input,
+ __expected.input,
+ 'The value of __executed.input is expected to equal the value of __expected.input'
+);
-//CHECK#4
for(var index=0; index<__expected.length; index++) {
- if (__executed[index] !== __expected[index]) {
- throw new Test262Error('#4: __executed = /(a*)b\\1+/.exec("baaac"); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
- }
+ assert.sameValue(
+ __executed[index],
+ __expected[index],
+ 'The value of __executed[index] is expected to equal the value of __expected[index]'
+ );
}
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2_A1_T1.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2_A1_T1.js
index e127e44e6ce6..3e12893222a3 100644
--- a/js/src/tests/test262/built-ins/RegExp/S15.10.2_A1_T1.js
+++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2_A1_T1.js
@@ -73,16 +73,17 @@ var __html=""+
'