summaryrefslogtreecommitdiffstats
path: root/src/engine
diff options
context:
space:
mode:
authorSteven Knight <knight@baldmt.com>2004-09-20 19:33:34 (GMT)
committerSteven Knight <knight@baldmt.com>2004-09-20 19:33:34 (GMT)
commitddc11499f2a5074965cf5574b9a6728564c4984c (patch)
tree688276256f525087b1699579d025a2e8fe175cf3 /src/engine
parentd5554aa37792c4de38b901e90deafe20c336dbb2 (diff)
downloadSCons-ddc11499f2a5074965cf5574b9a6728564c4984c.zip
SCons-ddc11499f2a5074965cf5574b9a6728564c4984c.tar.gz
SCons-ddc11499f2a5074965cf5574b9a6728564c4984c.tar.bz2
Allow ListOption to take a Python list of values asa default, not just a comma-separated string containg the default values.
Diffstat (limited to 'src/engine')
-rw-r--r--src/engine/SCons/Options/ListOption.py4
-rw-r--r--src/engine/SCons/Options/ListOptionTests.py8
2 files changed, 12 insertions, 0 deletions
diff --git a/src/engine/SCons/Options/ListOption.py b/src/engine/SCons/Options/ListOption.py
index 8a94037..903d52b 100644
--- a/src/engine/SCons/Options/ListOption.py
+++ b/src/engine/SCons/Options/ListOption.py
@@ -57,6 +57,8 @@ __all__ = ('ListOption',)
import string
import UserList
+import SCons.Util
+
class _ListOption(UserList.UserList):
def __init__(self, initlist=[], allowedElems=[]):
@@ -123,6 +125,8 @@ def ListOption(key, help, default, names):
package names (separated by space).
"""
names_str = 'allowed names: %s' % string.join(names, ' ')
+ if SCons.Util.is_List(default):
+ default = string.join(default, ',')
help = string.join(
(help, '(all|none|comma-separated list of names)', names_str),
'\n ')
diff --git a/src/engine/SCons/Options/ListOptionTests.py b/src/engine/SCons/Options/ListOptionTests.py
index ec33963..ec604f8 100644
--- a/src/engine/SCons/Options/ListOptionTests.py
+++ b/src/engine/SCons/Options/ListOptionTests.py
@@ -44,6 +44,14 @@ class ListOptionTestCase(unittest.TestCase):
assert o.validator is None, o.validator
assert not o.converter is None, o.converter
+ opts = SCons.Options.Options()
+ opts.Add(SCons.Options.ListOption('test2', 'test2 help',
+ ['one', 'three'],
+ ['one', 'two', 'three']))
+
+ o = opts.options[0]
+ assert o.default == 'one,three'
+
def test_converter(self):
"""Test the ListOption converter"""
opts = SCons.Options.Options()