diff options
author | Justin M. Keyes <justinkz@gmail.com> | 2016-04-11 01:59:32 -0400 |
---|---|---|
committer | Justin M. Keyes <justinkz@gmail.com> | 2016-04-15 02:23:27 -0400 |
commit | 523ff9c55cfd4e82877e110b24eb049f405703d5 (patch) | |
tree | e87c0964a38b8aea3bf78cb42cb7a6297f592fc0 | |
parent | 54188cdddefca38ff7a9fe201bc361c923cde331 (diff) | |
download | rneovim-523ff9c55cfd4e82877e110b24eb049f405703d5.tar.gz rneovim-523ff9c55cfd4e82877e110b24eb049f405703d5.tar.bz2 rneovim-523ff9c55cfd4e82877e110b24eb049f405703d5.zip |
test: defaults_spec.lua
-rw-r--r-- | runtime/doc/vim_diff.txt | 4 | ||||
-rw-r--r-- | test/functional/options/defaults_spec.lua | 85 |
2 files changed, 86 insertions, 3 deletions
diff --git a/runtime/doc/vim_diff.txt b/runtime/doc/vim_diff.txt index 17e16911bc..17ee5975dd 100644 --- a/runtime/doc/vim_diff.txt +++ b/runtime/doc/vim_diff.txt @@ -31,9 +31,7 @@ these differences. 2. Defaults *nvim-defaults* - Syntax highlighting is enabled by default -- Filetype-related plugins and scripts are enabled by default - Note: these defaults can be disabled with the "-u NONE" command line - argument. |-u| +- ":filetype plugin indent on" is enabled by default - 'autoindent' is set by default - 'autoread' is set by default diff --git a/test/functional/options/defaults_spec.lua b/test/functional/options/defaults_spec.lua new file mode 100644 index 0000000000..7f0892ee3a --- /dev/null +++ b/test/functional/options/defaults_spec.lua @@ -0,0 +1,85 @@ +local helpers = require('test.functional.helpers') +local Screen = require('test.functional.ui.screen') +local clear, feed = helpers.clear, helpers.feed +local eval, eq, neq = helpers.eval, helpers.eq, helpers.neq +local execute, source, expect = helpers.execute, helpers.source, helpers.expect + +local function init_session(...) + local args = { helpers.nvim_prog, '-i', 'NONE', '--embed', + '--cmd', 'set shortmess+=I background=light noswapfile noautoindent', + '--cmd', 'set laststatus=1 undodir=. directory=. viewdir=. backupdir=.' + } + for _, v in ipairs({...}) do + table.insert(args, v) + end + helpers.set_session(helpers.spawn(args)) +end + +describe('startup defaults', function() + before_each(function() + clear() + end) + + describe(':filetype', function() + local function expect_filetype(expected) + local screen = Screen.new(48, 4) + screen:attach() + execute('filetype') + screen:expect([[ + ^ | + ~ | + ~ | + ]]..expected + ) + end + + it('enabled by `-u NORC`', function() + init_session('-u', 'NORC') + expect_filetype( + 'filetype detection:ON plugin:ON indent:ON |') + end) + + it('disabled by `-u NONE`', function() + init_session('-u', 'NONE') + expect_filetype( + 'filetype detection:OFF plugin:OFF indent:OFF |') + end) + + it('overridden by early `filetype on`', function() + init_session('-u', 'NORC', '--cmd', 'filetype on') + expect_filetype( + 'filetype detection:ON plugin:OFF indent:OFF |') + end) + + it('overridden by early `filetype plugin on`', function() + init_session('-u', 'NORC', '--cmd', 'filetype plugin on') + expect_filetype( + 'filetype detection:ON plugin:ON indent:OFF |') + end) + + it('overridden by early `filetype indent on`', function() + init_session('-u', 'NORC', '--cmd', 'filetype indent on') + expect_filetype( + 'filetype detection:ON plugin:OFF indent:ON |') + end) + end) + + describe('syntax', function() + it('enabled by `-u NORC`', function() + init_session('-u', 'NORC') + eq(1, eval('g:syntax_on')) + end) + + it('disabled by `-u NONE`', function() + init_session('-u', 'NONE') + eq(0, eval('exists("g:syntax_on")')) + end) + + it('overridden by early `syntax off`', function() + init_session('-u', 'NORC', '--cmd', 'syntax off') + eq(0, eval('exists("g:syntax_on")')) + end) + end) +end) + + |