$pageResp->assertSee($content);
}
- public function test_page_content_scripts_escaped_by_default()
+ public function test_page_content_scripts_removed_by_default()
{
$this->asEditor();
$page = Page::first();
- $script = '<script>console.log("hello-test")</script>';
+ $script = 'abc123<script>console.log("hello-test")</script>abc123';
$page->html = "escape {$script}";
$page->save();
$pageView = $this->get($page->getUrl());
$pageView->assertDontSee($script);
- $pageView->assertSee(htmlentities($script));
+ $pageView->assertSee('abc123abc123');
+ }
+
+ public function test_page_inline_on_attributes_removed_by_default()
+ {
+ $this->asEditor();
+ $page = Page::first();
+ $script = '<p onmouseenter="console.log(\'test\')">Hello</p>';
+ $page->html = "escape {$script}";
+ $page->save();
+
+ $pageView = $this->get($page->getUrl());
+ $pageView->assertDontSee($script);
+ $pageView->assertSee('<p>Hello</p>');
}
public function test_page_content_scripts_show_when_configured()
$this->asEditor();
$page = Page::first();
config()->push('app.allow_content_scripts', 'true');
- $script = '<script>console.log("hello-test")</script>';
+
+ $script = 'abc123<script>console.log("hello-test")</script>abc123';
$page->html = "no escape {$script}";
$page->save();
$pageView = $this->get($page->getUrl());
$pageView->assertSee($script);
- $pageView->assertDontSee(htmlentities($script));
+ $pageView->assertDontSee('abc123abc123');
+ }
+
+ public function test_page_inline_on_attributes_show_if_configured()
+ {
+ $this->asEditor();
+ $page = Page::first();
+ config()->push('app.allow_content_scripts', 'true');
+
+ $script = '<p onmouseenter="console.log(\'test\')">Hello</p>';
+ $page->html = "escape {$script}";
+ $page->save();
+
+ $pageView = $this->get($page->getUrl());
+ $pageView->assertSee($script);
+ $pageView->assertDontSee('<p>Hello</p>');
}
public function test_duplicate_ids_does_not_break_page_render()
$this->asEditor();
$page = Page::first();
- $content = '<p id="bkmrk-test">test a</p>'."\n".'<p id="bkmrk-test">test b</p>';
+ $content = '<ul id="bkmrk-test"><li>test a</li><li><ul id="bkmrk-test"><li>test b</li></ul></li></ul>';
$pageSave = $this->put($page->getUrl(), [
'name' => $page->name,
'html' => $content,