| <!DOCTYPE html> |
| <html> |
| <head> |
| <script src="../../svg/dynamic-updates/resources/SVGTestCase.js"></script> |
| <script src="../../resources/js-test-pre.js"></script> |
| </head> |
| <body> |
| <p id="description"></p> |
| <div id="console"></div> |
| <script> |
| if (window.testRunner) |
| testRunner.dumpAsText(); |
| |
| description("Test strict color parsing on SVG presentation attributes.") |
| createSVGTestCase(); |
| |
| var rect = createSVGElement("rect"); |
| rect.setAttribute("id", "rect"); |
| rect.setAttribute("width", "100px"); |
| rect.setAttribute("height", "100px"); |
| rootSVGElement.appendChild(rect); |
| |
| |
| // Testing 'fill' |
| // The default for fill is black. |
| shouldBeEqualToString("document.defaultView.getComputedStyle(rect, null).fill", "rgb(0, 0, 0)"); |
| |
| // Set the fill color to green. |
| rect.setAttribute("fill", "green"); |
| shouldBeEqualToString("document.defaultView.getComputedStyle(rect, null).fill", "rgb(0, 128, 0)"); |
| |
| // Set following colors should be invalid. |
| rect.setAttribute("fill", "f00"); |
| shouldBeEqualToString("document.defaultView.getComputedStyle(rect, null).fill", "rgb(0, 0, 0)"); |
| // Reset to green. |
| rect.setAttribute("fill", "green"); |
| shouldBeEqualToString("document.defaultView.getComputedStyle(rect, null).fill", "rgb(0, 128, 0)"); |
| |
| rect.setAttribute("fill", "ff00"); |
| shouldBeEqualToString("document.defaultView.getComputedStyle(rect, null).fill", "rgb(0, 0, 0)"); |
| // Reset to green. |
| rect.setAttribute("fill", "green"); |
| shouldBeEqualToString("document.defaultView.getComputedStyle(rect, null).fill", "rgb(0, 128, 0)"); |
| |
| rect.setAttribute("fill", "ff0000"); |
| shouldBeEqualToString("document.defaultView.getComputedStyle(rect, null).fill", "rgb(0, 0, 0)"); |
| // Reset to green. |
| rect.setAttribute("fill", "green"); |
| shouldBeEqualToString("document.defaultView.getComputedStyle(rect, null).fill", "rgb(0, 128, 0)"); |
| |
| rect.setAttribute("fill", "ff00"); |
| shouldBeEqualToString("document.defaultView.getComputedStyle(rect, null).fill", "rgb(0, 0, 0)"); |
| // Reset to green. |
| rect.setAttribute("fill", "green"); |
| shouldBeEqualToString("document.defaultView.getComputedStyle(rect, null).fill", "rgb(0, 128, 0)"); |
| |
| rect.setAttribute("fill", ""); |
| shouldBeEqualToString("document.defaultView.getComputedStyle(rect, null).fill", "rgb(0, 0, 0)"); |
| // Reset to green. |
| rect.setAttribute("fill", "green"); |
| shouldBeEqualToString("document.defaultView.getComputedStyle(rect, null).fill", "rgb(0, 128, 0)"); |
| |
| rect.setAttribute("fill", "url(#reference)"); |
| shouldBeEqualToString("document.defaultView.getComputedStyle(rect, null).fill", 'url("#reference")'); |
| // Reset to green. |
| rect.setAttribute("fill", "green"); |
| shouldBeEqualToString("document.defaultView.getComputedStyle(rect, null).fill", "rgb(0, 128, 0)"); |
| |
| rect.setAttribute("fill", "url(#reference) green"); |
| shouldBeEqualToString("document.defaultView.getComputedStyle(rect, null).fill", 'url("#reference") rgb(0, 128, 0)'); |
| // Reset to green. |
| rect.setAttribute("fill", "green"); |
| shouldBeEqualToString("document.defaultView.getComputedStyle(rect, null).fill", "rgb(0, 128, 0)"); |
| |
| |
| // Testing 'stroke' |
| // The default stroke value should be 'none'. |
| shouldBeEqualToString("document.defaultView.getComputedStyle(rect, null).stroke", "none"); |
| |
| // Set the stroke color to green. |
| rect.setAttribute("stroke", "green"); |
| shouldBeEqualToString("document.defaultView.getComputedStyle(rect, null).stroke", "rgb(0, 128, 0)"); |
| |
| // Set following colors should be invalid. |
| rect.setAttribute("stroke", "f00"); |
| shouldBeEqualToString("document.defaultView.getComputedStyle(rect, null).stroke", "none"); |
| // Reset to green. |
| rect.setAttribute("stroke", "green"); |
| shouldBeEqualToString("document.defaultView.getComputedStyle(rect, null).stroke", "rgb(0, 128, 0)"); |
| |
| rect.setAttribute("stroke", "ff00"); |
| shouldBeEqualToString("document.defaultView.getComputedStyle(rect, null).stroke", "none"); |
| // Reset to green. |
| rect.setAttribute("stroke", "green"); |
| shouldBeEqualToString("document.defaultView.getComputedStyle(rect, null).stroke", "rgb(0, 128, 0)"); |
| |
| rect.setAttribute("stroke", "ff0000"); |
| shouldBeEqualToString("document.defaultView.getComputedStyle(rect, null).stroke", "none"); |
| // Reset to green. |
| rect.setAttribute("stroke", "green"); |
| shouldBeEqualToString("document.defaultView.getComputedStyle(rect, null).stroke", "rgb(0, 128, 0)"); |
| |
| rect.setAttribute("stroke", "ff00"); |
| shouldBeEqualToString("document.defaultView.getComputedStyle(rect, null).stroke", "none"); |
| // Reset to green. |
| rect.setAttribute("stroke", "green"); |
| shouldBeEqualToString("document.defaultView.getComputedStyle(rect, null).stroke", "rgb(0, 128, 0)"); |
| |
| rect.setAttribute("stroke", ""); |
| shouldBeEqualToString("document.defaultView.getComputedStyle(rect, null).stroke", "none"); |
| // Reset to green. |
| rect.setAttribute("stroke", "green"); |
| shouldBeEqualToString("document.defaultView.getComputedStyle(rect, null).stroke", "rgb(0, 128, 0)"); |
| |
| rect.setAttribute("stroke", "url(#reference)"); |
| shouldBeEqualToString("document.defaultView.getComputedStyle(rect, null).stroke", 'url("#reference")'); |
| // Reset to green. |
| rect.setAttribute("stroke", "green"); |
| shouldBeEqualToString("document.defaultView.getComputedStyle(rect, null).stroke", "rgb(0, 128, 0)"); |
| |
| rect.setAttribute("stroke", "url(#reference) green"); |
| shouldBeEqualToString("document.defaultView.getComputedStyle(rect, null).stroke", 'url("#reference") rgb(0, 128, 0)'); |
| // Reset to green. |
| rect.setAttribute("stroke", "green"); |
| shouldBeEqualToString("document.defaultView.getComputedStyle(rect, null).stroke", "rgb(0, 128, 0)"); |
| |
| |
| // Testing 'color' |
| // The default for color is rgb(0, 0, 0). |
| shouldBeEqualToString("document.defaultView.getComputedStyle(rect, null).color", "rgb(0, 0, 0)"); |
| |
| // Set color to green. |
| rect.setAttribute("color", "green"); |
| shouldBeEqualToString("document.defaultView.getComputedStyle(rect, null).color", "rgb(0, 128, 0)"); |
| |
| // Set following colors should be invalid. |
| rect.setAttribute("color", "f00"); |
| shouldBeEqualToString("document.defaultView.getComputedStyle(rect, null).color", "rgb(0, 0, 0)"); |
| // Reset to green. |
| rect.setAttribute("color", "green"); |
| shouldBeEqualToString("document.defaultView.getComputedStyle(rect, null).color", "rgb(0, 128, 0)"); |
| |
| rect.setAttribute("color", "ff00"); |
| shouldBeEqualToString("document.defaultView.getComputedStyle(rect, null).color", "rgb(0, 0, 0)"); |
| // Reset to green. |
| rect.setAttribute("color", "green"); |
| shouldBeEqualToString("document.defaultView.getComputedStyle(rect, null).color", "rgb(0, 128, 0)"); |
| |
| rect.setAttribute("color", "ff0000"); |
| shouldBeEqualToString("document.defaultView.getComputedStyle(rect, null).color", "rgb(0, 0, 0)"); |
| // Reset to green. |
| rect.setAttribute("color", "green"); |
| shouldBeEqualToString("document.defaultView.getComputedStyle(rect, null).color", "rgb(0, 128, 0)"); |
| |
| rect.setAttribute("color", "ff00"); |
| shouldBeEqualToString("document.defaultView.getComputedStyle(rect, null).color", "rgb(0, 0, 0)"); |
| // Reset to green. |
| rect.setAttribute("color", "green"); |
| shouldBeEqualToString("document.defaultView.getComputedStyle(rect, null).color", "rgb(0, 128, 0)"); |
| |
| rect.setAttribute("color", ""); |
| shouldBeEqualToString("document.defaultView.getComputedStyle(rect, null).color", "rgb(0, 0, 0)"); |
| // Reset to green. |
| rect.setAttribute("color", "green"); |
| shouldBeEqualToString("document.defaultView.getComputedStyle(rect, null).color", "rgb(0, 128, 0)"); |
| |
| |
| // Testing 'stop-color' |
| // The default for stop-color is rgb(0, 0, 0). |
| shouldBeEqualToString("document.defaultView.getComputedStyle(rect, null).stopColor", "rgb(0, 0, 0)"); |
| |
| // Set color to green. |
| rect.setAttribute("stop-color", "green"); |
| shouldBeEqualToString("document.defaultView.getComputedStyle(rect, null).stopColor", "rgb(0, 128, 0)"); |
| |
| // Set following colors should be invalid. |
| rect.setAttribute("stop-color", "f00"); |
| shouldBeEqualToString("document.defaultView.getComputedStyle(rect, null).stopColor", "rgb(0, 0, 0)"); |
| // Reset to green. |
| rect.setAttribute("stop-color", "green"); |
| shouldBeEqualToString("document.defaultView.getComputedStyle(rect, null).stopColor", "rgb(0, 128, 0)"); |
| |
| rect.setAttribute("stop-color", "ff00"); |
| shouldBeEqualToString("document.defaultView.getComputedStyle(rect, null).stopColor", "rgb(0, 0, 0)"); |
| // Reset to green. |
| rect.setAttribute("stop-color", "green"); |
| shouldBeEqualToString("document.defaultView.getComputedStyle(rect, null).stopColor", "rgb(0, 128, 0)"); |
| |
| rect.setAttribute("stop-color", "ff0000"); |
| shouldBeEqualToString("document.defaultView.getComputedStyle(rect, null).stopColor", "rgb(0, 0, 0)"); |
| // Reset to green. |
| rect.setAttribute("stop-color", "green"); |
| shouldBeEqualToString("document.defaultView.getComputedStyle(rect, null).stopColor", "rgb(0, 128, 0)"); |
| |
| rect.setAttribute("stop-color", "ff00"); |
| shouldBeEqualToString("document.defaultView.getComputedStyle(rect, null).stopColor", "rgb(0, 0, 0)"); |
| // Reset to green. |
| rect.setAttribute("stop-color", "green"); |
| shouldBeEqualToString("document.defaultView.getComputedStyle(rect, null).stopColor", "rgb(0, 128, 0)"); |
| |
| rect.setAttribute("stop-color", ""); |
| shouldBeEqualToString("document.defaultView.getComputedStyle(rect, null).stopColor", "rgb(0, 0, 0)"); |
| // Reset to green. |
| rect.setAttribute("stop-color", "green"); |
| shouldBeEqualToString("document.defaultView.getComputedStyle(rect, null).stopColor", "rgb(0, 128, 0)"); |
| |
| |
| // Testing 'flood-color' |
| // The default for flood-color is rgb(0, 0, 0). |
| shouldBeEqualToString("document.defaultView.getComputedStyle(rect, null).floodColor", "rgb(0, 0, 0)"); |
| |
| // Set color to green. |
| rect.setAttribute("flood-color", "green"); |
| shouldBeEqualToString("document.defaultView.getComputedStyle(rect, null).floodColor", "rgb(0, 128, 0)"); |
| |
| // Set following colors should be invalid. |
| rect.setAttribute("flood-color", "f00"); |
| shouldBeEqualToString("document.defaultView.getComputedStyle(rect, null).floodColor", "rgb(0, 0, 0)"); |
| // Reset to green. |
| rect.setAttribute("flood-color", "green"); |
| shouldBeEqualToString("document.defaultView.getComputedStyle(rect, null).floodColor", "rgb(0, 128, 0)"); |
| |
| rect.setAttribute("flood-color", "ff00"); |
| shouldBeEqualToString("document.defaultView.getComputedStyle(rect, null).floodColor", "rgb(0, 0, 0)"); |
| // Reset to green. |
| rect.setAttribute("flood-color", "green"); |
| shouldBeEqualToString("document.defaultView.getComputedStyle(rect, null).floodColor", "rgb(0, 128, 0)"); |
| |
| rect.setAttribute("flood-color", "ff0000"); |
| shouldBeEqualToString("document.defaultView.getComputedStyle(rect, null).floodColor", "rgb(0, 0, 0)"); |
| // Reset to green. |
| rect.setAttribute("flood-color", "green"); |
| shouldBeEqualToString("document.defaultView.getComputedStyle(rect, null).floodColor", "rgb(0, 128, 0)"); |
| |
| rect.setAttribute("flood-color", "ff00"); |
| shouldBeEqualToString("document.defaultView.getComputedStyle(rect, null).floodColor", "rgb(0, 0, 0)"); |
| // Reset to green. |
| rect.setAttribute("flood-color", "green"); |
| shouldBeEqualToString("document.defaultView.getComputedStyle(rect, null).floodColor", "rgb(0, 128, 0)"); |
| |
| rect.setAttribute("flood-color", ""); |
| shouldBeEqualToString("document.defaultView.getComputedStyle(rect, null).floodColor", "rgb(0, 0, 0)"); |
| // Reset to green. |
| rect.setAttribute("flood-color", "green"); |
| shouldBeEqualToString("document.defaultView.getComputedStyle(rect, null).floodColor", "rgb(0, 128, 0)"); |
| |
| var successfullyParsed = true; |
| |
| completeTest(); |
| </script> |
| </body> |
| </html> |