summaryrefslogtreecommitdiff
path: root/yarnutils
diff options
context:
space:
mode:
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)