Changeset 27 for trunk/airspeed_test.py

Show
Ignore:
Timestamp:
19/08/04 13:12:33 (8 years ago)
Author:
steve
Message:

#parse

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • trunk/airspeed_test.py

    r25 r27  
    331331        self.assertRaises(airspeed.TemplateError, template.merge, {}) 
    332332 
    333     def test_include_directive_yield_loader_error_if_included_content_not_found(self): 
     333    def test_include_directive_yields_loader_error_if_included_content_not_found(self): 
    334334        class BrokenLoader: 
    335             def merge_text(self, name, stream): 
     335            def load_text(self, name): 
    336336                raise IOError(name) 
    337337        template = airspeed.Template('#include ("foo.tmpl")') 
    338338        self.assertRaises(IOError, template.merge, {}, loader=BrokenLoader()) 
     339 
     340    def test_valid_include_directive_include_content(self): 
     341        class WorkingLoader: 
     342            def load_text(self, name): 
     343                if name == 'foo.tmpl': 
     344                    return "howdy" 
     345        template = airspeed.Template('Message is: #include ("foo.tmpl")!') 
     346        self.assertEquals('Message is: howdy!', template.merge({}, loader=WorkingLoader())) 
     347 
     348    def test_parse_directive_gives_error_if_no_loader_provided(self): 
     349        template = airspeed.Template('#parse ("foo.tmpl")') 
     350        self.assertRaises(airspeed.TemplateError, template.merge, {}) 
     351 
     352    def test_parse_directive_yields_loader_error_if_parsed_content_not_found(self): 
     353        class BrokenLoader: 
     354            def load_template(self, name): 
     355                raise IOError(name) 
     356        template = airspeed.Template('#parse ("foo.tmpl")') 
     357        self.assertRaises(IOError, template.merge, {}, loader=BrokenLoader()) 
     358 
     359    def test_valid_parse_directive_outputs_parsed_content(self): 
     360        class WorkingLoader: 
     361            def load_template(self, name): 
     362                if name == 'foo.tmpl': 
     363                    return airspeed.Template("$message") 
     364        template = airspeed.Template('Message is: #parse ("foo.tmpl")!') 
     365        self.assertEquals('Message is: hola!', template.merge({'message': 'hola'}, loader=WorkingLoader())) 
    339366 
    340367# 
     
    345372#  range literals 
    346373#  list literals 
    347 #  #parse, #include 
     374#  #parse 
    348375#  Bind #macro calls at compile time? 
    349376#  Interpolated strings