def test_version_is_bytestring(): version = Version(b"HTTP/0.9") assert isinstance(version, bytes)
def test_version_minor_is_int(): version = Version(b"HTTP/0.9") expected = 9 actual = version.minor assert actual == expected
def test_version_info_is_tuple(): version = Version(b"HTTP/0.9") expected = (0, 9) actual = version.info assert actual == expected
def test_version_with_garbage_is_safe(): r = raises(Response, lambda: Version(b"HTTP\xef/1.1").info).value assert r.code == 400, r.code assert r.body == "Bad HTTP version: HTTP\\xef/1.1.", r.body
def test_version_major_is_int(): version = Version(b"HTTP/1.0") expected = 1 actual = version.major assert actual == expected
def test_version_cant_even_be_lowercase(): assert raises(Response, lambda: Version(b"http/1.1").info).value.code == 400
def test_version_cant_be_junk(): assert raises(Response, lambda: Version(b"http flah flah").info).value.code == 400
def test_version_can_be_HTTP_1_2(): assert Version(b"HTTP/1.2").info == (1, 2)
def test_version_can_be_HTTP_1_1(): actual = Version(b"HTTP/1.1") expected = b"HTTP/1.1" assert actual == expected
def test_version_can_be_HTTP_0_9(): actual = Version(b"HTTP/0.9") expected = b"HTTP/0.9" assert actual == expected