<p dir="auto">Duplication of request clears list of fields in the original request instead of duplicated one.</p>
<p dir="auto">According to the phpDoc annotation of <code class="notranslate">Symfony\Component\BrowserKit::getResponse()</code>, an instance of <code class="notranslate">Symfony\Component\BrowserKit\Response</code> should be returned by that method. But instead, I get an instance of <code class="notranslate">Symfony\Component\HttpFoundation\Response</code>. Unfortunately, the interfaces of both classes differ (eg. <code class="notranslate">getStatus()</code> vs. <code class="notranslate">getStatusCode()</code>). Since those phpDoc annotations are use by most IDEs for code completion, this circumstance might be confusing.</p>
<p dir="auto">I've modified the standard edition's DemoControllerTest to reproduce this issue:</p>
<div class="highlight highlight-text-html-php notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="&lt;?php

namespace Acme\DemoBundle\Tests\Controller;

use Symfony\Bundle\FrameworkBundle\Test\WebTestCase;

class DemoControllerTest extends WebTestCase
{
    public function testIndex()
    {
        $client = static::createClient();

        $client-&gt;request('GET', '/demo/hello/Fabien');

        $this-&gt;assertInstanceOf(
            'Symfony\\Component\\BrowserKit\\Response',
            $client-&gt;getResponse()
        );
    }
}"><pre class="notranslate"><span class="pl-ent">&lt;?php</span>

<span class="pl-k">namespace</span> <span class="pl-v">Acme</span>\<span class="pl-v">DemoBundle</span>\<span class="pl-v">Tests</span>\<span class="pl-v">Controller</span>;

<span class="pl-k">use</span> <span class="pl-v">Symfony</span>\<span class="pl-v">Bundle</span>\<span class="pl-v">FrameworkBundle</span>\<span class="pl-v">Test</span>\<span class="pl-v">WebTestCase</span>;

<span class="pl-k">class</span> <span class="pl-v">DemoControllerTest</span> <span class="pl-k">extends</span> <span class="pl-v">WebTestCase</span>
{
    <span class="pl-k">public</span> <span class="pl-k">function</span> <span class="pl-en">testIndex</span>()
    {
        <span class="pl-s1"><span class="pl-c1">$</span>client</span> = <span class="pl-smi"><span class="pl-k">static</span></span>::<span class="pl-en">createClient</span>();

        <span class="pl-s1"><span class="pl-c1">$</span>client</span>-&gt;<span class="pl-en">request</span>(<span class="pl-s">'GET'</span>, <span class="pl-s">'/demo/hello/Fabien'</span>);

        <span class="pl-s1"><span class="pl-c1">$</span><span class="pl-smi">this</span></span>-&gt;<span class="pl-en">assertInstanceOf</span>(
            <span class="pl-s">'Symfony\\Component\\BrowserKit\\Response'</span>,
            <span class="pl-s1"><span class="pl-c1">$</span>client</span>-&gt;<span class="pl-en">getResponse</span>()
        );
    }
}</pre></div>
<p dir="auto">Result:</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="Failed asserting that Symfony\Component\HttpFoundation\Response Object (...) is an instance of class &quot;Symfony\Component\BrowserKit\Response&quot;."><pre class="notranslate"><code class="notranslate">Failed asserting that Symfony\Component\HttpFoundation\Response Object (...) is an instance of class "Symfony\Component\BrowserKit\Response".
</code></pre></div>
<p dir="auto">The examples from the documentation (<a href="http://symfony.com/doc/current/book/testing.html" rel="nofollow">http://symfony.com/doc/current/book/testing.html</a>)  reflect the current behavior. This is why I would suggest to adjust the phpDoc annotations accordingly.</p>