Skip to content

Commit 2b2f6f1

Browse files
committed
[MPH-183] Do not print same location twice and rename test methods
1 parent f22794d commit 2b2f6f1

File tree

2 files changed

+28
-6
lines changed

2 files changed

+28
-6
lines changed

src/main/java/org/apache/maven/plugins/help/ImportedFromLocationFormatter.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,8 @@ public String toString(InputLocation location) {
5858

5959
StringBuilder p = new StringBuilder();
6060

61-
while (importedFrom != null) {
61+
while (importedFrom != null
62+
&& !source.toString().equals(importedFrom.getSource().toString())) {
6263
p.append(" from ").append(importedFrom.getSource().getModelId());
6364
importedFrom = getImportedFrom(importedFrom);
6465
}

src/test/java/org/apache/maven/plugins/help/ImportedFromLocationFormatterTest.java

+26-5
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030
public class ImportedFromLocationFormatterTest {
3131

3232
@Test
33-
public void testImportedFromNullToString() {
33+
public void testImportedFromSingleLocation() {
3434
// Arrange
3535
final MavenProject project = new MavenProject();
3636
final ImportedFromLocationFormatter formatter = new ImportedFromLocationFormatterMock(project);
@@ -47,7 +47,28 @@ public void testImportedFromNullToString() {
4747
}
4848

4949
@Test
50-
public void testImportedFromNotNullToString() {
50+
public void testImportedFromDifferentLocation() {
51+
// Arrange
52+
final InputSource importedFromSource = new InputSource();
53+
importedFromSource.setModelId("org.example:MPG-183-bom2:1-SNAPSHOT");
54+
final InputLocation importedFrom = new InputLocation(7, 5, importedFromSource);
55+
56+
final MavenProject project = new MavenProject();
57+
final ImportedFromLocationFormatter formatter = new ImportedFromLocationFormatterMock(project, importedFrom);
58+
59+
final InputSource source = new InputSource();
60+
source.setModelId("org.example:MPG-183-bom1:1-SNAPSHOT");
61+
final InputLocation location = new InputLocation(7, 5, source);
62+
63+
// Act
64+
final String result = formatter.toString(location);
65+
66+
// Assert
67+
assertEquals("}org.example:MPG-183-bom1:1-SNAPSHOT, line 7 from org.example:MPG-183-bom2:1-SNAPSHOT", result);
68+
}
69+
70+
@Test
71+
public void testImportedFromDoNotPrintSameLocationTwice() {
5172
// Arrange
5273
final InputSource importedFromSource = new InputSource();
5374
importedFromSource.setModelId("org.example:MPG-183-bom:1-SNAPSHOT");
@@ -57,18 +78,18 @@ public void testImportedFromNotNullToString() {
5778
final ImportedFromLocationFormatter formatter = new ImportedFromLocationFormatterMock(project, importedFrom);
5879

5980
final InputSource source = new InputSource();
60-
source.setModelId("org.example:MPG-183-project:1-SNAPSHOT");
81+
source.setModelId("org.example:MPG-183-bom:1-SNAPSHOT");
6182
final InputLocation location = new InputLocation(7, 5, source);
6283

6384
// Act
6485
final String result = formatter.toString(location);
6586

6687
// Assert
67-
assertEquals("}org.example:MPG-183-project:1-SNAPSHOT, line 7 from org.example:MPG-183-bom:1-SNAPSHOT", result);
88+
assertEquals("}org.example:MPG-183-bom:1-SNAPSHOT, line 7", result);
6889
}
6990

7091
@Test
71-
public void testMultipleImportedFromToString() {
92+
public void testImportedFromMultiLevelPrintsWithFrom() {
7293
// Arrange
7394
final ImportedFromLocationFormatter formatter = createMultiImportedFromFormatter();
7495

0 commit comments

Comments
 (0)