﻿<!DOCTYPE html>
<html>
<body>
<script src="../../resources/js-test.js"></script>
<p id="description">This tests the computed value of unicode-bidi property.</p>
<div id="container"></div>
<div id="console"></div>
<script>

var container = document.getElementById('container');

function styleOf(name, attributes) {
    var element = document.createElement(name);
    for (var attr in attributes) {
        var value = attributes[attr];
        element.setAttribute(attr, value);
    }
    container.appendChild(element);
    return getComputedStyle(element);
}

var tests = [
    ['span', {}, 'normal'],
    ['span', {'style': 'unicode-bidi: embed;'}, 'embed'],
    ['span', {'style': 'unicode-bidi: isolate;'}, 'isolate'],
    ['span', {'style': 'unicode-bidi: bidi-override;'}, 'bidi-override'],
    ['span', {'style': 'unicode-bidi: plaintext;'}, 'plaintext'],
    ['span', {'style': 'unicode-bidi: bad-value;'}, 'normal'],
    ['span', {'style': 'unicode-bidi: embed embed;'}, 'normal'],
    ['span', {'style': 'unicode-bidi: embed plain-text;'}, 'normal'],
    ['span', {'style': 'unicode-bidi: bidi-override isolate;'}, 'normal'],
    ['span', {'style': 'unicode-bidi: isolate bidi-override;'}, 'normal'],
    ['span', {'style': 'unicode-bidi: isolate-override;'}, 'isolate-override'],
    ['span', {'style': 'unicode-bidi: bidi-override isolate bidi-override;'}, 'normal'],
    ['span', {'style': 'unicode-bidi: bidi-override isolate isolate;'}, 'normal'],
    ['span', {'style': 'unicode-bidi: bidi-override bad-value;'}, 'normal'],
    ['span', {'style': 'unicode-bidi: bidi-override embed;'}, 'normal'],
].forEach(function (test) {
    shouldBe('styleOf("' + test[0] + '", ' + JSON.stringify(test[1]) + ').unicodeBidi', '"' + test[2] + '"');
});

</script>
</body>
</html>
