1from tests.support.asserts import assert_error, assert_success 2 3 4def get_title(session): 5 return session.transport.send( 6 "GET", "session/{session_id}/title".format(**vars(session))) 7 8 9def test_payload(session): 10 session.start() 11 12 response = get_title(session) 13 value = assert_success(response) 14 assert isinstance(value, str) 15 16 17def test_no_top_browsing_context(session, closed_window): 18 response = get_title(session) 19 assert_error(response, "no such window") 20 21 22def test_no_browsing_context(session, closed_frame, inline): 23 session.url = inline("<title>Foo</title>") 24 25 response = get_title(session) 26 assert_success(response, "Foo") 27 28 29def test_with_duplicated_title(session, inline): 30 session.url = inline("<title>First</title><title>Second</title>") 31 32 result = get_title(session) 33 assert_success(result, "First") 34 35 36def test_without_title(session, inline): 37 session.url = inline("<h2>Hello</h2>") 38 39 result = get_title(session) 40 assert_success(result, "") 41 42 43def test_after_modification(session, inline): 44 session.url = inline("<title>Initial</title><h2>Hello</h2>") 45 session.execute_script("document.title = 'Updated'") 46 47 result = get_title(session) 48 assert_success(result, "Updated") 49 50 51def test_strip_and_collapse(session, inline): 52 document = "<title> a b\tc\nd\t \n e\t\n </title><h2>Hello</h2>" 53 session.url = inline(document) 54 55 result = get_title(session) 56 assert_success(result, "a b c d e") 57