mirror of
https://github.com/meteor/meteor.git
synced 2026-05-02 03:01:46 -04:00
more tests
This commit is contained in:
@@ -214,7 +214,6 @@ _extend(DomRange.prototype, {
|
||||
throw new Error("Member already exists: " + id.slice(1));
|
||||
}
|
||||
}
|
||||
members[id] = newMember;
|
||||
|
||||
if ('dom' in newMember) {
|
||||
if (! newMember.dom)
|
||||
@@ -225,8 +224,11 @@ _extend(DomRange.prototype, {
|
||||
var nodes = range.getNodes();
|
||||
|
||||
if (tbodyFixNeeded(nodes, parentNode))
|
||||
// may cause a refresh(); important that the
|
||||
// member isn't added yet
|
||||
parentNode = moveWithOwnersIntoTbody(this);
|
||||
|
||||
members[id] = newMember;
|
||||
for (var i = 0; i < nodes.length; i++)
|
||||
insertNode(nodes[i], parentNode, nextNode);
|
||||
} else {
|
||||
@@ -240,8 +242,11 @@ _extend(DomRange.prototype, {
|
||||
node.$ui = this.component;
|
||||
|
||||
if (tbodyFixNeeded(node, parentNode))
|
||||
// may cause a refresh(); important that the
|
||||
// member isn't added yet
|
||||
parentNode = moveWithOwnersIntoTbody(this);
|
||||
|
||||
members[id] = newMember;
|
||||
insertNode(node, parentNode, nextNode);
|
||||
}
|
||||
},
|
||||
@@ -693,8 +698,6 @@ DomRange.prototype.contains = function (compOrNode) {
|
||||
return false;
|
||||
|
||||
var range;
|
||||
if (! compOrNode)
|
||||
debugger;
|
||||
if ('dom' in compOrNode) {
|
||||
// Component
|
||||
range = compOrNode.dom;
|
||||
|
||||
@@ -846,6 +846,35 @@ Tinytest.addAsync("ui - DomRange - IE TextNode GC", function (test, onComplete)
|
||||
}, 500);
|
||||
});
|
||||
|
||||
Tinytest.add("ui - DomRange - more TBODY", function (test) {
|
||||
inDocument(htmlRange("<table></table>"), function (r) {
|
||||
var table = r.elements()[0];
|
||||
var tableContent = new DomRange;
|
||||
var buf = [];
|
||||
DomRange.insert(tableContent, table);
|
||||
var trRange = htmlRange("<tr><td>Hello</td></tr>");
|
||||
tableContent.add(trRange);
|
||||
test.isTrue(tableContent.contains(trRange));
|
||||
});
|
||||
|
||||
inDocument(htmlRange("<table></table>"), function (r) {
|
||||
var table = r.elements()[0];
|
||||
var tableContent = new DomRange;
|
||||
var buf = [];
|
||||
DomRange.insert(tableContent, table);
|
||||
var trRange = htmlRange("<tr><td>Hello</td></tr>");
|
||||
var tr = trRange.elements()[0];
|
||||
tableContent.add('tr', tr);
|
||||
test.equal(_.keys(tableContent.members).length, 1);
|
||||
test.isTrue(tableContent.contains(tr));
|
||||
tableContent.remove('tr');
|
||||
// bizarrely, in IE 8, the `tr` still has some
|
||||
// DocumentFragment as its parent even though `removeChild`
|
||||
// has been called on it directly.
|
||||
test.isFalse(tr.parentNode && tr.parentNode.nodeType === 1);
|
||||
});
|
||||
});
|
||||
|
||||
Tinytest.add("ui - DomRange - events in tables", function (test) {
|
||||
inDocument(htmlRange("<table></table>"), function (r) {
|
||||
var table = r.elements()[0];
|
||||
|
||||
Reference in New Issue
Block a user