summaryrefslogtreecommitdiff
path: root/yarnutils
diff options
context:
space:
mode:
authorLars Wirzenius <liw@liw.fi>2017-04-30 11:08:42 +0300
committerLars Wirzenius <liw@liw.fi>2017-04-30 11:08:42 +0300
commit342eb26779f02f11bb41ef9fa5900103ec22716c (patch)
treedf324a509bd6f3fe2669f85806a827af72e37cc9 /yarnutils
parent7c75bfe1115bba654b06b2ac6fd577c111287080 (diff)
downloadcmdtest-342eb26779f02f11bb41ef9fa5900103ec22716c.tar.gz
Add Variables.get() method
Diffstat (limited to 'yarnutils')
-rw-r--r--yarnutils/vars.py3
-rw-r--r--yarnutils/vars_tests.py10
2 files changed, 13 insertions, 0 deletions
diff --git a/yarnutils/vars.py b/yarnutils/vars.py
index 9404ffa..c10ed95 100644
--- a/yarnutils/vars.py
+++ b/yarnutils/vars.py
@@ -45,3 +45,6 @@ class Variables(object):
def __setitem__(self, key, value):
self._dict[key] = value
self._save(self._dict)
+
+ def get(self, key, default=None):
+ return self._dict.get(key, default)
diff --git a/yarnutils/vars_tests.py b/yarnutils/vars_tests.py
index a49903e..e6b6279 100644
--- a/yarnutils/vars_tests.py
+++ b/yarnutils/vars_tests.py
@@ -34,6 +34,16 @@ class VariablesTests(unittest.TestCase):
def test_unset_variable_is_None(self):
vars = yarnutils.Variables(self.tempdir)
self.assertEqual(vars['foo'], None)
+ self.assertEqual(vars.get('foo'), None)
+
+ def test_get_returns_default_for_missing_variable(self):
+ vars = yarnutils.Variables(self.tempdir)
+ self.assertEqual(vars.get('foo', 'default'), 'default')
+
+ def test_get_returns_value_for_variable_that_exists(self):
+ vars = yarnutils.Variables(self.tempdir)
+ vars['foo'] = 'value'
+ self.assertEqual(vars.get('foo', 'default'), 'value')
def test_set_value_is_persistent(self):
vars1 = yarnutils.Variables(self.tempdir)