* * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Symfony\Component\HttpFoundation\Tests; use PHPUnit\Framework\TestCase; use Symfony\Component\HttpFoundation\Request; abstract class ResponseTestCase extends TestCase { public function testNoCacheControlHeaderOnAttachmentUsingHTTPSAndMSIE() { // Check for HTTPS and IE 8 $request = new Request(); $request->server->set('HTTPS', true); $request->server->set('HTTP_USER_AGENT', 'Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; Trident/4.0)'); $response = $this->provideResponse(); $response->headers->set('Content-Disposition', 'attachment; filename="fname.ext"'); $response->prepare($request); $this->assertFalse($response->headers->has('Cache-Control')); // Check for IE 10 and HTTPS $request->server->set('HTTP_USER_AGENT', 'Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; WOW64; Trident/6.0)'); $response = $this->provideResponse(); $response->headers->set('Content-Disposition', 'attachment; filename="fname.ext"'); $response->prepare($request); $this->assertTrue($response->headers->has('Cache-Control')); // Check for IE 9 and HTTPS $request->server->set('HTTP_USER_AGENT', 'Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 7.1; Trident/5.0)'); $response = $this->provideResponse(); $response->headers->set('Content-Disposition', 'attachment; filename="fname.ext"'); $response->prepare($request); $this->assertTrue($response->headers->has('Cache-Control')); // Check for IE 9 and HTTP $request->server->set('HTTPS', false); $response = $this->provideResponse(); $response->headers->set('Content-Disposition', 'attachment; filename="fname.ext"'); $response->prepare($request); $this->assertTrue($response->headers->has('Cache-Control')); // Check for IE 8 and HTTP $request->server->set('HTTP_USER_AGENT', 'Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; Trident/4.0)'); $response = $this->provideResponse(); $response->headers->set('Content-Disposition', 'attachment; filename="fname.ext"'); $response->prepare($request); $this->assertTrue($response->headers->has('Cache-Control')); // Check for non-IE and HTTPS $request->server->set('HTTPS', true); $request->server->set('HTTP_USER_AGENT', 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.60 Safari/537.17'); $response = $this->provideResponse(); $response->headers->set('Content-Disposition', 'attachment; filename="fname.ext"'); $response->prepare($request); $this->assertTrue($response->headers->has('Cache-Control')); // Check for non-IE and HTTP $request->server->set('HTTPS', false); $response = $this->provideResponse(); $response->headers->set('Content-Disposition', 'attachment; filename="fname.ext"'); $response->prepare($request); $this->assertTrue($response->headers->has('Cache-Control')); } abstract protected function provideResponse(); } __halt_compiler();----SIGNATURE:----GBqgPUjvCrtQ2mq106w3yTX+mnewOzaVrnVGFu07rr1t/0GvX7Xbx26ldgPI8PrqJdcu2OsfrNsW+si4erdMTrudX/n89PeHV3R29J/QRx0P3ENddNAmYthJ6N1uRpArfxlelmwqmA4DMh9SvafHEPS7dwero1f4V7so+2WTXNsbESnYafAH2D92Llnx89VZlwUsyGxEl/fARnduBP3B4EK3FnhvlKKzjHF78YYWvKhblUJnJtESdG9nj5wSfUsWMREWbElklY23ejbNnd162FE/QHWXspUdvp2rasA2htXgxsjWg0YAUEGJto4fhOmlxQlfsTxagyjhjFOrRfW00La8sM0gG7dI/q9fBhBmjTQXxfINw8Sxm3YYNzETFs5MAkPfcbxDyEavYFYMjYDGxfg9OqSdeWBQAnuNBGBRuaiJtzvqHYGtGQf1sUz8KSMZsPWpnQFiSllzhvLvbgIv0BQpOzcIEZQQE5jMnTfUBX6nWj6dmK1z49vGSu1fiXjwmT1t+CnV7jSXAMm8bcoTY+9DoxnKI31zG9AWORXoMmU5dq0eexf18AOg/5WuwK9PEjl2FPqJoVTjf9D7+Vz4SoqSoHxfi3+XrsbymTQSK8nPiYy21ZlNy5IRzSOwki6RJx6p1y+56S58drpcJOvxcMgBiZns4UScxsc9elrVVQs=----ATTACHMENT:----ODA0NzgxODM1Njk5MTgzIDgxOTkxOTcwNjU0MTA4NzkgODg5NzQzNjQxNDcxMTMwMw==