def test_cache_buster(): h = html.HeadRenderer(assets_version='1.2') assert h.link(rel='stylesheet', href='/abc').get('href') == '/abc' assert h.link(rel='stylesheet', href='abc').get('href') == '/abc?ver=1.2' assert h.link(rel='next', href='/abc').get('href') == '/abc' assert h.link(rel='next', href='abc').get('href') == 'abc' h = html.HeadRenderer(static_url='/root', assets_version='1.2') assert h.link(rel='stylesheet', href='/abc').get('href') == '/abc' assert h.link(rel='stylesheet', href='abc').get('href') == '/root/abc?ver=1.2' assert h.link(rel='next', href='/abc').get('href') == '/abc' assert h.link(rel='next', href='abc').get('href') == 'abc' h = html.HeadRenderer(static_url='/root', assets_version='1.2') assert h.link(rel='stylesheet', href='/abc?foo=bar').get('href') == '/abc?foo=bar' assert h.link( rel='stylesheet', href='abc?foo=bar').get('href') == '/root/abc?foo=bar&ver=1.2' assert h.link(rel='stylesheet', href='/abc?foo=bar&hello=world').get( 'href') == '/abc?foo=bar&hello=world' assert h.link(rel='stylesheet', href='abc?foo=bar&hello=world').get( 'href') == '/root/abc?foo=bar&hello=world&ver=1.2'
def test_head_render_render6(): """ XHTML namespace unit test - HeadRender - Render - render only javascript_url method """ h = html.HeadRenderer('/tmp/static_directory/') h << h.javascript_url('test.js') assert c14n(h.render_top()) == c14n( '<head><script src="/tmp/static_directory/test.js" type="text/javascript"></script></head>' )
def test_css_js_override(): head = html.HeadRenderer('') head.css('css1', 'css1', a=42) head.css('css1', 'css2', b=42) assert list(head._named_css.items()) == [('css1', ('css1', { 'a': 42 }, False))] head.css_url('http://example.com/style_1.css', a=42) head.css_url('http://example.com/style_1.css', b=42) assert list(head._css_url.items()) == [('http://example.com/style_1.css', ({ 'a': 42 }, False))] head.javascript('js1', 'javascript1', a=42) head.javascript('js1', 'javascript2', b=42) assert list(head._named_javascript.items()) == [('js1', ('javascript1', { 'a': 42 }, False))] head.javascript_url('http://example.com/js_1.js', a=42) head.javascript_url('http://example.com/js_1.js', b=42) assert list(head._javascript_url.items()) == [ ('http://example.com/js_1.js', ({ 'a': 42 }, False)) ]
def test_css_js_order(): head = html.HeadRenderer('') for i in range(10): head.css(str(i), 'style_%d.css' % i, a=42 + i) result = [(str(i), ('style_%d.css' % i, { 'a': 42 + i }, False)) for i in range(10)] assert list(head._named_css.items()) == result for i in range(10): head.css_url('http://example.com/style_%d.css' % i, a=42 + i) result = [('http://example.com/style_%d.css' % i, ({ 'a': 42 + i }, False)) for i in range(10)] assert list(head._css_url.items()) == result for i in range(10): head.javascript(str(i), 'js_%d.js' % i, a=42 + i) result = [(str(i), ('js_%d.js' % i, { 'a': 42 + i }, False)) for i in range(10)] assert list(head._named_javascript.items()) == result for i in range(10): head.javascript_url('http://example.com/js_%d.js' % i, a=42 + i) result = [('http://example.com/js_%d.js' % i, ({ 'a': 42 + i }, False)) for i in range(10)] assert list(head._javascript_url.items()) == result
def test_head_render_render9(): """ XHTML namespace unit test - HeadRender - Render - render with head & style """ h = html.HeadRenderer('/tmp/static_directory/') with h.head({'id': 'id'}): h << h.style('test', {'id': 'id'}) assert c14n(h.render_top()) == c14n( '<head id="id"><style id="id">test</style></head>')
def test_head_render_render7(): """ XHTML namespace unit test - HeadRender - Render - render only string js method """ h = html.HeadRenderer('/tmp/static_directory/') h << h.javascript('test.js', 'function test() { return True }') assert c14n(h.render_top()) == c14n( '<head><script data-nagare-js="test.js" type="text/javascript">function test() { return True }</script></head>' )
def test_head_render_render5(): """ XHTML namespace unit test - HeadRender - Render - render only css method """ h = html.HeadRenderer('/tmp/static_directory/') h << h.css('css_test', 'test') assert c14n(h.render_top()) == c14n( '<head><style type="text/css" data-nagare-css="css_test">test</style></head>' )
def test_head_render_render2(): """ XHTML namespace unit test - HeadRender - Render - render only css_url method """ h = html.HeadRenderer('/tmp/static_directory/') h << h.css_url('css') assert c14n(h.render_top()) == c14n( '<head><link href="/tmp/static_directory/css" type="text/css" rel="stylesheet"/></head>' )
def test_head1(): h = html.HeadRenderer() assert h.head( h.title('test')).tostring() == b'<head><title>test</title></head>' with pytest.raises(AttributeError): h.foo
def test_head_render_render4(): """ XHTML namespace unit test - HeadRender - Render - call render two times with css_url method""" h = html.HeadRenderer('/tmp/static_directory/') h << h.css_url('css') h.render_top() renderResult = h.render_top() assert not isinstance(renderResult, list) assert c14n(h.render_top()) == c14n( '<head><link href="/tmp/static_directory/css" type="text/css" rel="stylesheet"/></head>' )
def test_head_render_javascript_url2(): """ XHTML namespace unit test - HeadRender - javascript_url - absolute url """ h = html.HeadRenderer('/tmp/static_directory/') with h.head({ 'lang': 'lang', 'dir': 'dir', 'id': 'id', 'profile': 'profile' }): h << h.javascript_url('/test.js') assert list(h._javascript_url.items()) == [('/test.js', ({}, False))]
def test_url(): h = html.HeadRenderer() assert h.link(href='/abc').tostring() == b'<link href="/abc">' assert h.link(href='abc').tostring() == b'<link href="abc">' h = html.HeadRenderer(static_url='/root') assert h.link(rel='stylesheet', href='/abc').get('href') == '/abc' assert h.link(rel='stylesheet', href='abc').get('href') == '/root/abc' h = html.HeadRenderer() assert h.script(src='/abc').tostring() == b'<script src="/abc"></script>' assert h.script(src='abc').tostring() == b'<script src="/abc"></script>' h = html.HeadRenderer(static_url='/root') assert h.script(src='/abc').tostring() == b'<script src="/abc"></script>' assert h.script( src='abc').tostring() == b'<script src="/root/abc"></script>'
def test_head_render_css_url3(): """ XHTML namespace unit test - HeadRender - css_url - absolute url + relative url """ h = html.HeadRenderer('/tmp/static_directory/') with h.head({ 'lang': 'lang', 'dir': 'dir', 'id': 'id', 'profile': 'profile' }): h << h.css_url('/css', a=42) h << h.css_url('css', b=10) assert h._css_url['/css'] == ({'a': 42}, False) assert h._css_url['/tmp/static_directory/css'] == ({'b': 10}, False)
def test_head_render_javascript_css1(): h = html.HeadRenderer('/tmp/static_directory') with h.head({ 'lang': 'lang', 'dir': 'dir', 'id': 'id', 'profile': 'profile' }): h << h.css_url('css') assert list(h._css_url.items()) == [('/tmp/static_directory/css', ({}, False))] h = html.HeadRenderer('/tmp/static_directory', assets_version='1.2') with h.head({ 'lang': 'lang', 'dir': 'dir', 'id': 'id', 'profile': 'profile' }): h << h.css_url('css') assert list(h._css_url.items()) == [('/tmp/static_directory/css?ver=1.2', ({}, False))]
def test_parse1(): h = html.HeadRenderer() root = h.fromfile(StringIO('<html><body/></html>')) assert isinstance(root, html.Tag) assert root.tostring() == b'<html><body></body></html>' root = h.fromfile(StringIO('<html><body/></html>'), xml.Tag) assert isinstance(root, xml.Tag) assert root.tostring() == b'<html><body/></html>' root = h.fromstring('<html><body/></html>') assert isinstance(root, html.Tag) assert root.tostring() == b'<html><body></body></html>' root = h.fromstring('<html><body/></html>', xml.Tag) assert isinstance(root, xml.Tag) assert root.tostring() == b'<html><body/></html>'
def test_absolute_asset_url4(): head = html.HeadRenderer('/static/root2') assert head.absolute_asset_url('', '/static/root') == '/static/root/' assert head.absolute_asset_url('/', '/static/root') == '/' assert head.absolute_asset_url('/abc', '/static/root') == '/abc' assert head.absolute_asset_url('http://abc', '/static/root') == 'http://abc' assert head.absolute_asset_url('abc', '') == '/abc' assert head.absolute_asset_url('abc/', '') == '/abc/' assert head.absolute_asset_url('abc', '/static/root') == '/static/root/abc' assert head.absolute_asset_url('abc', '/static/root/') == '/static/root/abc' assert head.absolute_asset_url('abc/', '/static/root') == '/static/root/abc/' assert head.absolute_asset_url('abc/', '/static/root/') == '/static/root/abc/' assert head.absolute_asset_url('') == '/static/root2/' assert head.absolute_asset_url('/') == '/' assert head.absolute_asset_url('/abc') == '/abc' assert head.absolute_asset_url('http://abc') == 'http://abc' assert head.absolute_asset_url('abc', '') == '/abc' assert head.absolute_asset_url('abc/', '') == '/abc/' assert head.absolute_asset_url('abc') == '/static/root2/abc' assert head.absolute_asset_url('abc') == '/static/root2/abc' assert head.absolute_asset_url('abc/') == '/static/root2/abc/' assert head.absolute_asset_url('abc/') == '/static/root2/abc/'
def test_head2(): h = html.HeadRenderer() assert h.link.tostring() == b'<link>' assert h.link.tostring(method='xml') == b'<link/>'
def test_head_render_render8(): """ XHTML namespace unit test - HeadRender - Render - render with head """ h = html.HeadRenderer('/tmp/static_directory/') h << h.head({'id': 'id'}) assert c14n(h.render_top()) == c14n('<head id="id"></head>')
def test_head_render_render1(): """ XHTML namespace unit test - HeadRender - Render - render only style tag """ h = html.HeadRenderer('/tmp/static_directory/') h << h.style() assert c14n(h.render_top()) == c14n('<head><style></style></head>')