From 631a979480b24f03f5b7cfab49353da1cb2f4cb7 Mon Sep 17 00:00:00 2001 From: ryanss Date: Sun, 15 Feb 2015 14:59:20 -0500 Subject: Add basic tests and Travis integration. Close #24 --- .travis.yml | 15 +++++++++++++++ tests.vader | 58 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 73 insertions(+) create mode 100644 .travis.yml create mode 100644 tests.vader diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000..da1c718 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,15 @@ +# https://travis-ci.org/ryanss/vim-hackernews + +language: vim + +before_script: + - git clone https://github.com/junegunn/vader.vim.git + +script: | + vim -Nu <(cat << VIMRC + filetype off + set rtp+=vader.vim + set rtp+=. + filetype plugin indent on + syntax enable + VIMRC) -c 'Vader! tests.vader' > /dev/null diff --git a/tests.vader b/tests.vader new file mode 100644 index 0000000..39b4608 --- /dev/null +++ b/tests.vader @@ -0,0 +1,58 @@ +" vim-hackernews +" -------------- +" Browse Hacker News (news.ycombinator.com) inside Vim. +" +" Author: ryanss +" Website: https://github.com/ryanss/vim-hackernews +" License: MIT (see LICENSE file) +" Version: 0.1.1 + +Execute (Test Plugin Loaded): + AssertEqual 1, filereadable('doc/hackernews.txt') + AssertEqual 1, filereadable('ftplugin/hackernews.py') + AssertEqual 1, filereadable('ftplugin/hackernews.vim') + AssertEqual 1, filereadable('plugin/hackernews.vim') + AssertEqual 1, filereadable('syntax/hackernews.vim') + redir @a + au BufRead *.hackernews + redir @b + au BufNewFile *.hackernews + redir @c + command HackerNews + redir END + +Do (Test autocmd BufRead *.hackernews): + "apdd + +Expect (set filetype=hackernews): + --- Auto-Commands --- + BufRead + *.hackernews + set filetype=hackernews + +Do (Test autocmd BufNewFile *.hackernews): + "bpdd + +Expect (set filetype=hackernews): + --- Auto-Commands --- + BufNewFile + *.hackernews + set filetype=hackernews + +Do (Test HackerNews Defined): + "cpdd + +Expect (edit .hackernews): + Name Args Range Complete Definition + HackerNews 0 edit .hackernews + +Execute (Test HackerNews Command): + HackerNews + +Then (Test Front Page): + AssertEqual getline(1), '┌───┐' + AssertEqual getline(2), '│ Y │ Hacker News (news.ycombinator.com)' + AssertEqual getline(3), '└───┘' + AssertEqual 'Comment', SyntaxAt(5,2), 'Item number syntax' + AssertEqual 'Comment', SyntaxAt(6,5), 'Point/user/comment line syntax' + AssertEqual '', SyntaxAt(5,5), 'Item title syntax' -- cgit v1.2.3