mirror of
https://github.com/wnagrodzki/UserInterfaceVariations.git
synced 2025-05-03 17:21:40 +02:00
Add addVariations(_:) convenience method to UIVariationEnvironment
This commit is contained in:
parent
fa7a280f0e
commit
837f263513
2 changed files with 23 additions and 0 deletions
|
@ -20,6 +20,12 @@ extension UIVariationEnvironment where Self: UITraitEnvironment {
|
||||||
variation.applyIfMatchesTraitEnvironment()
|
variation.applyIfMatchesTraitEnvironment()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public func addVariations<Object, Value>(_ variations: [UIVariation<Object, Value>]) {
|
||||||
|
for variation in variations {
|
||||||
|
addVariation(variation)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public func removeVariation<Object, Value>(_ variation: UIVariation<Object, Value>) {
|
public func removeVariation<Object, Value>(_ variation: UIVariation<Object, Value>) {
|
||||||
variations.remove(variation)
|
variations.remove(variation)
|
||||||
variation.traitEnvironment = nil
|
variation.traitEnvironment = nil
|
||||||
|
|
|
@ -80,6 +80,23 @@ final class UIVariationEnvironmentTests: XCTestCase {
|
||||||
variationEnvironment.traitCollection = UITraitCollection(verticalSizeClass: .compact)
|
variationEnvironment.traitCollection = UITraitCollection(verticalSizeClass: .compact)
|
||||||
XCTAssertEqual(label.text, valueWhenCompact)
|
XCTAssertEqual(label.text, valueWhenCompact)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func test_adding_variations_convenience_method() {
|
||||||
|
let variationEnvironment = UIVariationEnvironmentFake(traitCollection: UITraitCollection(verticalSizeClass: .regular))
|
||||||
|
let variation0 = UIVariation(object: label,
|
||||||
|
keyPath: \.text,
|
||||||
|
value: "",
|
||||||
|
horizontalSizeClass: nil,
|
||||||
|
verticalSizeClass: nil)
|
||||||
|
let variation1 = UIVariation(object: label,
|
||||||
|
keyPath: \.text,
|
||||||
|
value: "",
|
||||||
|
horizontalSizeClass: nil,
|
||||||
|
verticalSizeClass: nil)
|
||||||
|
variationEnvironment.addVariations([variation0, variation1])
|
||||||
|
XCTAssert(variationEnvironment.variations[0] as AnyObject === variation0)
|
||||||
|
XCTAssert(variationEnvironment.variations[1] as AnyObject === variation1)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class UIVariationEnvironmentFake: NSObject, UITraitEnvironment {
|
class UIVariationEnvironmentFake: NSObject, UITraitEnvironment {
|
||||||
|
|
Loading…
Add table
Reference in a new issue