刘光辉
4 小时以前 06f314545ac3514d7ce28939920866ae8188d31c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
package jnpf.dmsEntity.preview.enums;
 
import org.junit.jupiter.api.Test;
 
import static org.junit.jupiter.api.Assertions.assertEquals;
 
class DmsWatermarkTargetTypeTest {
 
    @Test
    void classifiesWatermarkTargetExtensionsCaseInsensitively() {
        assertEquals(DmsWatermarkTargetType.DOCX,
                DmsWatermarkTargetType.fromFileName("manual.DOCX"));
        assertEquals(DmsWatermarkTargetType.PDF,
                DmsWatermarkTargetType.fromFileName("manual.PDF"));
        assertEquals(DmsWatermarkTargetType.IMAGE,
                DmsWatermarkTargetType.fromFileName("diagram.bmp"));
        assertEquals(DmsWatermarkTargetType.IMAGE,
                DmsWatermarkTargetType.fromFileName("animation.GIF"));
        assertEquals(DmsWatermarkTargetType.IMAGE,
                DmsWatermarkTargetType.fromFileName("photo.jpeg"));
        assertEquals(DmsWatermarkTargetType.IMAGE,
                DmsWatermarkTargetType.fromFileName("photo.JPG"));
        assertEquals(DmsWatermarkTargetType.IMAGE,
                DmsWatermarkTargetType.fromFileName("diagram.png"));
        assertEquals(DmsWatermarkTargetType.IMAGE,
                DmsWatermarkTargetType.fromFileName("diagram.webp"));
    }
 
    @Test
    void fallsBackToMimeTypeWhenTheFileNameHasNoExtension() {
        assertEquals(DmsWatermarkTargetType.IMAGE,
                DmsWatermarkTargetType.from("diagram", "image/png"));
        assertEquals(DmsWatermarkTargetType.IMAGE,
                DmsWatermarkTargetType.from("diagram", "image/png; charset=binary"));
        assertEquals(DmsWatermarkTargetType.DOCX, DmsWatermarkTargetType.from("manual",
                "application/vnd.openxmlformats-officedocument.wordprocessingml.document"));
        assertEquals(DmsWatermarkTargetType.PDF,
                DmsWatermarkTargetType.from("manual", "application/pdf; charset=binary"));
    }
 
    @Test
    void rejectsMissingAndUnsupportedFileExtensions() {
        assertEquals(DmsWatermarkTargetType.UNSUPPORTED,
                DmsWatermarkTargetType.fromFileName("manual"));
        assertEquals(DmsWatermarkTargetType.UNSUPPORTED,
                DmsWatermarkTargetType.fromFileName(null));
    }
}