Index: LayoutTests/resources/testharness-helpers.js |
diff --git a/LayoutTests/resources/testharness-helpers.js b/LayoutTests/resources/testharness-helpers.js |
index 4d7af1ff9ca77c85696f35368ff3a7a1c4b2480b..12960e30ac8ce9423dc11c7bea9841cec950f012 100644 |
--- a/LayoutTests/resources/testharness-helpers.js |
+++ b/LayoutTests/resources/testharness-helpers.js |
@@ -32,97 +32,6 @@ function assert_promise_rejects(promise, code, description) { |
}); |
} |
-// Asserts that two objects |actual| and |expected| are weakly equal under the |
-// following definition: |
-// |
-// |a| and |b| are weakly equal if any of the following are true: |
-// 1. If |a| is not an 'object', and |a| === |b|. |
-// 2. If |a| is an 'object', and all of the following are true: |
-// 2.1 |a.p| is weakly equal to |b.p| for all own properties |p| of |a|. |
-// 2.2 Every own property of |b| is an own property of |a|. |
-// |
-// This is a replacement for the the version of assert_object_equals() in |
-// testharness.js. The latter doesn't handle own properties correctly. I.e. if |
-// |a.p| is not an own property, it still requires that |b.p| be an own |
-// property. |
-// |
-// Note that |actual| must not contain cyclic references. |
-self.assert_object_equals = function(actual, expected, description) { |
- var object_stack = []; |
- |
- function _is_equal(actual, expected, prefix) { |
- if (typeof actual !== 'object') { |
- assert_equals(actual, expected, prefix); |
- return; |
- } |
- assert_true(typeof expected === 'object', prefix); |
- assert_equals(object_stack.indexOf(actual), -1, |
- prefix + ' must not contain cyclic references.'); |
- |
- object_stack.push(actual); |
- |
- Object.getOwnPropertyNames(expected).forEach(function(property) { |
- assert_own_property(actual, property, prefix); |
- _is_equal(actual[property], expected[property], |
- prefix + '.' + property); |
- }); |
- Object.getOwnPropertyNames(actual).forEach(function(property) { |
- assert_own_property(expected, property, prefix); |
- }); |
- |
- object_stack.pop(); |
- } |
- |
- function _brand(object) { |
- return Object.prototype.toString.call(object).match(/^\[object (.*)\]$/)[1]; |
- } |
- |
- _is_equal(actual, expected, |
- (description ? description + ': ' : '') + _brand(expected)); |
-}; |
- |
-// Equivalent to assert_in_array, but uses a weaker equivalence relation |
-// (assert_object_equals) than '==='. |
-function assert_object_in_array(actual, expected_array, description) { |
- assert_true(expected_array.some(function(element) { |
- try { |
- assert_object_equals(actual, element); |
- return true; |
- } catch (e) { |
- return false; |
- } |
- }), description); |
-} |
- |
-// Assert that the two arrays |actual| and |expected| contain the same set of |
-// elements as determined by assert_object_equals. The order is not significant. |
-// |
-// |expected| is assumed to not contain any duplicates as determined by |
-// assert_object_equals(). |
-function assert_array_equivalent(actual, expected, description) { |
- assert_true(Array.isArray(actual), description); |
- assert_equals(actual.length, expected.length, description); |
- expected.forEach(function(expected_element) { |
- // assert_in_array treats the first argument as being 'actual', and the |
- // second as being 'expected array'. We are switching them around because |
- // we want to be resilient against the |actual| array containing |
- // duplicates. |
- assert_object_in_array(expected_element, actual, description); |
- }); |
-} |
- |
-// Asserts that two arrays |actual| and |expected| contain the same set of |
-// elements as determined by assert_object_equals(). The corresponding elements |
-// must occupy corresponding indices in their respective arrays. |
-function assert_array_objects_equals(actual, expected, description) { |
- assert_true(Array.isArray(actual), description); |
- assert_equals(actual.length, expected.length, description); |
- actual.forEach(function(value, index) { |
- assert_object_equals(value, expected[index], |
- description + ' : object[' + index + ']'); |
- }); |
-} |
- |
// Asserts that |object| that is an instance of some interface has the attribute |
// |attribute_name| following the conditions specified by WebIDL, but it's |
// acceptable that the attribute |attribute_name| is an own property of the |