コード例 #1
0
ファイル: ProvideTest.php プロジェクト: mvc5/tests
 /**
  *
  */
 function test_provide_with_merge()
 {
     $resolver = new Resolver();
     $resolver->configure('foo', new Plugin(Model::class, ['a' => new Value('a'), 'b' => new Value('b')]));
     $config = new Plugin('foo', ['a' => new Value('a1')]);
     $this->assertEquals(new Model('a1', 'b', 'c'), $resolver->gem($config, ['c' => 'c']));
 }
コード例 #2
0
ファイル: ScopeTest.php プロジェクト: mvc5/tests
 /**
  *
  */
 function test_resolver_gem_with_plugin_name()
 {
     $resolver = new Resolver();
     $resolver->configure('foo', Config::class);
     $plugin = $resolver->gem(new Scope('foo', []));
     $this->assertInstanceOf(Config::class, $plugin);
 }
コード例 #3
0
ファイル: FilterTest.php プロジェクト: mvc5/tests
 /**
  *
  */
 function test_gem_filter()
 {
     $resolver = new Resolver();
     $this->assertEquals('foo', $resolver->gem(new Filter('foo', [function ($foo) {
         return $foo;
     }])));
 }
コード例 #4
0
ファイル: CopyTest.php プロジェクト: mvc5/tests
 /**
  *
  */
 function test_gem_copy()
 {
     $resolver = new Resolver();
     $object = new \stdClass();
     $copy = $resolver->gem(new Copy($object));
     $this->assertEquals($object, $copy);
     $this->assertFalse($object === $copy);
 }
コード例 #5
0
ファイル: FactoryTest.php プロジェクト: mvc5/tests
 /**
  *
  */
 function test_gem_factory()
 {
     $resolver = new Resolver();
     $resolver->configure('bar', function () {
         return function () {
             return 'baz';
         };
     });
     $resolver->configure('factory', new Plugin('bar'));
     $this->assertEquals('baz', $resolver->gem(new Factory('foo')));
 }
コード例 #6
0
ファイル: InvokableTest.php プロジェクト: mvc5/tests
 /**
  *
  */
 function test_gem_invokable_merge()
 {
     $resolver = new Resolver();
     $invokable = new Invokable(new Call(new Invoke(function ($foo, $bar, $baz) {
         return $foo . $bar . $baz;
     })), ['s']);
     $callable = $resolver->gem($invokable);
     $this->assertEquals('foobars', $callable('foo', 'bar'));
     $this->assertEquals('foobars', call_user_func($callable, 'foo', 'bar'));
     $this->assertEquals('foobars', call_user_func_array($callable, ['foo', 'bar']));
     $this->assertEquals('foobars', $resolver->call($callable, ['foo', 'bar']));
 }
コード例 #7
0
ファイル: SharedTest.php プロジェクト: mvc5/tests
 /**
  *
  */
 function test_gem_shared_null()
 {
     $resolver = new Resolver();
     $this->assertEquals(null, $resolver->gem(new Shared('foo', new Args(null))));
     $this->assertTrue(false === $resolver->has('foo'));
 }
コード例 #8
0
ファイル: ArgsTest.php プロジェクト: mvc5/tests
 /**
  *
  */
 function test_gem_args()
 {
     $resolver = new Resolver();
     $this->assertEquals(['foo' => new Config()], $resolver->gem(new Args(['foo' => new Plugin(Config::class)])));
 }
コード例 #9
0
ファイル: EndTest.php プロジェクト: mvc5/tests
 /**
  *
  */
 function test_end()
 {
     $resolver = new Resolver();
     $plugin = new End(new Call('@phpversion'), new Plugin(Config::class, [['foo' => 'bar']]));
     $this->assertEquals(new Config(['foo' => 'bar']), $resolver->gem($plugin));
 }
コード例 #10
0
ファイル: FileIncludeTest.php プロジェクト: mvc5/tests
 /**
  *
  */
 function test_gem_file_include()
 {
     $resolver = new Resolver();
     $plugin = new FileInclude(__DIR__ . '/../Model/config.inc.php');
     $this->assertEquals(['foo' => 'bar'], $resolver->gem($plugin));
 }
コード例 #11
0
ファイル: CallTest.php プロジェクト: mvc5/tests
 /**
  *
  */
 function test_gem_call_not_named()
 {
     $resolver = new Resolver();
     $call = new Call(CallObject::class, ['bar']);
     $this->assertEquals('foo', $resolver->gem($call, ['foo']));
 }
コード例 #12
0
ファイル: CallsTest.php プロジェクト: mvc5/tests
 /**
  *
  */
 function test_gem_calls()
 {
     $resolver = new Resolver();
     $this->assertEquals(new Config(['foo' => 'bar']), $resolver->gem(new Calls(new Plugin(Config::class), ['#foo' => 'bar'])));
 }
コード例 #13
0
ファイル: ValueTest.php プロジェクト: mvc5/tests
 /**
  *
  */
 function test_gem_value()
 {
     $resolver = new Resolver();
     $this->assertEquals('foo', $resolver->gem(new Value('foo')));
 }
コード例 #14
0
ファイル: PlugTest.php プロジェクト: mvc5/tests
 /**
  *
  */
 function test_gem_plug()
 {
     $resolver = new Resolver();
     $resolver->configure('foo', 'bar');
     $this->assertEquals('bar', $resolver->gem(new Plug('foo')));
 }
コード例 #15
0
ファイル: ConfigTest.php プロジェクト: mvc5/tests
 /**
  *
  */
 function test_gem_config()
 {
     $resolver = new Resolver();
     $resolver->config(['foo' => 'bar']);
     $this->assertEquals(['foo' => 'bar'], $resolver->gem(new Config()));
 }
コード例 #16
0
ファイル: ParamTest.php プロジェクト: mvc5/tests
 /**
  *
  */
 function test_gem_param()
 {
     $resolver = new Resolver();
     $resolver->config(['foo' => 'bar']);
     $this->assertEquals('bar', $resolver->gem(new Param('foo')));
 }
コード例 #17
0
ファイル: ChildTest.php プロジェクト: mvc5/tests
 /**
  *
  */
 function test_gem_child()
 {
     $resolver = new Resolver();
     $resolver->configure('bar', new Plugin(Config::class));
     $this->assertInstanceOf(Config::class, $resolver->gem(new Child('foo', 'bar')));
 }
コード例 #18
0
ファイル: UnresolvableTest.php プロジェクト: mvc5/tests
 /**
  *
  */
 function test_gem_unresolvable()
 {
     $resolver = new Resolver();
     $this->setExpectedException(RuntimeException::class);
     $resolver->gem(new Unresolvable());
 }
コード例 #19
0
ファイル: ProvideTest.php プロジェクト: mvc5/tests
 /**
  *
  */
 function test_gem_provide_no_provider()
 {
     $resolver = new Resolver();
     $this->setExpectedException(\RuntimeException::class, 'Unresolvable plugin: bar');
     $resolver->gem(new Provide('bar'));
 }