[ticket/13733] Properly test setting validate_classes to false/true

PHPBB3-13733
This commit is contained in:
Marc Alexander 2016-01-19 23:32:07 +01:00
parent e954b0b82b
commit 0defce65c8
3 changed files with 76 additions and 2 deletions

View file

@ -0,0 +1,7 @@
<?php
namespace vendor2\foo\migrations;
class bar
{
}

View file

@ -0,0 +1,54 @@
<?php
namespace vendor2\foo\migrations;
class foo implements \phpbb\db\migration\migration_interface
{
/**
* {@inheritdoc}
*/
static public function depends_on()
{
return array();
}
/**
* {@inheritdoc}
*/
public function effectively_installed()
{
return false;
}
/**
* {@inheritdoc}
*/
public function update_schema()
{
return array();
}
/**
* {@inheritdoc}
*/
public function revert_schema()
{
return array();
}
/**
* {@inheritdoc}
*/
public function update_data()
{
return array();
}
/**
* {@inheritdoc}
*/
public function revert_data()
{
return array();
}
}

View file

@ -11,6 +11,9 @@
* *
*/ */
require_once dirname(__FILE__) . '/../../phpBB/includes/functions.php'; require_once dirname(__FILE__) . '/../../phpBB/includes/functions.php';
require_once dirname(__FILE__) . '/ext/vendor2/bar/migrations/bar.php';
require_once dirname(__FILE__) . '/ext/vendor2/bar/migrations/foo.php';
require_once dirname(__FILE__) . '/ext/vendor2/bar/migrations/migration.php';
class phpbb_extension_extension_base_test extends phpbb_test_case class phpbb_extension_extension_base_test extends phpbb_test_case
{ {
@ -61,19 +64,29 @@ class phpbb_extension_extension_base_test extends phpbb_test_case
return array( return array(
array( array(
'vendor2/bar', 'vendor2/bar',
false,
array( array(
'\vendor2\bar\migrations\bar',
'\vendor2\bar\migrations\foo',
'\vendor2\bar\migrations\migration', '\vendor2\bar\migrations\migration',
), ),
), ),
array(
'vendor2/bar',
true,
array(
2 => '\vendor2\bar\migrations\migration',
),
),
); );
} }
/** /**
* @dataProvider data_test_suffix_get_classes * @dataProvider data_test_suffix_get_classes
*/ */
public function test_suffix_get_classes($extension_name, $expected) public function test_suffix_get_classes($extension_name, $validate_classes, $expected)
{ {
$extension = $this->extension_manager->get_extension($extension_name); $extension = $this->extension_manager->get_extension($extension_name);
$this->assertEquals($expected, self::$reflection_method_get_migration_file_list->invoke($extension, false)); $this->assertEquals($expected, self::$reflection_method_get_migration_file_list->invoke($extension, $validate_classes));
} }
} }