]> Pileus Git - ~andy/gtk/commitdiff
reftests: Add a bunch of linear gradient tests
authorBenjamin Otte <otte@redhat.com>
Tue, 17 Jan 2012 11:14:50 +0000 (12:14 +0100)
committerBenjamin Otte <otte@redhat.com>
Thu, 2 Feb 2012 02:14:01 +0000 (03:14 +0100)
tests/reftests/linear-gradient.css [new file with mode: 0644]
tests/reftests/linear-gradient.ref.ui [new file with mode: 0644]
tests/reftests/linear-gradient.ui [new file with mode: 0644]

diff --git a/tests/reftests/linear-gradient.css b/tests/reftests/linear-gradient.css
new file mode 100644 (file)
index 0000000..d6ed0d0
--- /dev/null
@@ -0,0 +1,35 @@
+@import url("reset-to-defaults.css");
+
+/* One caveat that apply to cairo gradients, and make things therefor
+ * untestable:
+ *   The start and end points must be identical when drawing
+ * This means that you cannot:
+ * ... add extra color stops, even if they'd be invisible
+ * ... mirror the gradient (ie 'to left, red, green' vs 'to right, green, red')
+ * and probably a bunch of other things.
+ * These things can cause off-by-one rounding errors in pixman (and probably
+ * your GPU, too) and that'd trigger test failures.
+ */
+#a {
+  background-image: linear-gradient(to bottom, blue 0%, green 15px, red 100%);
+}
+
+#reference #a {
+  background-image: linear-gradient(blue, green, red);
+}
+
+#b {
+  background-image: linear-gradient(to left, pink 0, cyan, red 0, green 50%, blue 40px, violet -10em);
+}
+
+#reference #b {
+  background-image: linear-gradient(270deg, red, green, blue);
+}
+
+#c {
+  background-image: repeating-linear-gradient(3.5turn, red, green 10px, red 20px);
+}
+
+#reference #c {
+  background-image: linear-gradient(to bottom, red, green 10px, red 20px, green 30px, red 40px);
+}
diff --git a/tests/reftests/linear-gradient.ref.ui b/tests/reftests/linear-gradient.ref.ui
new file mode 100644 (file)
index 0000000..e7f5a60
--- /dev/null
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<interface>
+  <!-- interface-requires gtk+ 3.0 -->
+  <object class="GtkWindow" id="window1">
+    <property name="can_focus">False</property>
+    <property name="type">popup</property>
+    <child>
+      <object class="GtkBox" id="box1">
+        <property name="visible">True</property>
+        <property name="can_focus">False</property>
+        <property name="orientation">vertical</property>
+        <property name="name">reference</property>
+        <child>
+          <object class="GtkButton" id="button1">
+            <property name="use_action_appearance">False</property>
+            <property name="width_request">40</property>
+            <property name="height_request">30</property>
+            <property name="visible">True</property>
+            <property name="can_focus">True</property>
+            <property name="receives_default">True</property>
+            <property name="use_action_appearance">False</property>
+            <property name="name">a</property>
+          </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">True</property>
+            <property name="position">0</property>
+          </packing>
+        </child>
+        <child>
+          <object class="GtkButton" id="button2">
+            <property name="use_action_appearance">False</property>
+            <property name="width_request">40</property>
+            <property name="height_request">30</property>
+            <property name="visible">True</property>
+            <property name="can_focus">True</property>
+            <property name="receives_default">True</property>
+            <property name="use_action_appearance">False</property>
+            <property name="name">b</property>
+          </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">True</property>
+            <property name="position">1</property>
+          </packing>
+        </child>
+        <child>
+          <object class="GtkButton" id="button3">
+            <property name="use_action_appearance">False</property>
+            <property name="width_request">40</property>
+            <property name="height_request">30</property>
+            <property name="visible">True</property>
+            <property name="can_focus">True</property>
+            <property name="receives_default">True</property>
+            <property name="use_action_appearance">False</property>
+            <property name="name">c</property>
+          </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">True</property>
+            <property name="position">2</property>
+          </packing>
+        </child>
+      </object>
+    </child>
+  </object>
+</interface>
diff --git a/tests/reftests/linear-gradient.ui b/tests/reftests/linear-gradient.ui
new file mode 100644 (file)
index 0000000..adbfbe2
--- /dev/null
@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<interface>
+  <!-- interface-requires gtk+ 3.0 -->
+  <object class="GtkWindow" id="window1">
+    <property name="can_focus">False</property>
+    <property name="type">popup</property>
+    <child>
+      <object class="GtkBox" id="box1">
+        <property name="visible">True</property>
+        <property name="can_focus">False</property>
+        <property name="orientation">vertical</property>
+        <child>
+          <object class="GtkButton" id="button1">
+            <property name="use_action_appearance">False</property>
+            <property name="width_request">40</property>
+            <property name="height_request">30</property>
+            <property name="visible">True</property>
+            <property name="can_focus">True</property>
+            <property name="receives_default">True</property>
+            <property name="use_action_appearance">False</property>
+            <property name="name">a</property>
+          </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">True</property>
+            <property name="position">0</property>
+          </packing>
+        </child>
+        <child>
+          <object class="GtkButton" id="button2">
+            <property name="use_action_appearance">False</property>
+            <property name="width_request">40</property>
+            <property name="height_request">30</property>
+            <property name="visible">True</property>
+            <property name="can_focus">True</property>
+            <property name="receives_default">True</property>
+            <property name="use_action_appearance">False</property>
+            <property name="name">b</property>
+          </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">True</property>
+            <property name="position">1</property>
+          </packing>
+        </child>
+        <child>
+          <object class="GtkButton" id="button3">
+            <property name="use_action_appearance">False</property>
+            <property name="width_request">40</property>
+            <property name="height_request">30</property>
+            <property name="visible">True</property>
+            <property name="can_focus">True</property>
+            <property name="receives_default">True</property>
+            <property name="use_action_appearance">False</property>
+            <property name="name">c</property>
+          </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">True</property>
+            <property name="position">2</property>
+          </packing>
+        </child>
+      </object>
+    </child>
+  </object>
+</interface>