mirror of
https://github.com/datafolklabs/cement.git
synced 2026-02-06 13:42:03 +00:00
Resolved Issue #164
This commit is contained in:
parent
5a3440388e
commit
32cfe50d88
@ -33,6 +33,8 @@ Bugs:
|
||||
Features:
|
||||
|
||||
* :issue:`161` - Ability to override `usage`
|
||||
* :issue:`164` - Store previously rendered data as app._last_rendered, and
|
||||
retrievable by app.get_last_rendered().
|
||||
* :issue:`165` - Allow utils.fs.backup() to support a suffix kwarg
|
||||
* :issue:`166` - Ability to set the 'app' for CementTestCase.make_app()
|
||||
* :issue:`170` - Added support for `nested` and `embedded` controllers.
|
||||
|
||||
@ -343,7 +343,8 @@ class CementApp(meta.MetaMixin):
|
||||
self._validate_label()
|
||||
self._loaded_bootstrap = None
|
||||
self._parsed_args = None
|
||||
|
||||
self._last_rendered = None
|
||||
|
||||
self.ext = None
|
||||
self.config = None
|
||||
self.log = None
|
||||
@ -511,8 +512,18 @@ class CementApp(meta.MetaMixin):
|
||||
else:
|
||||
out_text = str(res)
|
||||
|
||||
self._last_rendered = (data, out_text)
|
||||
return out_text
|
||||
|
||||
def get_last_rendered(self):
|
||||
"""
|
||||
Return the (data, output_text) tuple of the last time self.render() was
|
||||
called.
|
||||
|
||||
:returns: tuple (data, output_text)
|
||||
"""
|
||||
return self._last_rendered
|
||||
|
||||
@property
|
||||
def pargs(self):
|
||||
"""
|
||||
|
||||
@ -56,6 +56,11 @@ The following outlines a basic test case using the cement.utils.test module.
|
||||
# Run the applicaion, if necessary
|
||||
self.app.run()
|
||||
|
||||
# Test the last rendered output (if app.render was used)
|
||||
data, output = app.get_last_rendered()
|
||||
self.eq(data, {'foo':'bar'})
|
||||
self.eq(output, 'some rendered output text)
|
||||
|
||||
# Close the application, again if necessary
|
||||
self.app.close()
|
||||
|
||||
|
||||
@ -212,4 +212,10 @@ class FoundationTestCase(test.CementTestCase):
|
||||
app.setup()
|
||||
app.run()
|
||||
self.eq(app.pargs.debug, True)
|
||||
|
||||
|
||||
def test_last_rendered(self):
|
||||
self.app.setup()
|
||||
output_text = self.app.render({'foo':'bar'})
|
||||
last_data, last_output = self.app.get_last_rendered()
|
||||
self.eq({'foo':'bar'}, last_data)
|
||||
self.eq(output_text, last_output)
|
||||
Loading…
Reference in New Issue
Block a user