mirror of
https://github.com/comfyanonymous/ComfyUI.git
synced 2025-02-28 22:51:45 +00:00

* [i18n] Add /i18n endpoint to provide all custom node translations * Sort glob result for deterministic ordering * Update comment
72 lines
2.0 KiB
Python
72 lines
2.0 KiB
Python
from utils.json_util import merge_json_recursive
|
|
|
|
|
|
def test_merge_simple_dicts():
|
|
base = {"a": 1, "b": 2}
|
|
update = {"b": 3, "c": 4}
|
|
expected = {"a": 1, "b": 3, "c": 4}
|
|
assert merge_json_recursive(base, update) == expected
|
|
|
|
|
|
def test_merge_nested_dicts():
|
|
base = {"a": {"x": 1, "y": 2}, "b": 3}
|
|
update = {"a": {"y": 4, "z": 5}}
|
|
expected = {"a": {"x": 1, "y": 4, "z": 5}, "b": 3}
|
|
assert merge_json_recursive(base, update) == expected
|
|
|
|
|
|
def test_merge_lists():
|
|
base = {"a": [1, 2], "b": 3}
|
|
update = {"a": [3, 4]}
|
|
expected = {"a": [1, 2, 3, 4], "b": 3}
|
|
assert merge_json_recursive(base, update) == expected
|
|
|
|
|
|
def test_merge_nested_lists():
|
|
base = {"a": {"x": [1, 2]}}
|
|
update = {"a": {"x": [3, 4]}}
|
|
expected = {"a": {"x": [1, 2, 3, 4]}}
|
|
assert merge_json_recursive(base, update) == expected
|
|
|
|
|
|
def test_merge_mixed_types():
|
|
base = {"a": [1, 2], "b": {"x": 1}}
|
|
update = {"a": [3], "b": {"y": 2}}
|
|
expected = {"a": [1, 2, 3], "b": {"x": 1, "y": 2}}
|
|
assert merge_json_recursive(base, update) == expected
|
|
|
|
|
|
def test_merge_overwrite_non_dict():
|
|
base = {"a": 1}
|
|
update = {"a": {"x": 2}}
|
|
expected = {"a": {"x": 2}}
|
|
assert merge_json_recursive(base, update) == expected
|
|
|
|
|
|
def test_merge_empty_dicts():
|
|
base = {}
|
|
update = {"a": 1}
|
|
expected = {"a": 1}
|
|
assert merge_json_recursive(base, update) == expected
|
|
|
|
|
|
def test_merge_none_values():
|
|
base = {"a": None}
|
|
update = {"a": {"x": 1}}
|
|
expected = {"a": {"x": 1}}
|
|
assert merge_json_recursive(base, update) == expected
|
|
|
|
|
|
def test_merge_different_types():
|
|
base = {"a": [1, 2]}
|
|
update = {"a": "string"}
|
|
expected = {"a": "string"}
|
|
assert merge_json_recursive(base, update) == expected
|
|
|
|
|
|
def test_merge_complex_nested():
|
|
base = {"a": [1, 2], "b": {"x": [3, 4], "y": {"p": 1}}}
|
|
update = {"a": [5], "b": {"x": [6], "y": {"q": 2}}}
|
|
expected = {"a": [1, 2, 5], "b": {"x": [3, 4, 6], "y": {"p": 1, "q": 2}}}
|
|
assert merge_json_recursive(base, update) == expected
|