File tree Expand file tree Collapse file tree 3 files changed +21
-0
lines changed
Expand file tree Collapse file tree 3 files changed +21
-0
lines changed Original file line number Diff line number Diff line change 1+ #if(array) { not empty }
Original file line number Diff line number Diff line change @@ -21,6 +21,8 @@ public final class If: Tag {
2121 if let bool = value. bool { return bool }
2222 // Empty string value returns false.
2323 if value. string == " " { return false }
24+ // Empty array value returns false.
25+ if let array = value. array, array. isEmpty { return false }
2426 // Otherwise, not-nil returns true.
2527 return true
2628 }
Original file line number Diff line number Diff line change @@ -97,4 +97,22 @@ class IfTests: XCTestCase {
9797 XCTAssert ( rendered == expectation, " have: \( rendered) , want: \( expectation) " )
9898 }
9999 }
100+
101+ func testIfEmptyArray( ) throws {
102+ let template = try stem. spawnLeaf ( at: " if-empty-array-test " )
103+ do {
104+ let context = try Node ( node: [ " array " : [ " First " ] ] )
105+ let loadable = Context ( context)
106+ let rendered = try stem. render ( template, with: loadable) . makeString ( )
107+ let expectation = " not empty "
108+ XCTAssert ( rendered == expectation, " have: \( rendered) , want: \( expectation) " )
109+ }
110+ do {
111+ let context = try Node ( node: [ " array " : [ ] ] )
112+ let loadable = Context ( context)
113+ let rendered = try stem. render ( template, with: loadable) . makeString ( )
114+ let expectation = " "
115+ XCTAssert ( rendered == expectation, " have: \( rendered) , want: \( expectation) " )
116+ }
117+ }
100118}
You can’t perform that action at this time.
0 commit comments