with unit test and corrected function detection on the closure add a type impor tthough...
This commit is contained in:
parent
a640affc81
commit
fc281224cb
|
@ -35,6 +35,7 @@ __license__ = 'MIT'
|
||||||
import sqlite3
|
import sqlite3
|
||||||
import inspect
|
import inspect
|
||||||
import bottle
|
import bottle
|
||||||
|
import types
|
||||||
|
|
||||||
# PluginError is defined to bottle >= 0.10
|
# PluginError is defined to bottle >= 0.10
|
||||||
if not hasattr(bottle, 'PluginError'):
|
if not hasattr(bottle, 'PluginError'):
|
||||||
|
@ -106,13 +107,14 @@ class SQLitePlugin(object):
|
||||||
if keyword not in argspec.args:
|
if keyword not in argspec.args:
|
||||||
#check for closure
|
#check for closure
|
||||||
no_keyword_arg = True
|
no_keyword_arg = True
|
||||||
for closure in _callback.func_closure:
|
if _callback.func_closure is not None:
|
||||||
contents = closure.cell_contents
|
for closure in _callback.func_closure:
|
||||||
if callable(contents):
|
contents = closure.cell_contents
|
||||||
argspec = inspect.getargspec(contents)
|
if isinstance(contents, types.FunctionType):
|
||||||
if keyword in argspec.args:
|
argspec = inspect.getargspec(contents)
|
||||||
no_keyword_arg = False
|
if keyword in argspec.args:
|
||||||
break
|
no_keyword_arg = False
|
||||||
|
break
|
||||||
if no_keyword_arg:
|
if no_keyword_arg:
|
||||||
return callback
|
return callback
|
||||||
|
|
||||||
|
|
7
test.py
7
test.py
|
@ -28,6 +28,13 @@ class SQLiteTest(unittest.TestCase):
|
||||||
def tearDown(self):
|
def tearDown(self):
|
||||||
os.unlink(self.plugin.dbfile)
|
os.unlink(self.plugin.dbfile)
|
||||||
|
|
||||||
|
def test_with_view(self):
|
||||||
|
@self.app.get('/')
|
||||||
|
@bottle.view('test_view')
|
||||||
|
def test(db):
|
||||||
|
self.assertEqual(type(db), type(sqlite3.connect(':memory:')))
|
||||||
|
self._request('/')
|
||||||
|
|
||||||
def test_with_keyword(self):
|
def test_with_keyword(self):
|
||||||
@self.app.get('/')
|
@self.app.get('/')
|
||||||
def test(db):
|
def test(db):
|
||||||
|
|
1
views/test_view.tpl
Normal file
1
views/test_view.tpl
Normal file
|
@ -0,0 +1 @@
|
||||||
|
test_view
|
Loading…
Reference in New Issue
Block a user