1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 package com.puppycrawl.tools.checkstyle.api;
21
22 import static com.google.common.truth.Truth.assertWithMessage;
23
24 import java.io.File;
25
26 import org.junit.jupiter.api.Test;
27
28 import com.puppycrawl.tools.checkstyle.AbstractModuleTestSupport;
29 import com.puppycrawl.tools.checkstyle.utils.CommonUtil;
30
31 public class FileSetCheckTest
32 extends AbstractModuleTestSupport {
33
34 @Override
35 protected String getPackageLocation() {
36 return "com/puppycrawl/tools/checkstyle/api/fileset";
37 }
38
39 @Test
40 public void testTranslation() throws Exception {
41 final String[] expected = CommonUtil.EMPTY_STRING_ARRAY;
42 verifyWithInlineConfigParser(getPath("InputFileSetIllegalTokens.java"), expected);
43
44 assertWithMessage("destroy() not called by Checker")
45 .that(TestFileSetCheck.isDestroyed())
46 .isTrue();
47 }
48
49 @Test
50 public void testProcessCallsFinishBeforeCallingDestroy() throws Exception {
51 final String[] expected = CommonUtil.EMPTY_STRING_ARRAY;
52 verifyWithInlineConfigParser(getPath("InputFileSetIllegalTokens.java"), expected);
53
54 assertWithMessage("FileContent should be available during finishProcessing() call")
55 .that(TestFileSetCheck.isFileContentAvailable())
56 .isTrue();
57 }
58
59 public static class TestFileSetCheck extends AbstractFileSetCheck {
60
61 private static boolean destroyed;
62 private static boolean fileContentAvailable;
63 private static FileContents contents;
64
65 @Override
66 public void destroy() {
67 destroyed = true;
68 }
69
70 public static boolean isDestroyed() {
71 return destroyed;
72 }
73
74 public static boolean isFileContentAvailable() {
75 return fileContentAvailable;
76 }
77
78 @Override
79 protected void processFiltered(File file, FileText fileText) {
80 contents = new FileContents(fileText);
81 }
82
83 @Override
84 public void finishProcessing() {
85 fileContentAvailable = contents != null;
86 }
87
88 }
89
90 }