You are here

public function CoreCspSubscriberTest::testCkeditorStyle in Content-Security-Policy 8

Test that including ckeditor modifies enabled style directives.

@covers ::onCspPolicyAlter

File

tests/src/Unit/EventSubscriber/CoreCspSubscriberTest.php, line 236

Class

CoreCspSubscriberTest
@coversDefaultClass \Drupal\csp\EventSubscriber\CoreCspSubscriber @group csp

Namespace

Drupal\Tests\csp\Unit\EventSubscriber

Code

public function testCkeditorStyle() {
  $policy = new Csp();
  $policy
    ->setDirective('default-src', [
    Csp::POLICY_ANY,
  ]);
  $policy
    ->setDirective('style-src', [
    Csp::POLICY_SELF,
  ]);
  $policy
    ->setDirective('style-src-attr', [
    Csp::POLICY_SELF,
  ]);
  $policy
    ->setDirective('style-src-elem', [
    Csp::POLICY_SELF,
  ]);
  $this->response
    ->method('getAttachments')
    ->willReturn([
    'library' => [
      'ckeditor/drupal.ckeditor',
    ],
  ]);
  $alterEvent = new PolicyAlterEvent($policy, $this->response);
  $this->coreCspSubscriber
    ->onCspPolicyAlter($alterEvent);
  $this
    ->assertEquals([
    Csp::POLICY_SELF,
    Csp::POLICY_UNSAFE_INLINE,
  ], $alterEvent
    ->getPolicy()
    ->getDirective('style-src'));
  $this
    ->assertEquals([
    Csp::POLICY_SELF,
    Csp::POLICY_UNSAFE_INLINE,
  ], $alterEvent
    ->getPolicy()
    ->getDirective('style-src-attr'));
  $this
    ->assertEquals([
    Csp::POLICY_SELF,
    Csp::POLICY_UNSAFE_INLINE,
  ], $alterEvent
    ->getPolicy()
    ->getDirective('style-src-elem'));
}