diff --git a/PerlMagick/t/jpeg/input.jpg b/PerlMagick/t/jpeg/input.jpg
new file mode 100644
index 0000000..e8fdb0b
--- /dev/null
+++ b/PerlMagick/t/jpeg/input.jpg
Binary files differ
diff --git a/PerlMagick/t/jpeg/input_plane.jpg b/PerlMagick/t/jpeg/input_plane.jpg
new file mode 100644
index 0000000..f8aaa5c
--- /dev/null
+++ b/PerlMagick/t/jpeg/input_plane.jpg
Binary files differ
diff --git a/PerlMagick/t/jpeg/read.t b/PerlMagick/t/jpeg/read.t
new file mode 100644
index 0000000..32b2649
--- /dev/null
+++ b/PerlMagick/t/jpeg/read.t
@@ -0,0 +1,29 @@
+#!/usr/bin/perl
+#
+# Test read image method on non-interlaced JPEG.
+#
+# Contributed by Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
+#
+BEGIN { $| = 1; $test=1; print "1..2\n"; }
+END {print "not ok $test\n" unless $loaded;}
+use Image::Magick;
+$loaded=1;
+
+require 't/subroutines.pl';
+
+chdir 't/jpeg' || die 'Cd failed';
+
+#
+# 1) Test non-interlaced image read
+# 
+print( "Non-interlaced JPEG ...\n" );
+testReadCompare('input.jpg', '../reference/jpeg/read_non_interlaced.miff', q//, 0, 0);
+
+#
+# 2) Test plane-interlaced image read
+# 
+++$test;
+print( "Plane-interlaced JPEG ...\n" );
+testReadCompare('input_plane.jpg', '../reference/jpeg/read_plane_interlaced.miff', q//, 0, 0);
+
+
diff --git a/PerlMagick/t/jpeg/write.t b/PerlMagick/t/jpeg/write.t
new file mode 100644
index 0000000..65bfbb5
--- /dev/null
+++ b/PerlMagick/t/jpeg/write.t
@@ -0,0 +1,33 @@
+#!/usr/bin/perl
+#
+# Test reading JPEG images
+#
+# Contributed by Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
+#
+BEGIN { $| = 1; $test=1; print "1..2\n"; }
+END {print "not ok $test\n" unless $loaded;}
+
+use Image::Magick;
+$loaded=1;
+
+require 't/subroutines.pl';
+
+chdir 't/jpeg' || die 'Cd failed';
+
+#
+# 1) Test with non-interlaced image
+#
+print( "Non-interlaced JPEG ...\n" );
+testReadWriteCompare( 'input.jpg', 'output_tmp.jpg',
+                      '../reference/jpeg/write_non_interlaced.miff',
+                      q//, q//, 0.02, 0.27);
+
+#
+# 2) Test with plane-interlaced image
+#
+++$test;
+print( "Plane-interlaced JPEG ...\n" );
+testReadWriteCompare( 'input.jpg', 'output_plane_tmp.jpg',
+                      '../reference/jpeg/write_plane_interlaced.miff',
+                      q//, q//, 0.02, 0.27);
+