Source code

Revision control

Copy as Markdown

Other Tools

Test Info:

<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>Test DOMLocalization.prototype.setAttributes and DOMLocalization.prototype.setArgs</title>
<link rel="stylesheet" type="text/css" href="chrome://mochikit/content/tests/SimpleTest/test.css">
<script type="application/javascript">
"use strict";
const l10nReg = new L10nRegistry();
window.onload = function() {
SimpleTest.waitForExplicitFinish();
const domLoc = new DOMLocalization(
[],
false,
l10nReg,
);
const p1 = document.querySelectorAll("p")[0];
domLoc.setAttributes(p1, "title");
is(
p1.getAttribute("data-l10n-id"),
"title",
"The data-l10n-id can be set by setAttributes."
);
is(
p1.getAttribute("data-l10n-args"),
null,
"The data-l10n-args is unset."
);
domLoc.setAttributes(p1, "title2", {userName: "John"});
is(
p1.getAttribute("data-l10n-id"),
"title2",
"The data-l10n-id can be set by setAttributes."
);
is(
p1.getAttribute("data-l10n-args"),
JSON.stringify({userName: "John"}),
"The data-l10n-args can be set by setAttributes."
);
domLoc.setArgs(p1, {userName: "Jane"});
is(
p1.getAttribute("data-l10n-id"),
"title2",
"The data-l10n-id is unchanged by setArgs."
);
is(
p1.getAttribute("data-l10n-args"),
JSON.stringify({userName: "Jane"}),
"The data-l10n-args can by set by setArgs."
);
domLoc.setArgs(p1);
is(
p1.getAttribute("data-l10n-id"),
"title2",
"The data-l10n-id is unchanged by setArgs."
);
is(
p1.getAttribute("data-l10n-args"),
null,
"The data-l10n-args be unset by setArgs."
);
SimpleTest.finish();
};
</script>
</head>
<body>
<p />
</body>
</html>