Changeset 54 for trunk

Show
Ignore:
Timestamp:
07/02/06 09:41:12 (6 years ago)
Author:
steve
Message:

Allow empty string literals

Location:
trunk
Files:
2 modified

Legend:

Unmodified
Added
Removed
  • trunk/airspeed.py

    r53 r54  
    253253 
    254254class StringLiteral(_Element): 
    255     STRING = re.compile(r"'((?:\\['nrbt\\\\\\$]|[^'\n\r\\])+)'(.*)", re.S) 
     255    STRING = re.compile(r"'((?:\\['nrbt\\\\\\$]|[^'\n\r\\])*)'(.*)", re.S) 
    256256    ESCAPED_CHAR = re.compile(r"\\([nrbt'\\])") 
    257257 
     
    266266 
    267267class InterpolatedStringLiteral(StringLiteral): 
    268     STRING = re.compile(r'"((?:\\["nrbt\\\\\\$]|[^"\n\r\\])+)"(.*)', re.S) 
     268    STRING = re.compile(r'"((?:\\["nrbt\\\\\\$]|[^"\n\r\\])*)"(.*)', re.S) 
    269269    ESCAPED_CHAR = re.compile(r'\\([nrbt"\\])') 
    270270 
  • trunk/airspeed_test.py

    r53 r54  
    534534        template = airspeed.Template('#set( $modulus = ($value % 2) )$modulus') 
    535535        self.assertEquals('1', template.merge({'value': 3})) 
     536 
     537    def test_can_assign_empty_string(self): 
     538        template = airspeed.Template('#set( $v = "" )#set( $y = \'\' ).$v.$y.') 
     539        self.assertEquals('...', template.merge({})) 
    536540 
    537541