diff options
author | Jonathan Lange <jml@canonical.com> | 2011-11-25 17:55:19 +0000 |
---|---|---|
committer | Jonathan Lange <jml@canonical.com> | 2011-11-25 17:55:19 +0000 |
commit | 3ad1928d07b474ad61bc43e4a1482b6821ada126 (patch) | |
tree | 94d3bc54bfacee247d4181322c3f50025f36a4c3 | |
parent | 5c1a5db9a6e06ff1fa2f816e99b606d3622fc789 (diff) | |
download | fixtures-3ad1928d07b474ad61bc43e4a1482b6821ada126.tar.gz |
Correctly disambiguate duplicate errors.
-rw-r--r-- | lib/fixtures/fixture.py | 5 | ||||
-rw-r--r-- | lib/fixtures/tests/test_fixture.py | 12 |
2 files changed, 16 insertions, 1 deletions
diff --git a/lib/fixtures/fixture.py b/lib/fixtures/fixture.py index 04bcb5d..40e7738 100644 --- a/lib/fixtures/fixture.py +++ b/lib/fixtures/fixture.py @@ -23,7 +23,10 @@ __all__ = [ import itertools import sys -from testtools.compat import reraise +from testtools.compat import ( + advance_iterator, + reraise, + ) from testtools.helpers import try_import class MultipleExceptions(Exception): diff --git a/lib/fixtures/tests/test_fixture.py b/lib/fixtures/tests/test_fixture.py index ed4edf0..8443426 100644 --- a/lib/fixtures/tests/test_fixture.py +++ b/lib/fixtures/tests/test_fixture.py @@ -163,6 +163,18 @@ class TestFixture(testtools.TestCase): child.addDetail('foo', 'content') self.assertEqual({}, parent.getDetails()) + def test_duplicate_details_are_disambiguated(self): + parent = fixtures.Fixture() + with parent: + parent.addDetail('foo', 'parent-content') + child = fixtures.Fixture() + parent.useFixture(child) + # Note that we add the detail *after* using the fixture: the parent + # has to query just-in-time. + child.addDetail('foo', 'child-content') + self.assertEqual({'foo': 'parent-content', + 'foo-1': 'child-content',}, parent.getDetails()) + def test_addDetail(self): fixture = fixtures.Fixture() with fixture: |