Security update for Core, with self-updated composer
[yaffs-website] / vendor / nikic / php-parser / test / PhpParser / ParserFactoryTest.php
diff --git a/vendor/nikic/php-parser/test/PhpParser/ParserFactoryTest.php b/vendor/nikic/php-parser/test/PhpParser/ParserFactoryTest.php
new file mode 100644 (file)
index 0000000..49c0111
--- /dev/null
@@ -0,0 +1,34 @@
+<?php
+
+namespace PhpParser;
+
+/* This test is very weak, because PHPUnit's assertEquals assertion is way too slow dealing with the
+ * large objects involved here. So we just do some basic instanceof tests instead. */
+class ParserFactoryTest extends \PHPUnit_Framework_TestCase {
+    /** @dataProvider provideTestCreate */
+    public function testCreate($kind, $lexer, $expected) {
+        $this->assertInstanceOf($expected, (new ParserFactory)->create($kind, $lexer));
+    }
+
+    public function provideTestCreate() {
+        $lexer = new Lexer();
+        return [
+            [
+                ParserFactory::PREFER_PHP7, $lexer,
+                'PhpParser\Parser\Multiple'
+            ],
+            [
+                ParserFactory::PREFER_PHP5, null,
+                'PhpParser\Parser\Multiple'
+            ],
+            [
+                ParserFactory::ONLY_PHP7, null,
+                'PhpParser\Parser\Php7'
+            ],
+            [
+                ParserFactory::ONLY_PHP5, $lexer,
+                'PhpParser\Parser\Php5'
+            ]
+        ];
+    }
+}
\ No newline at end of file