aboutsummaryrefslogtreecommitdiff
path: root/test/mammoth.tests.js
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2023-05-28 12:24:16 +0100
committerMichael Williamson <mike@zwobble.org>2023-05-28 12:24:16 +0100
commitb2b2c35715985f624e6b696fd87140fa6056318f (patch)
treea8015940e1d4b4bae1422af8e99277126e1df029 /test/mammoth.tests.js
parent1ce7c085668fd978f4f343b41db7f76f33145de5 (diff)
Avoid use of Buffer
Diffstat (limited to 'test/mammoth.tests.js')
-rw-r--r--test/mammoth.tests.js46
1 files changed, 45 insertions, 1 deletions
diff --git a/test/mammoth.tests.js b/test/mammoth.tests.js
index 3ce96d4..bbbbe37 100644
--- a/test/mammoth.tests.js
+++ b/test/mammoth.tests.js
@@ -219,7 +219,7 @@ test('inline images referenced by path relative to base are included in output',
});
});
-test('src of inline images can be changed', function() {
+test('src of inline images can be changed using read("base64")', function() {
var docxPath = path.join(__dirname, "test-data/tiny-picture.docx");
var convertImage = mammoth.images.imgElement(function(element) {
return element.read("base64").then(function(encodedImage) {
@@ -227,6 +227,50 @@ test('src of inline images can be changed', function() {
});
});
return mammoth.convertToHtml({path: docxPath}, {convertImage: convertImage}).then(function(result) {
+ assert.deepEqual(result.messages, []);
+ assert.equal(result.value, '<p><img src="iV,image/png" /></p>');
+ });
+});
+
+test('src of inline images can be changed using readAsBase64String()', function() {
+ var docxPath = path.join(__dirname, "test-data/tiny-picture.docx");
+ var convertImage = mammoth.images.imgElement(function(element) {
+ return element.readAsBase64String().then(function(encodedImage) {
+ return {src: encodedImage.substring(0, 2) + "," + element.contentType};
+ });
+ });
+ return mammoth.convertToHtml({path: docxPath}, {convertImage: convertImage}).then(function(result) {
+ assert.deepEqual(result.messages, []);
+ assert.equal(result.value, '<p><img src="iV,image/png" /></p>');
+ });
+});
+
+test('src of inline images can be changed using readAsArrayBuffer()', function() {
+ var docxPath = path.join(__dirname, "test-data/tiny-picture.docx");
+ var convertImage = mammoth.images.imgElement(function(element) {
+ return element.readAsArrayBuffer().then(function(arrayBuffer) {
+ assert.ok(!Buffer.isBuffer(arrayBuffer));
+ var encodedImage = Buffer.from(arrayBuffer).toString("base64");
+ return {src: encodedImage.substring(0, 2) + "," + element.contentType};
+ });
+ });
+ return mammoth.convertToHtml({path: docxPath}, {convertImage: convertImage}).then(function(result) {
+ assert.deepEqual(result.messages, []);
+ assert.equal(result.value, '<p><img src="iV,image/png" /></p>');
+ });
+});
+
+test('src of inline images can be changed using read()', function() {
+ var docxPath = path.join(__dirname, "test-data/tiny-picture.docx");
+ var convertImage = mammoth.images.imgElement(function(element) {
+ return element.read().then(function(buffer) {
+ assert.ok(Buffer.isBuffer(buffer));
+ var encodedImage = buffer.toString("base64");
+ return {src: encodedImage.substring(0, 2) + "," + element.contentType};
+ });
+ });
+ return mammoth.convertToHtml({path: docxPath}, {convertImage: convertImage}).then(function(result) {
+ assert.deepEqual(result.messages, []);
assert.equal(result.value, '<p><img src="iV,image/png" /></p>');
});
});