summaryrefslogtreecommitdiff
path: root/test/jfif/JfifSupport-Test.vala
diff options
context:
space:
mode:
Diffstat (limited to 'test/jfif/JfifSupport-Test.vala')
-rw-r--r--test/jfif/JfifSupport-Test.vala44
1 files changed, 44 insertions, 0 deletions
diff --git a/test/jfif/JfifSupport-Test.vala b/test/jfif/JfifSupport-Test.vala
new file mode 100644
index 0000000..0fe94b5
--- /dev/null
+++ b/test/jfif/JfifSupport-Test.vala
@@ -0,0 +1,44 @@
+// SPDX-License-Identifier: LGPLv2.1-or-later
+
+[CCode (cname="TEST_DATA_DIR")]
+extern const string TEST_DATA_DIR;
+
+void add_jfif_sof_tests () {
+ Test.add_func ("/unit/photos/jfif/is_sof", () => {
+ Jpeg.Marker m = (Jpeg.Marker)0x8f;
+ assert(! m.is_sof());
+ m = (Jpeg.Marker)0xc0;
+ assert(m.is_sof());
+ m = (Jpeg.Marker)0xc4;
+ assert(! m.is_sof());
+ m = (Jpeg.Marker)0xe0;
+ assert(! m.is_sof());
+ });
+}
+
+void add_jfif_sniff_fast_tests () {
+ Test.add_func ("/functional/photos/jfif/sniff_fast", () => {
+ File f = File.new_for_path(TEST_DATA_DIR + "/shotwell-street.jpg");
+ JfifSniffer s = new JfifSniffer(f, PhotoFileSniffer.Options.NO_MD5);
+ bool is_corrupted = false;
+ try {
+ DetectedPhotoInformation detected = s.sniff(out is_corrupted);
+ assert(!is_corrupted);
+ assert(detected.channels == 3);
+ assert(detected.bits_per_channel == 8);
+ assert(detected.format_name == "jpeg");
+ assert(detected.image_dim.width == 360);
+ assert(detected.image_dim.height == 236);
+ } catch (Error err) {
+ assert_not_reached();
+ }
+ });
+}
+
+void main (string[] args) {
+ Test.init (ref args);
+ add_jfif_sof_tests();
+ add_jfif_sniff_fast_tests();
+ Test.run();
+}
+