From c81ff286975701ae78246cd8f24284ca3aeac86d Mon Sep 17 00:00:00 2001 From: Valentin Lorentz Date: Sun, 6 Apr 2025 10:19:17 +0200 Subject: [PATCH] registry.Json: Fix broken test due to returning the internal state directly --- src/registry.py | 3 +++ test/test_registry.py | 6 +++--- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/src/registry.py b/src/registry.py index eb9620fdf..270daa8e7 100644 --- a/src/registry.py +++ b/src/registry.py @@ -31,6 +31,7 @@ import re import os +import copy import time import json import codecs @@ -921,6 +922,8 @@ class TemplatedString(String): class Json(String): __slots__ = () + def __call__(self): + return copy.deepcopy(super(Json, self).__call__()) def set(self, v): self.setValue(json.loads(v)) def __str__(self): diff --git a/test/test_registry.py b/test/test_registry.py index d015f2180..59fab3e76 100644 --- a/test/test_registry.py +++ b/test/test_registry.py @@ -140,13 +140,13 @@ class ValuesTestCase(SupyTestCase): self.assertIsNot(v(), data) with v.editable() as dict_: - dict_['supy'] = 'bot' + dict_['supy'] = ['bot'] del dict_['qux'] self.assertNotIn('supy', v()) self.assertIn('qux', v()) self.assertIn('supy', v()) - self.assertEqual(v()['supy'], 'bot') - self.assertIsNot(v()['supy'], 'bot') + self.assertEqual(v()['supy'], ['bot']) + self.assertIsNot(v()['supy'], ['bot']) self.assertNotIn('qux', v()) def testNormalizedString(self):