Fixes #14184: Module service locator now falls back to its parent module service locator in case component isn't found

This commit is contained in:
Sam
2017-08-22 23:38:39 +02:00
committed by Alexander Makarov
parent 8ff3756d55
commit 4081a4b203
6 changed files with 72 additions and 1 deletions

View File

@@ -9,6 +9,8 @@ namespace yiiunit\framework\base;
use Yii;
use yii\base\Controller;
use yii\base\Module;
use yii\base\Object;
use yiiunit\TestCase;
/**
@@ -84,6 +86,17 @@ class ModuleTest extends TestCase
$this->assertNotNull(Yii::$app->controller->action);
$this->assertEquals('test/test-controller1/test1', Yii::$app->controller->action->uniqueId);
}
public function testServiceLocatorTraversal()
{
$parent = new Module('parent');
$child = new Module('child', $parent);
$grandchild = new Module('grandchild', $child);
$parent->set('test', new Object());
$this->assertInstanceOf(Object::className(), $grandchild->get('test'));
}
}
class TestModule extends \yii\base\Module