cb19c1534a9542699a0cb7fff5ba849c04ca2bfd
[scons.git] / src / engine / SCons / UtilTests.py
1 __revision__ = "__FILE__ __REVISION__ __DATE__ __DEVELOPER__"
2
3 import sys
4 import unittest
5 import SCons.Node
6 import SCons.Node.FS
7 from SCons.Util import scons_str2nodes
8
9
10 class UtilTestCase(unittest.TestCase):
11     def test_str2nodes(self):
12         """Test the str2nodes function."""
13         nodes = scons_str2nodes("Util.py UtilTests.py")
14         assert len(nodes) == 2
15         assert isinstance(nodes[0], SCons.Node.FS.File)
16         assert isinstance(nodes[1], SCons.Node.FS.File)
17         assert nodes[0].path == "Util.py"
18         assert nodes[1].path == "UtilTests.py"
19
20         nodes = scons_str2nodes("Util.py UtilTests.py", SCons.Node.FS.FS())
21         assert len(nodes) == 2
22         assert isinstance(nodes[0], SCons.Node.FS.File)
23         assert isinstance(nodes[1], SCons.Node.FS.File)
24         assert nodes[0].path == "Util.py"
25         assert nodes[1].path == "UtilTests.py"
26
27         nodes = scons_str2nodes(["Util.py", "UtilTests.py"])
28         assert len(nodes) == 2
29         assert isinstance(nodes[0], SCons.Node.FS.File)
30         assert isinstance(nodes[1], SCons.Node.FS.File)
31         assert nodes[0].path == "Util.py"
32         assert nodes[1].path == "UtilTests.py"
33
34         n1 = SCons.Node.FS.default_fs.File("Util.py")
35         nodes = scons_str2nodes([n1, "UtilTests.py"])
36         assert len(nodes) == 2
37         assert isinstance(nodes[0], SCons.Node.FS.File)
38         assert isinstance(nodes[1], SCons.Node.FS.File)
39         assert nodes[0].path == "Util.py"
40         assert nodes[1].path == "UtilTests.py"
41
42         class SConsNode(SCons.Node.Node):
43             pass
44         node = scons_str2nodes(SConsNode())
45
46         class OtherNode:
47             pass
48         node = scons_str2nodes(OtherNode())
49
50
51 if __name__ == "__main__":
52     suite = unittest.makeSuite(UtilTestCase, 'test_')
53     if not unittest.TextTestRunner().run(suite).wasSuccessful():
54         sys.exit(1)