aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2015-09-07 20:46:10 +0100
committerMichael Williamson <mike@zwobble.org>2015-09-07 20:46:10 +0100
commite479598b2e31d4963a3501e2f383af82dada296f (patch)
tree57205c2d7dfeaedea6392ad996d399fd82d7a5c3
parent2596c1c7122096874d00d7c5392d4ffb482e31b6 (diff)
Provide slightly more description error on file open failure
-rw-r--r--lib/docx/files.js5
-rw-r--r--tests/docx/files.tests.js7
2 files changed, 11 insertions, 1 deletions
diff --git a/lib/docx/files.js b/lib/docx/files.js
index 0e95197..6380ea4 100644
--- a/lib/docx/files.js
+++ b/lib/docx/files.js
@@ -14,7 +14,10 @@ exports.uriToPath = uriToPath;
function Files(base) {
function read(uri, encoding) {
return resolveUri(uri).then(function(path) {
- return readFile(path, encoding);
+ return readFile(path, encoding).caught(function(error) {
+ var message = "could not open external image: '" + uri + "' (document directory: '" + base + "')\n" + error.message;
+ return promises.reject(new Error(message));
+ });
});
}
diff --git a/tests/docx/files.tests.js b/tests/docx/files.tests.js
index a00b60b..65cd486 100644
--- a/tests/docx/files.tests.js
+++ b/tests/docx/files.tests.js
@@ -39,6 +39,13 @@ describe("Files", function() {
assert.equal(err.message, "could not find external image 'not-a-real-file.png', path of input document is unknown");
});
});
+
+ test("error if relative uri cannot be opened", function() {
+ var files = new Files("/tmp");
+ return assertError(files.read("not-a-real-file.png", "base64"), function(err) {
+ assert.equal(err.message, "could not open external image: 'not-a-real-file.png' (document directory: '/tmp')\nENOENT, open '/tmp/not-a-real-file.png'");
+ });
+ });
});
function assertError(promise, func) {