[duplicates] enable duplicates analysis in PyCharm/WebStorm/PhpStorm/RubyMine
[idea/community.git] / platform / diff-impl / tests / com / intellij / diff / comparison / WordMergeComparisonUtilTest.kt
1 /*
2  * Copyright 2000-2016 JetBrains s.r.o.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 package com.intellij.diff.comparison
17
18 class WordMergeComparisonUtilTest : ComparisonUtilTestBase() {
19   fun testSimple() {
20     words {
21       ("" - "" - "")
22       ("" - "" - "").default()
23       testAll()
24     }
25
26     words {
27       ("" - "X" - "")
28       ("" - "-" - "").default()
29       testAll()
30     }
31
32     words {
33       ("X" - "" - "")
34       ("-" - "" - "").default()
35       testAll()
36     }
37
38     words {
39       ("a b" - "a b" - "a b")
40       ("   " - "   " - "   ").default()
41       testAll()
42     }
43
44     words {
45       ("A b c" - "a b c" - "a b C")
46       ("-   -" - "-   -" - "-   -").default()
47       testAll()
48     }
49
50     words {
51       ("a c" - "a c" - "a X c")
52       ("   " - "   " - " --  ").default()
53       ("   " - "   " - "  -  ").ignore()
54       testAll()
55     }
56
57     words {
58       ("a X c" - "a X c" - "a c")
59       (" --  " - " --  " - "   ").default()
60       ("  -  " - "  -  " - "   ").ignore()
61       testAll()
62     }
63
64     words {
65       ("a X c" - "a c" - "a Y c")
66       (" --  " - "   " - " --  ").default()
67       ("  -  " - "   " - "  -  ").ignore()
68       testAll()
69     }
70
71     words {
72       ("a c" - "a X c" - "a Y c")
73       ("   " - " --  " - " --  ").default()
74       ("   " - "  -  " - "  -  ").ignore()
75       testAll()
76     }
77   }
78
79   fun testNewlines() {
80     words {
81       ("i" - "i_" - "_i")
82       ("-" - "--" - "--").default() // TODO
83       (" " - "  " - "  ").trim()
84       testAll()
85     }
86
87     words {
88       ("_i" - "i_" - "i")
89       ("--" - "--" - "-").default()
90       ("  " - "  " - " ").trim()
91       testAll()
92     }
93
94     words {
95       ("i" - "_i" - "i_")
96       (" " - "- " - " -").default()
97       (" " - "  " - "  ").trim()
98       testAll()
99     }
100
101     words {
102       ("_i" - "i" - "i_")
103       ("- " - " " - " -").default()
104       ("  " - " " - "  ").trim()
105       testAll()
106     }
107   }
108 }