Beispiel #1
0
 /**
  *
  */
 function test_fallback_exists()
 {
     $resolver = new Resolver();
     $resolver->services([Arg::EVENT_MODEL => Event::class]);
     $invokable = $resolver->fallback('foo');
     $this->assertInstanceOf(Event::class, $invokable);
 }
Beispiel #2
0
 /**
  *
  */
 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());
 }
Beispiel #3
0
 /**
  *
  */
 function test_clone_with_services_object()
 {
     $resolver = new Resolver([Arg::SERVICES => new Config()]);
     $clone = clone $resolver;
     $this->assertEquals(true, $clone == $resolver);
     $services = $clone->services();
     $services['baz'] = 'bat';
     $this->assertEquals(false, $clone == $resolver);
     $this->assertEquals(new Config(), $resolver->services());
     $this->assertEquals(new Config(['baz' => 'bat']), $clone->services());
     $this->assertEquals(null, $clone->services()['b']);
     $clone->config()[Arg::SERVICES]['b'] = 'b';
     $this->assertEquals('b', $clone->services()['b']);
     $this->assertTrue($clone->services() === $clone->config()[Arg::SERVICES]);
 }