| package ioc.specs |
| |
| import org.apache.tapestry5.ioc.Greeter |
| import org.apache.tapestry5.ioc.GreeterModule |
| import org.apache.tapestry5.ioc.HelterModule |
| import org.apache.tapestry5.ioc.internal.services.StartupModule2 |
| |
| class RegistrySpec extends AbstractRegistrySpecification { |
| |
| def "symbol in Registry.getService() is expanded"() { |
| |
| buildRegistry GreeterModule |
| |
| when: |
| |
| def greeter = getService '${greeter}', Greeter |
| |
| then: |
| |
| greeter.greeting == "Hello" |
| greeter.toString() == "<Proxy for HelloGreeter(org.apache.tapestry5.ioc.Greeter)>" |
| } |
| |
| def "circular module references are ignored"() { |
| buildRegistry HelterModule |
| |
| when: |
| |
| def helter = getService "Helter", Runnable |
| def skelter = getService "Skelter", Runnable |
| |
| then: |
| |
| !helter.is(skelter) |
| } |
| |
| def "@Startup annotation support"() { |
| when: |
| |
| buildRegistry StartupModule2 |
| |
| then: |
| |
| !StartupModule2.staticStartupInvoked |
| !StartupModule2.instanceStartupInvoked |
| |
| when: |
| |
| performRegistryStartup() |
| |
| then: |
| |
| StartupModule2.staticStartupInvoked |
| StartupModule2.instanceStartupInvoked |
| } |
| } |