1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/build/pymake/tests/functiontests.py Wed Dec 31 06:09:35 2014 +0100 1.3 @@ -0,0 +1,54 @@ 1.4 +import unittest 1.5 + 1.6 +import pymake.data 1.7 +import pymake.functions 1.8 + 1.9 +class VariableRefTest(unittest.TestCase): 1.10 + def test_get_expansions(self): 1.11 + e = pymake.data.StringExpansion('FOO', None) 1.12 + f = pymake.functions.VariableRef(None, e) 1.13 + 1.14 + exps = list(f.expansions()) 1.15 + self.assertEqual(len(exps), 1) 1.16 + 1.17 +class GetExpansionsTest(unittest.TestCase): 1.18 + def test_get_arguments(self): 1.19 + f = pymake.functions.SubstFunction(None) 1.20 + 1.21 + e1 = pymake.data.StringExpansion('FOO', None) 1.22 + e2 = pymake.data.StringExpansion('BAR', None) 1.23 + e3 = pymake.data.StringExpansion('BAZ', None) 1.24 + 1.25 + f.append(e1) 1.26 + f.append(e2) 1.27 + f.append(e3) 1.28 + 1.29 + exps = list(f.expansions()) 1.30 + self.assertEqual(len(exps), 3) 1.31 + 1.32 + def test_descend(self): 1.33 + f = pymake.functions.StripFunction(None) 1.34 + 1.35 + e = pymake.data.Expansion(None) 1.36 + 1.37 + e1 = pymake.data.StringExpansion('FOO', None) 1.38 + f1 = pymake.functions.VariableRef(None, e1) 1.39 + e.appendfunc(f1) 1.40 + 1.41 + f2 = pymake.functions.WildcardFunction(None) 1.42 + e2 = pymake.data.StringExpansion('foo/*', None) 1.43 + f2.append(e2) 1.44 + e.appendfunc(f2) 1.45 + 1.46 + f.append(e) 1.47 + 1.48 + exps = list(f.expansions()) 1.49 + self.assertEqual(len(exps), 1) 1.50 + 1.51 + exps = list(f.expansions(True)) 1.52 + self.assertEqual(len(exps), 3) 1.53 + 1.54 + self.assertFalse(f.is_filesystem_dependent) 1.55 + 1.56 +if __name__ == '__main__': 1.57 + unittest.main()