Files
palemoon27/layout/style/test/test_variable_serialization_computed.html
T
roytam1 8a6eb144ac import changes from `dev' branch of rmottola/Arctic-Fox:
- Bug 1126544 - Update sixgill to handle more constructs and manage memory better (e487a0cd05)
- Bug 1182407 - Use unpack feature of tooltool wherever possible. r=mshal (6bde76a413)
- Bug 1123386 - Part 4: Update the tooltool manifests for the OSX and Linux static analysis builds in order to upgrade clang; r=rail (517ae90efa)
- Bug 1204722 - Make sure that unboxed arrays created from literals are compatible with the type of the literal's elements, r=jandem. (400663edb4)
- Bug 1117259 - Disable the no-unused-local-typedef warning if clang supports it; r=gps (16e2e49fc6)
- Bug 1126813 - Turn on the -Wrange-loop-analysis warning if available; r=gps (1c783e1ed2)
- Bug 1191688 - Add -nologo option to rc.exe. r=ted (9c5dbe2b89)
- Bug 1150312 - Remove MOZ_SHARK. r=glandium (ba6db939d4)
- Bug 1186636 - Add a pref to configure -moz prefixed gradients support. r=dholbert (9c41ae7460)
- missing parts of  Bug 1077282: Cleanup uses of GreD vs GreBinD, introcuded by v2 signature changes on OSX. Based on initial patch by rstrong. r=bsmedberg (af60bfc743)
- de-palemoon (d8b7bae74f)
- Bug 932100 - Part 1: Remove load-time dependency on user32. r=bsmedberg (9864a0ed0c)
- missing part of Bug 932100 - Part 2: Move DLL blocklist code to mozglue. r=bsmedberg, r=glandium (6497ad86bd)
- Bug 1194890 - Ensure that any user32 imports to mozglue are delay loaded; r=glandium (afa0a8d14e)
- Bug 1082792 - Build firefox.exe with -MD in ASAN builds; r=glandium (89771bb4c0)
- missing VPX/WEBM stuff (ec425938c9)
- Bug 1184452 - Correctly reject @font-face descriptors that have garbage after them. r=heycam (f530fc858e)
- Bug 1189922. Add a preference to enable global whitelisting of the CSSUnprefixingService. r=dholbert (e2997cb125)
- Bug 1198732 - IonMonkey: MIPS32: Fix calculate frame size in generateEnterJIT. r=nbp (454d75946d)
- Bug 1199057 - IonMonkey: MIPS32: Plumb new.target on the stack and make it accessible to JSNatives. r=nbp (01d5cb04c2)
- Bug 1204306 - IonMonkey: MIPS32: Clean up MacroAssembler functions that aliased to Assembler. r=arai (600dc73280)
- Bug 1199080 - IonMonkey: MIPS32: Fix treating saved frame bit as part# o the frame type. r=nbp (5e4e5ba250)
- Bug 1099448 - Don't accept box properties with invalid calc() or rgb() etc. function values. r=dbaron (5737e8c300)
- Bug 1203142 - Insert /**/ separate between two adjacent '-' symbols when serializing token streams. r=simon.sapin (06fb613d6c)
- Bug 1057680 - Add support for font-stretch values in the font shorthand. r=jdaggett (8d8e24751d)
- Bug 1155485 - Mark nsFrameManagerBase::mPresShell as MOZ_NON_OWNING_REF; r=roc (e79e28bbd0)
- Bug 1121760 (part 5) - Remove PL_DHashMarkTableImmutable(). r=poiru. (8d8c7d9d65)
- Bug 1121760 (part 6) - Move all remaining PL_DHash*() functions into PLDHashTable. r=poiru. (d36ec167cc)
2022-03-03 07:57:18 +08:00

83 lines
3.3 KiB
HTML

<!DOCTYPE html>
<title>Test serialization of computed CSS variable values</title>
<script src="/MochiKit/MochiKit.js"></script>
<script src="/tests/SimpleTest/SimpleTest.js"></script>
<link rel="stylesheet" href="/tests/SimpleTest/test.css" type="text/css">
<div>
<span></span>
</div>
<script>
// Each entry is an entire declaration followed by the property to check and
// its expected computed value.
var values = [
["", "--z", "an-inherited-value"],
["--a: ", "--a", " "],
["--a: initial", "--a", ""],
["--z: initial", "--z", ""],
["--a: inherit", "--a", ""],
["--z: inherit", "--z", "an-inherited-value"],
["--a: unset", "--a", ""],
["--z: unset", "--z", "an-inherited-value"],
["--a: 1px", "--a", " 1px"],
["--a: var(--a)", "--a", ""],
["--a: var(--b)", "--a", ""],
["--a: var(--b); --b: 1px", "--a", " 1px"],
["--a: var(--b, 1px)", "--a", " 1px"],
["--a: var(--a, 1px)", "--a", ""],
["--a: something 3px url(whereever) calc(var(--a) + 1px)", "--a", ""],
["--a: something 3px url(whereever) calc(var(--b,1em) + 1px)", "--a", " something 3px url(whereever) calc(1em + 1px)"],
["--a: var(--b, var(--c, var(--d, Black)))", "--a", " Black"],
["--a: a var(--b) c; --b:b", "--a", " a b c"],
["--a: a var(--b,b var(--c) d) e; --c:c", "--a", " a b c d e"],
["--a: var(--b)red; --b:orange;", "--a", " orange/**/red"],
["--a: var(--b)var(--c); --b:orange; --c:red;", "--a", " orange/**/red"],
["--a: var(--b)var(--c,red); --b:orange;", "--a", " orange/**/red"],
["--a: var(--b,orange)var(--c); --c:red;", "--a", " orange/**/red"],
["--a: var(--b)-; --b:-;", "--a", " -/**/-"],
["--a: var(--b)--; --b:-;", "--a", " -/**/--"],
["--a: var(--b)--x; --b:-;", "--a", " -/**/--x"],
["--a: var(--b)var(--c); --b:-; --c:-;", "--a", " -/**/-"],
["--a: var(--b)var(--c); --b:--; --c:-;", "--a", " --/**/-"],
["--a: var(--b)var(--c); --b:--x; --c:-;", "--a", " --x/**/-"],
["counter-reset: var(--a)red; --a:orange;", "counter-reset", "orange 0 red 0"],
["--a: var(--b)var(--c); --c:[c]; --b:('ab", "--a", " ('ab')[c]"],
["--a: '", "--a", " ''"],
["--a: '\\", "--a", " ''"],
["--a: \\", "--a", " \\\ufffd"],
["--a: \"", "--a", " \"\""],
["--a: \"\\", "--a", " \"\""],
["--a: /* abc ", "--a", " /* abc */"],
["--a: /* abc *", "--a", " /* abc */"],
["--a: url(http://example.org/", "--a", " url(http://example.org/)"],
["--a: url(http://example.org/\\", "--a", " url(http://example.org/\\\ufffd)"],
["--a: url('http://example.org/", "--a", " url('http://example.org/')"],
["--a: url('http://example.org/\\", "--a", " url('http://example.org/')"],
["--a: url(\"http://example.org/", "--a", " url(\"http://example.org/\")"],
["--a: url(\"http://example.org/\\", "--a", " url(\"http://example.org/\")"]
];
function runTest() {
var div = document.querySelector("div");
var span = document.querySelector("span");
div.setAttribute("style", "--z:an-inherited-value");
values.forEach(function(entry, i) {
var declaration = entry[0];
var property = entry[1];
var expected = entry[2];
span.setAttribute("style", declaration);
var cs = getComputedStyle(span, "");
is(cs.getPropertyValue(property), expected, "subtest #" + i);
});
SimpleTest.finish();
}
SimpleTest.waitForExplicitFinish();
SpecialPowers.pushPrefEnv({ set: [["layout.css.variables.enabled", true]] },
runTest);
</script>