Thilo Planz - Test.InnerHTML-0.01

Documentation | Source

NAME

Test.InnerHTML - Helps checking innerHTML in unit tests

*/

// Set up package.
if (typeof JSAN != 'undefined') JSAN.use('Test.More');
else {
    if (typeof Test == 'undefined' || typeof Test.More == 'undefined')
        throw new Error(
            "You must load either JSAN or Test.More "
            + "before loading Test.InnerHTML"
        );
}

Test.InnerHTML = {};
Test.InnerHTML.EXPORT      = [
		'inner_html_is', 
		'inner_html_contains', 
		'inner_html_like',
		'inner_html_isnt',
		'inner_html_excludes',
		'inner_html_unlike'
		];
Test.InnerHTML.EXPORT_TAGS = { ':all': Test.InnerHTML.EXPORT };
Test.InnerHTML.VERSION     = '0.01';



Test.InnerHTML.inner_html_is = function (elem, html, desc){
	if (typeof(elem) != 'object') elem = document.getElementById(elem);
	Test.More.is(elem.innerHTML, html, desc);
}

Test.InnerHTML.inner_html_contains = function (elem, html, desc){
	if (typeof(elem) != 'object') elem = document.getElementById(elem);
	Test.More.cmpOK(elem.innerHTML.indexOf(html), '>' , -1,  desc);
}

Test.InnerHTML.inner_html_like = function (elem, html, desc){
	if (typeof(elem) != 'object') elem = document.getElementById(elem);
	Test.More.like(elem.innerHTML, html,  desc);
}

Test.InnerHTML.inner_html_isnt = function (elem, html, desc){
	if (typeof(elem) != 'object') elem = document.getElementById(elem);
	Test.More.isnt(elem.innerHTML, html, desc);
}

Test.InnerHTML.inner_html_excludes = function (elem, html, desc){
	if (typeof(elem) != 'object') elem = document.getElementById(elem);
	Test.More.is(elem.innerHTML.indexOf(html), -1,  desc);
}

Test.InnerHTML.inner_html_unlike = function (elem, html, desc){
	if (typeof(elem) != 'object') elem = document.getElementById(elem);
	Test.More.unlike(elem.innerHTML, html,  desc);
}

// Handle exporting.
if (typeof JSAN == 'undefined') Test.Builder.exporter(Test.InnerHTML);


/*
=head1 NAME

Test.InnerHTML - Helps checking innerHTML in unit tests

*/