diff --git a/docs/_templates/layout.html b/docs/_templates/layout.html
index dc40625..5724a01 100644
--- a/docs/_templates/layout.html
+++ b/docs/_templates/layout.html
@@ -17,6 +17,7 @@
{% endfor %}
{% else %}
latest
+ 0.3.0
0.2.9
0.2.8
0.2.7
diff --git a/graphtage/pydiff.py b/graphtage/pydiff.py
index 0bfa950..ae4f2af 100644
--- a/graphtage/pydiff.py
+++ b/graphtage/pydiff.py
@@ -212,9 +212,9 @@ def __init__(self, key, value):
stack.append((obj, [], [obj.value]))
elif isinstance(obj, dict):
stack.append(({}, [], [DictValue(key=k, value=v) for k, v in reversed(list(obj.items()))]))
- elif isinstance(python_obj, (list, tuple)):
+ elif isinstance(obj, (list, tuple)):
stack.append(([], [], list(reversed(obj))))
- elif python_obj is None:
+ elif obj is None:
new_node = NullNode()
else:
pyobj = PyObj(class_name=StringNode(obj.__class__.__name__, quoted=False), attrs=None) # type: ignore
diff --git a/graphtage/version.py b/graphtage/version.py
index 7cab2b0..2fbc10a 100644
--- a/graphtage/version.py
+++ b/graphtage/version.py
@@ -59,7 +59,7 @@ def git_branch() -> Optional[str]:
"""
-__version__: Tuple[Union[int, str], ...] = (0, 2, 9)
+__version__: Tuple[Union[int, str], ...] = (0, 3, 0)
if DEV_BUILD:
branch_name = git_branch()
diff --git a/test/test_pydiff.py b/test/test_pydiff.py
index 48e6fe9..8addbec 100644
--- a/test/test_pydiff.py
+++ b/test/test_pydiff.py
@@ -23,3 +23,13 @@ def __init__(self, bar, baz):
printer = graphtage.printer.Printer(ansi_color=True)
print_diff(Foo("bar", "baz"), Foo("bar", "bak"), printer=printer)
+
+ def test_nested_tuple_diff(self):
+ tree = build_tree({"a": (1, 2)})
+ self.assertIsInstance(tree, graphtage.DictNode)
+ children = tree.children()
+ self.assertEqual(1, len(children))
+ kvp = children[0]
+ self.assertIsInstance(kvp, graphtage.KeyValuePairNode)
+ self.assertIsInstance(kvp.key, graphtage.StringNode)
+ self.assertIsInstance(kvp.value, graphtage.ListNode)