mirror of
https://github.com/davidhalter/jedi-vim.git
synced 2025-12-07 03:04:30 +08:00
jedi-vim tests basics
This commit is contained in:
5
.travis.yml
Normal file
5
.travis.yml
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
language: python
|
||||||
|
install:
|
||||||
|
- pip install --quiet --use-mirrors pytest
|
||||||
|
script:
|
||||||
|
- py.test
|
||||||
55
conftest.py
Normal file
55
conftest.py
Normal 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
3
pytest.ini
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
[pytest]
|
||||||
|
# Ignore all files
|
||||||
|
norecursedirs = *
|
||||||
27
test/test.vim
Normal file
27
test/test.vim
Normal 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
|
||||||
Reference in New Issue
Block a user