Skip to content

Commit e114198

Browse files
Merge pull request #1833 from megawac/browser-testing
Refactor collection nodelist tests
2 parents 6d0d16f + f46eacd commit e114198

File tree

2 files changed

+23
-14
lines changed

2 files changed

+23
-14
lines changed

test/collections.js

Lines changed: 23 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -79,14 +79,7 @@
7979
doubled = _([1, 2, 3]).map(function(num){ return num * 2; });
8080
deepEqual(doubled, [2, 4, 6], 'OO-style doubled numbers');
8181

82-
if (typeof document != 'undefined') {
83-
var nodes = _.filter(document.getElementById('map-test').childNodes, _.isElement);
84-
var ids = _.map(nodes, 'id');
85-
equal(nodes.length, 2);
86-
deepEqual(ids, ['id1', 'id2'], 'Can use collection methods on NodeLists.');
87-
}
88-
89-
ids = _.map({length: 2, 0: {id: '1'}, 1: {id: '2'}}, function(n){
82+
var ids = _.map({length: 2, 0: {id: '1'}, 1: {id: '2'}}, function(n){
9083
return n.id;
9184
});
9285
deepEqual(ids, ['1', '2'], 'Can use collection methods on Array-likes.');
@@ -711,4 +704,26 @@
711704
}, predicate);
712705
});
713706

707+
if (typeof document != 'undefined') {
708+
test('Can use various collection methods on NodeLists', function() {
709+
var parent = document.createElement('div');
710+
parent.innerHTML = '<span id=id1></span>textnode<span id=id2></span>';
711+
712+
var elementChildren = _.filter(parent.childNodes, _.isElement);
713+
equal(elementChildren.length, 2);
714+
715+
deepEqual(_.map(elementChildren, 'id'), ['id1', 'id2']);
716+
deepEqual(_.map(parent.childNodes, 'nodeType'), [1, 3, 1]);
717+
718+
ok(!_.every(parent.childNodes, _.isElement));
719+
ok(_.some(parent.childNodes, _.isElement));
720+
721+
function compareNode(node) {
722+
return _.isElement(node) ? node.id.charAt(2) : void 0;
723+
}
724+
equal(_.max(parent.childNodes, compareNode), _.last(parent.childNodes));
725+
equal(_.min(parent.childNodes, compareNode), _.first(parent.childNodes));
726+
});
727+
}
728+
714729
}());

test/index.html

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,6 @@
77
</head>
88
<body>
99
<div id="qunit"></div>
10-
<div id="qunit-fixture">
11-
<div id="map-test">
12-
<div id="id1"></div>
13-
<div id="id2"></div>
14-
</div>
15-
</div>
1610
<script src="vendor/qunit.js"></script>
1711
<script src="../underscore.js"></script>
1812

0 commit comments

Comments
 (0)