d0df704d8a
added python.path vm arg to startup script fixed infinite loop in unwrap() when displaying sequences of sequences git-svn-id: http://google-refine.googlecode.com/svn/trunk@509 7d457c2a-affb-35e4-300a-418c747d4874
50 lines
1.4 KiB
Python
50 lines
1.4 KiB
Python
import sys
|
|
import StringIO
|
|
import unittest
|
|
|
|
from xml.sax import saxutils
|
|
from xml.sax import make_parser
|
|
from xml.sax.handler import feature_namespaces
|
|
|
|
from test import test_support
|
|
|
|
file = StringIO.StringIO("""<collection>
|
|
<comic title="Sandman" number='62'>
|
|
<writer>Neil Gaiman</writer>
|
|
<penciller pages='1-9,18-24'>Glyn Dillon</penciller>
|
|
<penciller pages="10-17">Charles Vess</penciller>
|
|
</comic>
|
|
<comic title="Shade, the Changing Man" number="7">
|
|
<writer>Peter Milligan</writer>
|
|
<penciller>Chris Bachalo</penciller>
|
|
</comic>
|
|
</collection>""")
|
|
|
|
class FindIssue(saxutils.DefaultHandler):
|
|
def __init__(self, title, number):
|
|
self.search_title, self.search_number = title, number
|
|
self.match = 0
|
|
|
|
def startElement(self,name,attrs):
|
|
global match
|
|
if name != 'comic' : return
|
|
|
|
title = attrs.get('title', None)
|
|
number = attrs.get('number',None)
|
|
if title == self.search_title and number == self.search_number:
|
|
self.match += 1
|
|
|
|
class SimpleSaxTest(unittest.TestCase):
|
|
def test_find_issue(self):
|
|
parser = make_parser()
|
|
parser.setFeature(feature_namespaces,0)
|
|
dh = FindIssue('Sandman', '62')
|
|
parser.setContentHandler(dh)
|
|
parser.parse(file)
|
|
self.assertEquals(1, dh.match)
|
|
def test_main():
|
|
test_support.run_unittest(SimpleSaxTest)
|
|
|
|
if __name__ == "__main__":
|
|
test_main()
|