def test_not_DWIM_for_304_response(self): # Don't guess the content type with 304 responses which MUST NOT / # SHOULD NOT include it. # # http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.3.5 # # NOTE: The content type is sill guessed if status us set after # the result :( response = BrowserResponse() response.setStatus(304) response.setResult(b'') self.assertEqual(response.getHeader('content-type'), None)
def testInsertBaseInSetResultUpdatesContentLength(self): # Make sure that the Content-Length header is updated to account # for an inserted <base> tag. response = BrowserResponse() response.setHeader('content-type', 'text/html') base = 'http://localhost/folder/' response.setBase(base) inserted_text = '\n<base href="%s" />\n' % base html_page = b"""<html> <head></head> <blah> </html> """ response.setResult(html_page) self.assertEqual(int(response.getHeader('content-length')), len(html_page) + len(inserted_text))
def testInsertBaseInSetResultUpdatesContentLength(self): # Make sure that the Content-Length header is updated to account # for an inserted <base> tag. response = BrowserResponse() response.setHeader('content-type', 'text/html') base = 'http://localhost/folder/' response.setBase(base) inserted_text = '\n<base href="%s" />\n' % base html_page = """<html> <head></head> <blah> </html> """ response.setResult(html_page) self.assertEquals( int(response.getHeader('content-length')), len(html_page) + len(inserted_text))
def test_contentType_DWIM_in_setResult(self): response = BrowserResponse() response.setResult("""<html> <blah> </html> """) self.assertTrue( response.getHeader('content-type').startswith("text/html")) response = BrowserResponse() response.setResult("""<html foo="1" bar="x"> <blah> </html> """) self.assertTrue( response.getHeader('content-type').startswith("text/html")) response = BrowserResponse() response.setResult("""<html foo="1" bar="x"> <blah> </html> """) self.assertTrue( response.getHeader('content-type').startswith("text/html")) response = BrowserResponse() response.setResult("""<!doctype html> <html foo="1" bar="x"> <blah> </html> """) self.assertTrue( response.getHeader('content-type').startswith("text/html")) response = BrowserResponse() response.setResult("""Hello world """) self.assertTrue( response.getHeader('content-type').startswith("text/plain")) response = BrowserResponse() response.setResult("""<p>Hello world """) self.assertTrue( response.getHeader('content-type').startswith("text/plain"))
def test_contentType_DWIM_in_setResult(self): response = BrowserResponse() response.setResult( """<html> <blah> </html> """) self.assert_(response.getHeader('content-type').startswith("text/html") ) response = BrowserResponse() response.setResult( """<html foo="1" bar="x"> <blah> </html> """) self.assert_(response.getHeader('content-type').startswith("text/html") ) response = BrowserResponse() response.setResult( """<html foo="1" bar="x"> <blah> </html> """) self.assert_(response.getHeader('content-type').startswith("text/html") ) response = BrowserResponse() response.setResult( """<!doctype html> <html foo="1" bar="x"> <blah> </html> """) self.assert_(response.getHeader('content-type').startswith("text/html") ) response = BrowserResponse() response.setResult( """Hello world """) self.assert_(response.getHeader('content-type').startswith( "text/plain") ) response = BrowserResponse() response.setResult( """<p>Hello world """) self.assert_( response.getHeader('content-type').startswith("text/plain") )