You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							112 lines
						
					
					
						
							3.5 KiB
						
					
					
				
			
		
		
		
			
			
			
		
		
	
	
							112 lines
						
					
					
						
							3.5 KiB
						
					
					
				| var assert = require("assert"); | |
| 
 | |
| var hamjest = require("hamjest"); | |
| var assertThat = hamjest.assertThat; | |
| var contains = hamjest.contains; | |
| var equalTo = hamjest.equalTo; | |
| var hasProperties = hamjest.hasProperties; | |
| 
 | |
| var mammoth = require("../"); | |
| var documents = require("../lib/documents"); | |
| var promises = require("../lib/promises"); | |
| 
 | |
| var test = require("./test")(module); | |
| 
 | |
| 
 | |
| test('mammoth.images.inline() should be an alias of mammoth.images.imgElement()', function() { | |
|     assert.ok(mammoth.images.inline === mammoth.images.imgElement); | |
| }); | |
| 
 | |
| 
 | |
| test('mammoth.images.dataUri() encodes images in base64', function() { | |
|     var imageBuffer = new Buffer("abc"); | |
|     var image = new documents.Image({ | |
|         readImage: function(encoding) { | |
|             return promises.when(imageBuffer.toString(encoding)); | |
|         }, | |
|         contentType: "image/jpeg" | |
|     }); | |
| 
 | |
|     return mammoth.images.dataUri(image).then(function(result) { | |
|         assertThat(result, contains( | |
|             hasProperties({tag: hasProperties({attributes: {"src": "data:image/jpeg;base64,YWJj"}})}) | |
|         )); | |
|     }); | |
| }); | |
| 
 | |
| 
 | |
| test('mammoth.images.imgElement()', { | |
|     'when element does not have alt text then alt attribute is not set': function() { | |
|         var imageBuffer = new Buffer("abc"); | |
|         var image = new documents.Image({ | |
|             readImage: function(encoding) { | |
|                 return promises.when(imageBuffer.toString(encoding)); | |
|             }, | |
|             contentType: "image/jpeg" | |
|         }); | |
| 
 | |
|         var result = mammoth.images.imgElement(function(image) { | |
|             return {src: "<src>"}; | |
|         })(image); | |
| 
 | |
|         return result.then(function(result) { | |
|             assertThat(result, contains( | |
|                 hasProperties({ | |
|                     tag: hasProperties({ | |
|                         attributes: equalTo({src: "<src>"}) | |
|                     }) | |
|                 }) | |
|             )); | |
|         }); | |
|     }, | |
| 
 | |
|     'when element has alt text then alt attribute is set': function() { | |
|         var imageBuffer = new Buffer("abc"); | |
|         var image = new documents.Image({ | |
|             readImage: function(encoding) { | |
|                 return promises.when(imageBuffer.toString(encoding)); | |
|             }, | |
|             contentType: "image/jpeg", | |
|             altText: "<alt>" | |
|         }); | |
| 
 | |
|         var result = mammoth.images.imgElement(function(image) { | |
|             return {src: "<src>"}; | |
|         })(image); | |
| 
 | |
|         return result.then(function(result) { | |
|             assertThat(result, contains( | |
|                 hasProperties({ | |
|                     tag: hasProperties({ | |
|                         attributes: equalTo({alt: "<alt>", src: "<src>"}) | |
|                     }) | |
|                 }) | |
|             )); | |
|         }); | |
|     }, | |
| 
 | |
|     'image alt text can be overridden by alt attribute returned from function': function() { | |
|         var imageBuffer = new Buffer("abc"); | |
|         var image = new documents.Image({ | |
|             readImage: function(encoding) { | |
|                 return promises.when(imageBuffer.toString(encoding)); | |
|             }, | |
|             contentType: "image/jpeg", | |
|             altText: "<alt>" | |
|         }); | |
| 
 | |
|         var result = mammoth.images.imgElement(function(image) { | |
|             return {alt: "<alt override>", src: "<src>"}; | |
|         })(image); | |
| 
 | |
|         return result.then(function(result) { | |
|             assertThat(result, contains( | |
|                 hasProperties({ | |
|                     tag: hasProperties({ | |
|                         attributes: equalTo({alt: "<alt override>", src: "<src>"}) | |
|                     }) | |
|                 }) | |
|             )); | |
|         }); | |
|     } | |
| });
 | |
| 
 |