jedi-vim tests basics

This commit is contained in:
David Halter
2013-08-22 17:48:58 +04:30
parent c8c4399d45
commit b8ff144ed5
4 changed files with 90 additions and 0 deletions

5
.travis.yml Normal file
View File

@@ -0,0 +1,5 @@
language: python
install:
- pip install --quiet --use-mirrors pytest
script:
- py.test

55
conftest.py Normal file
View File

@@ -0,0 +1,55 @@
import os
import urllib
import zipfile
import subprocess
CACHE_FOLDER = '.cache'
VSPEC_FOLDER = os.path.join(CACHE_FOLDER, 'vim-vspec-master')
VSPEC_RUNNER = os.path.join(VSPEC_FOLDER, 'bin/vspec')
TEST_DIR = 'test'
class IntegrationTestFile(object):
def __init__(self, path):
self.path = path
self.skip = None
def run(self):
output = subprocess.check_output([VSPEC_RUNNER, VSPEC_FOLDER, self.path])
print output
assert False
def __repr__(self):
return "<%s: %s>" % (type(self), self.path)
def pytest_configure(config):
if not os.path.isdir(CACHE_FOLDER):
os.mkdir(CACHE_FOLDER)
if not os.path.exists(VSPEC_FOLDER):
url = 'https://github.com/kana/vim-vspec/archive/master.zip'
name, hdrs = urllib.urlretrieve(url)
z = zipfile.ZipFile(name)
for n in z.namelist():
dest = os.path.join(CACHE_FOLDER, n)
destdir = os.path.dirname(dest)
if not os.path.isdir(destdir):
os.makedirs(destdir)
data = z.read(n)
if not os.path.isdir(dest):
with open(dest, 'w') as f:
f.write(data)
z.close()
os.chmod(VSPEC_RUNNER, 0777)
def pytest_generate_tests(metafunc):
"""
:type metafunc: _pytest.python.Metafunc
"""
def collect_tests():
for f in os.listdir(TEST_DIR):
yield IntegrationTestFile(os.path.join(TEST_DIR, f))
metafunc.parametrize('case', list(collect_tests()))

3
pytest.ini Normal file
View File

@@ -0,0 +1,3 @@
[pytest]
# Ignore all files
norecursedirs = *

27
test/test.vim Normal file
View File

@@ -0,0 +1,27 @@
describe '...'
before
new
put =[
\ 'foo',
\ 'bar',
\ 'baz',
\ '...',
\ ]
end
after
close!
end
it 'blub'
Expect range(1) == [1]
end
it 'bla'
end
it 'ble'
end
end
" vim: et:ts=2:sw=2