Skip to content

Commit

Permalink
Up version to 4.3.3. Wrote test for arguments resolve with name or tag.
Browse files Browse the repository at this point in the history
  • Loading branch information
Alexander Ivlev committed Jun 23, 2021
1 parent 3614842 commit e391445
Show file tree
Hide file tree
Showing 4 changed files with 44 additions and 9 deletions.
3 changes: 3 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
# 4.3.3
* Fix argument injection for Tag and named resolve.

# 4.3.2
* Fix arguments resolve if for resolve used none base type. for example: `let a: T? = container.resolve(args: ...)`. In current example `T` is `Optional`. Also fix if `T` use many or tag.

Expand Down
2 changes: 1 addition & 1 deletion DITranquillity.podspec
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
Pod::Spec.new do |s|

s.name = 'DITranquillity'
s.version = '4.3.2'
s.version = '4.3.3'
s.summary = 'DITranquillity - Dependency injection for iOS/macOS/tvOS (Swift) '

s.description = <<-DESC
Expand Down
16 changes: 8 additions & 8 deletions DITranquillity.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -1220,7 +1220,7 @@
"@loader_path/Frameworks",
);
MACOSX_DEPLOYMENT_TARGET = 10.10;
MARKETING_VERSION = 4.3.2;
MARKETING_VERSION = 4.3.3;
OTHER_SWIFT_FLAGS = "";
PRODUCT_BUNDLE_IDENTIFIER = "com.sia.DITranquillity-OSX";
PRODUCT_NAME = DITranquillity;
Expand Down Expand Up @@ -1260,7 +1260,7 @@
"@loader_path/Frameworks",
);
MACOSX_DEPLOYMENT_TARGET = 10.10;
MARKETING_VERSION = 4.3.2;
MARKETING_VERSION = 4.3.3;
OTHER_SWIFT_FLAGS = "";
PRODUCT_BUNDLE_IDENTIFIER = "com.sia.DITranquillity-OSX";
PRODUCT_NAME = DITranquillity;
Expand Down Expand Up @@ -1301,7 +1301,7 @@
"@loader_path/Frameworks",
);
MACOSX_DEPLOYMENT_TARGET = 10.10;
MARKETING_VERSION = 4.3.2;
MARKETING_VERSION = 4.3.3;
OTHER_SWIFT_FLAGS = "";
PRODUCT_BUNDLE_IDENTIFIER = "com.sia.DITranquillity-tvOS";
PRODUCT_MODULE_NAME = DITranquillity;
Expand Down Expand Up @@ -1344,7 +1344,7 @@
"@loader_path/Frameworks",
);
MACOSX_DEPLOYMENT_TARGET = 10.10;
MARKETING_VERSION = 4.3.2;
MARKETING_VERSION = 4.3.3;
OTHER_SWIFT_FLAGS = "";
PRODUCT_BUNDLE_IDENTIFIER = "com.sia.DITranquillity-tvOS";
PRODUCT_MODULE_NAME = DITranquillity;
Expand Down Expand Up @@ -1507,7 +1507,7 @@
"@loader_path/Frameworks",
);
MACOSX_DEPLOYMENT_TARGET = 10.10;
MARKETING_VERSION = 4.3.2;
MARKETING_VERSION = 4.3.3;
OTHER_SWIFT_FLAGS = "";
PRODUCT_BUNDLE_IDENTIFIER = "com.sia.DITranquillity-iOS";
PRODUCT_NAME = DITranquillity;
Expand Down Expand Up @@ -1551,7 +1551,7 @@
"@loader_path/Frameworks",
);
MACOSX_DEPLOYMENT_TARGET = 10.10;
MARKETING_VERSION = 4.3.2;
MARKETING_VERSION = 4.3.3;
OTHER_SWIFT_FLAGS = "";
PRODUCT_BUNDLE_IDENTIFIER = "com.sia.DITranquillity-iOS";
PRODUCT_NAME = DITranquillity;
Expand Down Expand Up @@ -1594,7 +1594,7 @@
"@loader_path/Frameworks",
);
MACOSX_DEPLOYMENT_TARGET = 10.10;
MARKETING_VERSION = 4.3.2;
MARKETING_VERSION = 4.3.3;
OTHER_SWIFT_FLAGS = "";
PRODUCT_BUNDLE_IDENTIFIER = "com.sia.DITranquillity-WatchOS";
PRODUCT_MODULE_NAME = DITranquillity;
Expand Down Expand Up @@ -1640,7 +1640,7 @@
"@loader_path/Frameworks",
);
MACOSX_DEPLOYMENT_TARGET = 10.10;
MARKETING_VERSION = 4.3.2;
MARKETING_VERSION = 4.3.3;
OTHER_SWIFT_FLAGS = "";
PRODUCT_BUNDLE_IDENTIFIER = "com.sia.DITranquillity-WatchOS";
PRODUCT_MODULE_NAME = DITranquillity;
Expand Down
32 changes: 32 additions & 0 deletions Tests/DITranquillityTest/DITranquillityTests_Extensions.swift
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,8 @@
import XCTest
import DITranquillity

private protocol Tag { }

private protocol MyProtocol {
func empty()
}
Expand Down Expand Up @@ -160,5 +162,35 @@ class DITranquillityTests_Extensions: XCTestCase {
XCTAssertNil(obj.first?.p2)
XCTAssertEqual(obj.first?.p3, 22.2)
}

func test06_TagClass() {
let container = DIContainer()

container.register{ Class(p1: arg($0), p2: arg($1), p3: arg($2)) }
.as(MyProtocol.self, tag: Tag.self)

var arguments = AnyArguments()
arguments.addArgs(for: MyProtocol.self, args: 11, "test", 15.0)
let obj: MyProtocol? = by(tag: Tag.self, on: container.resolve(arguments: arguments))

XCTAssertEqual((obj as? Class)?.p1, 11)
XCTAssertEqual((obj as? Class)?.p2, "test")
XCTAssertEqual((obj as? Class)?.p3, 15.0)
}

func test06_NameClass() {
let container = DIContainer()

container.register{ Class(p1: arg($0), p2: arg($1), p3: arg($2)) }
.as(MyProtocol.self, name: "name")

var arguments = AnyArguments()
arguments.addArgs(for: MyProtocol.self, args: 11, "test", 15.0)
let obj: MyProtocol? = container.resolve(name: "name", arguments: arguments)

XCTAssertEqual((obj as? Class)?.p1, 11)
XCTAssertEqual((obj as? Class)?.p2, "test")
XCTAssertEqual((obj as? Class)?.p3, 15.0)
}
}

0 comments on commit e391445

Please sign in to comment.