コード例 #1
0
ファイル: CallTest.php プロジェクト: mvc5/tests
 /**
  *
  */
 function test_call_event()
 {
     $resolver = new Resolver();
     $resolver->events(['foo' => [function () {
         return 'bar';
     }]]);
     $this->assertEquals('bar', $resolver->call(new Event('foo')));
 }
コード例 #2
0
ファイル: SolveTest.php プロジェクト: mvc5/tests
 /**
  *
  */
 function test_solve_resolver()
 {
     $resolver = new Resolver();
     $resolver->configure('event\\model', Event::class);
     $resolver->events(['service\\resolver' => [function () {
         return 'bar';
     }]]);
     $this->assertEquals('bar', $resolver->solve('foo'));
 }
コード例 #3
0
ファイル: ResolvableTest.php プロジェクト: mvc5/tests
 /**
  *
  */
 function test_resolvable_recursion_exception()
 {
     $resolver = new Resolver();
     $resolver->configure('event\\model', Event::class);
     $resolver->events(['service\\resolver' => [function () {
         throw new \RuntimeException();
     }]]);
     $this->setExpectedException('RuntimeException');
     $resolver->resolvable(new Unresolvable());
 }
コード例 #4
0
ファイル: InvokableTest.php プロジェクト: mvc5/tests
 /**
  *
  */
 function test_invokable_with_fallback()
 {
     $resolver = new Resolver();
     $resolver->events(['foo' => [function () {
         return 'bar';
     }]]);
     $resolver->services([Arg::EVENT_MODEL => Event::class]);
     $invokable = $resolver->invokable('foo');
     $this->assertInstanceOf(\Closure::class, $invokable);
     $this->assertEquals('bar', $invokable());
 }
コード例 #5
0
ファイル: CloneTest.php プロジェクト: mvc5/tests
 /**
  *
  */
 function test_clone_with_events_object()
 {
     $resolver = new Resolver([Arg::EVENTS => new Config()]);
     $clone = clone $resolver;
     $this->assertEquals(true, $clone == $resolver);
     $events = $clone->events();
     $events['a'] = 'a';
     $this->assertEquals(false, $clone == $resolver);
     $this->assertEquals(new Config(), $resolver->events());
     $this->assertEquals(new Config(['a' => 'a']), $clone->events());
     $this->assertEquals(null, $clone->events()['b']);
     $clone->config()[Arg::EVENTS]['b'] = 'b';
     $this->assertEquals('b', $clone->events()['b']);
     $this->assertTrue($clone->events() === $clone->config()[Arg::EVENTS]);
 }