view test/cmp_helper.py @ 8238:05405220dc38

issue2551116 - difusedxml support - python2 fixups. Make sure python2 code path sets client.defusedxml so the code can still run. Bomb tests fail under python2. So disable test under python 2. In the past it was due to string/byte type difference. Not worth fixing the tests since python 2 support dropped.
author John Rouillard <rouilj@ieee.org>
date Sun, 29 Dec 2024 19:48:42 -0500
parents 19bd4b413ed6
children
line wrap: on
line source

class StringFragmentCmpHelper:
    def compareStringFragments(self, s, fragments):
        """Compare a string agains a list of fragments where a tuple denotes a
        set of alternatives
        """
        pos = 0
        for frag in fragments:
            if type(frag) != tuple:
                self.assertEqual(s[pos:pos + len(frag)], frag)
                pos += len(frag)
            else:
                found = False
                for alt in frag:
                    if s[pos:pos + len(alt)] == alt:
                        pos += len(alt)
                        found = True
                        break

                if not found:
                    l = max(map(len, frag))
                    raise AssertionError('%s != %s' %
                                         (repr(s[pos:pos + l]), str(frag)))
        self.assertEqual(s[pos:], '')

Roundup Issue Tracker: http://roundup-tracker.org/