ImageResource.java

1
package fr.sii.ogham.html.inliner;
2
3
import java.util.Arrays;
4
5
import fr.sii.ogham.core.resource.path.ResourcePath;
6
import fr.sii.ogham.html.translator.InlineImageTranslator;
7
8
/**
9
 * A simple object that represents an image to be usable by the
10
 * {@link InlineImageTranslator}. The aim is to decouple the translator
11
 * implementation from the general system.
12
 * 
13
 * @author Aurélien Baudet
14
 *
15
 */
16
public class ImageResource {
17
	private final String name;
18
19
	private final String srcUrl;
20
21
	private final ResourcePath path;
22
23
	private final byte[] content;
24
25
	private final String mimetype;
26
27
	/**
28
	 * Initialize the resource with the name of the image, the path of the image
29
	 * found in the HTML, the content of the image as array of bytes and the
30
	 * mimetype of the image. The bytes for the content of the image are copied
31
	 * into a new array to prevent security leaks.
32
	 * 
33
	 * @param name
34
	 *            the name of the image
35
	 * @param srcUrl
36
	 *            the URL of the image used in the html content
37
	 * @param path
38
	 *            the path to the image
39
	 * @param content
40
	 *            the content of the image
41
	 * @param mimetype
42
	 *            the mimetype of the image
43
	 */
44
	public ImageResource(String name, String srcUrl, ResourcePath path, byte[] content, String mimetype) {
45
		super();
46
		this.name = name;
47
		this.srcUrl = srcUrl;
48
		this.path = path;
49
		this.content = Arrays.copyOf(content, content.length);
50
		this.mimetype = mimetype;
51
	}
52
53
	public String getSrcUrl() {
54 3 1. getSrcUrl : replaced return value with "" for fr/sii/ogham/html/inliner/ImageResource::getSrcUrl → NO_COVERAGE
2. getSrcUrl : replaced return value with "" for fr/sii/ogham/html/inliner/ImageResource::getSrcUrl → KILLED
3. getSrcUrl : replaced return value with "" for fr/sii/ogham/html/inliner/ImageResource::getSrcUrl → KILLED
		return srcUrl;
55
	}
56
57
	public ResourcePath getPath() {
58 1 1. getPath : replaced return value with null for fr/sii/ogham/html/inliner/ImageResource::getPath → NO_COVERAGE
		return path;
59
	}
60
61
	public byte[] getContent() {
62 3 1. getContent : replaced return value with null for fr/sii/ogham/html/inliner/ImageResource::getContent → NO_COVERAGE
2. getContent : replaced return value with null for fr/sii/ogham/html/inliner/ImageResource::getContent → KILLED
3. getContent : replaced return value with null for fr/sii/ogham/html/inliner/ImageResource::getContent → KILLED
		return content;
63
	}
64
65
	public String getMimetype() {
66 3 1. getMimetype : replaced return value with "" for fr/sii/ogham/html/inliner/ImageResource::getMimetype → NO_COVERAGE
2. getMimetype : replaced return value with "" for fr/sii/ogham/html/inliner/ImageResource::getMimetype → KILLED
3. getMimetype : replaced return value with "" for fr/sii/ogham/html/inliner/ImageResource::getMimetype → KILLED
		return mimetype;
67
	}
68
69
	public String getName() {
70 3 1. getName : replaced return value with "" for fr/sii/ogham/html/inliner/ImageResource::getName → NO_COVERAGE
2. getName : replaced return value with "" for fr/sii/ogham/html/inliner/ImageResource::getName → KILLED
3. getName : replaced return value with "" for fr/sii/ogham/html/inliner/ImageResource::getName → KILLED
		return name;
71
	}
72
	
73
	@Override
74
	public String toString() {
75
		StringBuilder builder = new StringBuilder();
76
		builder.append("ImageResource(")
77
			.append("src=").append(srcUrl).append(", ")
78
			.append("path=").append(path).append(", ")
79
			.append("name=").append(name).append(", ")
80
			.append("mimetype=").append(mimetype).append(")");
81 1 1. toString : replaced return value with "" for fr/sii/ogham/html/inliner/ImageResource::toString → NO_COVERAGE
		return builder.toString();
82
	}
83
}

