~ubuntu-branches/ubuntu/utopic/anjuta/utopic-proposed

« back to all changes in this revision

Viewing changes to libanjuta/tests/anjuta-diff-renderer-test.c

  • Committer: Package Import Robot
  • Author(s): Andreas Henriksson, Jackson Doak
  • Date: 2014-07-12 15:17:39 UTC
  • mfrom: (1.4.14)
  • Revision ID: package-import@ubuntu.com-20140712151739-p9xy0ntlgbpm2nxq
Tags: 2:3.12.0-1
* Team upload.

[ Jackson Doak ]
* New upstream release
* Drop 03_valac_0.22.patch, fixed upstream\
* debian/control:
  - Bump b-dep version on libgtk-3-dev (>= 3.6.0), libglib2.0-dev (>= 2.34.0)
  - Bump stardards-version to 3.9.5. No changes.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*
 
2
 * anjuta-diff-renderer-test.c
 
3
 *
 
4
 * Copyright (C) 2013 - James Liggett
 
5
 *
 
6
 * This program is free software; you can redistribute it and/or modify
 
7
 * it under the terms of the GNU General Public License as published by
 
8
 * the Free Software Foundation; either version 2 of the License, or
 
9
 * (at your option) any later version.
 
10
 *
 
11
 * This program is distributed in the hope that it will be useful,
 
12
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 
13
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 
14
 * GNU General Public License for more details.
 
15
 *
 
16
 * You should have received a copy of the GNU General Public License
 
17
 * along with this program. If not, see <http://www.gnu.org/licenses/>.
 
18
 */
 
19
 
 
20
#include <libanjuta/anjuta-cell-renderer-diff.h>
 
21
 
 
22
enum
 
23
{
 
24
        COL_DIFF,
 
25
 
 
26
        NUM_COLS
 
27
};
 
28
 
 
29
static void
 
30
on_window_destroy (GtkWidget *window, gpointer user_data)
 
31
{
 
32
        gtk_main_quit ();
 
33
}
 
34
 
 
35
int
 
36
main (int argc, char **argv)
 
37
{
 
38
        GtkWidget *window;
 
39
        GtkWidget *scrolled_window;
 
40
        GtkWidget *tree_view;
 
41
        GtkTreeViewColumn *column;
 
42
        GtkCellRenderer *renderer;
 
43
        GtkListStore *list_store;
 
44
        GtkTreeIter iter;
 
45
        const gchar header1[] =
 
46
                "diff --git a/libanjuta/Makefile.am b/libanjuta/Makefile.am\n";
 
47
 
 
48
        const gchar header2[] =
 
49
                "index 4ac227e..d47c978 100644\n";
 
50
 
 
51
        const gchar header3[] =
 
52
                "--- a/libanjuta/Makefile.am\n";
 
53
 
 
54
        const gchar header4[] = 
 
55
                "+++ b/libanjuta/Makefile.am\n";
 
56
 
 
57
        const gchar hunk_header[] =
 
58
                "@@ -138,7 +138,9 @@ libanjuta_3_la_SOURCES= \\\n";
 
59
 
 
60
        const gchar context[] =
 
61
                "        anjuta-close-button.c \\\n";
 
62
 
 
63
        const gchar add[] =
 
64
                "+       anjuta-modeline.h \\\n";
 
65
 
 
66
        const gchar delete[] =
 
67
                "-       anjuta-modeline.h\n";
 
68
 
 
69
        const gchar non_diff[] = "non-diff text";
 
70
        const gchar broken_hunk[] = "@";
 
71
 
 
72
        gtk_init (&argc, &argv);
 
73
                
 
74
 
 
75
        window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
 
76
        gtk_window_set_title (GTK_WINDOW (window), "Diff renderer test");
 
77
 
 
78
        scrolled_window = gtk_scrolled_window_new (NULL, NULL);
 
79
        tree_view = gtk_tree_view_new ();
 
80
 
 
81
        gtk_tree_view_set_headers_visible (GTK_TREE_VIEW (tree_view), FALSE);
 
82
 
 
83
        renderer = anjuta_cell_renderer_diff_new ();
 
84
        column = gtk_tree_view_column_new ();
 
85
 
 
86
        gtk_tree_view_column_pack_start (column, renderer, TRUE);
 
87
        gtk_tree_view_column_add_attribute (column, renderer, "diff", COL_DIFF);
 
88
        gtk_tree_view_append_column (GTK_TREE_VIEW (tree_view), column);
 
89
 
 
90
        gtk_container_add (GTK_CONTAINER (scrolled_window), tree_view);
 
91
        gtk_container_add (GTK_CONTAINER (window), scrolled_window);
 
92
 
 
93
        list_store = gtk_list_store_new (NUM_COLS, G_TYPE_STRING);
 
94
 
 
95
        /* Test headers*/
 
96
        gtk_list_store_append (list_store, &iter);
 
97
        gtk_list_store_set (list_store, &iter, COL_DIFF, header1, -1);
 
98
 
 
99
        gtk_list_store_append (list_store, &iter);
 
100
        gtk_list_store_set (list_store, &iter, COL_DIFF, header2, -1);
 
101
 
 
102
        gtk_list_store_append (list_store, &iter);
 
103
        gtk_list_store_set (list_store, &iter, COL_DIFF, header3, -1);
 
104
 
 
105
        gtk_list_store_append (list_store, &iter);
 
106
        gtk_list_store_set (list_store, &iter, COL_DIFF, header4, -1);
 
107
 
 
108
        /* Test hunk headers */
 
109
        gtk_list_store_append (list_store, &iter);
 
110
        gtk_list_store_set (list_store, &iter, COL_DIFF, hunk_header, -1);
 
111
 
 
112
        /* Context lines */
 
113
        gtk_list_store_append (list_store, &iter);
 
114
        gtk_list_store_set (list_store, &iter, COL_DIFF, context, -1);
 
115
 
 
116
        /* Add */
 
117
        gtk_list_store_append (list_store, &iter);
 
118
        gtk_list_store_set (list_store, &iter, COL_DIFF, add, -1);
 
119
 
 
120
        /* Delete */
 
121
        gtk_list_store_append (list_store, &iter);
 
122
        gtk_list_store_set (list_store, &iter, COL_DIFF, delete, -1);
 
123
 
 
124
        /* Test non-diff text */
 
125
        gtk_list_store_append (list_store, &iter);
 
126
        gtk_list_store_set (list_store, &iter, COL_DIFF, non_diff, -1);
 
127
 
 
128
        /* Test broken hunks */
 
129
        gtk_list_store_append (list_store, &iter);
 
130
        gtk_list_store_set (list_store, &iter, COL_DIFF, broken_hunk, -1);
 
131
 
 
132
        /* Test empty and NULL strings */
 
133
        gtk_list_store_append (list_store, &iter);
 
134
        gtk_list_store_set (list_store, &iter, COL_DIFF, "", -1);
 
135
 
 
136
        gtk_list_store_append (list_store, &iter);
 
137
        gtk_list_store_set (list_store, &iter, COL_DIFF, NULL, -1);
 
138
 
 
139
        gtk_tree_view_set_model (GTK_TREE_VIEW (tree_view), 
 
140
                                 GTK_TREE_MODEL (list_store));
 
141
 
 
142
        g_signal_connect (G_OBJECT (window), "destroy",
 
143
                          G_CALLBACK (on_window_destroy),
 
144
                          NULL);
 
145
 
 
146
        gtk_widget_set_size_request (window, 650, 400);
 
147
 
 
148
        gtk_widget_show_all (window);
 
149
        gtk_main();
 
150
 
 
151
        return 0;
 
152
}
 
 
b'\\ No newline at end of file'