Skip to content

Commit 95a1809

Browse files
committed
test for LtSuppressed
1 parent e0a229f commit 95a1809

File tree

2 files changed

+123
-0
lines changed

2 files changed

+123
-0
lines changed
Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
/*
2+
* The MIT License (MIT)
3+
*
4+
* Copyright (c) 2016-2024 Objectionary.com
5+
*
6+
* Permission is hereby granted, free of charge, to any person obtaining a copy
7+
* of this software and associated documentation files (the "Software"), to deal
8+
* in the Software without restriction, including without limitation the rights
9+
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10+
* copies of the Software, and to permit persons to whom the Software is
11+
* furnished to do so, subject to the following conditions:
12+
*
13+
* The above copyright notice and this permission notice shall be included
14+
* in all copies or substantial portions of the Software.
15+
*
16+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17+
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18+
* FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE
19+
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20+
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21+
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22+
* SOFTWARE.
23+
*/
24+
package org.eolang.lints;
25+
26+
import com.jcabi.xml.XML;
27+
import java.util.Collection;
28+
import java.util.Collections;
29+
30+
/**
31+
* Lint that always complains.
32+
*
33+
* @since 0.0.1
34+
*/
35+
final class LtAlways implements Lint<XML> {
36+
37+
@Override
38+
public String name() {
39+
return "always";
40+
}
41+
42+
@Override
43+
public Collection<Defect> defects(final XML xmir) {
44+
return Collections.singleton(
45+
new Defect.Default(
46+
this.name(),
47+
Severity.ERROR,
48+
"noname",
49+
0,
50+
"always complains"
51+
)
52+
);
53+
}
54+
55+
@Override
56+
public String motive() {
57+
return "";
58+
}
59+
60+
}
Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
/*
2+
* The MIT License (MIT)
3+
*
4+
* Copyright (c) 2016-2024 Objectionary.com
5+
*
6+
* Permission is hereby granted, free of charge, to any person obtaining a copy
7+
* of this software and associated documentation files (the "Software"), to deal
8+
* in the Software without restriction, including without limitation the rights
9+
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10+
* copies of the Software, and to permit persons to whom the Software is
11+
* furnished to do so, subject to the following conditions:
12+
*
13+
* The above copyright notice and this permission notice shall be included
14+
* in all copies or substantial portions of the Software.
15+
*
16+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17+
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18+
* FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE
19+
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20+
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21+
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22+
* SOFTWARE.
23+
*/
24+
package org.eolang.lints;
25+
26+
import java.io.IOException;
27+
import org.cactoos.io.InputOf;
28+
import org.eolang.parser.EoSyntax;
29+
import org.hamcrest.MatcherAssert;
30+
import org.hamcrest.Matchers;
31+
import org.junit.jupiter.api.Test;
32+
33+
/**
34+
* Test for {@link LtSuppressed}.
35+
*
36+
* @since 0.0.1
37+
*/
38+
final class LtSuppressedTest {
39+
40+
@Test
41+
void lintsOneFile() throws IOException {
42+
MatcherAssert.assertThat(
43+
"the error is there",
44+
new LtSuppressed(new LtAlways()).defects(
45+
new EoSyntax(new InputOf("# first\n[] > foo\n")).parsed()
46+
),
47+
Matchers.hasSize(1)
48+
);
49+
}
50+
51+
@Test
52+
void suppressesTheDefect() throws IOException {
53+
MatcherAssert.assertThat(
54+
"the error is there",
55+
new LtSuppressed(new LtAlways()).defects(
56+
new EoSyntax(
57+
new InputOf("+unlint always\n\n# first\n[] > foo\n")
58+
).parsed()
59+
),
60+
Matchers.emptyIterable()
61+
);
62+
}
63+
}

0 commit comments

Comments
 (0)