1 /* GTK - The GIMP Toolkit
2 * Copyright (C) 2011 Red Hat, Inc.
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2 of the License, or (at your option) any later version.
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the
16 * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
17 * Boston, MA 02111-1307, USA.
27 p = gtk_paper_size_new (GTK_PAPER_NAME_A4);
29 g_assert_cmpint (gtk_paper_size_get_width (p, GTK_UNIT_MM), ==, 210);
30 g_assert_cmpint (gtk_paper_size_get_height (p, GTK_UNIT_MM), ==, 297);
31 g_assert_cmpstr (gtk_paper_size_get_name (p), ==, "iso_a4");
32 g_assert_cmpstr (gtk_paper_size_get_display_name (p), ==, "A4");
33 g_assert_cmpstr (gtk_paper_size_get_ppd_name (p), ==, "A4");
34 g_assert (!gtk_paper_size_is_custom (p));
35 gtk_paper_size_free (p);
37 p = gtk_paper_size_new (GTK_PAPER_NAME_B5);
39 g_assert_cmpint (gtk_paper_size_get_width (p, GTK_UNIT_MM), ==, 176);
40 g_assert_cmpint (gtk_paper_size_get_height (p, GTK_UNIT_MM), ==, 250);
41 g_assert_cmpstr (gtk_paper_size_get_name (p), ==, "iso_b5");
42 g_assert_cmpstr (gtk_paper_size_get_display_name (p), ==, "B5");
43 g_assert_cmpstr (gtk_paper_size_get_ppd_name (p), ==, "ISOB5");
44 g_assert (!gtk_paper_size_is_custom (p));
45 gtk_paper_size_free (p);
47 p = gtk_paper_size_new (GTK_PAPER_NAME_EXECUTIVE);
49 g_assert_cmpint (gtk_paper_size_get_width (p, GTK_UNIT_MM), ==, 184);
50 g_assert_cmpint (gtk_paper_size_get_height (p, GTK_UNIT_MM), ==, 266);
51 g_assert_cmpstr (gtk_paper_size_get_name (p), ==, "na_executive");
52 g_assert_cmpstr (gtk_paper_size_get_display_name (p), ==, "Executive");
53 g_assert_cmpstr (gtk_paper_size_get_ppd_name (p), ==, "Executive");
54 g_assert (!gtk_paper_size_is_custom (p));
55 gtk_paper_size_free (p);
57 p = gtk_paper_size_new ("iso_a4_210x297mm");
59 g_assert_cmpint (gtk_paper_size_get_width (p, GTK_UNIT_MM), ==, 210);
60 g_assert_cmpint (gtk_paper_size_get_height (p, GTK_UNIT_MM), ==, 297);
61 g_assert_cmpstr (gtk_paper_size_get_name (p), ==, "iso_a4");
62 g_assert_cmpstr (gtk_paper_size_get_display_name (p), ==, "A4");
63 g_assert_cmpstr (gtk_paper_size_get_ppd_name (p), ==, "A4");
64 g_assert (!gtk_paper_size_is_custom (p));
65 gtk_paper_size_free (p);
67 p = gtk_paper_size_new ("custom_w1_20x30in");
69 g_assert_cmpint (gtk_paper_size_get_width (p, GTK_UNIT_INCH), ==, 20);
70 g_assert_cmpint (gtk_paper_size_get_height (p, GTK_UNIT_INCH), ==, 30);
71 g_assert_cmpstr (gtk_paper_size_get_name (p), ==, "custom_w1");
72 g_assert_cmpstr (gtk_paper_size_get_display_name (p), ==, "custom_w1");
73 g_assert (gtk_paper_size_is_custom (p));
74 gtk_paper_size_free (p);
80 GtkPaperSize *a1, *a2, *b, *c;
82 a1 = gtk_paper_size_new (GTK_PAPER_NAME_A4);
83 a2 = gtk_paper_size_new ("iso_a4_210x297mm");
84 b = gtk_paper_size_new (GTK_PAPER_NAME_B5);
85 c = gtk_paper_size_new ("custom_w1_20x30in");
87 g_assert (gtk_paper_size_is_equal (a1, a2));
88 g_assert (!gtk_paper_size_is_equal (a1, b));
89 g_assert (!gtk_paper_size_is_equal (a1, c));
90 g_assert (!gtk_paper_size_is_equal (b, c));
92 gtk_paper_size_free (a1);
93 gtk_paper_size_free (a2);
94 gtk_paper_size_free (b);
95 gtk_paper_size_free (c);
103 p = gtk_paper_size_new (GTK_PAPER_NAME_A4);
105 g_assert_cmpint (gtk_paper_size_get_width (p, GTK_UNIT_MM), ==, 210);
106 g_assert_cmpint (gtk_paper_size_get_height (p, GTK_UNIT_MM), ==, 297);
108 /* compare up to 2 decimals */
109 g_assert_cmpint (100 * gtk_paper_size_get_width (p, GTK_UNIT_INCH), ==, 100 * 8.26);
110 g_assert_cmpint (100 * gtk_paper_size_get_height (p, GTK_UNIT_INCH), ==, 100 * 11.69);
112 g_assert_cmpint (gtk_paper_size_get_width (p, GTK_UNIT_POINTS), ==, 595);
113 g_assert_cmpint (gtk_paper_size_get_height (p, GTK_UNIT_POINTS), ==, 841);
115 gtk_paper_size_free (p);
119 main (int argc, char *argv[])
121 gtk_test_init (&argc, &argv);
123 g_test_add_func ("/paper-size/parse", test_parse);
124 g_test_add_func ("/paper-size/compare", test_compare);
125 g_test_add_func ("/paper-size/units", test_units);