From e0c8bb646556aefdaed907e48a8435655c59bab3 Mon Sep 17 00:00:00 2001 From: tanner0101 Date: Wed, 21 Mar 2018 20:03:16 -0400 Subject: [PATCH] nio updates, fix #96 --- Package.swift | 6 +++--- Sources/Leaf/Service/LeafProvider.swift | 10 ++++++---- Tests/LeafTests/LeafTests.swift | 21 +++++++++++++++++++++ circle.yml | 4 +--- 4 files changed, 31 insertions(+), 10 deletions(-) diff --git a/Package.swift b/Package.swift index 83046f0..1e12e6e 100644 --- a/Package.swift +++ b/Package.swift @@ -8,13 +8,13 @@ let package = Package( ], dependencies: [ // 🌎 Utility package containing tools for byte manipulation, Codable, OS APIs, and debugging. - .package(url: "https://github.com/vapor/core.git", .branch("nio")), + .package(url: "https://github.com/vapor/core.git", from: "3.0.0-rc.2"), // 📦 Dependency injection / inversion of control framework. - .package(url: "https://github.com/vapor/service.git", .branch("nio")), + .package(url: "https://github.com/vapor/service.git", from: "1.0.0-rc.2"), // 📄 Easy-to-use foundation for building powerful templating languages in Swift. - .package(url: "https://github.com/vapor/template-kit.git", .branch("nio")), + .package(url: "https://github.com/vapor/template-kit.git", from: "1.0.0-rc.2"), ], targets: [ .target(name: "Leaf", dependencies: ["Async", "Bits", "CodableKit", "COperatingSystem", "Service", "TemplateKit"]), diff --git a/Sources/Leaf/Service/LeafProvider.swift b/Sources/Leaf/Service/LeafProvider.swift index 061946e..c497ace 100644 --- a/Sources/Leaf/Service/LeafProvider.swift +++ b/Sources/Leaf/Service/LeafProvider.swift @@ -13,7 +13,7 @@ public final class LeafProvider: Provider { /// See Service.Provider.Register public func register(_ services: inout Services) throws { services.register(TemplateRenderer.self) { container -> LeafRenderer in - let config = try container.make(LeafConfig.self, for: LeafRenderer.self) + let config = try container.make(LeafConfig.self) return LeafRenderer( config: config, using: container @@ -21,9 +21,9 @@ public final class LeafProvider: Provider { } services.register { container -> LeafConfig in - let dir = try container.make(DirectoryConfig.self, for: LeafRenderer.self) + let dir = try container.make(DirectoryConfig.self) return try LeafConfig( - tags: container.make(for: LeafConfig.self), + tags: container.make(), viewsDir: dir.workDir + "Resources/Views", shouldCache: container.environment != .development ) @@ -35,5 +35,7 @@ public final class LeafProvider: Provider { } /// See Service.Provider.boot - public func boot(_ container: Container) throws { } + public func didBoot(_ container: Container) throws -> Future { + return .done(on: container) + } } diff --git a/Tests/LeafTests/LeafTests.swift b/Tests/LeafTests/LeafTests.swift index ed4c149..3774fec 100644 --- a/Tests/LeafTests/LeafTests.swift +++ b/Tests/LeafTests/LeafTests.swift @@ -396,6 +396,26 @@ class LeafTests: XCTestCase { try XCTAssertEqual(renderer.testRender(home, data), expected) } + func testGH96() throws { + let template = """ + #for(name in names) { + #(name): index=#(index) last=#(isLast) first=#(isFirst) + #if(!isLast) { + + } + } + """ + let expected = """ + tanner: index=0 last=false first=true + ziz: index=1 last=false first=false + vapor: index=2 last=true first=false + """ + let data = try TemplateDataEncoder().encode([ + "names": ["tanner", "ziz", "vapor"] + ]) + try XCTAssertEqual(renderer.testRender(template, data), expected) + } + static var allTests = [ ("testPrint", testPrint), ("testConstant", testConstant), @@ -424,6 +444,7 @@ class LeafTests: XCTestCase { ("testKeyEqual", testKeyEqual), ("testInvalidForSyntax", testInvalidForSyntax), ("testTemplating", testTemplating), + ("testGH96", testGH96), ] } diff --git a/circle.yml b/circle.yml index 2fbf143..3bebc61 100644 --- a/circle.yml +++ b/circle.yml @@ -11,11 +11,9 @@ jobs: linux: docker: - - image: norionomura/swift:swift-4.1-branch + - image: codevapor/swift:4.1 steps: - checkout - - run: apt-get update - - run: apt-get install -yq libssl-dev - run: swift build - run: swift test - run: swift build -c release