module('node'); test('K(html)', function(){ var node = K('
abc

'); equals(node.name, 'div'); equals(node.length, 3); equals(node.attr('class'), 'abc'); equals(node.css('font-size'), '12px'); equals(K('@p > strong').get().nodeValue, 'p > strong'); equals(K('@1 2 ').get().nodeValue, '1 2 '); }); test('K(selector)', function(){ var node = K('p > strong'); equals(node.name, 'strong'); equals(node.get(1).nodeName.toLowerCase(), 'strong'); equals(node.get(2).nodeName.toLowerCase(), 'strong'); equals(node.length, 3); }); test('K(node)', function(){ var node = K(document.createTextNode('abc'), document.createElement('div')); equals(node.name, '#text'); equals(node.get(1).nodeName.toLowerCase(), 'div'); equals(node.length, 2); }); test('get', function() { var div = K('div'); ok(div.get(0) === div[0]); }); test('eq', function() { var div = K('div'); ok(div.eq(0)[0] === div[0]); }); test('attr/removeAttr', function() { equals(K('#test-data-01').attr('src', 'aaa').attr('src'), 'aaa'); equals(K('#test-data-02').attr('src', 'aaa').removeAttr('src').attr('src'), ''); equals(K('#test-data-01').attr('id'), 'test-data-01'); equals(K('#test-data-01').attr('class'), 'test-class'); equals(K('#test-data-01 p img').attr('src'), './data/logo_180_30.gif'); equals(K('#test-data-03 p span').attr('style'), 'color:red;'); equals(K('#test-data-01 p img').attr('border'), '0'); equals(K('#test-data-01').attr('class'), 'test-class'); equals(K('
').attr('class', 'aaa').attr('class'), 'aaa'); equals(K('
').removeAttr('class').attr('class'), ''); equals(K('
').attr('style'), 'color:red;'); }); test("hasClass/addClass/removeClass", function() { var knode = K('
'); var div = knode.get(); knode.addClass('aaa'); ok(knode.hasClass('aaa')); equals(div.className, 'aaa'); knode.addClass('aaa'); equals(div.className, 'aaa'); knode.addClass('bbb'); ok(knode.hasClass('bbb')); equals(div.className, 'aaa bbb'); knode.addClass('ccc'); ok(knode.hasClass('ccc')); equals(div.className, 'aaa bbb ccc'); knode.removeClass('aaa'); ok(!knode.hasClass('aaa')); equals(div.className, 'bbb ccc'); knode.removeClass('bbb'); ok(!knode.hasClass('bbb')); equals(div.className, 'ccc'); knode.removeClass('ccc'); ok(!knode.hasClass('ccc')); equals(div.className, ''); equals(K('
').addClass('aaa').removeClass('aaa').addClass('bbb').get().className, 'bbb'); }); test("contains",function(){ ok(K('#test-data-01 p').contains(K('#test-data-01 p')) === false); ok(K('#test-data-01').contains(K('#test-data-01 p')) === true); ok(K('#test-data-01 strong').contains(K('#test-data-01 strong').first()) === true); ok(K(document).contains(K('#test-data-01 strong')) === true); ok(K(document).contains(document) === false); ok(K(document).contains(document.body)); ok(K('#test-data-01 strong').first().contains(K('#test-data-01 strong')) === false); }); test("val",function(){ equals(K('').val(), "aa"); equals(K('
').val(), "aa"); equals(K('').val("bb").val(), "bb"); equals(K('
').val("").val(), ""); equals(K('').val('abc').val(), 'abc'); }); test("css",function(){ var node = K('
'); equals(node.css('width','300px').css('width'), '300px'); equals(node.css('border','1px solid #ccc').css('border'),node.css('border')); node = K('#test-data-01'); equals(node.css('width'), '300px'); }); test("width/height",function(){ equals(K('#test-data-01').width(), 300); ok(K('#test-data-01').height() > 110); }); test("append",function(){ var node = K('

').append('@abc'); equals(node.html(), 'abc'); equals(K(node[1]).html(), 'abc'); }); test("before",function(){ var parent = K('

'); K(document.body).append(parent); K('.abc', parent).before('def'); var children = parent.children(); equals(children.length, 4); equals(K(children[0]).name, 'span'); equals(K(children[1]).name, 'div'); equals(K(children[2]).name, 'span'); equals(K(children[3]).name, 'p'); parent.remove(); }); test("after",function(){ var parent = K('

'); K(document.body).append(parent); K('.abc', parent).after('def'); var children = parent.children(); equals(children.length, 4); equals(K(children[0]).name, 'div'); equals(K(children[1]).name, 'span'); equals(K(children[2]).name, 'p'); equals(K(children[3]).name, 'span'); parent.remove(); }); test("replaceWith",function(){ var node = K('
').replaceWith('

'); equals(node.length, 1); equals(node.name, 'p'); }); test("remove",function(){ var node = K('

123

').addClass('abc').html('test'); node.remove(); equals(node.length, 0); // Test preserve child nodes. var node = K('

123456789

'); K('p', node).remove(true); equals(node.html(), '123456789'); }); test("html",function(){ var node = K('
xxx
'); K(document.body).append(node); equals(node.html(), 'xxx'); equals(node.html('bbb').html(), 'bbb'); equals(K('').html('abc').html(), 'abc'); equals(node.html('


').html(), '


'); equals(node.html('').html(), ''); node.remove(); }); test("outer",function(){ var node = K('
xxx
'); equals(node.outer(), '
xxx
'); equals(node.addClass('aaa').outer(), '
xxx
'); }); test("chidren",function(){ var node = K('
abc123
'); equals(node.children().length, 2); equals(node.children().name, 'span'); equals(K('
').children().length, 0); }); test('show/hide',function(){ var node = K('
'); equals(node.show().outer(), '
'); equals(node.hide().outer(), '
'); equals(node.show().outer(), '
'); node = K('
'); equals(node.show().outer(), '
'); equals(node.hide().outer(), '
'); equals(node.show().outer(), '
'); node = K('
'); equals(node.show().outer(), '
'); equals(node.hide().outer(), '
'); equals(node.show().outer(), '
'); }); test("data", function(){ K(document).data('abc', '123'); K('body').data('abc', '1234'); K('body div').data('abc', '12345'); equals(K(document).data('abc'), '123'); equals(K('body').data('abc'), '1234'); equals(K('body div').data('abc'), '12345'); });