diff --git a/tests/index.html b/tests/index.html index a522980..a5db00c 100644 --- a/tests/index.html +++ b/tests/index.html @@ -15,9 +15,13 @@ test markup, will be hidden -
-
- + diff --git a/tests/tests.js b/tests/tests.js index 15bf752..fbe3927 100644 --- a/tests/tests.js +++ b/tests/tests.js @@ -1,15 +1,25 @@ (function(){ "use strict"; + + //Selector test function + function $(a) + { + var x = document.querySelectorAll(a); + + //Return the single object if applicable + return (x.length === 1) ? x[0] : x; + } module("core"); test("Basic requirements", function(){ - expect(5); + expect(6); ok(document.querySelectorAll, "querySelectorAll"); ok(document.getElementById, "getElementById"); ok(document.getElementsByTagName, "getElementsByTagName"); ok(String.prototype.trim, "String.trim()"); - ok($_, "Global var"); + strictEqual(typeof $_, "function", "Global var"); + strictEqual(typeof $_(), "object"); }); test("Unique Selectors", function(){ @@ -23,14 +33,13 @@ test("Extend function", function(){ var o = $_("ol"); - expect(3); + expect(4); ok(o.ext, "Extend function exists"); $_.ext('test', {}); strictEqual(typeof o.test, "object", "Extend function adds to $_"); - equal(o.test.el, $_("ol").el, "Extend function adds selector to passed object"); - - + strictEqual(o.test.el, $_("ol").el, "Extend function adds selector to passed object"); + strictEqual(o.test.el, o.el, "Selector is the same on parent and child object"); }); test("Selector tests", function(){ @@ -88,10 +97,8 @@ test("Add/Remove Class", function() { expect(4); - //var $test = $_("#testSpan"); - //var ele = $test.el; - var ele = document.getElementById('testSpan'); - var $test = $_(ele); + var $test = $_("#testSpan"); + var ele = $test.el; $test.dom.addClass("coolClass"); equal(ele.className, "coolClass"); @@ -106,4 +113,38 @@ ok(ele.className === undefined || ele.className === "", "testSpan.className is empty"); }); + test("Show/Hide", function(){ + expect(3); + + var $test = $_("#classChild .child"); + var ele = $test.el; + + $test.dom.hide(); + equal(ele.style.display, "none", "Element hidden with display:none"); + + $test.dom.show(); + equal(ele.style.display, "block", "Element shown with display:block"); + + $test.dom.hide(); + $test.dom.show('inline-block'); + + equal(ele.style.display, "inline-block", "Element shown with custom display type"); + }); + + test("Text", function(){ + var $test = $_("article#r14"); + var ele = $test.el; + var text = (typeof ele.innerText !== "undefined") ? ele.innerText : ele.textContent; + + equal($test.el, $("article#r14"), "Selector property is correct"); + equal($test.dom.text(), text, "Getting test"); + }); + + test("Attr", function(){ + var $test = $_("section"); + var ele = $test.el; + + equal($test.dom.attr('hidden'), "hidden", "Getting attribute"); + }); + }()); \ No newline at end of file