dotfiles/vscode/.vscode/extensions/randomfractalsinc.vscode-data-preview-2.3.0/node_modules/chroma-js/test/luminance-test.coffee
Errol Sancaktar ff17c17e23 vscode
2024-06-14 09:31:58 -06:00

67 lines
2.4 KiB
CoffeeScript

require 'es6-shim'
vows = require 'vows'
assert = require 'assert'
chroma = require '../chroma'
rnd = (f,d) ->
d = Math.pow(10,d)
Math.round(f*d) / d
vows
.describe('Testing relative luminance')
.addBatch
'black':
topic: chroma 'black'
'lum = 0': (topic) -> assert.equal topic.luminance(), 0
'white':
topic: chroma 'white'
'lum = 1': (topic) -> assert.equal topic.luminance(), 1
'red':
topic: chroma 'red'
'lum = 0.21': (topic) -> assert.equal topic.luminance(), 0.2126
'yellow brighter than blue':
topic: [chroma('yellow').luminance(), chroma('blue').luminance()]
'yellow > blue': (topic) -> assert topic[0] > topic[1]
'green darker than red':
topic: [chroma('green').luminance(), chroma('red').luminance()]
'green < red': (topic) -> assert topic[0] < topic[1]
# setting luminance
'set red luminance to 0.4':
topic: chroma('red').luminance 0.4
'lum = 0.4': (topic) -> assert.equal rnd(topic.luminance(),3), 0.4
# setting luminance
'set red luminance to 0':
topic: chroma('red').luminance 0
'lum = 0': (topic) -> assert.equal rnd(topic.luminance(),2), 0
'hex = #000': (topic) -> assert.equal topic.hex(), '#000000'
# setting luminance
'set black luminance to 0.5':
topic: chroma('black').luminance 0.5
'lum = 0.5': (topic) -> assert.equal rnd(topic.luminance(), 2), 0.5
'hex': (topic) -> assert.equal '#bcbcbc', topic.hex()
# setting luminance
'set black luminance to 0.5 (lab)':
topic: chroma('black').luminance 0.5, 'lab'
'lum = 0.5': (topic) -> assert.equal rnd(topic.luminance(),2), 0.5
'hex': (topic) -> assert.equal '#bcbcbc', topic.hex()
'setting luminance returns new color':
topic: chroma('red')
'red luminance is 0.21': (topic) -> assert.equal rnd(topic.luminance(),2), 0.21
'set luminance to 0.4': (topic) -> assert.equal topic.luminance(0.4).hex(), '#ff8686'
'old luminance is still 0.21': (topic) -> assert.equal rnd(topic.luminance(),2), 0.21
'old color is still red': (topic) -> assert.equal topic.hex(), '#ff0000'
.export(module)