summaryrefslogtreecommitdiffstats
path: root/tests/test_option.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/test_option.py')
-rw-r--r--tests/test_option.py40
1 files changed, 40 insertions, 0 deletions
diff --git a/tests/test_option.py b/tests/test_option.py
new file mode 100644
index 0000000..ace7bdb
--- /dev/null
+++ b/tests/test_option.py
@@ -0,0 +1,40 @@
+#!/usr/bin/env python
+
+import unittest
+
+from common import gobject
+from gobject import option
+
+class TestOption(unittest.TestCase):
+
+ def setup_group(self):
+ group = option.OptionGroup(
+ "unittest", "Unit test options", "Show all unittest options",
+ option_list = [
+ option.make_option("-f", "-u", "--file", "--unit-file",
+ type="filename",
+ dest="unit_file",
+ help="Unit test option"),
+ ])
+ group.add_option("-t", "--test",
+ action="store_false",
+ dest="test",
+ default=True,
+ help="Unit test option")
+ return group
+
+ def setup_parser(self):
+ parser = option.OptionParser("NAMES...", description="Option unit test")
+ parser.add_option("-t", "--test", help="Unit test option",
+ action="store_false", dest="test", default=True)
+ return parser
+
+ def testOption(self):
+ parser = self.setup_parser()
+ group = self.setup_group()
+ parser.add_option_group(group)
+
+ parser.parse_args(["test_option.py", "--test", "-f", "test"])
+ assert group.values.test
+ assert not parser.values.test
+ assert group.values.unit_file == "test"