hunk.code_window:       expect(elems).to.have.length(1);
         expect(elems[0].attribs['class']).to.equal('water');
       });
       it('() : should return an empty object for first child', function() {
         expect($('.apple', fruits).prevUntil()).to.have.length(0);
       });
       it('() : should return an empty object when called on an empty object', function() {
  
hunk.labels: keep keep keep add keep keep keep keep keep
hunk.after_edit:     it('(selector, filterString) : should return all preceding siblings until selector', function() {
         var elems = $('<ul><li><p></p></li><li></li></ul>');
         var empty = elems.find('li').eq(1).prevUntil(null, 'p');
         expect(empty).to.have.length(0);
       });
  
hunk.file_path: test/api.traversing.js
hunk.type: add
file: var expect = require('expect.js'),
      $ = require('../'),
      food = require('./fixtures').food;
  
  describe('utility methods', function() {
  
    describe('.contains', function() {
  
      it('(container, contained) : should correctly detect the provided element', function() {
        var $food = $(food);
        var $fruits = $food.find('#fruits');
        var $apple = $fruits.find('.apple');
  
        expect($.contains($food[0], $fruits[0])).to.equal(true);
        expect($.contains($food[0], $apple[0])).to.equal(true);
      });
  
      it('(container, other) : should not detect elements that are not contained', function() {
        var $food = $(food);
        var $fruits = $food.find('#fruits');
        var $vegetables = $food.find('#vegetables');
        var $apple = $fruits.find('.apple');
  
        expect($.contains($vegetables[0], $apple[0])).to.equal(false);
        expect($.contains($fruits[0], $vegetables[0])).to.equal(false);
        expect($.contains($vegetables[0], $fruits[0])).to.equal(false);
        expect($.contains($fruits[0], $fruits[0])).to.equal(false);
        expect($.contains($vegetables[0], $vegetables[0])).to.equal(false);
      });
  
    });
  
  });
  