From c8718f5c94289e32f58c8c108cffb5b3f06f0d06 Mon Sep 17 00:00:00 2001 From: Matt Farina Date: Mon, 3 Jun 2013 19:45:43 -0400 Subject: Added tests to fill out the HTML5 class. --- test/HTML5/Html5Test.php | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) (limited to 'test/HTML5/Html5Test.php') diff --git a/test/HTML5/Html5Test.php b/test/HTML5/Html5Test.php index 2d6e005..12be708 100644 --- a/test/HTML5/Html5Test.php +++ b/test/HTML5/Html5Test.php @@ -18,6 +18,34 @@ class Html5Test extends TestCase { $this->assertEmpty($dom->errors); } + public function testSaveHTML() { + $dom = \HTML5::load(__DIR__ . '/Html5Test.html'); + $this->assertInstanceOf('\DOMDocument', $dom); + $this->assertEmpty($dom->errors); + + $saved = \HTML5::saveHTML($dom); + $this->assertRegExp('|

This is a test.

|', $saved); + } + + public function testSave() { + $dom = \HTML5::load(__DIR__ . '/Html5Test.html'); + $this->assertInstanceOf('\DOMDocument', $dom); + $this->assertEmpty($dom->errors); + + // Test resource + $file = fopen('php://temp', 'w'); + \HTML5::save($dom, $file); + $content = stream_get_contents($file, -1, 0); + $this->assertRegExp('|

This is a test.

|', $content); + + // Test file + $tmpfname = tempnam(sys_get_temp_dir(), "html5-php"); + \HTML5::save($dom, $tmpfname); + $content = file_get_contents($tmpfname); + $this->assertRegExp('|

This is a test.

|', $content); + unlink($tmpfname); + } + // This test reads a document into a dom, turn the dom into a document, // then tries to read that document again. This makes sure we are reading, // and generating a document that works at a high level. @@ -33,4 +61,19 @@ class Html5Test extends TestCase { $this->assertEmpty($dom2->errors); } + public function testConfig() { + $options = \HTML5::options(); + $this->assertEquals(FALSE, $options['encode_entities']); + $this->assertEquals('\HTML5\Serializer\OutputRules', $options['output_rules']); + + \HTML5::setOption('foo', 'bar'); + \HTML5::setOption('encode_entities', TRUE); + $options = \HTML5::options(); + $this->assertEquals('bar', $options['foo']); + $this->assertEquals(TRUE, $options['encode_entities']); + + // Need to reset to original so future tests pass as expected. + \HTML5::setOption('encode_entities', FALSE); + } + } -- cgit v1.2.3