         assert list3.length is 3, "Length didn't change"
         assert.deepEqual list3.pluck('className'), ['a', 'b', 'c'], "Classes match"
 
+    test 'pluck node', ->
+        list = list_items()
+        first = $(list.get(0))
+        second = $(first.pluckNode('nextSibling'))
+        assert.equal second.get(0), list.get(1), "Walks to second element"
+
+    test 'pluck', ->
+        obj = $()
+        obj.elements[0] = fizz: 'buzz'
+        obj._update()
+        assert.deepEqual obj.pluck('fizz'), ['buzz'], "Plucks elements properties"
+
     test 'next', ->
         el = $('.a').next()
         assert el.length is 1, "One element found"


        closest = el.closest('bacon')
        assert.lengthOf closest, 0

    test 'multiple results', ->
        el = $('#test li')
        assert.lengthOf el, 3, "It has 3 elements"

    test 'matches error', ->
        el = $()
        el.elements = [{}]
        el._update()

        assert.lengthOf el.filter(), 0, "matches filter only elements"

    test 'matches fallback', ->
        # this test is really dont cool
        util = $.require('util')

        parent = document.createElement('div')
        children_foo = document.createElement('div')
        children_foo.className = 'foo'
        children = document.createElement('div')
        parent.appendChild children_foo
        parent.appendChild children
        el = $(parent)

        prefix = util.prefix
        util.prefix = -> return false

        filter_div = el.filter('div')
        filter_foo = el.children().filter('.foo')

        util.prefix = prefix # restore prefix

        assert.deepEqual filter_div.elements, [parent], "Remains the parent"
        assert.deepEqual filter_foo.elements, [children_foo], "Remains the parent"
        
suite 'Traversal methods', ->
    test 'find', ->
        all = $('*')
        list = all.find('.list li')
        assert.deepEqual list.get(), list_items().get(), "Gets the list items"

    test 'find in one', ->
        doc = $(document)
        list = doc.find('.list li')
        assert.deepEqual list.get(), list_items().get(), "Gets the list items"

    test 'filter', ->
        all = $('*')
        list = all.filter('.list li')
        assert.deepEqual list.get(), list_items().get(), "Filter the list items"

        nothing = all.filter('.nothing-with-this')
        assert.equal nothing.length, 0, "Filter should returns nothing"

        assert.deepEqual all, $('*'), "Doesnt affect the original"

    test 'is', ->
        doc = $(document)
        assert.isTrue doc.is(document), "Document is document"

        list = list_items()
        assert.isTrue list.is('li'), "Filter the list items"

        all = $('*')
        assert.isTrue all.is(list_items()), "Filter the list items with Rye instance"

    test 'add multiple (Rye)', ->
        list = list_items()
