X-Git-Url: http://www.aleph1.co.uk/gitweb/?p=yaffs-website;a=blobdiff_plain;f=web%2Fmodules%2Fcontrib%2Fdrupalmoduleupgrader%2Fsrc%2FPlugin%2FDMU%2FConverter%2FUnitTests.php;fp=web%2Fmodules%2Fcontrib%2Fdrupalmoduleupgrader%2Fsrc%2FPlugin%2FDMU%2FConverter%2FUnitTests.php;h=f6e0fb85daa2897b9f32c17e3a327c0ea9199b10;hp=0000000000000000000000000000000000000000;hb=8acec36f19c470dfcda1ae2336826a782f41874c;hpb=e0411c4e83ba0d079034db83c3f7f55be24a0e35 diff --git a/web/modules/contrib/drupalmoduleupgrader/src/Plugin/DMU/Converter/UnitTests.php b/web/modules/contrib/drupalmoduleupgrader/src/Plugin/DMU/Converter/UnitTests.php new file mode 100644 index 000000000..f6e0fb85d --- /dev/null +++ b/web/modules/contrib/drupalmoduleupgrader/src/Plugin/DMU/Converter/UnitTests.php @@ -0,0 +1,62 @@ +getIndexer('class')->getQuery()->condition('parent', 'DrupalUnitTestCase')->countQuery()->execute(); + } + + /** + * {@inheritdoc} + */ + public function convert(TargetInterface $target) { + $unit_tests = []; + $test_files = $target->getIndexer('class')->getQuery(['file'])->condition('parent', 'DrupalUnitTestCase')->execute()->fetchCol(); + foreach ($test_files as $test_file) { + /** @var \Pharborist\Objects\Classnode[] $tests */ + $tests = $target->open($test_file)->find(Filter::isInstanceOf('\Pharborist\Objects\SingleInheritanceNode'))->toArray(); + foreach ($tests as $test) { + if ((string) $test->getExtends() === 'DrupalUnitTestCase') { + $unit_tests[] = $test; + } + } + } + + /** @var \Pharborist\Objects\ClassNode $unit_test */ + foreach ($unit_tests as $unit_test) { + $unit_test->setExtends('\Drupal\Tests\UnitTestCase'); + + $comment_text = <<setDocComment($comment); + + $ns = 'Drupal\Tests\\' . $target->id() . '\Unit'; + $doc = RootNode::create($ns)->getNamespace($ns)->append($unit_test->remove()); + WhitespaceNode::create("\n\n")->insertBefore($unit_test); + + $this->write($target, 'tests/src/Unit/' . $unit_test->getName() . '.php', "