aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/nvim/testdir/Makefile1
-rw-r--r--src/nvim/testdir/test_textobjects.in40
-rw-r--r--src/nvim/testdir/test_textobjects.ok16
-rw-r--r--test/functional/legacy/textobjects_spec.lua61
4 files changed, 61 insertions, 57 deletions
diff --git a/src/nvim/testdir/Makefile b/src/nvim/testdir/Makefile
index dfd83fb27d..fe511166f2 100644
--- a/src/nvim/testdir/Makefile
+++ b/src/nvim/testdir/Makefile
@@ -29,7 +29,6 @@ SCRIPTS := \
test_close_count.out \
test_command_count.out \
test_marks.out \
- test_textobjects.out \
NEW_TESTS =
diff --git a/src/nvim/testdir/test_textobjects.in b/src/nvim/testdir/test_textobjects.in
deleted file mode 100644
index dc48efc67a..0000000000
--- a/src/nvim/testdir/test_textobjects.in
+++ /dev/null
@@ -1,40 +0,0 @@
-Tests for text-objects vim: set ft=vim :
-
-STARTTEST
-:so small.vim
-:if !has('textobjects') | e! test.ok | wq! test.out | endif
-:set nocp viminfo+=nviminfo
-:"
-:function SelectionOut(data)
-: new
-: call setline(1, a:data)
-: call setreg('"', '')
-: normal! ggfrmavi)y
-: $put =getreg('\"')
-: call setreg('"', '')
-: normal! `afbmavi)y
-: $put =getreg('\"')
-: call setreg('"', '')
-: normal! `afgmavi)y
-: $put =getreg('\"')
-: %yank a
-: q!
-: $put =getreg('a')
-:endfunction
-:"
-:$put ='# Test for vi) without cpo-M'
-:set cpo-=M
-:call SelectionOut('(red \(blue) green)')
-:"
-:$put ='# Test for vi) with cpo-M #1'
-:set cpo+=M
-:call SelectionOut('(red \(blue) green)')
-:"
-:$put ='# Test for vi) with cpo-M #2'
-:set cpo+=M
-:call SelectionOut('(red (blue\) green)')
-:/^Results/,$w test.out
-:qa!
-ENDTEST
-
-Results of text-objects
diff --git a/src/nvim/testdir/test_textobjects.ok b/src/nvim/testdir/test_textobjects.ok
deleted file mode 100644
index b670c7d816..0000000000
--- a/src/nvim/testdir/test_textobjects.ok
+++ /dev/null
@@ -1,16 +0,0 @@
-Results of text-objects
-# Test for vi) without cpo-M
-(red \(blue) green)
-red \(blue
-red \(blue
-
-# Test for vi) with cpo-M #1
-(red \(blue) green)
-red \(blue) green
-blue
-red \(blue) green
-# Test for vi) with cpo-M #2
-(red (blue\) green)
-red (blue\) green
-blue\
-red (blue\) green
diff --git a/test/functional/legacy/textobjects_spec.lua b/test/functional/legacy/textobjects_spec.lua
new file mode 100644
index 0000000000..1e8e0b0bcb
--- /dev/null
+++ b/test/functional/legacy/textobjects_spec.lua
@@ -0,0 +1,61 @@
+local helpers = require('test.functional.helpers')
+local call = helpers.call
+local clear = helpers.clear
+local execute = helpers.execute
+local expect = helpers.expect
+local source = helpers.source
+
+describe('Text object', function()
+ before_each(function()
+ clear()
+ execute('set shada=')
+ source([[
+ function SelectionOut(data)
+ new
+ call setline(1, a:data)
+ call setreg('"', '')
+ normal! ggfrmavi)y
+ $put =getreg('\"')
+ call setreg('"', '')
+ normal! `afbmavi)y
+ $put =getreg('\"')
+ call setreg('"', '')
+ normal! `afgmavi)y
+ $put =getreg('\"')
+ endfunction
+ ]])
+ end)
+
+ it('Test for vi) without cpo-M', function()
+ execute('set cpo-=M')
+ call('SelectionOut', '(red \\(blue) green)')
+
+ expect([[
+ (red \(blue) green)
+ red \(blue
+ red \(blue
+ ]])
+ end)
+
+ it('Test for vi) with cpo-M #1', function()
+ execute('set cpo+=M')
+ call('SelectionOut', '(red \\(blue) green)')
+
+ expect([[
+ (red \(blue) green)
+ red \(blue) green
+ blue
+ red \(blue) green]])
+ end)
+
+ it('Test for vi) with cpo-M #2', function()
+ execute('set cpo+=M')
+ call('SelectionOut', '(red (blue\\) green)')
+
+ expect([[
+ (red (blue\) green)
+ red (blue\) green
+ blue\
+ red (blue\) green]])
+ end)
+end)