本文整理汇总了Python中trac.web.chrome.Chrome.prepare_request方法的典型用法代码示例。如果您正苦于以下问题:Python Chrome.prepare_request方法的具体用法?Python Chrome.prepare_request怎么用?Python Chrome.prepare_request使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类trac.web.chrome.Chrome
的用法示例。
在下文中一共展示了Chrome.prepare_request方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test_icon_links
# 需要导入模块: from trac.web.chrome import Chrome [as 别名]
# 或者: from trac.web.chrome.Chrome import prepare_request [as 别名]
def test_icon_links(self):
req = Request(abs_href=Href('http://example.org/trac.cgi'),
href=Href('/trac.cgi'), base_path='/trac.cgi',
path_info='',
add_redirect_listener=lambda listener: None)
chrome = Chrome(self.env)
# No icon set in config, so no icon links
self.env.config.set('project', 'icon', '')
links = chrome.prepare_request(req)['links']
assert 'icon' not in links
assert 'shortcut icon' not in links
# Relative URL for icon config option
self.env.config.set('project', 'icon', 'foo.ico')
links = chrome.prepare_request(req)['links']
self.assertEqual('/trac.cgi/chrome/common/foo.ico',
links['icon'][0]['href'])
self.assertEqual('/trac.cgi/chrome/common/foo.ico',
links['shortcut icon'][0]['href'])
# URL relative to the server root for icon config option
self.env.config.set('project', 'icon', '/favicon.ico')
links = chrome.prepare_request(req)['links']
self.assertEqual('/favicon.ico', links['icon'][0]['href'])
self.assertEqual('/favicon.ico', links['shortcut icon'][0]['href'])
# Absolute URL for icon config option
self.env.config.set('project', 'icon', 'http://example.com/favicon.ico')
links = chrome.prepare_request(req)['links']
self.assertEqual('http://example.com/favicon.ico',
links['icon'][0]['href'])
self.assertEqual('http://example.com/favicon.ico',
links['shortcut icon'][0]['href'])
示例2: test_attributes_preserved_in_navigation_item
# 需要导入模块: from trac.web.chrome import Chrome [as 别名]
# 或者: from trac.web.chrome.Chrome import prepare_request [as 别名]
def test_attributes_preserved_in_navigation_item(self):
class TestNavigationContributor1(Component):
implements(INavigationContributor)
def get_active_navigation_item(self, req):
return None
def get_navigation_items(self, req):
yield 'mainnav', 'test1', \
tag.a('Test 1', href='test1', target='blank')
class TestNavigationContributor2(Component):
implements(INavigationContributor)
def get_active_navigation_item(self, req):
return None
def get_navigation_items(self, req):
yield 'mainnav', 'test2', \
tag.a('Test 2', href='test2', target='blank')
req = Request(abs_href=Href('http://example.org/trac.cgi'),
href=Href('/trac.cgi'), base_path='/trac.cgi',
path_info='/',
add_redirect_listener=lambda listener: None)
self.env.config.set('mainnav', 'test1.label', 'Test One')
self.env.config.set('mainnav', 'test2.label', 'Test Two')
self.env.config.set('mainnav', 'test2.href', 'testtwo')
chrome = Chrome(self.env)
items = chrome.prepare_request(req)['nav']['mainnav']
item = self._get_navigation_item(items, 'test1')
self.assertEqual(str(tag.a('Test One', href='test1', target='blank')),
str(item['label']))
item = self._get_navigation_item(items, 'test2')
self.assertEqual(str(tag.a('Test Two', href='testtwo',
target='blank')),
str(item['label']))
示例3: test_nav_contributor_order
# 需要导入模块: from trac.web.chrome import Chrome [as 别名]
# 或者: from trac.web.chrome.Chrome import prepare_request [as 别名]
def test_nav_contributor_order(self):
class TestNavigationContributor1(Component):
implements(INavigationContributor)
def get_active_navigation_item(self, req):
return None
def get_navigation_items(self, req):
yield 'metanav', 'test1', 'Test 1'
class TestNavigationContributor2(Component):
implements(INavigationContributor)
def get_active_navigation_item(self, req):
return None
def get_navigation_items(self, req):
yield 'metanav', 'test2', 'Test 2'
req = Request(abs_href=Href('http://example.org/trac.cgi'),
href=Href('/trac.cgi'), base_path='/trac.cgi',
path_info='/',
add_redirect_listener=lambda listener: None)
chrome = Chrome(self.env)
# Test with both items set in the order option
self.env.config.set('trac', 'metanav', 'test2, test1')
items = chrome.prepare_request(req)['nav']['metanav']
self.assertEqual('test2', items[0]['name'])
self.assertEqual('test1', items[1]['name'])
# Test with only test1 in the order options
self.env.config.set('trac', 'metanav', 'test1')
items = chrome.prepare_request(req)['nav']['metanav']
self.assertEqual('test1', items[0]['name'])
self.assertEqual('test2', items[1]['name'])
# Test with only test2 in the order options
self.env.config.set('trac', 'metanav', 'test2')
items = chrome.prepare_request(req)['nav']['metanav']
self.assertEqual('test2', items[0]['name'])
self.assertEqual('test1', items[1]['name'])
# Test with none in the order options (order corresponds to
# registration order)
self.env.config.set('trac', 'metanav', 'foo, bar')
items = chrome.prepare_request(req)['nav']['metanav']
self.assertEqual('test1', items[0]['name'])
self.assertEqual('test2', items[1]['name'])