5 # Permission is hereby granted, free of charge, to any person obtaining
6 # a copy of this software and associated documentation files (the
7 # "Software"), to deal in the Software without restriction, including
8 # without limitation the rights to use, copy, modify, merge, publish,
9 # distribute, sublicense, and/or sell copies of the Software, and to
10 # permit persons to whom the Software is furnished to do so, subject to
11 # the following conditions:
13 # The above copyright notice and this permission notice shall be included
14 # in all copies or substantial portions of the Software.
16 # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY
17 # KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
18 # WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
19 # NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
20 # LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
21 # OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
22 # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
25 __revision__ = "__FILE__ __REVISION__ __DATE__ __DEVELOPER__"
28 XXX Put a description of the test here.
33 test = TestSCons.TestSCons()
35 test.write('SConstruct', """\
38 env = Environment(INDEX = [0, 1])
40 assert env.subst('$NAME') == ''
41 assert env.subst('${NAME}') == ''
42 assert env.subst('${INDEX[999]}') == ''
44 assert env.subst_list('$NAME') == [[]]
45 assert env.subst_list('${NAME}') == [[]]
46 assert env.subst_list('${INDEX[999]}') == [[]]
48 AllowSubstExceptions()
50 try: env.subst('$NAME')
51 except SCons.Errors.UserError, e: print e
52 else: raise Exception, "did not catch expected SCons.Errors.UserError"
54 try: env.subst('${NAME}')
55 except SCons.Errors.UserError, e: print e
56 else: raise Exception, "did not catch expected SCons.Errors.UserError"
58 try: env.subst('${INDEX[999]}')
59 except SCons.Errors.UserError, e: print e
60 else: raise Exception, "did not catch expected SCons.Errors.UserError"
62 try: env.subst_list('$NAME')
63 except SCons.Errors.UserError, e: print e
64 else: raise Exception, "did not catch expected SCons.Errors.UserError"
66 try: env.subst_list('${NAME}')
67 except SCons.Errors.UserError, e: print e
68 else: raise Exception, "did not catch expected SCons.Errors.UserError"
70 try: env.subst_list('${INDEX[999]}')
71 except SCons.Errors.UserError, e: print e
72 else: raise Exception, "did not catch expected SCons.Errors.UserError"
76 try: env.subst('${1/0}')
77 except SCons.Errors.UserError, e: print e
78 else: raise Exception, "did not catch expected SCons.Errors.UserError"
80 try: env.subst_list('${1/0}')
81 except SCons.Errors.UserError, e: print e
82 else: raise Exception, "did not catch expected SCons.Errors.UserError"
84 AllowSubstExceptions(ZeroDivisionError)
86 assert env.subst('${1/0}') == ''
87 assert env.subst_list('${1/0}') == [[]]
97 # indent-tabs-mode:nil
99 # vim: set expandtab tabstop=4 shiftwidth=4: