[gtksourceview] CompletionWords: add unit tests for library_find_first()
- From: Sébastien Wilmet <swilmet src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtksourceview] CompletionWords: add unit tests for library_find_first()
- Date: Mon, 27 May 2013 11:14:55 +0000 (UTC)
commit d1d3c3f5642b80677e9811bcebc19863a6966ceb
Author: Sébastien Wilmet <swilmet gnome org>
Date: Mon May 20 15:33:58 2013 +0200
CompletionWords: add unit tests for library_find_first()
It is either broken, or I didn't understand what should return the
function.
tests/Makefile.am | 8 ++++
tests/test-completion-words.c | 79 +++++++++++++++++++++++++++++++++++++++++
2 files changed, 87 insertions(+), 0 deletions(-)
---
diff --git a/tests/Makefile.am b/tests/Makefile.am
index f005863..76cee34 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -89,6 +89,14 @@ test_completion_model_LDADD = \
$(DEP_LIBS) \
$(TESTS_LIBS)
+UNIT_TEST_PROGS += test-completion-words
+test_completion_words_SOURCES = test-completion-words.c
+test_completion_words_LDADD = \
+ $(DEP_LIBS) \
+ $(TESTS_LIBS) \
+ $(top_builddir)/gtksourceview/libgtksourceview-3.0.la \
+ $(top_builddir)/gtksourceview/completion-providers/words/libgtksourcecompletionwords.la
+
UNIT_TEST_PROGS += test-region
test_region_SOURCES = test-region.c
test_region_LDADD = \
diff --git a/tests/test-completion-words.c b/tests/test-completion-words.c
new file mode 100644
index 0000000..931628c
--- /dev/null
+++ b/tests/test-completion-words.c
@@ -0,0 +1,79 @@
+/*
+ * test-completion-words.c
+ * This file is part of GtkSourceView
+ *
+ * Copyright (C) 2013 - Sébastien Wilmet <swilmet gnome org>
+ *
+ * GtkSourceView is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * GtkSourceView is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+#include <gtk/gtk.h>
+#include <gtksourceview/gtksource.h>
+#include "gtksourceview/completion-providers/words/gtksourcecompletionwordslibrary.h"
+
+static void
+library_add_words (GtkSourceCompletionWordsLibrary *library)
+{
+ gtk_source_completion_words_library_add_word (library, "bb");
+ gtk_source_completion_words_library_add_word (library, "bbc");
+ gtk_source_completion_words_library_add_word (library, "bbd");
+ gtk_source_completion_words_library_add_word (library, "dd");
+ gtk_source_completion_words_library_add_word (library, "dde");
+ gtk_source_completion_words_library_add_word (library, "ddf");
+}
+
+static void
+test_library_find (void)
+{
+ GtkSourceCompletionWordsLibrary *library = gtk_source_completion_words_library_new ();
+ GtkSourceCompletionWordsProposal *proposal;
+ GSequenceIter *iter;
+ const gchar *word;
+
+ library_add_words (library);
+
+ iter = gtk_source_completion_words_library_find_first (library, "a", -1);
+ g_assert (iter == NULL);
+
+ iter = gtk_source_completion_words_library_find_first (library, "bba", -1);
+ g_assert (iter == NULL);
+
+ iter = gtk_source_completion_words_library_find_first (library, "b", -1);
+ g_assert (iter != NULL);
+
+ proposal = gtk_source_completion_words_library_get_proposal (iter);
+ word = gtk_source_completion_words_proposal_get_word (proposal);
+ g_assert_cmpstr (word, ==, "bb");
+
+ iter = gtk_source_completion_words_library_find_first (library, "dd", -1);
+ g_assert (iter != NULL);
+
+ proposal = gtk_source_completion_words_library_get_proposal (iter);
+ word = gtk_source_completion_words_proposal_get_word (proposal);
+ g_assert_cmpstr (word, ==, "dd");
+
+ g_object_unref (library);
+}
+
+int
+main (int argc, char **argv)
+{
+ gtk_test_init (&argc, &argv);
+
+ g_test_add_func ("/CompletionWords/library/find",
+ test_library_find);
+
+ return g_test_run ();
+}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]