Mercurial > hgrepos > Python > libs > ConfigMix
comparison tests/test.py @ 741:e069797f0e36
Implemented the new merge stragegies when merging lists: "extend" and "prepend"
| author | Franz Glasner <fzglas.hg@dom66.de> |
|---|---|
| date | Sun, 29 Oct 2023 17:15:41 +0100 |
| parents | cc9dff5fe0ca |
| children | 220a9ec9ac72 |
comparison
equal
deleted
inserted
replaced
| 740:cc9dff5fe0ca | 741:e069797f0e36 |
|---|---|
| 999 cfg = self._load(os.path.join(TESTDATADIR, | 999 cfg = self._load(os.path.join(TESTDATADIR, |
| 1000 "index-access-for-jails.yml")) | 1000 "index-access-for-jails.yml")) |
| 1001 self.assertEqual(1, cfg.getvar_s(u"expand-me")) | 1001 self.assertEqual(1, cfg.getvar_s(u"expand-me")) |
| 1002 self.assertEqual(2, cfg.getvar_s(u"expand-me-2")) | 1002 self.assertEqual(2, cfg.getvar_s(u"expand-me-2")) |
| 1003 | 1003 |
| 1004 def test54_list_merge_replaces_by_default(self): | |
| 1005 cfg = self._load(os.path.join(TESTDATADIR, "conf10.toml"), | |
| 1006 os.path.join(TESTDATADIR, "conf10.yml")) | |
| 1007 self.assertEqual([u"val1", u"val2", u"in the root namespace"], | |
| 1008 cfg.getvarl_s(u"tree1", u"tree2", u"key8")) | |
| 1009 | |
| 1010 def test55_list_merge_extend(self): | |
| 1011 cfg = self._load(os.path.join(TESTDATADIR, "conf10.toml"), | |
| 1012 os.path.join(TESTDATADIR, "conf10.yml"), | |
| 1013 merge_lists="extend") | |
| 1014 self.assertEqual([u"val1", u"val2", u"in the root namespace", | |
| 1015 u"val1", u"val2", u"in the root namespace"], | |
| 1016 cfg.getvarl_s(u"tree1", u"tree2", u"key8")) | |
| 1017 | |
| 1018 def test56_list_merge_wrong_param(self): | |
| 1019 try: | |
| 1020 self._load(os.path.join(TESTDATADIR, "conf10.toml"), | |
| 1021 os.path.join(TESTDATADIR, "conf10.yml"), | |
| 1022 merge_lists="__unknown-merge-strategy__") | |
| 1023 except ValueError: | |
| 1024 pass | |
| 1025 else: | |
| 1026 self.fail("Should have thrown a `ValueError' exception") | |
| 1027 | |
| 1028 def test57_list_merge_extend(self): | |
| 1029 cfg = self._load(os.path.join(TESTDATADIR, "conf10.toml"), | |
| 1030 os.path.join(TESTDATADIR, "conf10_list_extend.yml"), | |
| 1031 merge_lists="extend") | |
| 1032 self.assertEqual([u"val1", u"val2", u"in the root namespace", | |
| 1033 u"val4", u"val5", u"val6"], | |
| 1034 cfg.getvarl_s(u"tree1", u"tree2", u"key8")) | |
| 1035 | |
| 1036 def test58_list_merge_prepend(self): | |
| 1037 cfg = self._load(os.path.join(TESTDATADIR, "conf10.toml"), | |
| 1038 os.path.join(TESTDATADIR, "conf10_list_extend.yml"), | |
| 1039 merge_lists="prepend") | |
| 1040 self.assertEqual([u"val4", u"val5", u"val6", | |
| 1041 u"val1", u"val2", u"in the root namespace",], | |
| 1042 cfg.getvarl_s(u"tree1", u"tree2", u"key8")) | |
| 1043 | |
| 1004 | 1044 |
| 1005 class T02LoadAndMerge(_T02MixinLoadAndMerge, unittest.TestCase): | 1045 class T02LoadAndMerge(_T02MixinLoadAndMerge, unittest.TestCase): |
| 1006 | 1046 |
| 1007 def setUp(self): | 1047 def setUp(self): |
| 1008 self._load = configmix.load | 1048 self._load = configmix.load |
