<!DOCTYPE html>
<style>
    .test { 
        -webkit-transition: width 30s; 
    }
    .test:nth-child(2n) { 
        width: calc(-8em + 59%);
    }
</style>

This tests transitioning of elements containing a calc expression. The test passes if it does not crash.

<script>
    if (window.testRunner) {
        testRunner.dumpAsText();        
        testRunner.waitUntilDone(); 
    }

    elementA = document.createElement('a');
    document.documentElement.appendChild(elementA);
    elementQ = document.createElement('q');
    document.documentElement.appendChild(elementQ);
    elementStrong = document.createElement('strong');
    document.documentElement.appendChild(elementStrong);
    elementFieldSet = document.createElement('fieldset');
    elementFieldSet.setAttribute('class', 'test');
    document.documentElement.appendChild(elementFieldSet);
    elementSection = document.createElement('section');
    
    function boom() {
        try {
            elementSection.appendChild(elementQ); 
        } catch (e) {            
        }
        if (window.testRunner) 
            testRunner.notifyDone(); 
    }
    
    setTimeout(boom, 1);
</script>
