-
-
Notifications
You must be signed in to change notification settings - Fork 108
/
Copy pathdarken_spec.lua
49 lines (42 loc) · 1.69 KB
/
darken_spec.lua
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
local assert = require('luassert')
local t_util = require('github-theme._test.util')
local C = require('github-theme.lib.color')
local api = vim.api
if not api.nvim_get_hl then
return
end
describe('config > options > darken', function()
before_each(function()
require('github-theme.config').reset()
end)
describe('> floats', function()
for _, variant in ipairs(require('github-theme.palette').themes) do
-- TODO: see #324
local _it = variant:find('high[-_]*contrast') and pending or it
_it(('should be enabled by default (%s)'):format(variant), function()
require('github-theme').setup()
vim.cmd.colorscheme({ args = { variant } })
local normal_float = t_util.get_hl('NormalFloat')
local normal = t_util.get_hl('Normal')
assert.is_true(require('github-theme.config').options.darken.floats)
assert.are.not_equal(normal_float.bg, normal.bg)
assert(
C(('#%x'):format(normal_float.bg)):luminance()
< C(('#%x'):format(normal.bg)):luminance(),
('expected `bg` of `NormalFloat` (#%x) to be darker than `bg` of `Normal` (#%x)'):format(
normal_float.bg,
normal.bg
)
)
end)
it(('should be disabled when set to `false` (%s)'):format(variant), function()
require('github-theme').setup({ options = { darken = { floats = false } } })
vim.cmd.colorscheme({ args = { variant } })
local normal_float = t_util.get_hl('NormalFloat')
local normal = t_util.get_hl('Normal')
assert.is_false(require('github-theme.config').options.darken.floats)
assert.are.equal(normal_float.bg, normal.bg)
end)
end
end)
end)