You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
207 lines
6.7 KiB
207 lines
6.7 KiB
module('node');
|
|
|
|
test('K(html)', function(){
|
|
var node = K('<div class="abc" style="font-size:12px;"></div>abc<p></p>');
|
|
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('<div></div>').attr('class', 'aaa').attr('class'), 'aaa');
|
|
equals(K('<div></div>').removeAttr('class').attr('class'), '');
|
|
equals(K('<div style="color:red;"></div>').attr('style'), 'color:red;');
|
|
});
|
|
|
|
test("hasClass/addClass/removeClass", function() {
|
|
var knode = K('<div></div>');
|
|
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('<div></div>').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('<input value="aa" />').val(), "aa");
|
|
equals(K('<div value="aa"></div>').val(), "aa");
|
|
equals(K('<input value="aa" />').val("bb").val(), "bb");
|
|
equals(K('<div value="aa"></div>').val("").val(), "");
|
|
equals(K('<textarea></textarea>').val('abc').val(), 'abc');
|
|
});
|
|
|
|
test("css",function(){
|
|
var node = K('<div></div>');
|
|
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('<div class="abcd"></div><p></p>').append('@abc');
|
|
equals(node.html(), 'abc');
|
|
equals(K(node[1]).html(), 'abc');
|
|
});
|
|
|
|
test("before",function(){
|
|
var parent = K('<div><div class="abc"></div><p class="abc"></p></div>');
|
|
K(document.body).append(parent);
|
|
K('.abc', parent).before('<span>def</span>');
|
|
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('<div><div class="abc"></div><p class="abc"></p></div>');
|
|
K(document.body).append(parent);
|
|
K('.abc', parent).after('<span>def</span>');
|
|
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('<div></div>').replaceWith('<p></p>');
|
|
equals(node.length, 1);
|
|
equals(node.name, 'p');
|
|
});
|
|
|
|
test("remove",function(){
|
|
var node = K('<div></div><p>123</p>').addClass('abc').html('test');
|
|
node.remove();
|
|
equals(node.length, 0);
|
|
// Test preserve child nodes.
|
|
var node = K('<div><p><span>123</span><span>456</span>789</p></div>');
|
|
K('p', node).remove(true);
|
|
equals(node.html(), '<span>123</span><span>456</span>789');
|
|
});
|
|
|
|
test("html",function(){
|
|
var node = K('<div>xxx</div>');
|
|
K(document.body).append(node);
|
|
equals(node.html(), 'xxx');
|
|
equals(node.html('bbb').html(), 'bbb');
|
|
equals(K('<textarea></textarea>').html('abc').html(), 'abc');
|
|
equals(node.html('<p><br></p>').html(), '<p><br /></p>');
|
|
equals(node.html('<script></script>').html(), '<script></script>');
|
|
node.remove();
|
|
});
|
|
|
|
test("outer",function(){
|
|
var node = K('<div>xxx</div>');
|
|
equals(node.outer(), '<div>xxx</div>');
|
|
equals(node.addClass('aaa').outer(), '<div class="aaa">xxx</div>');
|
|
});
|
|
|
|
test("chidren",function(){
|
|
var node = K('<div><span>abc</span>123</div>');
|
|
equals(node.children().length, 2);
|
|
equals(node.children().name, 'span');
|
|
equals(K('<div></div>').children().length, 0);
|
|
});
|
|
|
|
test('show/hide',function(){
|
|
var node = K('<div/>');
|
|
equals(node.show().outer(), '<div></div>');
|
|
equals(node.hide().outer(), '<div style="display:none;"></div>');
|
|
equals(node.show().outer(), '<div></div>');
|
|
|
|
node = K('<div style="display:inline;"/>');
|
|
equals(node.show().outer(), '<div style="display:inline;"></div>');
|
|
equals(node.hide().outer(), '<div style="display:none;"></div>');
|
|
equals(node.show().outer(), '<div style="display:inline;"></div>');
|
|
|
|
node = K('<div style="display:block;"/>');
|
|
equals(node.show().outer(), '<div style="display:block;"></div>');
|
|
equals(node.hide().outer(), '<div style="display:none;"></div>');
|
|
equals(node.show().outer(), '<div style="display:block;"></div>');
|
|
});
|
|
|
|
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');
|
|
});
|