Add reftests for bug 500141. a2.0=tests+blocking
authorL. David Baron <dbaron@dbaron.org>
Thu, 18 Nov 2010 11:06:14 -0800
changeset 57856 b80c7aadda8311e73658e0b8d2a500eef511634b
parent 57855 2aceaa1070b43970bb058cb589a6a37ae96e94ac
child 57857 035fcd2ac561262edabca127f061ebbafe1f6554
push id17044
push userdbaron@mozilla.com
push dateThu, 18 Nov 2010 19:07:25 +0000
treeherderautoland@b80c7aadda83 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
bugs500141
milestone2.0b8pre
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Add reftests for bug 500141. a2.0=tests+blocking
layout/reftests/border-radius/corner-joins-1-ref.xhtml
layout/reftests/border-radius/corner-joins-1.xhtml
layout/reftests/border-radius/corner-joins-2-ref.xhtml
layout/reftests/border-radius/corner-joins-2.xhtml
layout/reftests/border-radius/reftest.list
new file mode 100644
--- /dev/null
+++ b/layout/reftests/border-radius/corner-joins-1-ref.xhtml
@@ -0,0 +1,89 @@
+<?xml version="1.0"?>
+<html xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:svg="http://www.w3.org/2000/svg">
+<head>
+<title>border</title>
+<style type="text/css">
+@namespace url("http://www.w3.org/1999/xhtml");
+@namespace svg url("http://www.w3.org/2000/svg");
+
+div.wrapper {
+  float: left;
+  margin-left: 20px;
+  margin-top: 10px;
+}
+
+div.cover, div.cover2 {
+	position: absolute;
+	border: 4px solid white; /* cover areas that may differ */
+	width: 140px;
+	height: 118px;
+	border-radius: 63px;
+	margin-left: -2px;
+	margin-top: -2px;
+}
+div.cover2 {
+	height: 82px;
+	margin-top: 16px;
+	border-radius: 63px / 45px;
+}
+
+svg|svg {
+	display: block;
+	width: 146px;
+	height: 122px;
+	margin-right: -2px;
+	margin-bottom: 20px;
+}
+
+</style>
+</head>
+<body>
+<div class="wrapper">
+<div class="cover"></div>
+<div class="cover2"></div>
+<svg:svg>
+  <svg:rect x="0" y="0" width="144px" height="122px" rx="61px" ry="61px"
+            fill="blue"/>
+  <svg:rect x="0" y="18px" width="144px" height="86px" rx="61px" ry="43px"
+            fill="red"/>
+</svg:svg>
+<div class="cover"></div>
+<div class="cover2"></div>
+<svg:svg>
+  <svg:clipPath id="topclip">
+    <svg:rect x="0" y="0" width="144px" height="61px"/>
+  </svg:clipPath>
+  <svg:clipPath id="botclip">
+    <svg:rect x="0" y="61px" width="144px" height="61px"/>
+  </svg:clipPath>
+  <svg:rect x="0" y="0" width="144px" height="122px" rx="61px" ry="61px"
+            fill="black" clip-path="url(#topclip)"/>
+  <svg:rect x="0" y="0" width="144px" height="122px" rx="61px" ry="61px"
+            fill="blue" clip-path="url(#botclip)"/>
+  <svg:rect x="0" y="18px" width="144px" height="86px" rx="61px" ry="43px"
+            fill="red"/>
+</svg:svg>
+</div>
+<div class="wrapper">
+<div class="cover" style="width: 142px"></div>
+<div class="cover2" style="margin-left: -1px; border-radius: 61px / 45px"></div>
+<svg:svg>
+  <svg:rect x="0" y="0" width="146px" height="122px" rx="61px" ry="61px"
+            fill="blue"/>
+  <svg:rect x="0" y="18px" width="146px" height="86px" rx="61px" ry="43px"
+            fill="red"/>
+</svg:svg>
+<div class="cover"></div>
+<div class="cover2"></div>
+<svg:svg>
+  <svg:rect x="0" y="0" width="144px" height="122px" rx="61px" ry="61px"
+            fill="black" clip-path="url(#topclip)"/>
+  <svg:rect x="0" y="0" width="144px" height="122px" rx="61px" ry="61px"
+            fill="blue" clip-path="url(#botclip)"/>
+  <svg:rect x="0" y="18px" width="144px" height="86px" rx="61px" ry="43px"
+            fill="red"/>
+</svg:svg>
+</div>
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/border-radius/corner-joins-1.xhtml
@@ -0,0 +1,78 @@
+<?xml version="1.0"?>
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>border</title>
+<style type="text/css">
+
+div.wrapper {
+  float: left;
+  margin-left: 20px;
+  margin-top: 10px;
+}
+
+div.test {
+	width: 144px;
+	height: 86px;
+	border-radius: 72px;
+	border-top: 18px solid;
+	border-bottom: 18px solid;
+	background: red;
+	margin-bottom: 20px;
+}
+
+div.cover, div.cover2 {
+	position: absolute;
+	border: 4px solid white; /* cover areas that may differ */
+	width: 140px;
+	height: 118px;
+	border-radius: 63px;
+	margin-left: -2px;
+	margin-top: -2px;
+}
+div.cover2 {
+	height: 82px;
+	margin-top: 16px;
+	border-radius: 63px / 45px;
+}
+
+#one {
+	border-color: blue;
+}
+
+#two {
+	border-bottom-color: blue;
+}
+
+#three {
+	border-color: blue;
+	border-left: 0.01px solid red;
+	border-right: 0.01px solid red;
+}
+
+#four {
+	border-bottom-color: blue;
+	border-left: 0.001px solid red;
+	border-right: 0.001px solid red;
+}
+
+</style>
+</head>
+<body>
+<div class="wrapper">
+<div class="cover"></div>
+<div class="cover2"></div>
+<div class="test" id="one"></div>
+<div class="cover"></div>
+<div class="cover2"></div>
+<div class="test" id="two"></div>
+</div>
+<div class="wrapper">
+<div class="cover" style="width: 142px"></div>
+<div class="cover2" style="margin-left: -1px; border-radius: 61px / 45px"></div>
+<div class="test" id="three"></div>
+<div class="cover"></div>
+<div class="cover2"></div>
+<div class="test" id="four"></div>
+</div>
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/border-radius/corner-joins-2-ref.xhtml
@@ -0,0 +1,36 @@
+<?xml version="1.0"?>
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>border</title>
+<style type="text/css">
+
+body {
+	filter: url('../filters.svg#NonWhiteToBlack');
+}
+
+body > div {
+	/* filter doesn't change alpha */
+	background: white;
+}
+
+div.test {
+	width: 154px;
+	height: 142px;
+	border-radius: 72px;
+	background: black;
+}
+
+</style>
+</head>
+<body>
+<div>
+<div class="test"></div>
+</div>
+<svg xmlns="http://www.w3.org/2000/svg"
+     xmlns:xlink="http://www.w3.org/1999/xlink"
+     version="1.1">
+  <!-- use an empty g to force filters.svg to load before onload -->
+  <use xlink:href="../filters.svg#empty" />
+</svg>
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/border-radius/corner-joins-2.xhtml
@@ -0,0 +1,42 @@
+<?xml version="1.0"?>
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>border</title>
+<style type="text/css">
+
+body {
+	filter: url('../filters.svg#NonWhiteToBlack');
+}
+
+body > div {
+	/* filter doesn't change alpha */
+	background: white;
+}
+
+div.test {
+	width: 144px;
+	height: 86px;
+	border-radius: 72px;
+	border-top: 28px solid;
+	border-bottom: 28px solid;
+	background: cyan;
+	margin-bottom: 20px;
+	border-color: blue;
+	border-left: 5px solid red;
+	border-right: 5px solid red;
+}
+
+</style>
+</head>
+<body>
+<div>
+<div class="test"></div>
+</div>
+<svg xmlns="http://www.w3.org/2000/svg"
+     xmlns:xlink="http://www.w3.org/1999/xlink"
+     version="1.1">
+  <!-- use an empty g to force filters.svg to load before onload -->
+  <use xlink:href="../filters.svg#empty" />
+</svg>
+</body>
+</html>
--- a/layout/reftests/border-radius/reftest.list
+++ b/layout/reftests/border-radius/reftest.list
@@ -64,8 +64,12 @@ fails-if(cocoaWidget) == intersecting-cl
 # when border-collapse: collapse
 
 == invalidate-1a.html invalidate-1-ref.html
 == invalidate-1b.html invalidate-1-ref.html
 
 # test that border-radius is reduced for scrollbars
 == scrollbar-clamping-1.html scrollbar-clamping-1-ref.html
 == scrollbar-clamping-2.html scrollbar-clamping-2-ref.html
+
+# Test for bad corner joins.
+== corner-joins-1.xhtml corner-joins-1-ref.xhtml
+HTTP(..) == corner-joins-2.xhtml corner-joins-2-ref.xhtml