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