aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorNate Sullivan <nate@academia.edu>2014-10-21 01:07:47 -0700
committerJustin M. Keyes <justinkz@gmail.com>2014-10-22 15:28:26 -0400
commitd11fd1950fc6425da72185ee67278496db987eae (patch)
tree07d349206eb15fc2f0cb181cd43bdeb87983c795 /test
parent2f31c3d6ce665ea9aceea700b29858e6e2bc7e62 (diff)
downloadrneovim-d11fd1950fc6425da72185ee67278496db987eae.tar.gz
rneovim-d11fd1950fc6425da72185ee67278496db987eae.tar.bz2
rneovim-d11fd1950fc6425da72185ee67278496db987eae.zip
legacy tests: migrate test35. #1318
Migrate vim's integration test 35 (increment/decrement commands) to lua/busted.
Diffstat (limited to 'test')
-rw-r--r--test/functional/legacy/035_increment_and_decrement_spec.lua44
1 files changed, 44 insertions, 0 deletions
diff --git a/test/functional/legacy/035_increment_and_decrement_spec.lua b/test/functional/legacy/035_increment_and_decrement_spec.lua
new file mode 100644
index 0000000000..20c0cc4206
--- /dev/null
+++ b/test/functional/legacy/035_increment_and_decrement_spec.lua
@@ -0,0 +1,44 @@
+-- Test Ctrl-A and Ctrl-X, which increment and decrement decimal, hexadecimal,
+-- and octal numbers.
+
+local helpers = require('test.functional.helpers')
+local clear, feed, insert = helpers.clear, helpers.feed, helpers.insert
+local execute, expect = helpers.execute, helpers.expect
+
+describe('increment and decrement commands', function()
+ setup(clear)
+
+ it('should work', function()
+ -- Insert some numbers in various bases.
+ insert([[
+ 100 0x100 077 0
+ 100 0x100 077
+ 100 0x100 077 0xfF 0xFf
+ 100 0x100 077]])
+
+ -- Increment and decrement numbers in the first row, interpreting the
+ -- numbers as decimal, octal or hexadecimal.
+ execute('set nrformats=octal,hex', '1')
+ feed('102ll64128$')
+
+ -- For the second row, treat the numbers as decimal or octal.
+ -- 0x100 should be interpreted as decimal 0, the character x, and decimal 100.
+ execute('set nrformats=octal', '2')
+ feed('0102l2w65129blx6lD')
+
+ -- For the third row, treat the numbers as decimal or hexadecimal.
+ -- 077 should be interpreted as decimal 77.
+ execute('set nrformats=hex', '3')
+ feed('0101l257Txldt   ')
+
+ -- For the last row, interpret all numbers as decimal.
+ execute('set nrformats=', '4')
+ feed('0200l100w78')
+
+ expect([[
+ 0 0x0ff 0000 -1
+ 0 1x100 0777777
+ -1 0x0 078 0xFE 0xfe
+ -100 -100x100 000]])
+ end)
+end)