<?xml version="1.0"?>
<!--
     Any copyright is dedicated to the Public Domain.
     http://creativecommons.org/publicdomain/zero/1.0/
-->
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" onload="m();">
	<title>Testcase for dynamic conditions</title>
	<!-- From https://bugzilla.mozilla.org/show_bug.cgi?id=409383 -->

	<script>
		function m() {
		var svgns = "http://www.w3.org/2000/svg";

		var rect1 = document.getElementById("rect1");
		rect1.setAttribute("systemLanguage", "foo");

		var rect2 = document.getElementById("rect2");
		rect2.setAttribute("requiredFeatures", "http://www.w3.org/TR/SVG11/feature#Gradient");

		var rect3 = document.getElementById("rect3");
		rect3.setAttribute("requiredFeatures", "foo");

		var rect4 = document.getElementById("rect4");
		rect4.setAttribute("requiredExtensions", "foo");
		}
	</script>

	<rect width="100%" height="100%" fill="lime"/>
	
	<rect id="rect1" x="50" y="100" width="50" height="50" fill="red"/>

	<rect x="200" y="100" width="50" height="50" fill="red"/>
	<rect id="rect2" x="200" y="100" width="50" height="50" fill="lime"/>

	<rect id="rect3" x="50" y="200" width="50" height="50" fill="red"/>

	<rect id="rect4" x="200" y="200" width="50" height="50" fill="red"/>
</svg>
