This is because the actual and expected objects passed into deepEqual look like this:
{ branchNodeChanged: false, selectionChanged: true, contentChanged: true, ... node: <some ve.ce.ContentBranchNode> }
If the objects don't compare equal:
- Both the actual and expected objects QUnit.dump.parse into 300MB strings(!)
- Then QUnit.diff chokes on this magnificent feast.
The problem is that the ve.ce.ContentBranchNode object property tree is quite dense. We use QUnit.dump.maxDepth = 10. At that depth there are a huge number of properties, many objects with methods that are individually dumped.
Better handling of this in QUnit would be helpful, but meanwhile we can fix this particular case by changing the node property before they're compared.