diff --git a/tests/forms/HtmlEditorFieldTest.php b/tests/forms/HtmlEditorFieldTest.php index a52bde53d..ed510dbbe 100755 --- a/tests/forms/HtmlEditorFieldTest.php +++ b/tests/forms/HtmlEditorFieldTest.php @@ -132,4 +132,42 @@ class HtmlEditorFieldTest extends FunctionalTest { ); } + public function testBrokenLinkTracking() { + $sitetree = new SiteTree(); + $editor = new HtmlEditorField('Content'); + + $this->assertFalse((bool) $sitetree->HasBrokenLink); + + $editor->setValue('

Broken Link

'); + $editor->saveInto($sitetree); + + $this->assertTrue($sitetree->HasBrokenLink); + + $editor->setValue(sprintf ( + '

Working Link

', + $this->idFromFixture('SiteTree', 'home') + )); + $editor->saveInto($sitetree); + + $this->assertFalse((bool) $sitetree->HasBrokenLink); + } + + public function testBrokenLinkHighlighting() { + $sitetree = new SiteTree(); + $editor = new HtmlEditorField('Content'); + + $editor->setValue('Broken Link'); + + $element = new SimpleXMLElement(html_entity_decode((string) new SimpleXMLElement($editor->Field()))); + $this->assertContains('ss-broken', (string) $element['class'], 'A broken link class is added to broken links'); + + $editor->setValue(sprintf ( + 'Working Link', + $this->idFromFixture('SiteTree', 'home') + )); + + $element = new SimpleXMLElement(html_entity_decode((string) new SimpleXMLElement($editor->Field()))); + $this->assertNotContains('ss-broken', (string) $element['class']); + } + }