From 5a59a01dc67331dfde3f7753a3ca90c0755eb211 Mon Sep 17 00:00:00 2001 From: Charlie Yang Date: Wed, 14 Sep 2016 23:48:16 -0700 Subject: Return a sensible error on unknown file type Provide a more detailed error message when the image file type cannot be determined via magic or extension. Previously the error message said attempt to concatenate local 'ext' (a nil value) --- assets/bmp-without-ext | Bin 0 -> 142 bytes init.lua | 2 ++ test/test.lua | 11 +++++++++++ 3 files changed, 13 insertions(+) create mode 100644 assets/bmp-without-ext diff --git a/assets/bmp-without-ext b/assets/bmp-without-ext new file mode 100644 index 0000000..0d7f4eb Binary files /dev/null and b/assets/bmp-without-ext differ diff --git a/init.lua b/init.lua index 619d9b7..4d9350e 100644 --- a/init.lua +++ b/init.lua @@ -366,6 +366,8 @@ local function load(filename, depth, tensortype) local tensor if image.is_supported(ext) then tensor = filetypes[ext].loader(filename, depth, tensortype) + elseif not ext then + dok.error('unable to determine image type for file: ' .. filename, 'image.load') else dok.error('unknown image type: ' .. ext, 'image.load') end diff --git a/test/test.lua b/test/test.lua index 80299e9..0a25cd9 100644 --- a/test/test.lua +++ b/test/test.lua @@ -634,6 +634,17 @@ function test.test_pbmload() ) end +---------------------------------------------------------------------- +-- Load unknown image type without extension test +-- +function test.LoadUnknownImageTypeWithoutExtension() + tester:assertErrorPattern( + function() image.load(getTestImagePath("bmp-without-ext")) end, + "unable to determine image type for file", + "unknown image type should not be loaded or unexpected error message" + ) +end + ---------------------------------------------------------------------- -- Text drawing test -- -- cgit v1.2.3