diff --git a/.travis.yml b/.travis.yml index 4b1bc71..c60eef6 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,12 +1,12 @@ language: ruby -sudo: false +sudo: required env: global: - DEPS=$HOME/deps - PATH=$DEPS/bin:$PATH matrix: include: - - env: ENV=nox + - env: ENV=vim72 rvm: 1.8.7 addons: { apt: { packages: [vim-nox] } } - env: ENV=python @@ -15,18 +15,28 @@ matrix: - env: ENV=python3 rvm: 1.8.7 addons: { apt: { packages: [python3-dev] } } - - env: ENV=ruby + - env: ENV=ruby18 rvm: 1.8.7 - - env: ENV=ruby + - env: ENV=ruby20 rvm: 2.0.0 + - env: ENV=neovim install: | git config --global user.email "you@example.com" git config --global user.name "Your Name" - if [ "$ENV" == "nox" ]; then + if [ "$ENV" == "vim72" ]; then mkdir -p ${DEPS}/bin ln -s /usr/bin/vim.nox ${DEPS}/bin/vim return + elif [ "$ENV" == "neovim" ]; then + # https://github.com/neovim/neovim/wiki/Installing-Neovim + sudo apt-get install -y software-properties-common + sudo add-apt-repository -y ppa:neovim-ppa/unstable + sudo apt-get update -y + sudo apt-get install -y neovim + mkdir -p ${DEPS}/bin + ln -s /usr/bin/nvim ${DEPS}/bin/vim + return fi C_OPTS="--prefix=$DEPS --with-features=huge --disable-gui " @@ -37,7 +47,7 @@ install: | python3) C_OPTS+=--enable-python3interp ;; - ruby) + ruby*) C_OPTS+=--enable-rubyinterp ;; esac diff --git a/plug.vim b/plug.vim index e039b91..2c38a68 100644 --- a/plug.vim +++ b/plug.vim @@ -1537,7 +1537,9 @@ class Plugin(object): actual_uri = self.repo_uri() expect_uri = self.args['uri'] regex = re.compile(r'^(?:\w+://)?(?:[^@/]*@)?([^:/]*(?::[0-9]*)?)[:/](.*?)(?:\.git)?/?$') - if regex.match(actual_uri).groups() != regex.match(expect_uri).groups(): + ma = regex.match(actual_uri) + mb = regex.match(expect_uri) + if ma is None or mb is None or ma.groups() != mb.groups(): msg = ['', 'Invalid URI: {0}'.format(actual_uri), 'Expected {0}'.format(expect_uri), diff --git a/test/test.vader b/test/test.vader index a52b8a0..85f94f8 100644 --- a/test/test.vader +++ b/test/test.vader @@ -70,14 +70,16 @@ Execute (Initialize test environment): Execute (Print Interpreter Version): redir => out if has('ruby') - silent ruby puts 'Ruby: ' + RUBY_VERSION - elseif has('python') - silent python import sys; svi = sys.version_info; print 'Python: {}.{}.{}'.format(svi[0], svi[1], svi[2]) - elseif has('python3') - silent python3 import sys; svi = sys.version_info; print('Python: {}.{}.{}'.format(svi[0], svi[1], svi[2])) + silent! ruby puts 'Ruby: ' + RUBY_VERSION + endif + if has('python') + silent! python import sys; svi = sys.version_info; print 'Python: {}.{}.{}'.format(svi[0], svi[1], svi[2]) + endif + if has('python3') + silent! python3 import sys; svi = sys.version_info; print('Python: {}.{}.{}'.format(svi[0], svi[1], svi[2])) endif redir END - Log substitute(out, '\n', '', 'g') + Log split(out, '\n') Include: workflow.vader Include: regressions.vader