summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/css/css-shapes/spec-examples/support/spec-example-utils.js
blob: 6939b753aad8bc17aebe58673a6e2001f59c07a2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
function approxShapeTest(testId, linePrefix, epsilon, lineOffsets) {
    var isPositioned = { 'relative': true, 'fixed': true, 'absolute': true, 'sticky': true },
        testDiv = document.getElementById(testId),
        testOffset = isPositioned[getComputedStyle(testDiv).position] ? 0 : testDiv.offsetLeft,
        firstLine = document.getElementById(linePrefix + '0');

    function runTest() {
        assert_not_equals(firstLine.offsetLeft, testOffset, "Shape layout should have happened already.");

        for (var i = 0; i < lineOffsets.length; i++) {
            var line = document.getElementById(linePrefix + i);
            assert_approx_equals(line.offsetLeft, lineOffsets[i] + testOffset, epsilon, 'Line ' + i + ' is positioned properly');
        }
    }
    runTest();
}