diff options
author | Lars Wirzenius <liw@liw.fi> | 2017-04-30 11:08:42 +0300 |
---|---|---|
committer | Lars Wirzenius <liw@liw.fi> | 2017-04-30 11:08:42 +0300 |
commit | 342eb26779f02f11bb41ef9fa5900103ec22716c (patch) | |
tree | df324a509bd6f3fe2669f85806a827af72e37cc9 /yarnutils | |
parent | 7c75bfe1115bba654b06b2ac6fd577c111287080 (diff) | |
download | cmdtest-342eb26779f02f11bb41ef9fa5900103ec22716c.tar.gz |
Add Variables.get() method
Diffstat (limited to 'yarnutils')
-rw-r--r-- | yarnutils/vars.py | 3 | ||||
-rw-r--r-- | yarnutils/vars_tests.py | 10 |
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) |