diff --git a/composer.json b/composer.json index 7b69686..14d556b 100644 --- a/composer.json +++ b/composer.json @@ -28,7 +28,7 @@ "mikey179/vfsStream": "1.*", "stack/builder": "1.0.*", "egulias/email-validator": "1.2.*", - "masterminds/html5": "2.*" + "masterminds/html5": "dev-master" }, "autoload": { "psr-4": { diff --git a/composer.lock b/composer.lock index 916c9c5..d1a9f1d 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at http://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", "This file is @generated automatically" ], - "hash": "f42dce2268b1a6fcf8ffc8720c45f28f", + "hash": "38a1b76a4048e05502ddd122630dff3f", "packages": [ { "name": "doctrine/annotations", @@ -726,16 +726,16 @@ }, { "name": "masterminds/html5", - "version": "2.0.1", + "version": "dev-master", "source": { "type": "git", "url": "https://github.com/Masterminds/html5-php.git", - "reference": "e1e579a69254e8e20d6270b5c13c4475f8461438" + "reference": "b39dd885966dea2d3d33509af505f4ecef2f6343" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Masterminds/html5-php/zipball/e1e579a69254e8e20d6270b5c13c4475f8461438", - "reference": "e1e579a69254e8e20d6270b5c13c4475f8461438", + "url": "https://api.github.com/repos/Masterminds/html5-php/zipball/b39dd885966dea2d3d33509af505f4ecef2f6343", + "reference": "b39dd885966dea2d3d33509af505f4ecef2f6343", "shasum": "" }, "require": { @@ -787,7 +787,7 @@ "serializer", "xml" ], - "time": "2014-09-23 09:49:02" + "time": "2014-12-02 02:51:14" }, { "name": "mikey179/vfsStream", @@ -2590,7 +2590,8 @@ "minimum-stability": "stable", "stability-flags": { "doctrine/common": 20, - "phpunit/phpunit-mock-objects": 20 + "phpunit/phpunit-mock-objects": 20, + "masterminds/html5": 20 }, "prefer-stable": false, "platform": { diff --git a/core/vendor/composer/ClassLoader.php b/core/vendor/composer/ClassLoader.php index 4a56396..4433649 100644 --- a/core/vendor/composer/ClassLoader.php +++ b/core/vendor/composer/ClassLoader.php @@ -56,10 +56,7 @@ class ClassLoader public function getPrefixes() { - if (!empty($this->prefixesPsr0)) { - return call_user_func_array('array_merge', $this->prefixesPsr0); - } - return array(); + return call_user_func_array('array_merge', $this->prefixesPsr0); } public function getPrefixesPsr4() diff --git a/core/vendor/composer/autoload_classmap.php b/core/vendor/composer/autoload_classmap.php index 3a6d5e0..670145c 100644 --- a/core/vendor/composer/autoload_classmap.php +++ b/core/vendor/composer/autoload_classmap.php @@ -87,12 +87,9 @@ 'PHPUnit_Framework_MockObject_Matcher' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher.php', 'PHPUnit_Framework_MockObject_Matcher_AnyInvokedCount' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/AnyInvokedCount.php', 'PHPUnit_Framework_MockObject_Matcher_AnyParameters' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/AnyParameters.php', - 'PHPUnit_Framework_MockObject_Matcher_ConsecutiveParameters' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/ConsecutiveParameters.php', 'PHPUnit_Framework_MockObject_Matcher_Invocation' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/Invocation.php', 'PHPUnit_Framework_MockObject_Matcher_InvokedAtIndex' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/InvokedAtIndex.php', - 'PHPUnit_Framework_MockObject_Matcher_InvokedAtLeastCount' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/InvokedAtLeastCount.php', 'PHPUnit_Framework_MockObject_Matcher_InvokedAtLeastOnce' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/InvokedAtLeastOnce.php', - 'PHPUnit_Framework_MockObject_Matcher_InvokedAtMostCount' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/InvokedAtMostCount.php', 'PHPUnit_Framework_MockObject_Matcher_InvokedCount' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/InvokedCount.php', 'PHPUnit_Framework_MockObject_Matcher_InvokedRecorder' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/InvokedRecorder.php', 'PHPUnit_Framework_MockObject_Matcher_MethodName' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/MethodName.php', diff --git a/core/vendor/composer/installed.json b/core/vendor/composer/installed.json index bb4ee70..5001107 100644 --- a/core/vendor/composer/installed.json +++ b/core/vendor/composer/installed.json @@ -2606,17 +2606,17 @@ }, { "name": "masterminds/html5", - "version": "2.0.1", - "version_normalized": "2.0.1.0", + "version": "dev-master", + "version_normalized": "9999999-dev", "source": { "type": "git", "url": "https://github.com/Masterminds/html5-php.git", - "reference": "e1e579a69254e8e20d6270b5c13c4475f8461438" + "reference": "b39dd885966dea2d3d33509af505f4ecef2f6343" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Masterminds/html5-php/zipball/e1e579a69254e8e20d6270b5c13c4475f8461438", - "reference": "e1e579a69254e8e20d6270b5c13c4475f8461438", + "url": "https://api.github.com/repos/Masterminds/html5-php/zipball/b39dd885966dea2d3d33509af505f4ecef2f6343", + "reference": "b39dd885966dea2d3d33509af505f4ecef2f6343", "shasum": "" }, "require": { @@ -2628,7 +2628,7 @@ "sami/sami": "~2.0", "satooshi/php-coveralls": "0.6.*" }, - "time": "2014-09-23 09:49:02", + "time": "2014-12-02 02:51:14", "type": "library", "extra": { "branch-alias": { diff --git a/core/vendor/masterminds/html5/.travis.yml b/core/vendor/masterminds/html5/.travis.yml index 3705e37..8faf692 100644 --- a/core/vendor/masterminds/html5/.travis.yml +++ b/core/vendor/masterminds/html5/.travis.yml @@ -5,7 +5,7 @@ php: - 5.4 - 5.5 - 5.6 - - hhvm-nightly + - hhvm notifications: irc: "irc.freenode.net#masterminds" diff --git a/core/vendor/masterminds/html5/src/HTML5/Parser/Tokenizer.php b/core/vendor/masterminds/html5/src/HTML5/Parser/Tokenizer.php index 92510de..f7b450f 100644 --- a/core/vendor/masterminds/html5/src/HTML5/Parser/Tokenizer.php +++ b/core/vendor/masterminds/html5/src/HTML5/Parser/Tokenizer.php @@ -353,7 +353,7 @@ class Tokenizer } // We know this is at least one char. - $name = strtolower($this->scanner->charsWhile(":0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz")); + $name = strtolower($this->scanner->charsWhile(":_-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz")); $attributes = array(); $selfClose = false; diff --git a/core/vendor/masterminds/html5/src/HTML5/Serializer/OutputRules.php b/core/vendor/masterminds/html5/src/HTML5/Serializer/OutputRules.php index 7ea7c6a..c009698 100644 --- a/core/vendor/masterminds/html5/src/HTML5/Serializer/OutputRules.php +++ b/core/vendor/masterminds/html5/src/HTML5/Serializer/OutputRules.php @@ -115,8 +115,10 @@ class OutputRules implements \Masterminds\HTML5\Serializer\RulesInterface public function document($dom) { $this->doctype(); - $this->traverser->node($dom->documentElement); - $this->nl(); + if ($dom->documentElement) { + $this->traverser->node($dom->documentElement); + $this->nl(); + } } protected function doctype() diff --git a/core/vendor/masterminds/html5/test/HTML5/Html5Test.php b/core/vendor/masterminds/html5/test/HTML5/Html5Test.php index 2b46b23..0ab367c 100644 --- a/core/vendor/masterminds/html5/test/HTML5/Html5Test.php +++ b/core/vendor/masterminds/html5/test/HTML5/Html5Test.php @@ -259,6 +259,12 @@ class Html5Test extends TestCase $res = $this->cycleFragment(''); $this->assertRegExp('||', $res); + // Elements with dashes and underscores + $res = $this->cycleFragment(''); + $this->assertRegExp('||', $res); + $res = $this->cycleFragment(''); + $this->assertRegExp('||', $res); + // Should have no closing tag. $res = $this->cycle('
'); $this->assertRegExp('|
|', $res); diff --git a/core/vendor/masterminds/html5/test/HTML5/Parser/TokenizerTest.php b/core/vendor/masterminds/html5/test/HTML5/Parser/TokenizerTest.php index bf04c58..8ff4d5c 100644 --- a/core/vendor/masterminds/html5/test/HTML5/Parser/TokenizerTest.php +++ b/core/vendor/masterminds/html5/test/HTML5/Parser/TokenizerTest.php @@ -557,7 +557,6 @@ class TokenizerTest extends \Masterminds\HTML5\Tests\TestCase '' => 'static', '' => 'h', '' => 'st', - '' => 'a' ); foreach ($cases as $html => $expected) { diff --git a/core/vendor/masterminds/html5/test/HTML5/Serializer/OutputRulesTest.php b/core/vendor/masterminds/html5/test/HTML5/Serializer/OutputRulesTest.php index e89d723..aa2e0c5 100644 --- a/core/vendor/masterminds/html5/test/HTML5/Serializer/OutputRulesTest.php +++ b/core/vendor/masterminds/html5/test/HTML5/Serializer/OutputRulesTest.php @@ -76,6 +76,19 @@ class OutputRulesTest extends \Masterminds\HTML5\Tests\TestCase $this->assertEquals($expected, stream_get_contents($stream, - 1, 0)); } + public function testEmptyDocument() + { + $dom = $this->html5->loadHTML(''); + + $stream = fopen('php://temp', 'w'); + $r = new OutputRules($stream, $this->html5->getOptions()); + $t = new Traverser($dom, $stream, $r, $this->html5->getOptions()); + + $r->document($dom); + $expected = '' . PHP_EOL; + $this->assertEquals($expected, stream_get_contents($stream, - 1, 0)); + } + public function testDoctype() { $dom = $this->html5->loadHTML('foo');