diff options
Diffstat (limited to 'sonar-scanner-engine/src/test/java/org/sonar/scm/git/ChangedLinesComputerTest.java')
-rw-r--r-- | sonar-scanner-engine/src/test/java/org/sonar/scm/git/ChangedLinesComputerTest.java | 160 |
1 files changed, 86 insertions, 74 deletions
diff --git a/sonar-scanner-engine/src/test/java/org/sonar/scm/git/ChangedLinesComputerTest.java b/sonar-scanner-engine/src/test/java/org/sonar/scm/git/ChangedLinesComputerTest.java index 078d91fb6d6..346f35af705 100644 --- a/sonar-scanner-engine/src/test/java/org/sonar/scm/git/ChangedLinesComputerTest.java +++ b/sonar-scanner-engine/src/test/java/org/sonar/scm/git/ChangedLinesComputerTest.java @@ -31,12 +31,14 @@ public class ChangedLinesComputerTest { @Test public void do_not_count_deleted_line() throws IOException { - String example = "diff --git a/file-b1.xoo b/file-b1.xoo\n" - + "index 0000000..c2a9048\n" - + "--- a/foo\n" - + "+++ b/bar\n" - + "@@ -1 +0,0 @@\n" - + "-deleted line\n"; + String example = """ + diff --git a/file-b1.xoo b/file-b1.xoo + index 0000000..c2a9048 + --- a/foo + +++ b/bar + @@ -1 +0,0 @@ + -deleted line + """; printDiff(example); assertThat(underTest.changedLines()).isEmpty(); @@ -44,12 +46,14 @@ public class ChangedLinesComputerTest { @Test public void count_single_added_line() throws IOException { - String example = "diff --git a/file-b1.xoo b/file-b1.xoo\n" - + "index 0000000..c2a9048\n" - + "--- a/foo\n" - + "+++ b/bar\n" - + "@@ -0,0 +1 @@\n" - + "+added line\n"; + String example = """ + diff --git a/file-b1.xoo b/file-b1.xoo + index 0000000..c2a9048 + --- a/foo + +++ b/bar + @@ -0,0 +1 @@ + +added line + """; printDiff(example); assertThat(underTest.changedLines()).containsExactly(1); @@ -57,14 +61,16 @@ public class ChangedLinesComputerTest { @Test public void count_multiple_added_lines() throws IOException { - String example = "diff --git a/file-b1.xoo b/file-b1.xoo\n" - + "index 0000000..c2a9048\n" - + "--- a/foo\n" - + "+++ b/bar\n" - + "@@ -1 +1,3 @@\n" - + " unchanged line\n" - + "+added line 1\n" - + "+added line 2\n"; + String example = """ + diff --git a/file-b1.xoo b/file-b1.xoo + index 0000000..c2a9048 + --- a/foo + +++ b/bar + @@ -1 +1,3 @@ + unchanged line + +added line 1 + +added line 2 + """; printDiff(example); assertThat(underTest.changedLines()).containsExactly(2, 3); @@ -72,72 +78,78 @@ public class ChangedLinesComputerTest { @Test public void compute_from_multiple_hunks() throws IOException { - String example = "diff --git a/lao b/lao\n" - + "index 635ef2c..5af88a8 100644\n" - + "--- a/lao\n" - + "+++ b/lao\n" - + "@@ -1,7 +1,6 @@\n" - + "-The Way that can be told of is not the eternal Way;\n" - + "-The name that can be named is not the eternal name.\n" - + " The Nameless is the origin of Heaven and Earth;\n" - + "-The Named is the mother of all things.\n" - + "+The named is the mother of all things.\n" - + "+\n" - + " Therefore let there always be non-being,\n" - + " so we may see their subtlety,\n" - + " And let there always be being,\n" - + "@@ -9,3 +8,6 @@ And let there always be being,\n" - + " The two are the same,\n" - + " But after they are produced,\n" - + " they have different names.\n" - + "+They both may be called deep and profound.\n" - + "+Deeper and more profound,\n" - + "+The door of all subtleties!\n"; + String example = """ + diff --git a/lao b/lao + index 635ef2c..5af88a8 100644 + --- a/lao + +++ b/lao + @@ -1,7 +1,6 @@ + -The Way that can be told of is not the eternal Way; + -The name that can be named is not the eternal name. + The Nameless is the origin of Heaven and Earth; + -The Named is the mother of all things. + +The named is the mother of all things. + + + Therefore let there always be non-being, + so we may see their subtlety, + And let there always be being, + @@ -9,3 +8,6 @@ And let there always be being, + The two are the same, + But after they are produced, + they have different names. + +They both may be called deep and profound. + +Deeper and more profound, + +The door of all subtleties! + """; printDiff(example); assertThat(underTest.changedLines()).containsExactly(2, 3, 11, 12, 13); } @Test public void compute_from_multiple_hunks_with_extra_header_lines() throws IOException { - String example = "diff --git a/lao b/lao\n" - + "new file mode 100644\n" - + "whatever " - + "other " - + "surprise header lines git might throw at us...\n" - + "index 635ef2c..5af88a8 100644\n" - + "--- a/lao\n" - + "+++ b/lao\n" - + "@@ -1,7 +1,6 @@\n" - + "-The Way that can be told of is not the eternal Way;\n" - + "-The name that can be named is not the eternal name.\n" - + " The Nameless is the origin of Heaven and Earth;\n" - + "-The Named is the mother of all things.\n" - + "+The named is the mother of all things.\n" - + "+\n" - + " Therefore let there always be non-being,\n" - + " so we may see their subtlety,\n" - + " And let there always be being,\n" - + "@@ -9,3 +8,6 @@ And let there always be being,\n" - + " The two are the same,\n" - + " But after they are produced,\n" - + " they have different names.\n" - + "+They both may be called deep and profound.\n" - + "+Deeper and more profound,\n" - + "+The door of all subtleties!\n"; + String example = """ + diff --git a/lao b/lao + new file mode 100644 + whatever \ + other \ + surprise header lines git might throw at us... + index 635ef2c..5af88a8 100644 + --- a/lao + +++ b/lao + @@ -1,7 +1,6 @@ + -The Way that can be told of is not the eternal Way; + -The name that can be named is not the eternal name. + The Nameless is the origin of Heaven and Earth; + -The Named is the mother of all things. + +The named is the mother of all things. + + + Therefore let there always be non-being, + so we may see their subtlety, + And let there always be being, + @@ -9,3 +8,6 @@ And let there always be being, + The two are the same, + But after they are produced, + they have different names. + +They both may be called deep and profound. + +Deeper and more profound, + +The door of all subtleties! + """; printDiff(example); assertThat(underTest.changedLines()).containsExactly(2, 3, 11, 12, 13); } @Test public void throw_exception_invalid_start_line_format() throws IOException { - String example = "diff --git a/file-b1.xoo b/file-b1.xoo\n" - + "index 0000000..c2a9048\n" - + "--- a/foo\n" - + "+++ b/bar\n" - + "@@ -1 +x1,3 @@\n" - + " unchanged line\n" - + "+added line 1\n" - + "+added line 2\n"; + String example = """ + diff --git a/file-b1.xoo b/file-b1.xoo + index 0000000..c2a9048 + --- a/foo + +++ b/bar + @@ -1 +x1,3 @@ + unchanged line + +added line 1 + +added line 2 + """; assertThatThrownBy(() -> printDiff(example)) .isInstanceOf(IllegalStateException.class); |