"""Test asserted size limitation of text between tags for pyexpat.

"""
__docformat__ = "reStructuredText"

from xml.parsers import expat

COUNT = 8192 * 10
SAMPLE_TEXT = "<doc>abc" + ("-" * COUNT) + "xyz</doc>"


buffer = []

def characters(text):
    buffer.append(text)

p = expat.ParserCreate()
p.CharacterDataHandler = characters
p.Parse(SAMPLE_TEXT, True)

text = u"".join(buffer)

assert len(text) == (COUNT + 6)
assert text.startswith(u"abc---")
assert text.endswith(u"---xyz")

# This is expected to print "abc--- ---xyz"
print text[:6], text[-6:]
