Mercurial > p > roundup > code
annotate test/cmp_helper.py @ 5661:b08a308c273b
Better display for Link/Multilink and content
Link/Multilink are now displayed as a dictionary by default. The format
is controlled by the setting of the @verbose option. With @verbose=0 we
get the old behavior displaying only the id. With the default @verbose=1
we get a dictionary with the id and a link inside. With @verbose=2 or
larger we get the label property in the dictionary in addition (e.g. the
name of a status or the name of a file).
The content property is also handled differently now. For @verbose < 2
we get a dictionary with a link property in it. The property points to
the standard download link for the content (or message). For
@verbose >= 2 we get the previous behavior, the content property as a
possibly very large json string.
| author | Ralf Schlatterbeck <rsc@runtux.com> |
|---|---|
| date | Fri, 22 Mar 2019 14:03:37 +0100 |
| parents | 19bd4b413ed6 |
| children |
| rev | line source |
|---|---|
|
5513
19bd4b413ed6
be more lenient when comparing string results
Christof Meerwald <cmeerw@cmeerw.org>
parents:
diff
changeset
|
1 class StringFragmentCmpHelper: |
|
19bd4b413ed6
be more lenient when comparing string results
Christof Meerwald <cmeerw@cmeerw.org>
parents:
diff
changeset
|
2 def compareStringFragments(self, s, fragments): |
|
19bd4b413ed6
be more lenient when comparing string results
Christof Meerwald <cmeerw@cmeerw.org>
parents:
diff
changeset
|
3 """Compare a string agains a list of fragments where a tuple denotes a |
|
19bd4b413ed6
be more lenient when comparing string results
Christof Meerwald <cmeerw@cmeerw.org>
parents:
diff
changeset
|
4 set of alternatives |
|
19bd4b413ed6
be more lenient when comparing string results
Christof Meerwald <cmeerw@cmeerw.org>
parents:
diff
changeset
|
5 """ |
|
19bd4b413ed6
be more lenient when comparing string results
Christof Meerwald <cmeerw@cmeerw.org>
parents:
diff
changeset
|
6 pos = 0 |
|
19bd4b413ed6
be more lenient when comparing string results
Christof Meerwald <cmeerw@cmeerw.org>
parents:
diff
changeset
|
7 for frag in fragments: |
|
19bd4b413ed6
be more lenient when comparing string results
Christof Meerwald <cmeerw@cmeerw.org>
parents:
diff
changeset
|
8 if type(frag) != tuple: |
|
19bd4b413ed6
be more lenient when comparing string results
Christof Meerwald <cmeerw@cmeerw.org>
parents:
diff
changeset
|
9 self.assertEqual(s[pos:pos + len(frag)], frag) |
|
19bd4b413ed6
be more lenient when comparing string results
Christof Meerwald <cmeerw@cmeerw.org>
parents:
diff
changeset
|
10 pos += len(frag) |
|
19bd4b413ed6
be more lenient when comparing string results
Christof Meerwald <cmeerw@cmeerw.org>
parents:
diff
changeset
|
11 else: |
|
19bd4b413ed6
be more lenient when comparing string results
Christof Meerwald <cmeerw@cmeerw.org>
parents:
diff
changeset
|
12 found = False |
|
19bd4b413ed6
be more lenient when comparing string results
Christof Meerwald <cmeerw@cmeerw.org>
parents:
diff
changeset
|
13 for alt in frag: |
|
19bd4b413ed6
be more lenient when comparing string results
Christof Meerwald <cmeerw@cmeerw.org>
parents:
diff
changeset
|
14 if s[pos:pos + len(alt)] == alt: |
|
19bd4b413ed6
be more lenient when comparing string results
Christof Meerwald <cmeerw@cmeerw.org>
parents:
diff
changeset
|
15 pos += len(alt) |
|
19bd4b413ed6
be more lenient when comparing string results
Christof Meerwald <cmeerw@cmeerw.org>
parents:
diff
changeset
|
16 found = True |
|
19bd4b413ed6
be more lenient when comparing string results
Christof Meerwald <cmeerw@cmeerw.org>
parents:
diff
changeset
|
17 break |
|
19bd4b413ed6
be more lenient when comparing string results
Christof Meerwald <cmeerw@cmeerw.org>
parents:
diff
changeset
|
18 |
|
19bd4b413ed6
be more lenient when comparing string results
Christof Meerwald <cmeerw@cmeerw.org>
parents:
diff
changeset
|
19 if not found: |
|
19bd4b413ed6
be more lenient when comparing string results
Christof Meerwald <cmeerw@cmeerw.org>
parents:
diff
changeset
|
20 l = max(map(len, frag)) |
|
19bd4b413ed6
be more lenient when comparing string results
Christof Meerwald <cmeerw@cmeerw.org>
parents:
diff
changeset
|
21 raise AssertionError('%s != %s' % |
|
19bd4b413ed6
be more lenient when comparing string results
Christof Meerwald <cmeerw@cmeerw.org>
parents:
diff
changeset
|
22 (repr(s[pos:pos + l]), str(frag))) |
|
19bd4b413ed6
be more lenient when comparing string results
Christof Meerwald <cmeerw@cmeerw.org>
parents:
diff
changeset
|
23 self.assertEqual(s[pos:], '') |
