@@ 82-94 (lines=13) @@ | ||
79 | return $this->loadDiscoveryFromStorage($discovery); |
|
80 | } |
|
81 | ||
82 | public function testAddBinding() |
|
83 | { |
|
84 | $binding = new StringBinding('string', Foo::clazz); |
|
85 | ||
86 | $discovery = $this->createDiscovery(); |
|
87 | $discovery->addBindingType(new BindingType(Foo::clazz, self::STRING_BINDING)); |
|
88 | $discovery->addBinding($binding); |
|
89 | ||
90 | $discovery = $this->loadDiscoveryFromStorage($discovery); |
|
91 | ||
92 | $this->assertCount(1, $discovery->findBindings(Foo::clazz)); |
|
93 | $this->assertCount(1, $discovery->getBindings()); |
|
94 | } |
|
95 | ||
96 | /** |
|
97 | * @expectedException \Puli\Discovery\Api\Type\NoSuchTypeException |
|
@@ 117-130 (lines=14) @@ | ||
114 | $discovery->addBinding(new StringBinding('string', Foo::clazz)); |
|
115 | } |
|
116 | ||
117 | public function testAddBindingAcceptsDuplicates() |
|
118 | { |
|
119 | // The idea behind accepting duplicates is that depending on the use |
|
120 | // case, multiple modules may define the same binding but the order |
|
121 | // in which the modules is loaded is important. Hence if we load |
|
122 | // [m1, m2, m3] and m1 and m3 contain the same binding, we cannot simply |
|
123 | // discard one of the bindings, since the order might be important for |
|
124 | // the end user. |
|
125 | ||
126 | $binding = new StringBinding('string', Foo::clazz); |
|
127 | ||
128 | $discovery = $this->createDiscovery(); |
|
129 | $discovery->addBindingType(new BindingType(Foo::clazz, self::STRING_BINDING)); |
|
130 | $discovery->addBinding($binding); |
|
131 | $discovery->addBinding($binding); |
|
132 | ||
133 | $discovery = $this->loadDiscoveryFromStorage($discovery); |