themes.vimspec 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. Describe themes.vim
  2. After each
  3. highlight clear Foo
  4. highlight clear Normal
  5. End
  6. It should extract correct colors with No termguicolors
  7. if !exists("+termguicolors")
  8. call airline#highlighter#reset_hlcache()
  9. highlight Foo ctermfg=1 ctermbg=2
  10. let colors = airline#themes#get_highlight('Foo')
  11. Assert Equals(colors[0], 'NONE')
  12. Assert Equals(colors[1], 'NONE')
  13. Assert Equals(colors[2], '1')
  14. Assert Equals(colors[3], '2')
  15. endif
  16. End
  17. if exists("+termguicolors")
  18. It should extract correct colors with termguicolors
  19. call airline#highlighter#reset_hlcache()
  20. set termguicolors
  21. highlight Foo guifg=#cd0000 guibg=#00cd00 ctermfg=1 ctermbg=2
  22. let colors = airline#themes#get_highlight('Foo')
  23. Assert Equals(colors[0], '#cd0000')
  24. Assert Equals(colors[1], '#00cd00')
  25. Assert Equals(colors[2], '1')
  26. Assert Equals(colors[3], '2')
  27. End
  28. endif
  29. It should extract from normal if colors unavailable
  30. call airline#highlighter#reset_hlcache()
  31. highlight Normal ctermfg=100 ctermbg=200
  32. highlight Foo ctermbg=2
  33. let colors = airline#themes#get_highlight('Foo')
  34. Assert Equals(colors[0], 'NONE')
  35. Assert Equals(colors[1], 'NONE')
  36. Assert Equals(colors[2], '100')
  37. Assert Equals(colors[3], '2')
  38. End
  39. It should flip target group if It is reversed
  40. call airline#highlighter#reset_hlcache()
  41. highlight Foo ctermbg=222 ctermfg=103 cterm=reverse
  42. let colors = airline#themes#get_highlight('Foo')
  43. Assert Equals(colors[0], 'NONE')
  44. Assert Equals(colors[1], 'NONE')
  45. Assert Equals(colors[2], '222')
  46. Assert Equals(colors[3], '103')
  47. End
  48. It should pass args through correctly
  49. call airline#highlighter#reset_hlcache()
  50. hi clear Normal
  51. let hl = airline#themes#get_highlight('Foo', 'bold', 'italic')
  52. Assert Equals(hl, ['NONE', 'NONE', 'NONE', 'NONE', 'bold,italic'])
  53. let hl = airline#themes#get_highlight2(['Foo','bg'], ['Foo','fg'], 'italic', 'bold')
  54. Assert Equals(hl, ['NONE', 'NONE', 'NONE', 'NONE', 'italic,bold'])
  55. End
  56. It should generate color map with mirroring
  57. let map = airline#themes#generate_color_map(
  58. \ [ 1, 1, 1, 1, '1' ],
  59. \ [ 2, 2, 2, 2, '2' ],
  60. \ [ 3, 3, 3, 3, '3' ],
  61. \ )
  62. Assert Equals(map.airline_a[0], 1)
  63. Assert Equals(map.airline_b[0], 2)
  64. Assert Equals(map.airline_c[0], 3)
  65. Assert Equals(map.airline_x[0], 3)
  66. Assert Equals(map.airline_y[0], 2)
  67. Assert Equals(map.airline_z[0], 1)
  68. End
  69. It should generate color map with full set of colors
  70. let map = airline#themes#generate_color_map(
  71. \ [ 1, 1, 1, 1, '1' ],
  72. \ [ 2, 2, 2, 2, '2' ],
  73. \ [ 3, 3, 3, 3, '3' ],
  74. \ [ 4, 4, 4, 4, '4' ],
  75. \ [ 5, 5, 5, 5, '5' ],
  76. \ [ 6, 6, 6, 6, '6' ],
  77. \ )
  78. Assert Equals(map.airline_a[0], 1)
  79. Assert Equals(map.airline_b[0], 2)
  80. Assert Equals(map.airline_c[0], 3)
  81. Assert Equals(map.airline_x[0], 4)
  82. Assert Equals(map.airline_y[0], 5)
  83. Assert Equals(map.airline_z[0], 6)
  84. End
  85. End