Update of /cvsroot/libexif/libexif/test
In directory sc8-pr-cvs1:/tmp/cvs-serv7105/test
Modified Files:
test-mnote.c
Log Message:
2003-10-27 Lutz Mueller <lu...@us...>
* libexif: Canon maker notes seem to work now (both loading and
saving).
Index: test-mnote.c
===================================================================
RCS file: /cvsroot/libexif/libexif/test/test-mnote.c,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -d -r1.2 -r1.3
--- test-mnote.c 27 Oct 2003 20:07:11 -0000 1.2
+++ test-mnote.c 27 Oct 2003 22:34:30 -0000 1.3
@@ -5,28 +5,15 @@
#include <libexif/exif-data.h>
-int
-main (int argc, char **argv)
+static int
+test_exif_data (ExifData *d)
{
- ExifData *d;
- ExifMnoteData *md;
- unsigned int c, i;
+ unsigned int i, c;
char *v;
+ ExifMnoteData *md;
- if (argc <= 1) {
- fprintf (stderr, "You need to supply a filename!\n");
- return 1;
- }
-
- fprintf (stdout, "Loading '%s'...\n", argv[1]);
- d = exif_data_new_from_file (argv[1]);
- if (!d) {
- fprintf (stderr, "Could not load data from '%s'!\n", argv[1]);
- return 1;
- }
- fprintf (stdout, "Loaded '%s'.\n", argv[1]);
fprintf (stdout, "Byte order: %s\n",
- exif_byte_order_get_name (exif_data_get_byte_order (d)));
+ exif_byte_order_get_name (exif_data_get_byte_order (d)));
fprintf (stdout, "Parsing maker note...\n");
md = exif_data_get_mnote_data (d);
@@ -44,20 +31,60 @@
fprintf (stdout, "Counting entries...\n");
c = exif_mnote_data_count (md);
+ fprintf (stdout, "Found %i entries.\n", c);
for (i = 0; i < c; i++) {
- fprintf (stdout, "%s", exif_mnote_data_get_name (md, i));
- fprintf (stdout, " Title: %s",
- exif_mnote_data_get_title (md, i));
- fprintf (stdout, " Description: %s",
- exif_mnote_data_get_description (md, i));
+ fprintf (stdout, "Dumping entry number %i...\n", i);
+ fprintf (stdout, " Name: '%s'\n",
+ exif_mnote_data_get_name (md, i));
+ fprintf (stdout, " Title: '%s'\n",
+ exif_mnote_data_get_title (md, i));
+ fprintf (stdout, " Description: '%s'\n",
+ exif_mnote_data_get_description (md, i));
v = exif_mnote_data_get_value (md, i);
if (v) {
- fprintf (stdout, " Value: '%s'", v);
+ fprintf (stdout, " Value: '%s'\n", v);
free (v);
}
}
+ return 0;
+}
+
+int
+main (int argc, char **argv)
+{
+ ExifData *d;
+ unsigned int buf_size;
+ unsigned char *buf;
+ int r;
+
+ if (argc <= 1) {
+ fprintf (stderr, "You need to supply a filename!\n");
+ return 1;
+ }
+
+ fprintf (stdout, "Loading '%s'...\n", argv[1]);
+ d = exif_data_new_from_file (argv[1]);
+ if (!d) {
+ fprintf (stderr, "Could not load data from '%s'!\n", argv[1]);
+ return 1;
+ }
+ fprintf (stdout, "Loaded '%s'.\n", argv[1]);
+
+ fprintf (stdout, "######### Test 1 #########\n");
+ r = test_exif_data (d);
+ if (r) return r;
+
+ exif_data_save_data (d, &buf, &buf_size);
exif_data_unref (d);
+ d = exif_data_new_from_data (buf, buf_size);
+ free (buf);
+
+ fprintf (stdout, "######### Test 2 #########\n");
+ r = test_exif_data (d);
+ if (r) return r;
+
+ fprintf (stdout, "Test successful!\n");
return 1;
}
|