mirror of https://github.com/GNOME/gimp.git
app: fix tests test-save-and-export and test-xcf
This commit is contained in:
parent
ba00571756
commit
b9e234f042
|
@ -75,48 +75,49 @@ typedef gboolean (*GimpUiTestFunc) (GObject *object);
|
|||
|
||||
|
||||
/**
|
||||
* new_file_has_no_uris:
|
||||
* new_file_has_no_files:
|
||||
* @data:
|
||||
*
|
||||
* Tests that the URIs are correct for a newly created image.
|
||||
**/
|
||||
static void
|
||||
new_file_has_no_uris (gconstpointer data)
|
||||
new_file_has_no_files (gconstpointer data)
|
||||
{
|
||||
Gimp *gimp = GIMP (data);
|
||||
GimpImage *image = gimp_test_utils_create_image_from_dialog (gimp);
|
||||
|
||||
g_assert (gimp_image_get_uri (image) == NULL);
|
||||
g_assert (gimp_image_get_imported_uri (image) == NULL);
|
||||
g_assert (gimp_image_get_exported_uri (image) == NULL);
|
||||
g_assert (gimp_image_get_file (image) == NULL);
|
||||
g_assert (gimp_image_get_imported_file (image) == NULL);
|
||||
g_assert (gimp_image_get_exported_file (image) == NULL);
|
||||
}
|
||||
|
||||
/**
|
||||
* opened_xcf_file_uris:
|
||||
* opened_xcf_file_files:
|
||||
* @data:
|
||||
*
|
||||
* Tests that GimpImage URIs are correct for an XCF file that has just
|
||||
* been opened.
|
||||
**/
|
||||
static void
|
||||
opened_xcf_file_uris (gconstpointer data)
|
||||
opened_xcf_file_files (gconstpointer data)
|
||||
{
|
||||
Gimp *gimp = GIMP (data);
|
||||
GimpImage *image;
|
||||
gchar *uri;
|
||||
GFile *file;
|
||||
gchar *filename;
|
||||
GimpPDBStatusType status;
|
||||
|
||||
filename = g_build_filename (g_getenv ("GIMP_TESTING_ABS_TOP_SRCDIR"),
|
||||
"app/tests/files/gimp-2-6-file.xcf",
|
||||
NULL);
|
||||
uri = g_filename_to_uri (filename, NULL, NULL);
|
||||
file = g_file_new_for_path (filename);
|
||||
g_free (filename);
|
||||
|
||||
image = file_open_image (gimp,
|
||||
gimp_get_user_context (gimp),
|
||||
NULL /*progress*/,
|
||||
uri,
|
||||
filename,
|
||||
file,
|
||||
file,
|
||||
FALSE /*as_new*/,
|
||||
NULL /*file_proc*/,
|
||||
GIMP_RUN_NONINTERACTIVE,
|
||||
|
@ -124,26 +125,25 @@ opened_xcf_file_uris (gconstpointer data)
|
|||
NULL /*mime_type*/,
|
||||
NULL /*error*/);
|
||||
|
||||
g_assert (g_file_equal (g_file_new_for_uri (gimp_image_get_uri (image)),
|
||||
g_file_new_for_uri (uri)));
|
||||
g_assert (gimp_image_get_imported_uri (image) == NULL);
|
||||
g_assert (gimp_image_get_exported_uri (image) == NULL);
|
||||
g_assert (g_file_equal (gimp_image_get_file (image), file));
|
||||
g_assert (gimp_image_get_imported_file (image) == NULL);
|
||||
g_assert (gimp_image_get_exported_file (image) == NULL);
|
||||
|
||||
/* Don't bother g_free()ing strings */
|
||||
g_object_unref (file);
|
||||
}
|
||||
|
||||
/**
|
||||
* imported_file_uris:
|
||||
* imported_file_files:
|
||||
* @data:
|
||||
*
|
||||
* Tests that URIs are correct for an imported image.
|
||||
**/
|
||||
static void
|
||||
imported_file_uris (gconstpointer data)
|
||||
imported_file_files (gconstpointer data)
|
||||
{
|
||||
Gimp *gimp = GIMP (data);
|
||||
GimpImage *image;
|
||||
gchar *uri;
|
||||
GFile *file;
|
||||
gchar *filename;
|
||||
GimpPDBStatusType status;
|
||||
|
||||
|
@ -151,13 +151,14 @@ imported_file_uris (gconstpointer data)
|
|||
"desktop/64x64/gimp.png",
|
||||
NULL);
|
||||
g_assert (g_file_test (filename, G_FILE_TEST_EXISTS));
|
||||
file = g_file_new_for_path (filename);
|
||||
g_free (filename);
|
||||
|
||||
uri = g_filename_to_uri (filename, NULL, NULL);
|
||||
image = file_open_image (gimp,
|
||||
gimp_get_user_context (gimp),
|
||||
NULL /*progress*/,
|
||||
uri,
|
||||
filename,
|
||||
file,
|
||||
file,
|
||||
FALSE /*as_new*/,
|
||||
NULL /*file_proc*/,
|
||||
GIMP_RUN_NONINTERACTIVE,
|
||||
|
@ -165,27 +166,28 @@ imported_file_uris (gconstpointer data)
|
|||
NULL /*mime_type*/,
|
||||
NULL /*error*/);
|
||||
|
||||
g_assert (gimp_image_get_uri (image) == NULL);
|
||||
g_assert (g_file_equal (g_file_new_for_uri (gimp_image_get_imported_uri (image)),
|
||||
g_file_new_for_uri (uri)));
|
||||
g_assert (gimp_image_get_exported_uri (image) == NULL);
|
||||
g_assert (gimp_image_get_file (image) == NULL);
|
||||
g_assert (g_file_equal (gimp_image_get_imported_file (image), file));
|
||||
g_assert (gimp_image_get_exported_file (image) == NULL);
|
||||
|
||||
g_object_unref (file);
|
||||
}
|
||||
|
||||
/**
|
||||
* saved_imported_file_uris:
|
||||
* saved_imported_file_files:
|
||||
* @data:
|
||||
*
|
||||
* Tests that the URIs are correct for an image that has been imported
|
||||
* and then saved.
|
||||
**/
|
||||
static void
|
||||
saved_imported_file_uris (gconstpointer data)
|
||||
saved_imported_file_files (gconstpointer data)
|
||||
{
|
||||
Gimp *gimp = GIMP (data);
|
||||
GimpImage *image;
|
||||
gchar *import_uri;
|
||||
GFile *import_file;
|
||||
gchar *import_filename;
|
||||
gchar *save_uri;
|
||||
GFile *save_file;
|
||||
gchar *save_filename;
|
||||
GimpPDBStatusType status;
|
||||
GimpPlugInProcedure *proc;
|
||||
|
@ -193,16 +195,19 @@ saved_imported_file_uris (gconstpointer data)
|
|||
import_filename = g_build_filename (g_getenv ("GIMP_TESTING_ABS_TOP_SRCDIR"),
|
||||
"desktop/64x64/gimp.png",
|
||||
NULL);
|
||||
import_uri = g_filename_to_uri (import_filename, NULL, NULL);
|
||||
import_file = g_file_new_for_path (import_filename);
|
||||
g_free (import_filename);
|
||||
|
||||
save_filename = g_build_filename (g_get_tmp_dir (), "gimp-test.xcf", NULL);
|
||||
save_uri = g_filename_to_uri (save_filename, NULL, NULL);
|
||||
save_file = g_file_new_for_path (save_filename);
|
||||
g_free (save_filename);
|
||||
|
||||
/* Import */
|
||||
image = file_open_image (gimp,
|
||||
gimp_get_user_context (gimp),
|
||||
NULL /*progress*/,
|
||||
import_uri,
|
||||
import_filename,
|
||||
import_file,
|
||||
import_file,
|
||||
FALSE /*as_new*/,
|
||||
NULL /*file_proc*/,
|
||||
GIMP_RUN_NONINTERACTIVE,
|
||||
|
@ -210,14 +215,16 @@ saved_imported_file_uris (gconstpointer data)
|
|||
NULL /*mime_type*/,
|
||||
NULL /*error*/);
|
||||
|
||||
g_object_unref (import_file);
|
||||
|
||||
/* Save */
|
||||
proc = file_procedure_find (image->gimp->plug_in_manager->save_procs,
|
||||
save_uri,
|
||||
save_file,
|
||||
NULL /*error*/);
|
||||
file_save (gimp,
|
||||
image,
|
||||
NULL /*progress*/,
|
||||
save_uri,
|
||||
save_file,
|
||||
proc,
|
||||
GIMP_RUN_NONINTERACTIVE,
|
||||
TRUE /*change_saved_state*/,
|
||||
|
@ -226,40 +233,41 @@ saved_imported_file_uris (gconstpointer data)
|
|||
NULL /*error*/);
|
||||
|
||||
/* Assert */
|
||||
g_assert (g_file_equal (g_file_new_for_uri (gimp_image_get_uri (image)),
|
||||
g_file_new_for_uri (save_uri)));
|
||||
g_assert (gimp_image_get_imported_uri (image) == NULL);
|
||||
g_assert (gimp_image_get_exported_uri (image) == NULL);
|
||||
g_assert (g_file_equal (gimp_image_get_file (image), save_file));
|
||||
g_assert (gimp_image_get_imported_file (image) == NULL);
|
||||
g_assert (gimp_image_get_exported_file (image) == NULL);
|
||||
|
||||
g_unlink (save_filename);
|
||||
g_file_delete (save_file, NULL, NULL);
|
||||
g_object_unref (save_file);
|
||||
}
|
||||
|
||||
/**
|
||||
* new_file_has_no_uris:
|
||||
* exported_file_files:
|
||||
* @data:
|
||||
*
|
||||
* Tests that the URIs for an exported, newly created file are
|
||||
* correct.
|
||||
**/
|
||||
static void
|
||||
exported_file_uris (gconstpointer data)
|
||||
exported_file_files (gconstpointer data)
|
||||
{
|
||||
gchar *save_uri;
|
||||
GFile *save_file;
|
||||
gchar *save_filename;
|
||||
GimpPlugInProcedure *proc;
|
||||
Gimp *gimp = GIMP (data);
|
||||
GimpImage *image = gimp_test_utils_create_image_from_dialog (gimp);
|
||||
|
||||
save_filename = g_build_filename (g_get_tmp_dir (), "gimp-test.png", NULL);
|
||||
save_uri = g_filename_to_uri (save_filename, NULL, NULL);
|
||||
save_file = g_file_new_for_path (save_filename);
|
||||
g_free (save_filename);
|
||||
|
||||
proc = file_procedure_find (image->gimp->plug_in_manager->export_procs,
|
||||
save_uri,
|
||||
save_file,
|
||||
NULL /*error*/);
|
||||
file_save (gimp,
|
||||
image,
|
||||
NULL /*progress*/,
|
||||
save_uri,
|
||||
save_file,
|
||||
proc,
|
||||
GIMP_RUN_NONINTERACTIVE,
|
||||
FALSE /*change_saved_state*/,
|
||||
|
@ -267,16 +275,16 @@ exported_file_uris (gconstpointer data)
|
|||
TRUE /*export_forward*/,
|
||||
NULL /*error*/);
|
||||
|
||||
g_assert (gimp_image_get_uri (image) == NULL);
|
||||
g_assert (gimp_image_get_imported_uri (image) == NULL);
|
||||
g_assert (g_file_equal (g_file_new_for_uri (gimp_image_get_exported_uri (image)),
|
||||
g_file_new_for_uri (save_uri)));
|
||||
g_assert (gimp_image_get_file (image) == NULL);
|
||||
g_assert (gimp_image_get_imported_file (image) == NULL);
|
||||
g_assert (g_file_equal (gimp_image_get_exported_file (image), save_file));
|
||||
|
||||
g_unlink (save_filename);
|
||||
g_file_delete (save_file, NULL, NULL);
|
||||
g_object_unref (save_file);
|
||||
}
|
||||
|
||||
/**
|
||||
* clear_import_uri_after_export:
|
||||
* clear_import_file_after_export:
|
||||
* @data:
|
||||
*
|
||||
* Tests that after a XCF file that was imported has been exported,
|
||||
|
@ -284,13 +292,13 @@ exported_file_uris (gconstpointer data)
|
|||
* imported and exported at the same time.
|
||||
**/
|
||||
static void
|
||||
clear_import_uri_after_export (gconstpointer data)
|
||||
clear_import_file_after_export (gconstpointer data)
|
||||
{
|
||||
Gimp *gimp = GIMP (data);
|
||||
GimpImage *image;
|
||||
gchar *uri;
|
||||
GFile *file;
|
||||
gchar *filename;
|
||||
gchar *save_uri;
|
||||
GFile *save_file;
|
||||
gchar *save_filename;
|
||||
GimpPlugInProcedure *proc;
|
||||
GimpPDBStatusType status;
|
||||
|
@ -298,13 +306,14 @@ clear_import_uri_after_export (gconstpointer data)
|
|||
filename = g_build_filename (g_getenv ("GIMP_TESTING_ABS_TOP_SRCDIR"),
|
||||
"desktop/64x64/gimp.png",
|
||||
NULL);
|
||||
uri = g_filename_to_uri (filename, NULL, NULL);
|
||||
file = g_file_new_for_path (filename);
|
||||
g_free (filename);
|
||||
|
||||
image = file_open_image (gimp,
|
||||
gimp_get_user_context (gimp),
|
||||
NULL /*progress*/,
|
||||
uri,
|
||||
filename,
|
||||
file,
|
||||
file,
|
||||
FALSE /*as_new*/,
|
||||
NULL /*file_proc*/,
|
||||
GIMP_RUN_NONINTERACTIVE,
|
||||
|
@ -312,21 +321,23 @@ clear_import_uri_after_export (gconstpointer data)
|
|||
NULL /*mime_type*/,
|
||||
NULL /*error*/);
|
||||
|
||||
g_assert (gimp_image_get_uri (image) == NULL);
|
||||
g_assert (g_file_equal (g_file_new_for_uri (gimp_image_get_imported_uri (image)),
|
||||
g_file_new_for_uri (uri)));
|
||||
g_assert (gimp_image_get_exported_uri (image) == NULL);
|
||||
g_assert (gimp_image_get_file (image) == NULL);
|
||||
g_assert (g_file_equal (gimp_image_get_imported_file (image), file));
|
||||
g_assert (gimp_image_get_exported_file (image) == NULL);
|
||||
|
||||
g_object_unref (file);
|
||||
|
||||
save_filename = g_build_filename (g_get_tmp_dir (), "gimp-test.png", NULL);
|
||||
save_uri = g_filename_to_uri (save_filename, NULL, NULL);
|
||||
save_file = g_file_new_for_path (save_filename);
|
||||
g_free (save_filename);
|
||||
|
||||
proc = file_procedure_find (image->gimp->plug_in_manager->export_procs,
|
||||
save_uri,
|
||||
save_file,
|
||||
NULL /*error*/);
|
||||
file_save (gimp,
|
||||
image,
|
||||
NULL /*progress*/,
|
||||
save_uri,
|
||||
save_file,
|
||||
proc,
|
||||
GIMP_RUN_NONINTERACTIVE,
|
||||
FALSE /*change_saved_state*/,
|
||||
|
@ -334,15 +345,17 @@ clear_import_uri_after_export (gconstpointer data)
|
|||
TRUE /*export_forward*/,
|
||||
NULL /*error*/);
|
||||
|
||||
g_assert (gimp_image_get_uri (image) == NULL);
|
||||
g_assert (gimp_image_get_imported_uri (image) == NULL);
|
||||
g_assert (g_file_equal (g_file_new_for_uri (gimp_image_get_exported_uri (image)),
|
||||
g_file_new_for_uri (save_uri)));
|
||||
g_assert (gimp_image_get_file (image) == NULL);
|
||||
g_assert (gimp_image_get_imported_file (image) == NULL);
|
||||
g_assert (g_file_equal (gimp_image_get_exported_file (image), save_file));
|
||||
|
||||
g_unlink (save_filename);
|
||||
g_file_delete (save_file, NULL, NULL);
|
||||
g_object_unref (save_file);
|
||||
}
|
||||
|
||||
int main(int argc, char **argv)
|
||||
int
|
||||
main(int argc,
|
||||
char **argv)
|
||||
{
|
||||
Gimp *gimp = NULL;
|
||||
gint result = -1;
|
||||
|
@ -358,12 +371,12 @@ int main(int argc, char **argv)
|
|||
gimp = gimp_init_for_gui_testing (TRUE /*show_gui*/);
|
||||
gimp_test_run_mainloop_until_idle ();
|
||||
|
||||
ADD_TEST (new_file_has_no_uris);
|
||||
ADD_TEST (opened_xcf_file_uris);
|
||||
ADD_TEST (imported_file_uris);
|
||||
ADD_TEST (saved_imported_file_uris);
|
||||
ADD_TEST (exported_file_uris);
|
||||
ADD_TEST (clear_import_uri_after_export);
|
||||
ADD_TEST (new_file_has_no_files);
|
||||
ADD_TEST (opened_xcf_file_files);
|
||||
ADD_TEST (imported_file_files);
|
||||
ADD_TEST (saved_imported_file_files);
|
||||
ADD_TEST (exported_file_files);
|
||||
ADD_TEST (clear_import_file_after_export);
|
||||
|
||||
/* Run the tests and return status */
|
||||
result = g_test_run ();
|
||||
|
|
|
@ -17,8 +17,6 @@
|
|||
|
||||
#include <string.h>
|
||||
|
||||
#include <glib/gstdio.h>
|
||||
|
||||
#include <gegl.h>
|
||||
|
||||
#include <gtk/gtk.h>
|
||||
|
@ -141,7 +139,7 @@
|
|||
|
||||
|
||||
GimpImage * gimp_test_load_image (Gimp *gimp,
|
||||
const gchar *uri);
|
||||
GFile *file);
|
||||
static void gimp_write_and_read_file (Gimp *gimp,
|
||||
gboolean with_unusual_stuff,
|
||||
gboolean compat_paths,
|
||||
|
@ -203,15 +201,18 @@ write_and_read_gimp_2_6_format_unusual (gconstpointer data)
|
|||
static void
|
||||
load_gimp_2_6_file (gconstpointer data)
|
||||
{
|
||||
Gimp *gimp = GIMP (data);
|
||||
GimpImage *image = NULL;
|
||||
gchar *uri = NULL;
|
||||
Gimp *gimp = GIMP (data);
|
||||
GimpImage *image;
|
||||
gchar *filename;
|
||||
GFile *file;
|
||||
|
||||
uri = g_build_filename (g_getenv ("GIMP_TESTING_ABS_TOP_SRCDIR"),
|
||||
"app/tests/files/gimp-2-6-file.xcf",
|
||||
NULL);
|
||||
filename = g_build_filename (g_getenv ("GIMP_TESTING_ABS_TOP_SRCDIR"),
|
||||
"app/tests/files/gimp-2-6-file.xcf",
|
||||
NULL);
|
||||
file = g_file_new_for_path (filename);
|
||||
g_free (filename);
|
||||
|
||||
image = gimp_test_load_image (gimp, uri);
|
||||
image = gimp_test_load_image (gimp, file);
|
||||
|
||||
/* The image file was constructed by running
|
||||
* gimp_write_and_read_file (FALSE, FALSE) in GIMP 2.6 by
|
||||
|
@ -245,25 +246,25 @@ write_and_read_gimp_2_8_format (gconstpointer data)
|
|||
}
|
||||
|
||||
GimpImage *
|
||||
gimp_test_load_image (Gimp *gimp,
|
||||
const gchar *uri)
|
||||
gimp_test_load_image (Gimp *gimp,
|
||||
GFile *file)
|
||||
{
|
||||
GimpPlugInProcedure *proc = NULL;
|
||||
GimpImage *image = NULL;
|
||||
GimpPDBStatusType not_used = 0;
|
||||
GimpPlugInProcedure *proc;
|
||||
GimpImage *image;
|
||||
GimpPDBStatusType unused;
|
||||
|
||||
proc = file_procedure_find (gimp->plug_in_manager->load_procs,
|
||||
uri,
|
||||
file,
|
||||
NULL /*error*/);
|
||||
image = file_open_image (gimp,
|
||||
gimp_get_user_context (gimp),
|
||||
NULL /*progress*/,
|
||||
uri,
|
||||
"irrelevant" /*entered_filename*/,
|
||||
file,
|
||||
file,
|
||||
FALSE /*as_new*/,
|
||||
proc,
|
||||
GIMP_RUN_NONINTERACTIVE,
|
||||
¬_used /*status*/,
|
||||
&unused /*status*/,
|
||||
NULL /*mime_type*/,
|
||||
NULL /*error*/);
|
||||
|
||||
|
@ -284,10 +285,11 @@ gimp_write_and_read_file (Gimp *gimp,
|
|||
gboolean compat_paths,
|
||||
gboolean use_gimp_2_8_features)
|
||||
{
|
||||
GimpImage *image = NULL;
|
||||
GimpImage *loaded_image = NULL;
|
||||
GimpPlugInProcedure *proc = NULL;
|
||||
gchar *uri = NULL;
|
||||
GimpImage *image;
|
||||
GimpImage *loaded_image;
|
||||
GimpPlugInProcedure *proc;
|
||||
gchar *filename;
|
||||
GFile *file;
|
||||
|
||||
/* Create the image */
|
||||
image = gimp_create_mainimage (gimp,
|
||||
|
@ -302,14 +304,17 @@ gimp_write_and_read_file (Gimp *gimp,
|
|||
use_gimp_2_8_features);
|
||||
|
||||
/* Write to file */
|
||||
uri = g_build_filename (g_get_tmp_dir (), "gimp-test.xcf", NULL);
|
||||
filename = g_build_filename (g_get_tmp_dir (), "gimp-test.xcf", NULL);
|
||||
file = g_file_new_for_path (filename);
|
||||
g_free (filename);
|
||||
|
||||
proc = file_procedure_find (image->gimp->plug_in_manager->save_procs,
|
||||
uri,
|
||||
file,
|
||||
NULL /*error*/);
|
||||
file_save (gimp,
|
||||
image,
|
||||
NULL /*progress*/,
|
||||
uri,
|
||||
file,
|
||||
proc,
|
||||
GIMP_RUN_NONINTERACTIVE,
|
||||
FALSE /*change_saved_state*/,
|
||||
|
@ -318,7 +323,7 @@ gimp_write_and_read_file (Gimp *gimp,
|
|||
NULL /*error*/);
|
||||
|
||||
/* Load from file */
|
||||
loaded_image = gimp_test_load_image (image->gimp, uri);
|
||||
loaded_image = gimp_test_load_image (image->gimp, file);
|
||||
|
||||
/* Assert on the loaded file. If success, it means that there is no
|
||||
* significant information loss when we wrote the image to a file
|
||||
|
@ -329,8 +334,8 @@ gimp_write_and_read_file (Gimp *gimp,
|
|||
compat_paths,
|
||||
use_gimp_2_8_features);
|
||||
|
||||
g_unlink (uri);
|
||||
g_free (uri);
|
||||
g_file_delete (file, NULL, NULL);
|
||||
g_object_unref (file);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
Loading…
Reference in New Issue