Skip to content

Commit

Permalink
FBTest: automated tests for issue 4979
Browse files Browse the repository at this point in the history
  • Loading branch information
janodvarko committed May 16, 2013
1 parent 0e6bcd4 commit 95865d4
Show file tree
Hide file tree
Showing 12 changed files with 566 additions and 0 deletions.
40 changes: 40 additions & 0 deletions tests/content/console/grouping/cookies.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
function runTest()
{
FBTest.sysout("cookiesGrouping.START");
FBTest.setPref("cookies.logEvents", true);

FBTest.openNewTab(basePath + "console/grouping/cookies.php", function(win)
{
FBTest.openFirebug();
FBTestFireCookie.enableCookiePanel();

FBTest.selectPanel("console");
FBTest.enableConsolePanel(function(win)
{
FBTest.clearConsole();

var config = {
tagName: "div",
classes: "logRow-cookie",
counter: 3
};

FBTest.waitForDisplayedElement("console", config, function(row)
{
var panelNode = FBTest.getPanel("console").panelNode;

var rows = panelNode.querySelectorAll(".logRow-cookie .logCounterValue");
FBTest.compare(3, rows.length, "There must be three cookie entries");

FBTest.compare("", rows[0].textContent, "The log counter must be empty");
FBTest.compare("", rows[1].textContent, "The log counter must be empty");
FBTest.compare(2, rows[2].textContent, "The log counter must be 2");

FBTest.testDone("cookiesGrouping.DONE");
});

FBTest.click(win.document.getElementById("testButton"));
});
});
}

55 changes: 55 additions & 0 deletions tests/content/console/grouping/cookies.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
<?php
setcookie("issue4979", "test");
?>

<!DOCTYPE html>
<html>
<head>
<title>Group console messages: cookies</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<link href="../../_common/testcase.css" type="text/css" rel="stylesheet"/>
</head>
<body>
<header>
<h1><a href="http://code.google.com/p/fbug/issues/detail?id=4979">Group console messages</a>:
cookies</h1>
</header>
<div>
<section id="description">
<h3>Steps to reproduce</h3>
<ol>
<li>Open Firebug, enable the Cookies and Console panels</li>
<li>Select the Console panel</li>
<li>Make suer <i>Show Cookie Events</i> option is on.</li>
<li>Press the test button
<button id="testButton" onclick="onExecuteTest()">Cookie Events</button></li>
<li>There should be three entries in the Console. Only the last one has the
group counter set to <b>2</b></li>
</ol>
</section>
<footer>
Jan Odvarko &lt;odvarko@gmail.com&gt;
</footer>
</div>

<script>
function onExecuteTest()
{
// The two cookie changes must be grouped
// (keep the code at the one line)
deleteCookie("issue4979"); setCookie("issue4979", "value"); setCookie("issue4979", "value"); setCookie("issue4979", "value");
}

function deleteCookie(name)
{
document.cookie = name + '=; expires=Thu, 01 Jan 1970 00:00:01 GMT;';
}

function setCookie(name, value)
{
document.cookie = name + "=" + escape(value);
}
</script>

</body>
</html>
47 changes: 47 additions & 0 deletions tests/content/console/grouping/groups.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
<!DOCTYPE html>
<html>
<head>
<title>Group console messages: console.group()</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<link href="../../_common/testcase.css" type="text/css" rel="stylesheet"/>
</head>
<body>
<header>
<h1><a href="http://code.google.com/p/fbug/issues/detail?id=4979">Group console messages</a>:
console.group()</h1>
</header>
<div>
<section id="description">
<h3>Steps to reproduce</h3>
<ol>
<li>Open Firebug, select the Console panel and enable it</li>
<li>Press the test button
<button id="testButton" onclick="onExecuteTest()">Create console.group()s</button></li>
<li>There should be two console.group() entries in the Console.
They must not be grouped.</li>
</ol>

<br/><br/>

</section>
<footer>
Jan Odvarko &lt;odvarko@gmail.com&gt;
</footer>
</div>

<script>
function onExecuteTest()
{
logGroup(); logGroup();
}

function logGroup()
{
console.group("Group");
console.log("test");
console.groupEnd();
}
</script>

</body>
</html>
37 changes: 37 additions & 0 deletions tests/content/console/grouping/groups.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
function runTest()
{
FBTest.sysout("groupGrouping.START");

FBTest.openNewTab(basePath + "console/grouping/groups.html", function(win)
{
FBTest.openFirebug();

FBTest.selectPanel("console");
FBTest.enableConsolePanel(function(win)
{
FBTest.clearConsole();

var config = {
tagName: "div",
classes: "logRow-group",
counter: 2
};

FBTest.waitForDisplayedElement("console", config, function(row)
{
var panelNode = FBTest.getPanel("console").panelNode;
var rows = panelNode.querySelectorAll(
".panelNode > .logRow-group > DIV > .logCounter");

FBTest.compare(2, rows.length, "There must be two console.group() entries");
FBTest.compare("", rows[0].textContent, "The log counter must be empty");
FBTest.compare("", rows[1].textContent, "The log counter must be empty");

FBTest.testDone("groupGrouping.DONE");
});

FBTest.click(win.document.getElementById("testButton"));
});
});
}

51 changes: 51 additions & 0 deletions tests/content/console/grouping/profiler.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
<!DOCTYPE html>
<html>
<head>
<title>Group console messages: profiler</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<link href="../../_common/testcase.css" type="text/css" rel="stylesheet"/>
</head>
<body>
<header>
<h1><a href="http://code.google.com/p/fbug/issues/detail?id=4979">Group console messages</a>:
profiler</h1>
</header>
<div>
<section id="description">
<h3>Steps to reproduce</h3>
<ol>
<li>Open Firebug, select the Console panel and enable it</li>
<li>Press the test button
<button id="testButton" onclick="onExecuteTest()">Profiling</button></li>
<li>There should be two profiler logs (results) in the Console.
They must not be grouped. </li>
</ol>
</section>
<footer>
Jan Odvarko &lt;odvarko@gmail.com&gt;
</footer>
</div>

<script>
function onExecuteTest()
{
profile(); profile(); // Must not be grouped
}

function profiledFunction()
{
for (var i = 0; i < 1000; ++i)
var test = 1;
}

function profile()
{
console.profile("Profile");
for (var i = 0; i < 100; ++i)
profiledFunction();
console.profileEnd();
}
</script>

</body>
</html>
33 changes: 33 additions & 0 deletions tests/content/console/grouping/profiler.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
function runTest()
{
FBTest.sysout("profilerGrouping.START");
FBTest.openNewTab(basePath + "console/grouping/profiler.html", function(win)
{
FBTest.openFirebug();
FBTest.selectPanel("console");

FBTest.enableConsolePanel(function(win)
{
var config = {
tagName: "div",
classes: "logRow",
counter: 2
};

FBTest.waitForDisplayedElement("console", config, function(row)
{
var panelNode = FBTest.getPanel("console").panelNode;

var rows = panelNode.querySelectorAll(".logRow-profile .logCounterValue");
FBTest.compare(2, rows.length, "There must be two XHR entries");

FBTest.compare("", rows[0].textContent, "The log counter must be empty");
FBTest.compare("", rows[1].textContent, "The log counter must be empty");

FBTest.testDone("profilerGrouping.DONE");
});

FBTest.click(win.document.getElementById("testButton"));
});
});
}
Loading

0 comments on commit 95865d4

Please sign in to comment.