mirror of
https://github.com/HeyPuter/firefox.git
synced 2026-11-13 20:14:57 -10:00
Automatic update from web-platform-tests
Replace some assert_throws("Something", stuff) calls with assert_throws_dom. (#21377)
This diff was generated by running:
find . -type f -print0 | xargs -0 perl -pi -e 'BEGIN { $/ = undef; } s/assert_throws\(([ \n]*"[A-Za-z_]*") *(, *.)/assert_throws_dom(\1\2/gs'
followed by a fix to
xhr/resources/send-after-setting-document-domain-window-helper.js to make
xhr/send-after-setting-document-domain.htm pass.
This does affect indentation poorly in cases when the first arg was on the same
line as the assert_throws, there was a newline after the ',' after the first
arg, and the following args were lined up with the first arg. Fixing that,
especially when there are multiple lines after the first arg, is not trivial
with a regexp.
Co-authored-by: Boris Zbarsky <[email protected]>
--
wpt-commits: 3696f2233a37437896505b7187968aa605be9255
wpt-pr: 21377
80 lines
2.8 KiB
HTML
80 lines
2.8 KiB
HTML
<!DOCTYPE html>
|
|
<title>Geometry Interfaces: DOMMatrix and DOMMatrixReadOnly stringifier</title>
|
|
<link rel="help" href="https://drafts.fxtf.org/geometry/#DOMMatrix">
|
|
<script src="/resources/testharness.js"></script>
|
|
<script src="/resources/testharnessreport.js"></script>
|
|
<script>
|
|
["DOMMatrix", "DOMMatrixReadOnly", "WebKitCSSMatrix"].forEach(constr => {
|
|
const prefix = `${constr} stringifier:`;
|
|
|
|
// Basic
|
|
test(() => {
|
|
const matrix = new self[constr]();
|
|
assert_equals(String(matrix), "matrix(1, 0, 0, 1, 0, 0)");
|
|
}, `${prefix} identity (2d)`);
|
|
|
|
test(() => {
|
|
const matrix = self[constr].fromMatrix({is2D: false});
|
|
assert_equals(String(matrix), "matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)");
|
|
}, `${prefix} identity (3d)`);
|
|
|
|
// Non-finites
|
|
[NaN, Infinity, -Infinity].forEach(num => {
|
|
test(() => {
|
|
const matrix = new self[constr]([1, 0, 0, 1, 0, num]);
|
|
assert_throws_dom("InvalidStateError", () => String(matrix));
|
|
}, `${prefix} ${num} (2d)`);
|
|
|
|
test(() => {
|
|
const matrix = new self[constr]([1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, num, 0, 1]);
|
|
assert_throws_dom("InvalidStateError", () => String(matrix));
|
|
}, `${prefix} ${num} (3d)`);
|
|
});
|
|
|
|
// Precision
|
|
[
|
|
['1/3', '0.3333333333333333'],
|
|
['1/300000', '0.0000033333333333333333'],
|
|
['1/300000000', '3.3333333333333334e-9'],
|
|
['100000 + (1/3)', '100000.33333333333'],
|
|
['Math.pow(2, 53) + 1', '9007199254740992'],
|
|
['Math.pow(2, 53) + 2', '9007199254740994'],
|
|
['Number.MAX_VALUE', '1.7976931348623157e+308'],
|
|
['Number.MIN_VALUE', '5e-324'],
|
|
].forEach(([input, expected]) => {
|
|
const num = eval(input);
|
|
test(() => {
|
|
const matrix = new self[constr]([1, 0, 0, 1, 0, num]);
|
|
assert_equals(String(matrix), `matrix(1, 0, 0, 1, 0, ${expected})`);
|
|
}, `${prefix} ${input} (2d)`);
|
|
|
|
test(() => {
|
|
const matrix = new self[constr]([1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, num, 0, 1]);
|
|
assert_equals(String(matrix), `matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, ${expected}, 0, 1)`);
|
|
}, `${prefix} ${input} (3d)`);
|
|
});
|
|
|
|
// Should not invoke getters for m11 etc
|
|
function defineThrowingGetters(matrix) {
|
|
Object.defineProperty(matrix, 'a', {
|
|
get: () => assert_unreached('getter for a')
|
|
});
|
|
Object.defineProperty(matrix, 'm11', {
|
|
get: () => assert_unreached('getter for m11')
|
|
});
|
|
}
|
|
|
|
test(() => {
|
|
const matrix = new self[constr]();
|
|
defineThrowingGetters(matrix);
|
|
assert_equals(String(matrix), "matrix(1, 0, 0, 1, 0, 0)");
|
|
}, `${prefix} throwing getters (2d)`);
|
|
|
|
test(() => {
|
|
const matrix = self[constr].fromMatrix({is2D: false});
|
|
defineThrowingGetters(matrix);
|
|
assert_equals(String(matrix), "matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)");
|
|
}, `${prefix} throwing getters (3d)`);
|
|
});
|
|
</script>
|