<style>
.hidden { display: none; }
</style>
<script src="../resources/magnitude-perf.js"></script>
<body>
<div></div>
<script>

function setupFunction(magnitude)
{
    var html = '<table>';
    for (var i = 0; i < magnitude; ++i)
        html += '<tr><td>A</td><td>B</td><td>C</td><td>D</td><td>E</td><td>F</td></tr>\n';
    html += '</table>';
    document.querySelector('div').innerHTML = html;
}

function forEachRow(what)
{
    Array.prototype.forEach.call(document.querySelectorAll("tr"), what);
}

function test(magnitude)
{
    forEachRow(function(tr) {
        tr.className = 'hidden';
    });
    document.body.offsetWidth;
    forEachRow(function(tr) {
        tr.className = '';
    });
    document.body.offsetWidth;
}

Magnitude.description("Tests that hiding/showing of table rows is linear.");
Magnitude.millisecondsPerIteration = 100;
Magnitude.run(setupFunction, test, Magnitude.LINEAR);
document.querySelector('div').textContent = '';
</script>
</body>
