def test_static_register_url(self): from memphis.view import resources resources.STATIC.url = 'http://memphis.org/static' view.static('testsurl', 'memphis.view.tests:static/dir1') self._init_memphis() self.assertEquals( view.static_url('tests', 'styles.css', self.request), 'http://memphis.org/static/tests/styles.css')
def test_static_wired(self): # something strange can happen, info can be removed # from registry before memphis init (tests for example) view.static('tests', 'memphis.view.tests:static/dir1') self.assertTrue('tests' in resources.registry) del resources.registry['tests'] self._init_memphis() self.assertTrue('tests' in resources.registry)
def test_base_static_url(self): view.static('tests2', 'memphis.view.tests:static/dir1') self._init_memphis() request = self._makeRequest() base = View(None, request) self.assertEquals( base.static_url('tests2', 'styles.css'), 'http://localhost:8080/static/tests2/styles.css')
def test_library_simple_css(self): view.static('tests', 'memphis.view.tests:static/dir1') self._init_memphis() lib = view.library( 'test-lib', path='style.css', resource='tests', type='css') self.assertEqual(lib.name, 'test-lib') self.assertEqual(len(lib.entries), 1) self.assertEqual(len(lib.entries), 1) self.assertTrue('style.css' in lib.entries[0].paths) self.assertEqual( repr(lib), '<memphis.view.library.Library "test-lib">')
def test_library_include_resource(self): view.static('tests2', 'memphis.view.tests:static/dir1') self._init_memphis() lib = view.library( 'test-lib', path='style.css', resource='tests2', type='css') request = self._makeRequest() view.include('test-lib', request) self.assertEqual( view.renderIncludes(request), '<link type="text/css" rel="stylesheet" href="http://localhost:8080/static/tests2/style.css" />')
def test_static_register(self): view.static('tests', 'memphis.view.tests:static/dir1') self._init_memphis() request = self._makeRequest() self._setRequest(request) self.assertEquals( view.static_url('tests', 'styles.css', request), 'http://localhost:8080/static/tests/styles.css') self.assertEquals( view.static_url('tests', '', request), 'http://localhost:8080/static/tests')
def test_commands_static_dump(self): view.static('tests', 'memphis.view.tests:static/dir2') dir = os.path.join(self.dir, 'subdir') sys.argv[:] = ['paste', 'static', '-d %s'%dir] try: run() except SystemExit: pass val = self.out.getvalue() self.assertTrue("* Coping from 'memphis.view.tests'" in val) self.assertTrue(os.listdir(os.path.join(dir, 'tests')) == ['text.txt', 'style.css'])
def test_commands_static_dump_skipping_existing(self): view.static('tests', 'memphis.view.tests:static/dir2') os.makedirs(os.path.join(self.dir, 'tests')) file = os.path.join(self.dir, 'tests', 'text.txt') f = open(file, 'wb') f.write('test existing file') f.close() sys.argv[:] = ['paste', 'static', '-d %s'%self.dir] try: run() except SystemExit: pass val = self.out.getvalue() self.assertTrue("skipping ../memphis.view.tests/text.txt" in val) self.assertTrue('test existing file' == open(file, 'r').read())
def test_commands_static_list(self): view.static('tests', 'memphis.view.tests:static') _out = sys.stdout sys.argv[:] = ['paste', 'static', '-l'] out = StringIO() sys.stdout = out try: print run() except SystemExit: pass sys.stdout = _out val = out.getvalue() self.assertTrue('* tests' in val) self.assertTrue('by: memphis.view.tests' in val)
def test_commands_static_dump_errors(self): view.static('tests', 'memphis.view.tests:static/dir2') _out = sys.stdout file = os.path.join(self.dir, 'file') f = open(file, 'w') f.write(' ') f.close() sys.argv[:] = ['paste', 'static', '-d %s'%file] out = StringIO() sys.stdout = out try: run() except SystemExit: pass sys.stdout = _out val = out.getvalue() self.assertTrue('Output path is not directory.' in val)
# devapp import ptah_app import ptah_app.views from memphis import view view.registerLayout('page', ptah_app.IPtahAppRoot, layer='devapp', template = view.template('templates/layoutpage.pt')) view.registerLayout('page', view.INavigationRoot, layer='devapp', template = view.template('templates/layoutpage.pt')) view.static('socketio', 'devsocket:socketio/') view.library( 'socket.io', path="socket.io.js", resource="socketio", type="js", require='jquery', ) view.library( 'sticky.min.css', path="sticky.min.css", resource="socketio", type="css", ) view.library( 'sticky.min.js',