def test_basic(self): for url in ("/", "/external", "/test/pants"): with RequestContext(self.app, url): self.assertEqual(url_for('index'), '/') with RequestContext(self.app, headers={'Host': 'test.example.com'}): self.assertEqual(url_for('other_domain'), '/') with RequestContext(self.app): self.assertEqual(url_for('other_domain'), 'http://test.example.com/')
def test_external(self): with RequestContext(self.app): self.assertEqual( url_for('index', _external=True), 'http://127.0.0.1/' ) self.assertEqual( url_for('other_domain'), 'http://test.example.com/' ) with RequestContext(self.app, headers={'Host': 'www.example.com'}): self.assertEqual( url_for('scheme', _external=True), 'http://www.example.com/scheme' ) with RequestContext(self.app, headers={'Host': 'blah:1234'}): self.assertEqual( url_for('bad', _external=True), 'http://blah:1234/bad' )
def test_arguments(self): with RequestContext(self.app): self.assertEqual(url_for('index', test=True), '/?test=True') self.assertEqual(url_for('args', 'pie'), '/args/pie/') self.assertEqual(url_for('args', var='pie'), '/args/pie/') self.assertEqual( url_for('args', 'pie', test=True), '/args/pie/?test=True' ) with self.assertRaises(ValueError): url_for('index', 32, 84)
def test_context(self): with self.assertRaises(RuntimeError): url_for('index')
def bad(request): return url_for('bad_test')
def same_scheme(request): return url_for('index', _scheme='http')
def scheme(request): return url_for('index', _scheme="ws")
def domain(request): return url_for('other_domain')
def external(request): return url_for('index', _external=True)
def index(request): return url_for('index')