static VALUE rg_save_a_copy(VALUE self, VALUE uri) { gboolean result; GError *error = NULL; uri = rb_funcall(self, id_ensure_uri, 1, uri); result = poppler_document_save_a_copy(RVAL2DOC(self), RVAL2CSTR(uri), &error); if (error) RAISE_GERROR(error); return CBOOL2RVAL(result); }
void test_save_a_copy (void) { GError *error = NULL; gchar *copy_path; const gchar *copy_uri; document = load_document ("multi-pages.pdf"); cut_assert_equal_int (3, poppler_document_get_n_pages (document)); copy_path = g_build_filename (tmp_dir, "copied-multi-pages.pdf", NULL); copy_uri = cut_take_printf ("file://%s", copy_path); g_free (copy_path); poppler_document_save_a_copy (document, copy_uri, &error); gcut_assert_error (error); g_object_unref (document); document = poppler_document_new_from_file (copy_uri, NULL, &error); gcut_assert_error (error); cut_assert_equal_int (3, poppler_document_get_n_pages (document)); }