diff options
author | Steven Knight <knight@baldmt.com> | 2002-06-06 14:46:22 (GMT) |
---|---|---|
committer | Steven Knight <knight@baldmt.com> | 2002-06-06 14:46:22 (GMT) |
commit | 45020d140918f129a394831cf828622a1c079549 (patch) | |
tree | 19655564ec0c425b0311c838c33d95b936696ef3 | |
parent | 2f7d4f660fd048edc342a989d25c94d7b52ab13e (diff) | |
download | SCons-45020d140918f129a394831cf828622a1c079549.zip SCons-45020d140918f129a394831cf828622a1c079549.tar.gz SCons-45020d140918f129a394831cf828622a1c079549.tar.bz2 |
Fix SConsignEntry.set_implicit() to handle null strings, too. (Jeff Petkau)
-rw-r--r-- | src/engine/SCons/Sig/SigTests.py | 21 | ||||
-rw-r--r-- | src/engine/SCons/Sig/__init__.py | 4 |
2 files changed, 24 insertions, 1 deletions
diff --git a/src/engine/SCons/Sig/SigTests.py b/src/engine/SCons/Sig/SigTests.py index 7931947..365a0d6 100644 --- a/src/engine/SCons/Sig/SigTests.py +++ b/src/engine/SCons/Sig/SigTests.py @@ -502,6 +502,27 @@ class SConsignEntryTestCase(unittest.TestCase): assert e.get_implicit() == [] assert e.render(m) == "987 654 321 " # note trailing space + e.set_implicit(None) + assert e.get_implicit() == None, e.get_implicit() + + e.set_implicit('') + assert e.get_implicit() == [], e.get_implicit() + + e.set_implicit('foo') + assert e.get_implicit() == ['foo'], e.get_implicit() + + e.set_implicit('foo bar') + assert e.get_implicit() == ['foo bar'], e.get_implicit() + + e.set_implicit(['foo']) + assert e.get_implicit() == ['foo'], e.get_implicit() + + e.set_implicit(['foo bar']) + assert e.get_implicit() == ['foo bar'], e.get_implicit() + + e.set_implicit(['foo', 'bar']) + assert e.get_implicit() == ['foo', 'bar'], e.get_implicit() + class SConsignFileTestCase(unittest.TestCase): def runTest(self): diff --git a/src/engine/SCons/Sig/__init__.py b/src/engine/SCons/Sig/__init__.py index a13557a..c97f81e 100644 --- a/src/engine/SCons/Sig/__init__.py +++ b/src/engine/SCons/Sig/__init__.py @@ -91,9 +91,11 @@ class SConsignEntry: return string.split(self.implicit, '\0') def set_implicit(self, implicit): - if not implicit: + if implicit is None: self.implicit = None else: + if SCons.Util.is_String(implicit): + implicit = [implicit] self.implicit = string.join(map(str, implicit), '\0') |