From 342eb26779f02f11bb41ef9fa5900103ec22716c Mon Sep 17 00:00:00 2001 From: Lars Wirzenius Date: Sun, 30 Apr 2017 11:08:42 +0300 Subject: Add Variables.get() method --- fail-tests/fail.stdout-diff | 4 ++-- yarnutils/vars.py | 3 +++ yarnutils/vars_tests.py | 10 ++++++++++ 3 files changed, 15 insertions(+), 2 deletions(-) diff --git a/fail-tests/fail.stdout-diff b/fail-tests/fail.stdout-diff index 1099531..1cbaa35 100644 --- a/fail-tests/fail.stdout-diff +++ b/fail-tests/fail.stdout-diff @@ -1,4 +1,4 @@ ---- /dev/null 2017-04-11 20:10:53.869368051 +0300 -+++ fail-tests/fail.stdout-actual 2017-04-16 12:46:26.095515187 +0300 +--- /dev/null 2017-04-20 17:06:09.455944599 +0300 ++++ fail-tests/fail.stdout-actual 2017-04-30 11:08:34.559649665 +0300 @@ -0,0 +1 @@ +this is not empty output to make test fail 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) -- cgit v1.2.1