Skip to content

Commit 76f4caf

Browse files
committed
Fixed broken tests
* testMissingParseFunction actually never worked properly after the strict param was added * testMissingParsedFile now properly checks for FileNotFoundError
1 parent 513689d commit 76f4caf

File tree

1 file changed

+13
-3
lines changed

1 file changed

+13
-3
lines changed

test/test_parser.py

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,11 @@
33

44
import pywavefront.parser
55

6+
67
def prepend_dir(file):
78
return os.path.join(os.path.dirname(__file__), file)
89

10+
911
class TestParsers(unittest.TestCase):
1012
def setUp(self):
1113
# Append current path to locate files
@@ -36,6 +38,7 @@ def testObjMaterials(self):
3638
self.assertEqual(material1.name, 'Material.simple')
3739
self.assertEqual(material2.name, 'Material2.simple')
3840

41+
3942
class TestMtlParser(unittest.TestCase):
4043
def setUp(self):
4144
# Append current path to locate files
@@ -73,13 +76,20 @@ def testMtlTextureName(self):
7376
self.assertEqual(self.material1.texture.image_name,
7477
prepend_dir('4x4.png'))
7578

79+
7680
class TestParserFailure(unittest.TestCase):
7781

7882
def testMissingParseFunction(self):
7983
"Attempting to parse with a missing parse function should raise an exception."
80-
# since no parse functions have been defined, this will always fail
81-
self.assertRaises(Exception, pywavefront.parser.Parser, prepend_dir('uv_sphere.obj'))
84+
# since no parse functions have been defined, this will always fail in strict mode
85+
file_name = 'simple.obj'
86+
parser = pywavefront.parser.Parser(prepend_dir(file_name))
87+
pywavefront.parser.Parser.strict = True
88+
self.assertRaises(AttributeError, parser.read_file, prepend_dir(file_name))
89+
pywavefront.parser.Parser.strict = False
8290

8391
def testMissingParsedFile(self):
8492
"Referencing a missing parsed file should raise an exception."
85-
self.assertRaises(Exception, pywavefront.parser.Parser, 'missing.file.do.not.create')
93+
file_name = 'donotexsit.obj'
94+
parser = pywavefront.parser.Parser(prepend_dir(file_name))
95+
self.assertRaises(FileNotFoundError, parser.read_file, prepend_dir(file_name))

0 commit comments

Comments
 (0)