functiontests.py 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. import unittest
  2. import pymake.data
  3. import pymake.functions
  4. class VariableRefTest(unittest.TestCase):
  5. def test_get_expansions(self):
  6. e = pymake.data.StringExpansion('FOO', None)
  7. f = pymake.functions.VariableRef(None, e)
  8. exps = list(f.expansions())
  9. self.assertEqual(len(exps), 1)
  10. class GetExpansionsTest(unittest.TestCase):
  11. def test_get_arguments(self):
  12. f = pymake.functions.SubstFunction(None)
  13. e1 = pymake.data.StringExpansion('FOO', None)
  14. e2 = pymake.data.StringExpansion('BAR', None)
  15. e3 = pymake.data.StringExpansion('BAZ', None)
  16. f.append(e1)
  17. f.append(e2)
  18. f.append(e3)
  19. exps = list(f.expansions())
  20. self.assertEqual(len(exps), 3)
  21. def test_descend(self):
  22. f = pymake.functions.StripFunction(None)
  23. e = pymake.data.Expansion(None)
  24. e1 = pymake.data.StringExpansion('FOO', None)
  25. f1 = pymake.functions.VariableRef(None, e1)
  26. e.appendfunc(f1)
  27. f2 = pymake.functions.WildcardFunction(None)
  28. e2 = pymake.data.StringExpansion('foo/*', None)
  29. f2.append(e2)
  30. e.appendfunc(f2)
  31. f.append(e)
  32. exps = list(f.expansions())
  33. self.assertEqual(len(exps), 1)
  34. exps = list(f.expansions(True))
  35. self.assertEqual(len(exps), 3)
  36. self.assertFalse(f.is_filesystem_dependent)
  37. if __name__ == '__main__':
  38. unittest.main()