Edgewall Software

Changeset 1220


Ignore:
Timestamp:
Jan 26, 2013, 6:28:46 PM (11 years ago)
Author:
hodgestar
Message:

Merge r1219 from trunk (fix for PIs without data, fixes #368).

Location:
branches/stable/0.7.x
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • branches/stable/0.7.x

    • Property svn:mergeinfo changed
      /trunkmerged: 1219
  • branches/stable/0.7.x/genshi/input.py

    r1189 r1220  
    406406
    407407    def handle_pi(self, data):
    408         target, data = data.split(None, 1)
    409408        if data.endswith('?'):
    410409            data = data[:-1]
     410        try:
     411            target, data = data.split(None, 1)
     412        except ValueError:
     413            # PI with no data
     414            target = data
     415            data = ''
    411416        self._enqueue(PI, (target.strip(), data.strip()))
    412417
  • branches/stable/0.7.x/genshi/tests/input.py

    r1189 r1220  
    178178        self.assertEqual('echo "Foobar"', data)
    179179
     180    def test_processing_instruction_no_data_1(self):
     181        text = u'<?foo ?>'
     182        events = list(HTMLParser(StringIO(text)))
     183        kind, (target, data), pos = events[0]
     184        self.assertEqual(Stream.PI, kind)
     185        self.assertEqual('foo', target)
     186        self.assertEqual('', data)
     187
     188    def test_processing_instruction_no_data_2(self):
     189        text = u'<?experiment>...<?/experiment>'
     190        events = list(HTMLParser(StringIO(text)))
     191        kind, (target, data), pos = events[0]
     192        self.assertEqual(Stream.PI, kind)
     193        self.assertEqual('experiment', target)
     194        self.assertEqual('', data)
     195        kind, (target, data), pos = events[2]
     196        self.assertEqual('/experiment', target)
     197        self.assertEqual('', data)
     198
    180199    def test_xmldecl(self):
    181200        text = '<?xml version="1.0" ?><root />'
Note: See TracChangeset for help on using the changeset viewer.