@@ -87,7 +87,7 @@ pub fn unless_block(_tag_name: &str,
87
87
tokens : & [ Element ] ,
88
88
options : & LiquidOptions )
89
89
-> Result < Box < Renderable > > {
90
- let cond = try! ( condition ( arguments) ) ;
90
+ let cond = condition ( arguments) ? ;
91
91
Ok ( Box :: new ( Conditional {
92
92
condition : cond,
93
93
mode : false ,
@@ -101,7 +101,7 @@ pub fn if_block(_tag_name: &str,
101
101
tokens : & [ Element ] ,
102
102
options : & LiquidOptions )
103
103
-> Result < Box < Renderable > > {
104
- let cond = try! ( condition ( arguments) ) ;
104
+ let cond = condition ( arguments) ? ;
105
105
106
106
let ( leading_tokens, trailing_tokens) = split_block ( & tokens[ ..] , & [ "else" , "elsif" ] , options) ;
107
107
let if_false = match trailing_tokens {
@@ -202,6 +202,16 @@ mod test {
202
202
"nope" ,
203
203
"{% endif %}" ) ;
204
204
205
+ let tokens = compiler:: tokenize ( & text) . unwrap ( ) ;
206
+ let template = compiler:: parse ( & tokens, & options ( ) )
207
+ . map ( interpreter:: Template :: new)
208
+ . unwrap ( ) ;
209
+
210
+ let mut context = Context :: new ( ) ;
211
+ context. set_global_val ( "truthy" , Value :: Nil ) ;
212
+ let output = template. render ( & mut context) . unwrap ( ) ;
213
+ assert_eq ! ( output, Some ( "nope" . to_owned( ) ) ) ;
214
+
205
215
let tokens = compiler:: tokenize ( & text) . unwrap ( ) ;
206
216
let template = compiler:: parse ( & tokens, & options ( ) )
207
217
. map ( interpreter:: Template :: new)
0 commit comments