[gnome-builder] tests: port test-ide-buffer to IDE_APPLICATION_MODE_TESTS
- From: Christian Hergert <chergert src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-builder] tests: port test-ide-buffer to IDE_APPLICATION_MODE_TESTS
- Date: Wed, 13 Jan 2016 23:45:07 +0000 (UTC)
commit 9ecc51fe0536eb672ebc189bb7ec1d5bf97e1f51
Author: Christian Hergert <chergert redhat com>
Date: Wed Jan 13 15:44:09 2016 -0800
tests: port test-ide-buffer to IDE_APPLICATION_MODE_TESTS
tests/test-ide-buffer.c | 113 +++++++++++++++++++++++------------------------
1 files changed, 56 insertions(+), 57 deletions(-)
---
diff --git a/tests/test-ide-buffer.c b/tests/test-ide-buffer.c
index ce4e263..1c86246 100644
--- a/tests/test-ide-buffer.c
+++ b/tests/test-ide-buffer.c
@@ -16,39 +16,36 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
+#define G_LOG_DOMAIN "test-ide-buffer"
+
#include <glib.h>
#include <glib/gstdio.h>
#include <ide.h>
-#include "gb-plugins.h"
-#include "test-helper.h"
-
-typedef struct
-{
- GMainLoop *main_loop;
- IdeContext *context;
- GCancellable *cancellable;
- GError *error;
-} test_buffer_basic_state;
+#include "ide-application-tests.h"
static void
flags_changed_cb (IdeBuffer *buffer,
gpointer user_data)
{
- test_buffer_basic_state *state = user_data;
g_autofree gchar *str = NULL;
+ g_autoptr(GTask) task = user_data;
GtkTextIter begin;
GtkTextIter end;
+ IDE_ENTRY;
+
ide_buffer_trim_trailing_whitespace (buffer);
gtk_text_buffer_get_bounds (GTK_TEXT_BUFFER (buffer), &begin, &end);
str = gtk_text_buffer_get_text (GTK_TEXT_BUFFER (buffer), &begin, &end, TRUE);
g_assert_cmpstr (str, ==, "abcd\n\n\n");
+ g_task_return_boolean (task, TRUE);
+
g_object_unref (buffer);
- g_main_loop_quit (state->main_loop);
+ IDE_EXIT;
}
static void
@@ -57,19 +54,25 @@ test_buffer_basic_cb2 (GObject *object,
gpointer user_data)
{
IdeBufferManager *manager = (IdeBufferManager *)object;
- test_buffer_basic_state *state = user_data;
- GError *error = NULL;
g_autoptr(IdeBuffer) ret = NULL;
+ g_autoptr(GTask) task = user_data;
+ GError *error = NULL;
+
+ IDE_ENTRY;
ret = ide_buffer_manager_load_file_finish (manager, result, &error);
g_assert_no_error (error);
g_assert (ret);
g_assert (IDE_IS_BUFFER (ret));
- g_signal_connect (ret, "line-flags-changed", G_CALLBACK (flags_changed_cb), state);
- g_object_ref (ret);
-
+ g_signal_connect_object (ret,
+ "line-flags-changed",
+ G_CALLBACK (flags_changed_cb),
+ g_object_ref (task),
+ 0);
gtk_text_buffer_set_text (GTK_TEXT_BUFFER (ret), "abcd \n\n \n", -1);
+
+ IDE_EXIT;
}
static void
@@ -77,74 +80,70 @@ test_buffer_basic_cb1 (GObject *object,
GAsyncResult *result,
gpointer user_data)
{
- test_buffer_basic_state *state = user_data;
+ g_autoptr(GTask) task = user_data;
g_autoptr(IdeFile) file = NULL;
+ g_autoptr(IdeContext) context = NULL;
IdeBufferManager *manager;
IdeProject *project;
+ GError *error = NULL;
- state->context = ide_context_new_finish (result, &state->error);
-
- if (!state->context)
- goto failure;
+ IDE_ENTRY;
- manager = ide_context_get_buffer_manager (state->context);
+ context = ide_context_new_finish (result, &error);
+ g_assert_no_error (error);
+ g_assert (context != NULL);
+ g_assert (IDE_IS_CONTEXT (context));
- project = ide_context_get_project (state->context);
+ manager = ide_context_get_buffer_manager (context);
+ project = ide_context_get_project (context);
file = ide_project_get_file_for_path (project, "test-ide-buffer.tmp");
ide_buffer_manager_load_file_async (manager,
file,
FALSE,
NULL,
- state->cancellable,
+ g_task_get_cancellable (task),
test_buffer_basic_cb2,
- state);
-
- return;
+ g_object_ref (task));
-failure:
- g_main_loop_quit (state->main_loop);
+ IDE_EXIT;
}
static void
-test_buffer_basic (void)
+test_buffer_basic (GCancellable *cancellable,
+ GAsyncReadyCallback callback,
+ gpointer user_data)
{
- test_buffer_basic_state state = { 0 };
- IdeBufferManager *manager;
- GFile *project_file;
+ g_autoptr(GFile) project_file = NULL;
g_autofree gchar *path = NULL;
+ GTask *task;
- test_helper_begin_test ();
+ IDE_ENTRY;
+ task = g_task_new (NULL, cancellable, callback, user_data);
path = g_build_filename (g_get_current_dir (), TEST_DATA_DIR, "project1", "configure.ac", NULL);
project_file = g_file_new_for_path (path);
+ ide_context_new_async (project_file, cancellable, test_buffer_basic_cb1, task);
- state.main_loop = g_main_loop_new (NULL, FALSE);
- state.cancellable = g_cancellable_new ();
-
- ide_context_new_async (project_file, state.cancellable,
- test_buffer_basic_cb1, &state);
-
- g_main_loop_run (state.main_loop);
-
- g_assert_no_error (state.error);
- g_assert (state.context);
-
- manager = ide_context_get_buffer_manager (state.context);
- g_assert (IDE_IS_BUFFER_MANAGER (manager));
-
- g_clear_object (&state.cancellable);
- g_clear_object (&state.context);
- g_clear_error (&state.error);
- g_main_loop_unref (state.main_loop);
- g_clear_object (&project_file);
+ IDE_EXIT;
}
gint
main (gint argc,
gchar *argv[])
{
- test_helper_init (&argc, &argv);
- g_test_add_func ("/Ide/Buffer/basic", test_buffer_basic);
- return g_test_run ();
+ IdeApplication *app;
+ gint ret;
+
+ g_test_init (&argc, &argv, NULL);
+
+ ide_log_init (TRUE, NULL);
+ ide_log_set_verbosity (4);
+
+ app = ide_application_new ();
+ ide_application_add_test (app, "/Ide/Buffer/basic", test_buffer_basic, NULL);
+ ret = g_application_run (G_APPLICATION (app), argc, argv);
+ g_object_unref (app);
+
+ return ret;
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]