view test/cmp_helper.py @ 6657:2453d7b58a92

Start work on supporting testing of beautifulsoup Change original dehtml only test into a method to be called by a test method. Converter to be used is passed in and selects the right comparison text. All this change does is set things up to run the dehtml test parameterized. It also provdes the stub for the beautiful soup test.
author John Rouillard <rouilj@ieee.org>
date Mon, 02 May 2022 17:04:27 -0400
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/