'When a 1XX response is swallowed, the final response that follows it is
the only one that gets sent to the application.'

def test_1XXFollowedByFinalResponseOnlyEmitsFinal(self):

    sample103Response = 'HTTP/1.1    103    Early    Hints\r\nServer:    socketserver/1.0.0\r\nLink:    </other/styles.css>;    rel=preload;    as=style\r\nLink:    </other/action.js>;    rel=preload;    as=script\r\n\r\n'
    following200Response = 'HTTP/1.1    200    OK\r\nContent-Length:    123\r\n\r\n'
    protocol = HTTPClientParser(Request('GET', '/', _boringHeaders, None), (lambda ign: None))
    protocol.makeConnection(StringTransport())
    protocol.dataReceived((sample103Response + following200Response))
    self.assertEqual(protocol.response.code, 200)
    self.assertEqual(protocol.response.headers, Headers({}))
    self.assertEqual(protocol.connHeaders, Headers({'content-length': ['123']}))
    self.assertEqual(protocol.response.length, 123)
