-                // motivated by implemetation detail.
-                expect(header.parent().sameNode(doc.root)).to.equal(true, 'ensure we stayed in a document');
+                // motivated by implemetation details.
+
+                it('keeps node in the document', function() {
+                    var doc = getDocumentFromXML('<div><header></header></div>'),
+                        header = doc.root.contents()[0];
+                    header.setTag('span');
+                    expect(header.parent().sameNode(doc.root)).to.be.true;
+                });
+                it('keeps custom data', function() {
+                    var node = elementNodeFromXML('<div></div>');
+
+                    node.setData('key', 'value');
+                    node.setTag('header');
+                    
+                    expect(node.getTagName()).to.equal('header');
+                    expect(node.getData()).to.eql({key: 'value'});
+                });