blob: e40ffbaa6f45cf6dadc447c1bd0273cf55af12b2 [file] [log] [blame]
<script src="../resources/magnitude-perf.js"></script>
<script>
var element, className, classToRemove;
// Test 1 tests that remove is linear when there are N class names.
function setupFunction1(magnitude)
{
element = document.createElement('div');
classToRemove = 'b';
className = Array(magnitude).join('a ') + classToRemove;
}
// Test 2 tests that remove is linear when the length of the class name is N.
function setupFunction2(magnitude)
{
element = document.createElement('div');
classToRemove = Array(magnitude + 1).join('a');
className = classToRemove;
}
function test(magnitude)
{
element.className = className;
element.classList.remove(classToRemove);
}
Magnitude.description('Tests that classList remove is linear, ' +
'both in number of class names ' +
'and in length of class name.');
Magnitude.numTrials = 5;
Magnitude.successThreshold = 0.40; // 2 out of 5
Magnitude.tolerance = 0.35;
Magnitude.trim = 1;
Magnitude.initialExponent = 9;
Magnitude.numPoints = 5;
Magnitude.run(setupFunction1, test, Magnitude.LINEAR);
Magnitude.initialExponent = 12;
Magnitude.numPoints = 5;
Magnitude.run(setupFunction2, test, Magnitude.LINEAR);
</script>
</body>