diff src/testdir/test_termcodes.vim @ 16940:1c264ca8f2e8 v8.1.1471

patch 8.1.1471: 'background' not correctly set for 2-digit rgb termresponse commit https://github.com/vim/vim/commit/32e1977012912cd5d7bc762dd41197bc3f1a1370 Author: Bram Moolenaar <Bram@vim.org> Date: Wed Jun 5 22:57:04 2019 +0200 patch 8.1.1471: 'background' not correctly set for 2-digit rgb termresponse Problem: 'background' not correctly set for 2-digit rgb termresponse. Solution: Adjust what digit to use. (closes https://github.com/vim/vim/issues/4495)
author Bram Moolenaar <Bram@vim.org>
date Wed, 05 Jun 2019 23:00:07 +0200
parents 73e6ed2f69a2
children 5f3e960ce76d
line wrap: on
line diff
--- a/src/testdir/test_termcodes.vim
+++ b/src/testdir/test_termcodes.vim
@@ -647,21 +647,49 @@ func Test_term_rgb_response()
   call feedkeys(seq, 'Lx!')
   call assert_equal(seq, v:termrfgresp)
 
-  " response to t_RB, 4 digits
-  let red = 0x21
-  let green = 0x43
+  " response to t_RB, 4 digits, dark
+  set background=light
+  call test_option_not_set('background')
+  let red = 0x29
+  let green = 0x4a
+  let blue = 0x6b
+  let seq = printf("\<Esc>]11;rgb:%02x00/%02x00/%02x00\x07", red, green, blue)
+  call feedkeys(seq, 'Lx!')
+  call assert_equal(seq, v:termrbgresp)
+  call assert_equal('dark', &background)
+
+  " response to t_RB, 4 digits, light
+  set background=dark
+  call test_option_not_set('background')
+  let red = 0x81
+  let green = 0x63
   let blue = 0x65
   let seq = printf("\<Esc>]11;rgb:%02x00/%02x00/%02x00\x07", red, green, blue)
   call feedkeys(seq, 'Lx!')
   call assert_equal(seq, v:termrbgresp)
+  call assert_equal('light', &background)
 
-  " response to t_RB, 2 digits
-  let red = 0x87
-  let green = 0xa9
-  let blue = 0xcb
+  " response to t_RB, 2 digits, dark
+  set background=light
+  call test_option_not_set('background')
+  let red = 0x47
+  let green = 0x59
+  let blue = 0x5b
   let seq = printf("\<Esc>]11;rgb:%02x/%02x/%02x\x07", red, green, blue)
   call feedkeys(seq, 'Lx!')
   call assert_equal(seq, v:termrbgresp)
+  call assert_equal('dark', &background)
+  
+  " response to t_RB, 2 digits, light
+  set background=dark
+  call test_option_not_set('background')
+  let red = 0x83
+  let green = 0xa4
+  let blue = 0xc2
+  let seq = printf("\<Esc>]11;rgb:%02x/%02x/%02x\x07", red, green, blue)
+  call feedkeys(seq, 'Lx!')
+  call assert_equal(seq, v:termrbgresp)
+  call assert_equal('light', &background)
   
   set t_RF= t_RB=
 endfunc