aboutsummaryrefslogtreecommitdiff
path: root/python/contents_TEST.py
diff options
context:
space:
mode:
authorAvatar Piotr Jaroszyński <peper@gentoo.org> 2007-05-04 21:47:07 +0000
committerAvatar Piotr Jaroszyński <peper@gentoo.org> 2007-05-04 21:47:07 +0000
commit02e73e7f00154bdfebac199dd6a6ea1620f83132 (patch)
treeb080378daed0a54623ceddc3bb207298ab81723e /python/contents_TEST.py
parent62ca07c8be79011d6eb1640571b1d8cc71908922 (diff)
downloadpaludis-02e73e7f00154bdfebac199dd6a6ea1620f83132.tar.gz
paludis-02e73e7f00154bdfebac199dd6a6ea1620f83132.tar.xz
Initial import of Python bindings.
Diffstat (limited to 'python/contents_TEST.py')
-rwxr-xr-xpython/contents_TEST.py92
1 files changed, 92 insertions, 0 deletions
diff --git a/python/contents_TEST.py b/python/contents_TEST.py
new file mode 100755
index 0000000..328e883
--- /dev/null
+++ b/python/contents_TEST.py
@@ -0,0 +1,92 @@
+#!/usr/bin/env python
+# vim: set fileencoding=utf-8 sw=4 sts=4 et :
+
+#
+# Copyright (c) 2007 Piotr Jaroszyński <peper@gentoo.org>
+#
+# This file is part of the Paludis package manager. Paludis is free software;
+# you can redistribute it and/or modify it under the terms of the GNU General
+# Public License version 2, as published by the Free Software Foundation.
+#
+# Paludis is distributed in the hope that it will be useful, but WITHOUT ANY
+# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
+# details.
+#
+# You should have received a copy of the GNU General Public License along with
+# this program; if not, write to the Free Software Foundation, Inc., 59 Temple
+# Place, Suite 330, Boston, MA 02111-1307 USA
+#
+
+from paludis import *
+import unittest
+
+class TestCase_Contents(unittest.TestCase):
+ def test_01_contents_entry(self):
+ self.assertRaises(Exception, ContentsEntry)
+
+ def test_02_file_entry(self):
+ e = ContentsFileEntry("/foo")
+
+ self.assert_(isinstance(e, ContentsEntry))
+ self.assertEquals(str(e), "/foo")
+ self.assertEquals(e.name, "/foo")
+
+ def test_03_dir_entry(self):
+ e = ContentsDirEntry("/foo")
+
+ self.assert_(isinstance(e, ContentsEntry))
+ self.assertEquals(str(e), "/foo")
+ self.assertEquals(e.name, "/foo")
+
+ def test_04_misc_entry(self):
+ e = ContentsMiscEntry("/foo")
+
+ self.assert_(isinstance(e, ContentsEntry))
+ self.assertEquals(str(e), "/foo")
+ self.assertEquals(e.name, "/foo")
+
+ def test_05_fifo_entry(self):
+ e = ContentsFifoEntry("/foo")
+
+ self.assert_(isinstance(e, ContentsEntry))
+ self.assertEquals(str(e), "/foo")
+ self.assertEquals(e.name, "/foo")
+
+ def test_06_dev_entry(self):
+ e = ContentsDevEntry("/foo")
+
+ self.assert_(isinstance(e, ContentsEntry))
+ self.assertEquals(str(e), "/foo")
+ self.assertEquals(e.name, "/foo")
+
+ def test_07_sym_entry(self):
+ e = ContentsSymEntry("/foo", "/blah")
+
+ self.assert_(isinstance(e, ContentsEntry))
+ self.assertEquals(str(e), "/foo -> /blah")
+ self.assertEquals(e.name, "/foo")
+ self.assertEquals(e.target, "/blah")
+
+ def test_08_contents(self):
+ entries = []
+ entries.append(ContentsSymEntry("/foo", "/blah"))
+ entries.append(ContentsFileEntry("/foo"))
+ entries.append(ContentsDevEntry("/dev/foo"))
+ entries.append(ContentsDirEntry("/bar"))
+ entries.append(ContentsFifoEntry("/baz"))
+
+ c = Contents()
+ for entry in entries:
+ c.add(entry)
+
+ for (i, entry) in enumerate(c):
+ self.assertEquals(entry.name, entries[i].name)
+ self.assertEquals(type(entry), type(entries[i]))
+ if i==0:
+ self.assertEquals(entry.target, entries[i].target)
+ if i>4:
+ self.assertEquals("TOO MANY ENTRIES", "OK")
+
+if __name__ == "__main__":
+ unittest.main()