aboutsummaryrefslogtreecommitdiff
path: root/test/functional/plugin/man_spec.lua
diff options
context:
space:
mode:
authorGabriel Holodak <gthepiper@gmail.com>2017-12-24 12:16:58 -0500
committerGabriel Holodak <gthepiper@gmail.com>2017-12-27 23:28:04 -0500
commiteb44519b5debf740f692bb4ea19ad83b29749484 (patch)
treef8d07b04904fb5aab20e10110eee33f95af081dd /test/functional/plugin/man_spec.lua
parent134c0f0bdb50b16d443b103fc1a81c9ae5c7c017 (diff)
downloadrneovim-eb44519b5debf740f692bb4ea19ad83b29749484.tar.gz
rneovim-eb44519b5debf740f692bb4ea19ad83b29749484.tar.bz2
rneovim-eb44519b5debf740f692bb4ea19ad83b29749484.zip
Address PR comments
Diffstat (limited to 'test/functional/plugin/man_spec.lua')
-rw-r--r--test/functional/plugin/man_spec.lua148
1 files changed, 51 insertions, 97 deletions
diff --git a/test/functional/plugin/man_spec.lua b/test/functional/plugin/man_spec.lua
index 53384a9d47..479fd6e7a5 100644
--- a/test/functional/plugin/man_spec.lua
+++ b/test/functional/plugin/man_spec.lua
@@ -3,7 +3,7 @@ local plugin_helpers = require('test.functional.plugin.helpers')
local Screen = require('test.functional.ui.screen')
-local buffer, command, eval = helpers.buffer, helpers.command, helpers.eval
+local command, eval, rawfeed = helpers.command, helpers.eval, helpers.rawfeed
before_each(function()
plugin_helpers.reset()
@@ -19,107 +19,64 @@ describe('In autoload/man.vim', function()
before_each(function()
command('syntax off') -- Ignore syntax groups
screen = Screen.new(52, 5)
- screen:attach()
- end)
-
- after_each(function()
- screen:detach()
- end)
-
- local function expect(string)
- screen:expect(string,
- {
+ screen:set_default_attr_ids({
b = { bold = true },
i = { italic = true },
u = { underline = true },
bi = { bold = true, italic = true },
biu = { bold = true, italic = true, underline = true },
- },
- {{ bold = true, foreground = Screen.colors.Blue }})
- end
-
- local function expect_without_highlights(string)
- screen:expect(string, nil, true)
- end
-
- local function insert_lines(...)
- buffer('set_lines', 0, 0, 1, false, { ... })
- end
-
- it('clears backspaces from text', function()
- insert_lines(
- "this i\bis\bs a\ba test",
- "with _\bo_\bv_\be_\br_\bs_\bt_\br_\bu_\bc_\bk text"
- )
-
- expect_without_highlights([[
- ^this i^His^Hs a^Ha test |
- with _^Ho_^Hv_^He_^Hr_^Hs_^Ht_^Hr_^Hu_^Hc_^Hk text |
- ~ |
- ~ |
- |
- ]])
-
- eval('man#highlight_formatted_text()')
+ })
+ screen:set_default_attr_ignore({
+ { foreground = Screen.colors.Blue }, -- control chars
+ { bold = true, foreground = Screen.colors.Blue } -- empty line '~'s
+ })
+ screen:attach()
+ end)
- expect_without_highlights([[
- ^this is a test |
- with overstruck text |
- ~ |
- ~ |
- |
- ]])
+ after_each(function()
+ screen:detach()
end)
- it('clears escape sequences from text', function()
- insert_lines(
- "this \027[1mis \027[3ma \027[4mtest\027[0m",
- "\027[4mwith\027[24m \027[4mescaped\027[24m \027[4mtext\027[24m"
- )
+ it('clears backspaces from text and adds highlights', function()
+ rawfeed([[
+ ithis i<C-v><C-h>is<C-v><C-h>s a<C-v><C-h>a test
+ with _<C-v><C-h>o_<C-v><C-h>v_<C-v><C-h>e_<C-v><C-h>r_<C-v><C-h>s_<C-v><C-h>t_<C-v><C-h>r_<C-v><C-h>u_<C-v><C-h>c_<C-v><C-h>k text<ESC>]])
- expect_without_highlights([[
- ^this ^[[1mis ^[[3ma ^[[4mtest^[[0m |
- ^[[4mwith^[[24m ^[[4mescaped^[[24m ^[[4mtext^[[24m |
+ screen:expect([[
+ this i^His^Hs a^Ha test |
+ with _^Ho_^Hv_^He_^Hr_^Hs_^Ht_^Hr_^Hu_^Hc_^Hk tex^t |
~ |
~ |
|
]])
- eval('man#highlight_formatted_text()')
+ eval('man#init_pager()')
- expect_without_highlights([[
- ^this is a test |
- with escaped text |
+ screen:expect([[
+ ^this {b:is} {b:a} test |
+ with {u:overstruck} text |
~ |
~ |
|
]])
end)
- it('highlights overstruck text', function()
- insert_lines(
- "this i\bis\bs a\ba test",
- "with _\bo_\bv_\be_\br_\bs_\bt_\br_\bu_\bc_\bk text"
- )
- eval('man#highlight_formatted_text()')
+ it('clears escape sequences from text and adds highlights', function()
+ rawfeed([[
+ ithis <C-v><ESC>[1mis <C-v><ESC>[3ma <C-v><ESC>[4mtest<C-v><ESC>[0m
+ <C-v><ESC>[4mwith<C-v><ESC>[24m <C-v><ESC>[4mescaped<C-v><ESC>[24m <C-v><ESC>[4mtext<C-v><ESC>[24m<ESC>]])
- expect([[
- ^this {b:is} {b:a} test |
- with {u:overstruck} text |
+ screen:expect([[
+ this ^[[1mis ^[[3ma ^[[4mtest^[[0m |
+ ^[[4mwith^[[24m ^[[4mescaped^[[24m ^[[4mtext^[[24^m |
~ |
~ |
|
]])
- end)
- it('highlights escape sequences in text', function()
- insert_lines(
- "this \027[1mis \027[3ma \027[4mtest\027[0m",
- "\027[4mwith\027[24m \027[4mescaped\027[24m \027[4mtext\027[24m"
- )
- eval('man#highlight_formatted_text()')
+ eval('man#init_pager()')
- expect([[
+ screen:expect([[
^this {b:is }{bi:a }{biu:test} |
{u:with} {u:escaped} {u:text} |
~ |
@@ -129,15 +86,14 @@ describe('In autoload/man.vim', function()
end)
it('highlights multibyte text', function()
- insert_lines(
- "this i\bis\bs あ\bあ test",
- "with _\bö_\bv_\be_\br_\bs_\bt_\br_\bu_\bc_\bk te\027[3mxt¶\027[0m"
- )
- eval('man#highlight_formatted_text()')
+ rawfeed([[
+ ithis i<C-v><C-h>is<C-v><C-h>s あ<C-v><C-h>あ test
+ with _<C-v><C-h>ö_<C-v><C-h>v_<C-v><C-h>e_<C-v><C-h>r_<C-v><C-h>s_<C-v><C-h>t_<C-v><C-h>r_<C-v><C-h>u_<C-v><C-h>̃_<C-v><C-h>c_<C-v><C-h>k te<C-v><ESC>[3mxt¶<C-v><ESC>[0m<ESC>]])
+ eval('man#init_pager()')
- expect([[
+ screen:expect([[
^this {b:is} {b:あ} test |
- with {u:överstruck} te{i:xt¶} |
+ with {u:överstrũck} te{i:xt¶} |
~ |
~ |
|
@@ -145,14 +101,13 @@ describe('In autoload/man.vim', function()
end)
it('highlights underscores based on context', function()
- insert_lines(
- "_\b_b\bbe\beg\bgi\bin\bns\bs",
- "m\bmi\bid\bd_\b_d\bdl\ble\be",
- "_\bm_\bi_\bd_\b__\bd_\bl_\be"
- )
- eval('man#highlight_formatted_text()')
-
- expect([[
+ rawfeed([[
+ i_<C-v><C-h>_b<C-v><C-h>be<C-v><C-h>eg<C-v><C-h>gi<C-v><C-h>in<C-v><C-h>ns<C-v><C-h>s
+ m<C-v><C-h>mi<C-v><C-h>id<C-v><C-h>d_<C-v><C-h>_d<C-v><C-h>dl<C-v><C-h>le<C-v><C-h>e
+ _<C-v><C-h>m_<C-v><C-h>i_<C-v><C-h>d_<C-v><C-h>__<C-v><C-h>d_<C-v><C-h>l_<C-v><C-h>e<ESC>]])
+ eval('man#init_pager()')
+
+ screen:expect([[
{b:^_begins} |
{b:mid_dle} |
{u:mid_dle} |
@@ -162,14 +117,13 @@ describe('In autoload/man.vim', function()
end)
it('highlights various bullet formats', function()
- insert_lines(
- "· ·\b·",
- "+\bo",
- "+\b+\bo\bo double"
- )
- eval('man#highlight_formatted_text()')
-
- expect([[
+ rawfeed([[
+ i· ·<C-v><C-h>·
+ +<C-v><C-h>o
+ +<C-v><C-h>+<C-v><C-h>o<C-v><C-h>o double<ESC>]])
+ eval('man#init_pager()')
+
+ screen:expect([[
^· {b:·} |
{b:·} |
{b:·} double |