<!DOCTYPE html>
<html>
<head>
<script src="../../../resources/js-test-pre.js"></script>
<style>
svg {
    width: 200px;
    height: 200px;
}
rect {
    fill: #ff0000;
}
</style>
</head>
<body>
<p id="description"></p>
<div id="console"></div>
<script>
description('Test the disabled property on an svg style element.');

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

// Setup
function createStyle(ns, type, ruletext) {
    var style = document.createElementNS(ns, "style");
    var rules = document.createTextNode(ruletext);
    style.appendChild(rules);
    style.type = type;
    return style;
}

var xmlns = "http://www.w3.org/2000/svg";
var svg = document.createElementNS(xmlns, "svg");
svg.style.display = "block";

var defs = document.createElementNS(xmlns, "defs");
var styleElement = createStyle(xmlns, "text/css", "rect { fill: #0000ff; }");
var otherStyleElement = createStyle(xmlns, "foo/bar", "");
defs.appendChild(styleElement);
defs.appendChild(otherStyleElement);
svg.appendChild(defs);

var rect = document.createElementNS(xmlns, "rect");
rect.setAttribute("width", 100);
rect.setAttribute("height", 100);
svg.appendChild(rect);

document.body.appendChild(svg);

// Simple case
shouldBeFalse('styleElement.disabled');
shouldBe('window.getComputedStyle(rect).fill', '"rgb(0, 0, 255)"');

styleElement.disabled = true
shouldBeTrue('styleElement.disabled');
shouldBe('window.getComputedStyle(rect).fill', '"rgb(255, 0, 0)"');

// Test disconnected element
var newStyleElement = document.createElementNS(xmlns, 'style');
shouldBeFalse('newStyleElement.disabled');
newStyleElement.disabled = true
shouldBeFalse('newStyleElement.disabled');

// Test non-CSS element
shouldBeFalse('otherStyleElement.disabled');
otherStyleElement.disabled = true
shouldBeFalse('otherStyleElement.disabled');

document.body.removeChild(svg);</script>
<script src="../../../resources/js-test-post.js"></script>
</body>
</html>
