Source code

Revision control

Copy as Markdown

Other Tools

Test Info:

/* 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/. */
"use strict";
let SVG_PATH_URI =
getRootDirectory(gTestPath).replace(
) + "file_light_dark.svg";
function getImageData(path) {
return new Promise((resolve, reject) => {
const image = new Image();
image.src = path;
image.addEventListener("load", () => {
const { width, height } = image;
const canvas = new OffscreenCanvas(width, height);
const ctx = canvas.getContext("2d");
ctx.drawImage(image, 0, 0, width, height);
resolve(ctx.getImageData(0, 0, width, height));
});
image.addEventListener("error", () => {
info("Got error");
reject();
});
});
}
add_task(async function svg_light() {
let params = new URLSearchParams({
url: SVG_PATH_URI,
colorScheme: "light",
});
const { data } = await getImageData("moz-remote-image://?" + params);
is(data[0], 255, "red");
is(data[1], 255, "green");
is(data[2], 0, "blue");
});
add_task(async function svg_dark() {
let params = new URLSearchParams({
url: SVG_PATH_URI,
colorScheme: "dark",
});
const { data } = await getImageData("moz-remote-image://?" + params);
is(data[0], 0, "red");
is(data[1], 0, "green");
is(data[2], 255, "blue");
});