@@ -960,3 +960,46 @@ end)
960
960
describe (" Screen (line-based)" , function ()
961
961
screen_tests (true )
962
962
end )
963
+
964
+ describe (' Screen default colors' , function ()
965
+ local screen
966
+ local function startup (light , termcolors )
967
+ local extra = (light and ' background=light' ) or ' '
968
+
969
+ local nvim_argv = {helpers .nvim_prog , ' -u' , ' NONE' , ' -i' , ' NONE' , ' -N' ,
970
+ ' --cmd' , ' set shortmess+=I noswapfile belloff= noshowcmd noruler' .. extra ,
971
+ ' --embed' }
972
+ local screen_nvim = spawn (nvim_argv )
973
+ set_session (screen_nvim )
974
+ screen = Screen .new ()
975
+ screen :attach (termcolors and {rgb = true ,ext_termcolors = true } or {rgb = true })
976
+ end
977
+
978
+ it (' are dark per default' , function ()
979
+ startup (false , false )
980
+ screen :expect {condition = function ()
981
+ eq ({rgb_bg = 0 , rgb_fg = Screen .colors .White , rgb_sp = Screen .colors .Red ,
982
+ cterm_bg = 0 , cterm_fg = 0 }, screen .default_colors )
983
+ end }
984
+ end )
985
+
986
+ it (' can be set to light' , function ()
987
+ startup (true , false )
988
+ screen :expect {condition = function ()
989
+ eq ({rgb_bg = Screen .colors .White , rgb_fg = 0 , rgb_sp = Screen .colors .Red ,
990
+ cterm_bg = 0 , cterm_fg = 0 }, screen .default_colors )
991
+ end }
992
+ end )
993
+
994
+ it (' can be handled by external terminal' , function ()
995
+ startup (false , true )
996
+ screen :expect {condition = function ()
997
+ eq ({rgb_bg =- 1 , rgb_fg =- 1 , rgb_sp =- 1 , cterm_bg = 0 , cterm_fg = 0 }, screen .default_colors )
998
+ end }
999
+
1000
+ startup (true , true )
1001
+ screen :expect {condition = function ()
1002
+ eq ({rgb_bg =- 1 , rgb_fg =- 1 , rgb_sp =- 1 , cterm_bg = 0 , cterm_fg = 0 }, screen .default_colors )
1003
+ end }
1004
+ end )
1005
+ end )
0 commit comments