[tepl] Dumb FileSaver unit tests: test backup
- From: Sébastien Wilmet <swilmet src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [tepl] Dumb FileSaver unit tests: test backup
- Date: Tue, 12 May 2020 18:35:44 +0000 (UTC)
commit 391459f9c8b0fde1ff5eb163b05d732828275cda
Author: Sébastien Wilmet <swilmet gnome org>
Date: Tue May 12 20:34:14 2020 +0200
Dumb FileSaver unit tests: test backup
testsuite/test-file-saver.c | 63 ++++++++++++++++++++++++++++++++++++++-------
1 file changed, 53 insertions(+), 10 deletions(-)
---
diff --git a/testsuite/test-file-saver.c b/testsuite/test-file-saver.c
index 153e685..a3eace8 100644
--- a/testsuite/test-file-saver.c
+++ b/testsuite/test-file-saver.c
@@ -29,9 +29,9 @@ check_equal_content (GFile *file,
}
static void
-check_save_content_cb (GObject *source_object,
- GAsyncResult *result,
- gpointer user_data)
+save_sync_cb (GObject *source_object,
+ GAsyncResult *result,
+ gpointer user_data)
{
TeplFileSaver *saver = TEPL_FILE_SAVER (source_object);
gboolean ok;
@@ -44,6 +44,17 @@ check_save_content_cb (GObject *source_object,
gtk_main_quit ();
}
+static void
+save_sync (TeplFileSaver *saver)
+{
+ tepl_file_saver_save_async (saver,
+ G_PRIORITY_DEFAULT,
+ NULL,
+ save_sync_cb,
+ NULL);
+ gtk_main ();
+}
+
static void
check_save_content (const gchar *content)
{
@@ -59,13 +70,7 @@ check_save_content (const gchar *content)
location = g_file_new_build_filename (g_get_tmp_dir (), "tepl-file-saver-test", NULL);
saver = tepl_file_saver_new_with_target (buffer, file, location);
- tepl_file_saver_save_async (saver,
- G_PRIORITY_DEFAULT,
- NULL,
- check_save_content_cb,
- NULL);
- gtk_main ();
-
+ save_sync (saver);
check_equal_content (location, content);
g_object_unref (buffer);
@@ -84,6 +89,43 @@ test_basic (void)
check_save_content ("UTF-8-Évo");
}
+static void
+test_backup (void)
+{
+ TeplBuffer *buffer;
+ TeplFile *file;
+ GFile *location;
+ GFile *backup_location;
+ TeplFileSaver *saver;
+
+ buffer = tepl_buffer_new ();
+ gtk_text_buffer_set_text (GTK_TEXT_BUFFER (buffer), "contentA", -1);
+
+ file = tepl_file_new ();
+ location = g_file_new_build_filename (g_get_tmp_dir (), "tepl-file-saver-test", NULL);
+
+ saver = tepl_file_saver_new_with_target (buffer, file, location);
+ save_sync (saver);
+ check_equal_content (location, "contentA");
+ g_object_unref (saver);
+
+ gtk_text_buffer_set_text (GTK_TEXT_BUFFER (buffer), "contentB", -1);
+
+ saver = tepl_file_saver_new_with_target (buffer, file, location);
+ tepl_file_saver_set_flags (saver, TEPL_FILE_SAVER_FLAGS_CREATE_BACKUP);
+ save_sync (saver);
+ check_equal_content (location, "contentB");
+ g_object_unref (saver);
+
+ backup_location = g_file_new_build_filename (g_get_tmp_dir (), "tepl-file-saver-test~", NULL);
+ check_equal_content (backup_location, "contentA");
+
+ g_object_unref (buffer);
+ g_object_unref (file);
+ g_object_unref (location);
+ g_object_unref (backup_location);
+}
+
int
main (int argc,
char **argv)
@@ -91,6 +133,7 @@ main (int argc,
gtk_test_init (&argc, &argv);
g_test_add_func ("/file_saver/basic", test_basic);
+ g_test_add_func ("/file_saver/backup", test_backup);
return g_test_run ();
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]