1 import Quick 2 import Nimble 3 4 @testable import ExpoModulesCore 5 6 class ModuleRegistrySpec: QuickSpec { 7 override func spec() { 8 let appContext = AppContext() 9 10 it("registers unnamed module") { 11 testRegister(module: UnnamedModule(appContext: appContext), name: String(describing: UnnamedModule.self)) 12 } 13 14 it("registers named module") { 15 testRegister(module: NamedModule(appContext: appContext), name: NamedModule.namedModuleName) 16 } 17 18 func testRegister(module: Module, name: String) { 19 let moduleRegistry = appContext.moduleRegistry 20 21 moduleRegistry.register(module: module) 22 23 expect(moduleRegistry.has(moduleWithName: name)).to(beTrue()) 24 expect(moduleRegistry.get(moduleWithName: name)).to(beIdenticalTo(module)) 25 expect(moduleRegistry.contains { $0.module === module }).to(beTrue()) 26 expect(moduleRegistry.get(moduleHolderForName: name)?.module).to(beIdenticalTo(module)) 27 } 28 } 29 } 30