DiffBuilder._compare_lists goes over the given MutableSequence and considers the items as equal (skips them) when old == new.
This has the same problem that the comment contained in DiffBuilder._compare_values, above the line elif self.dumps(src) == self.dumps(dst):, that says that they are comparing strings to avoid false positives that src == dst would have.
For example, comparing
data1.json
and
data2.json
results in no difference.
DiffBuilder._compare_listsgoes over the givenMutableSequenceand considers the items as equal (skips them) whenold == new.This has the same problem that the comment contained in
DiffBuilder._compare_values, above the lineelif self.dumps(src) == self.dumps(dst):, that says that they are comparing strings to avoid false positives thatsrc == dstwould have.For example, comparing
data1.json
{ "field": [1, 1] }and
data2.json
{ "field": [1, True] }results in no difference.