Mutations

54

1.1
Location : getSrcUrl
Killed by : oghamcore.ut.html.inliner.impl.JsoupBase64ImageInlinerTest.differentImageFormats(oghamcore.ut.html.inliner.impl.JsoupBase64ImageInlinerTest)
replaced return value with "" for fr/sii/ogham/html/inliner/ImageResource::getSrcUrl → KILLED

2.2
Location : getSrcUrl
Killed by : none
replaced return value with "" for fr/sii/ogham/html/inliner/ImageResource::getSrcUrl → NO_COVERAGE

3.3
Location : getSrcUrl
Killed by : oghamall.it.html.translator.JsoupInlineImageTranslatorTest.skipExternalImages(oghamall.it.html.translator.JsoupInlineImageTranslatorTest)
replaced return value with "" for fr/sii/ogham/html/inliner/ImageResource::getSrcUrl → KILLED

58

1.1
Location : getPath
Killed by : none
replaced return value with null for fr/sii/ogham/html/inliner/ImageResource::getPath → NO_COVERAGE

62

1.1
Location : getContent
Killed by : oghamall.it.html.translator.JsoupInlineImageTranslatorTest.skipExternalImages(oghamall.it.html.translator.JsoupInlineImageTranslatorTest)
replaced return value with null for fr/sii/ogham/html/inliner/ImageResource::getContent → KILLED

2.2
Location : getContent
Killed by : none
replaced return value with null for fr/sii/ogham/html/inliner/ImageResource::getContent → NO_COVERAGE

3.3
Location : getContent
Killed by : oghamcore.ut.html.inliner.impl.JsoupBase64ImageInlinerTest.differentImageFormats(oghamcore.ut.html.inliner.impl.JsoupBase64ImageInlinerTest)
replaced return value with null for fr/sii/ogham/html/inliner/ImageResource::getContent → KILLED

66

1.1
Location : getMimetype
Killed by : oghamall.it.html.translator.JsoupInlineImageTranslatorTest.skipAttach(oghamall.it.html.translator.JsoupInlineImageTranslatorTest)
replaced return value with "" for fr/sii/ogham/html/inliner/ImageResource::getMimetype → KILLED

2.2
Location : getMimetype
Killed by : none
replaced return value with "" for fr/sii/ogham/html/inliner/ImageResource::getMimetype → NO_COVERAGE

3.3
Location : getMimetype
Killed by : oghamcore.ut.html.inliner.impl.JsoupBase64ImageInlinerTest.differentImageFormats(oghamcore.ut.html.inliner.impl.JsoupBase64ImageInlinerTest)
replaced return value with "" for fr/sii/ogham/html/inliner/ImageResource::getMimetype → KILLED

70

1.1
Location : getName
Killed by : none
replaced return value with "" for fr/sii/ogham/html/inliner/ImageResource::getName → NO_COVERAGE

2.2
Location : getName
Killed by : oghamcore.ut.html.inliner.impl.JsoupAttachImageInlinerTest.withImages(oghamcore.ut.html.inliner.impl.JsoupAttachImageInlinerTest)
replaced return value with "" for fr/sii/ogham/html/inliner/ImageResource::getName → KILLED

3.3
Location : getName
Killed by : oghamall.it.html.translator.JsoupInlineImageTranslatorTest.skipExternalImages(oghamall.it.html.translator.JsoupInlineImageTranslatorTest)
replaced return value with "" for fr/sii/ogham/html/inliner/ImageResource::getName → KILLED

81

1.1
Location : toString
Killed by : none
replaced return value with "" for fr/sii/ogham/html/inliner/ImageResource::toString → NO_COVERAGE

Active mutators

Tests examined


Report generated by PIT OGHAM