@@ -87,7 +87,7 @@ pub fn unless_block(_tag_name: &str,
8787 tokens : & [ Element ] ,
8888 options : & LiquidOptions )
8989 -> Result < Box < Renderable > > {
90- let cond = try! ( condition ( arguments) ) ;
90+ let cond = condition ( arguments) ? ;
9191 Ok ( Box :: new ( Conditional {
9292 condition : cond,
9393 mode : false ,
@@ -101,7 +101,7 @@ pub fn if_block(_tag_name: &str,
101101 tokens : & [ Element ] ,
102102 options : & LiquidOptions )
103103 -> Result < Box < Renderable > > {
104- let cond = try! ( condition ( arguments) ) ;
104+ let cond = condition ( arguments) ? ;
105105
106106 let ( leading_tokens, trailing_tokens) = split_block ( & tokens[ ..] , & [ "else" , "elsif" ] , options) ;
107107 let if_false = match trailing_tokens {
@@ -202,6 +202,16 @@ mod test {
202202 "nope" ,
203203 "{% endif %}" ) ;
204204
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+
205215 let tokens = compiler:: tokenize ( & text) . unwrap ( ) ;
206216 let template = compiler:: parse ( & tokens, & options ( ) )
207217 . map ( interpreter:: Template :: new)
0 commit comments