mirror of
https://github.com/wnagrodzki/UserInterfaceVariations.git
synced 2025-05-03 01:01:51 +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()
|
||||
}
|
||||
|
||||
public func addVariations<Object, Value>(_ variations: [UIVariation<Object, Value>]) {
|
||||
for variation in variations {
|
||||
addVariation(variation)
|
||||
}
|
||||
}
|
||||
|
||||
public func removeVariation<Object, Value>(_ variation: UIVariation<Object, Value>) {
|
||||
variations.remove(variation)
|
||||
variation.traitEnvironment = nil
|
||||
|
|
|
@ -80,6 +80,23 @@ final class UIVariationEnvironmentTests: XCTestCase {
|
|||
variationEnvironment.traitCollection = UITraitCollection(verticalSizeClass: .compact)
|
||||
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 {
|
||||
|
|
Loading…
Add table
Reference in a new issue