83 lines
2.3 KiB
HTML
83 lines
2.3 KiB
HTML
<!DOCTYPE html>
|
|
<style>
|
|
.transitionTest {
|
|
background-color: green;
|
|
height: 100px;
|
|
-webkit-transition: all 1s linear;
|
|
-moz-transition: all 1s linear;
|
|
}
|
|
|
|
#startCalcEndCalc, #startCalcEndPx, #startCalcEndPercent {
|
|
width: calc(10% + 50px);
|
|
width: -moz-calc(10% + 50px);
|
|
}
|
|
|
|
#startPxEndCalc {
|
|
width: 100px;
|
|
}
|
|
|
|
#startPercentEndCalc {
|
|
width: 20%;
|
|
}
|
|
|
|
#startCalcEndCalc.go, #startPxEndCalc.go, #startPercentEndCalc.go {
|
|
width: calc(100% - 100px);
|
|
width: -moz-calc(100% - 100px);
|
|
}
|
|
|
|
#startCalcEndPx.go {
|
|
width: 400px;
|
|
}
|
|
|
|
#startCalcEndPercent.go {
|
|
width: 80%;
|
|
}
|
|
</style>
|
|
|
|
This tests that transitions containing calc() expressions transition correctly.
|
|
<div style="width:500px; border: 1px solid black;">
|
|
<div class="transitionTest" id="startCalcEndCalc"></div>
|
|
<div class="transitionTest" id="startPxEndCalc"></div>
|
|
<div class="transitionTest" id="startPercentEndCalc"></div>
|
|
<div class="transitionTest" id="startCalcEndPx"></div>
|
|
<div class="transitionTest" id="startCalcEndPercent"></div>
|
|
</div>
|
|
<div id="result"></div>
|
|
|
|
<script src="../../transitions/resources/transition-test-helpers.js"></script>
|
|
<script>
|
|
|
|
const tests = ["startCalcEndCalc", "startPxEndCalc", "startPercentEndCalc", "startCalcEndPx", "startCalcEndPercent"];
|
|
|
|
expectedValues = [];
|
|
|
|
for (var i = 0; i < tests.length; i++) {
|
|
expectedValues = expectedValues.concat([[0.25, tests[i], 'width', 175, 2]]);
|
|
expectedValues = expectedValues.concat([[0.5, tests[i], 'width', 250, 2]]);
|
|
expectedValues = expectedValues.concat([[0.75, tests[i], 'width', 325, 2]]);
|
|
expectedValues = expectedValues.concat([[1.0, tests[i], 'width', 400, 2]]);
|
|
}
|
|
|
|
function initialize(id)
|
|
{
|
|
var expectedStartWidth = 100;
|
|
var element = document.getElementById(id);
|
|
var width = element.offsetWidth;
|
|
if (width == expectedStartWidth)
|
|
element.innerHTML += 'PASS - "width" property for "' + id +'" element at 0.0s was: ' + width;
|
|
else
|
|
element.innerHTML += 'FAIL - "width" property for "' + id +'" element at 0.0s expected: ' + expectedStartWidth + ' but saw: ' + width;
|
|
|
|
element.className += " go";
|
|
}
|
|
|
|
function setupTest()
|
|
{
|
|
for (var i = 0; i < tests.length; i++)
|
|
initialize(tests[i]);
|
|
}
|
|
|
|
runTransitionTest(expectedValues, setupTest, true, false /* pixel test */);
|
|
|
|
</script>
|