testformat.html revision 359c147bb7d734b478b47d664e9f09e5f2f47cf1
<html>
<head>
<title>TestFormat tests</title>
<link type="text/css" rel="stylesheet" href="/build/logreader/assets/skins/sam/logreader.css" />
<script type="text/javascript" src="/build/yui/yui.js"></script>
</head>
<body class="yui-skin-sam">
<h1>TestFormat Tests</h1>
<div id="c"></div>
<script type="text/javascript">
YUI({
base: '/build/',
filter: "debug",
logInclude: { TestRunner: true }
}).use('test', 'console', function (Y) {
window.YTest = Y.Test;
Y.namespace("Tests");
Y.Tests.TestFormat = (function(){
var Assert = Y.Assert,
ObjectAssert = Y.ObjectAssert;
//-------------------------------------------------------------------------
// Base Test Suite
//-------------------------------------------------------------------------
var suite = new Y.Test.Suite("Formatting Tests");
//-------------------------------------------------------------------------
// Test Case
//-------------------------------------------------------------------------
suite.add(new Y.Test.Case({
name: "Test Results Formatting Tests",
setUp : function(){
this.simpleReport = {
passed: 2,
failed: 2,
ignored: 1,
total: 5,
type: "report",
name: "YUI Test Results",
"Some Suite":{
passed: 2,
failed: 2,
ignored: 1,
total: 5,
type: "testsuite",
name: "Some Suite",
"Some Tests": {
passed: 2,
failed: 2,
ignored: 1,
total: 5,
type: "testcase",
name: "Some Tests",
test1:{
result: "pass",
message: "Test passed.",
type: "test",
name: "test1"
},
test2:{
result: "pass",
message: "Test passed.",
type: "test",
name: "test2"
},
test3:{
result: "ignore",
message: "Test ignored.",
type: "test",
name: "test3"
},
test4:{
result: "fail",
message: "Test failed.",
type: "test",
name: "test4"
},
test5:{
result: "fail",
message: "Test failed.",
type: "test",
name: "test5"
}
}
}
}
},
tearDown : function(){
delete this.simpleReport;
},
/*testJsonFormat : function(){
var json = Y.Test.Format.JSON(this.report);
var expectedJson =
"{\"passed\":2,\"failed\":2,\"ignored\":1,\"total\":5,\"type\":\"report\",\"name\":\"YUI Test Results\"," +
"\"Some Suite\":{\"passed\":2,\"failed\":2,\"ignored\":1,\"total\":5,\"type\":\"testsuite\",\"name\":\"Some Suite\"," +
"\"Some Tests\":{\"passed\":2,\"failed\":2,\"ignored\":1,\"total\":5,\"type\":\"testcase\",\"name\":\"Some Tests\"," +
"\"test1\":{\"result\":\"pass\",\"message\":\"Test passed.\",\"type\":\"test\",\"name\":\"test1\"}," +
"\"test2\":{\"result\":\"pass\",\"message\":\"Test passed.\",\"type\":\"test\",\"name\":\"test2\"}," +
"\"test3\":{\"result\":\"ignore\",\"message\":\"Test ignored.\",\"type\":\"test\",\"name\":\"test3\"}," +
"\"test4\":{\"result\":\"fail\",\"message\":\"Test failed.\",\"type\":\"test\",\"name\":\"test4\"}," +
"\"test5\":{\"result\":\"fail\",\"message\":\"Test failed.\",\"type\":\"test\",\"name\":\"test5\"}" +
"}" +
"}" +
"}";
Assert.areEqual(expectedJson, json, "JSON formatting is incorrect.");
},*/
testXmlFormat : function(){
var xml = Y.Test.Format.XML(this.simpleReport);
var expectedXml =
"<?xml version=\"1.0\" encoding=\"UTF-8\"?>" +
"<report name=\"YUI Test Results\" passed=\"2\" failed=\"2\" ignored=\"1\" total=\"5\">" +
"<testsuite name=\"Some Suite\" passed=\"2\" failed=\"2\" ignored=\"1\" total=\"5\">" +
"<testcase name=\"Some Tests\" passed=\"2\" failed=\"2\" ignored=\"1\" total=\"5\">" +
"<test name=\"test1\" result=\"pass\" message=\"Test passed.\"></test>" +
"<test name=\"test2\" result=\"pass\" message=\"Test passed.\"></test>" +
"<test name=\"test3\" result=\"ignore\" message=\"Test ignored.\"></test>" +
"<test name=\"test4\" result=\"fail\" message=\"Test failed.\"></test>" +
"<test name=\"test5\" result=\"fail\" message=\"Test failed.\"></test>" +
"</testcase>" +
"</testsuite>" +
"</report>";
Assert.areEqual(expectedXml, xml, "XML formatting is incorrect.");
},
testJUnitXmlFormat : function(){
var xml = Y.Test.Format.JUnitXML(this.simpleReport);
var expectedXml =
"<?xml version=\"1.0\" encoding=\"UTF-8\"?>" +
"<testsuites>" +
"<testsuite name=\"Some Tests\" tests=\"5\" failures=\"2\">" +
"<testcase name=\"test1\"></testcase>" +
"<testcase name=\"test2\"></testcase>" +
"<testcase name=\"test4\">" +
"<failure message=\"Test failed.\"><![CDATA[Test failed.]]></failure>" +
"</testcase>" +
"<testcase name=\"test5\">" +
"<failure message=\"Test failed.\"><![CDATA[Test failed.]]></failure>" +
"</testcase>" +
"</testsuite>" +
"</testsuites>";
Assert.areEqual(expectedXml, xml, "JUnit XML formatting is incorrect.");
},
testTAPFormat : function(){
var text = Y.Test.Format.TAP(this.simpleReport);
var expectedText =
"1..5\n" +
"#Begin testsuite Some Suite(2 failed of 5)\n" +
"#Begin testcase Some Tests(2 failed of 5)\n" +
"ok 1 - test1\n" +
"ok 2 - test2\n" +
"#Ignored test test3\n" +
"not ok 3 - test4 - Test failed.\n" +
"not ok 4 - test5 - Test failed.\n" +
"#End testcase Some Tests\n" +
"#End testsuite Some Suite\n";
Assert.areEqual(expectedText, text, "TAP formatting is incorrect.");
}
}));
//return it
return suite;
})();
var r = new Y.Console({
verbose : true,
//consoleLimit : 10,
newestOnTop : false
});
r.render('#c');
//add to the testrunner and run
Y.Test.Runner.add(Y.Tests.TestFormat);
Y.Test.Runner.run();
/*if (parent && parent != window) {
YAHOO.tool.TestManager.load();
} else {
YAHOO.tool.TestRunner.run();
}*/
});
</script>
</body>
</html>