From 9536a10d6d048a8024f5bb32548cade2c48ca956 Mon Sep 17 00:00:00 2001 From: mark_story Date: Sat, 23 Apr 2016 16:18:15 -0400 Subject: [PATCH] Make schema import plugin friendly. The changes in #8694 pointed out that schema importing doesn't play nice with plugins. This corrects that. --- lib/Cake/Console/Command/Task/FixtureTask.php | 6 +++++- .../Case/Console/Command/Task/FixtureTaskTest.php | 13 +++++++++++++ 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/lib/Cake/Console/Command/Task/FixtureTask.php b/lib/Cake/Console/Command/Task/FixtureTask.php index 600efc045..d0329e944 100644 --- a/lib/Cake/Console/Command/Task/FixtureTask.php +++ b/lib/Cake/Console/Command/Task/FixtureTask.php @@ -178,9 +178,13 @@ class FixtureTask extends BakeTask { */ public function importOptions($modelName) { $options = array(); + $plugin = ''; + if (isset($this->params['plugin'])) { + $plugin = $this->params['plugin'] . '.'; + } if (!empty($this->params['schema'])) { - $options['schema'] = $modelName; + $options['schema'] = $plugin . $modelName; } elseif ($this->interactive) { $doSchema = $this->in(__d('cake_console', 'Would you like to import schema for this fixture?'), array('y', 'n'), 'n'); if ($doSchema === 'y') { diff --git a/lib/Cake/Test/Case/Console/Command/Task/FixtureTaskTest.php b/lib/Cake/Test/Case/Console/Command/Task/FixtureTaskTest.php index d10df0786..01a7b2b27 100644 --- a/lib/Cake/Test/Case/Console/Command/Task/FixtureTaskTest.php +++ b/lib/Cake/Test/Case/Console/Command/Task/FixtureTaskTest.php @@ -136,6 +136,19 @@ class FixtureTaskTest extends CakeTestCase { $this->assertEquals($expected, $result); } +/** + * test importOptions with overwriting CLI options + * + * @return void + */ + public function testImportOptionsWithCommandLineOptionsPlugin() { + $this->Task->params = array('schema' => true, 'records' => true, 'plugin' => 'TestPlugin'); + + $result = $this->Task->importOptions('Article'); + $expected = array('schema' => 'TestPlugin.Article', 'fromTable' => true); + $this->assertEquals($expected, $result); + } + /** * test importOptions with schema. *