/** * Tests the support for IE specific headers in file uploads. * * @cover ::prepareResponse */ public function testPrepareResponseForIeFormRequestsWithFileUpload() { $request = Request::create('/example', 'POST'); $request->headers->set('Accept', 'text/html'); $response = new AjaxResponse([]); $response->headers->set('Content-Type', 'application/json; charset=utf-8'); $response->prepare($request); $this->assertEquals('text/html; charset=utf-8', $response->headers->get('Content-Type')); $this->assertEquals($response->getContent(), '<textarea>[]</textarea>'); }
/** * Regression test: Settings command exists regardless of JS aggregation. */ public function testAttachedSettings() { $assert = function ($message) { $response = new AjaxResponse(); $response->setAttachments(['library' => ['core/drupalSettings'], 'drupalSettings' => ['foo' => 'bar']]); $response->prepare(new Request()); $expected = ['command' => 'settings']; $this->assertCommand($response->getCommands(), $expected, $message); }; $config = $this->config('system.performance'); $config->set('js.preprocess', FALSE)->save(); $assert('Settings command exists when JS aggregation is disabled.'); $config->set('js.preprocess', TRUE)->save(); $assert('Settings command exists when JS aggregation is enabled.'); }