Merge branch 'issue116' into devel

This commit is contained in:
John Evans 2013-09-16 06:33:55 -04:00
commit ddb7087941
3 changed files with 14 additions and 2 deletions

View file

@ -949,7 +949,7 @@ class Jp2k(Jp2kBox):
If glymur is unable to load the openjp2 library.
"""
if version.openjpeg_version_tuple[0] < 2:
raise LibraryNotFoundError("You must have at least version 2.0.0"
raise LibraryNotFoundError("You must have at least version 2.0.0 "
"of OpenJP2 installed before using "
"this functionality.")

View file

@ -12,6 +12,7 @@ These tests deal with JPX/JP2/J2K images in the format-corpus repository.
import os
from os.path import join
import re
import sys
if sys.hexversion < 0x02070000:
@ -19,6 +20,7 @@ if sys.hexversion < 0x02070000:
else:
import unittest
import glymur
from glymur import Jp2k
try:
@ -39,6 +41,9 @@ except KeyError:
class TestSuiteFormatCorpus(unittest.TestCase):
"""Test suite for files in format corpus repository."""
@unittest.skipIf(re.match(r"""1\.[0123]""",
glymur.version.openjpeg_version) is not None,
"Needs 1.3+ to catch this.")
def test_balloon_trunc1(self):
"""Has one byte shaved off of EOC marker."""
jfile = os.path.join(FORMAT_CORPUS_DATA_ROOT,
@ -54,6 +59,9 @@ class TestSuiteFormatCorpus(unittest.TestCase):
with self.assertRaises(OSError):
j2k.read(rlevel=-1)
@unittest.skipIf(re.match(r"""1\.[01234]""",
glymur.version.openjpeg_version) is not None,
"Needs 1.4+ to catch this.")
def test_balloon_trunc2(self):
"""Shortened by 5000 bytes."""
jfile = os.path.join(FORMAT_CORPUS_DATA_ROOT,

View file

@ -645,7 +645,11 @@ class TestSuite(unittest.TestCase):
jfile = opj_data_file('input/conformance/file9.jp2')
jp2k = Jp2k(jfile)
jpdata = jp2k.read()
self.assertEqual(jpdata.shape, (512, 768, 3))
if re.match(r"""1\.3""", glymur.version.openjpeg_version):
# Version 1.3 reads the indexed image as indices, not as RGB.
self.assertEqual(jpdata.shape, (512, 768))
else:
self.assertEqual(jpdata.shape, (512, 768, 3))
def test_NR_DEC_Bretagne2_j2k_1_decode(self):
jfile = opj_data_file('input/nonregression/Bretagne2.j2k')