diff options
author | Matt A. Tobin <mattatobin@localhost.localdomain> | 2018-02-02 04:16:08 -0500 |
---|---|---|
committer | Matt A. Tobin <mattatobin@localhost.localdomain> | 2018-02-02 04:16:08 -0500 |
commit | 5f8de423f190bbb79a62f804151bc24824fa32d8 (patch) | |
tree | 10027f336435511475e392454359edea8e25895d /toolkit/modules/tests/xpcshell/test_Color.js | |
parent | 49ee0794b5d912db1f95dce6eb52d781dc210db5 (diff) | |
download | UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.gz UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.lz UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.xz UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.zip |
Add m-esr52 at 52.6.0
Diffstat (limited to 'toolkit/modules/tests/xpcshell/test_Color.js')
-rw-r--r-- | toolkit/modules/tests/xpcshell/test_Color.js | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/toolkit/modules/tests/xpcshell/test_Color.js b/toolkit/modules/tests/xpcshell/test_Color.js new file mode 100644 index 000000000..9bf9bf861 --- /dev/null +++ b/toolkit/modules/tests/xpcshell/test_Color.js @@ -0,0 +1,53 @@ +"use strict"; + +Components.utils.import("resource://gre/modules/Color.jsm"); + +function run_test() { + testRelativeLuminance(); + testIsBright(); + testContrastRatio(); + testIsContrastRatioAcceptable(); +} + +function testRelativeLuminance() { + let c = new Color(0, 0, 0); + Assert.equal(c.relativeLuminance, 0, "Black is not illuminating"); + + c = new Color(255, 255, 255); + Assert.equal(c.relativeLuminance, 1, "White is quite the luminant one"); + + c = new Color(142, 42, 142); + Assert.equal(c.relativeLuminance, 0.25263952353998204, + "This purple is not that luminant"); +} + +function testIsBright() { + let c = new Color(0, 0, 0); + Assert.equal(c.isBright, 0, "Black is bright"); + + c = new Color(255, 255, 255); + Assert.equal(c.isBright, 1, "White is bright"); +} + +function testContrastRatio() { + let c = new Color(0, 0, 0); + let c2 = new Color(255, 255, 255); + Assert.equal(c.contrastRatio(c2), 21, "Contrast between black and white is max"); + Assert.equal(c.contrastRatio(c), 1, "Contrast between equals is min"); + + let c3 = new Color(142, 42, 142); + Assert.equal(c.contrastRatio(c3), 6.05279047079964, "Contrast between black and purple"); + Assert.equal(c2.contrastRatio(c3), 3.469474137806338, "Contrast between white and purple"); +} + +function testIsContrastRatioAcceptable() { + // Let's assert what browser.js is doing for window frames. + let c = new Color(...[55, 156, 152]); + let c2 = new Color(0, 0, 0); + Assert.equal(c.r, 55, "Reds should match"); + Assert.equal(c.g, 156, "Greens should match"); + Assert.equal(c.b, 152, "Blues should match"); + Assert.ok(c.isContrastRatioAcceptable(c2), "The blue is high contrast enough"); + c = new Color(...[35, 65, 100]); + Assert.ok(!c.isContrastRatioAcceptable(c2), "The blue is not high contrast enough"); +} |