KT-7848: Literal copy/paste processor for Kotlin (#1074)

* KT-7848 Initial implementation of literal copy/paste processor for Kotlin

* KT-7847: Tests

* KT-7847: fix issues caught in unit tests with recognizing invalid template entries

* KT-7847: check for KtFile

* KT-7847:  fix capitalization for test data file names

* KT-7847:  Initial changes according as per review
This commit is contained in:
Yuli Fiterman
2017-05-08 10:18:28 -04:00
committed by Dmitry Jemerov
parent 8e00af5642
commit 99b1bb98dc
40 changed files with 564 additions and 0 deletions
@@ -0,0 +1 @@
val a = "begin $a else end"
+2
View File
@@ -0,0 +1,2 @@
val a = "something"
val b = "something <selection>$a else</selection>"
@@ -0,0 +1 @@
val a = "begin <caret> end"
@@ -0,0 +1 @@
val a = "begin ${a.length} else end"
+2
View File
@@ -0,0 +1,2 @@
val a = "something"
val b = "something <selection>${a.length} else</selection>"
@@ -0,0 +1 @@
val a = "begin <caret> end"
@@ -0,0 +1,2 @@
val a = """asomething ${'$'}{dsadas
somethingelse"""
@@ -0,0 +1 @@
val a = """a<caret>"""
@@ -0,0 +1,2 @@
something ${dsadas
somethingelse
@@ -0,0 +1,2 @@
val a = "somethinga/b\n" +
"c/d"
+1
View File
@@ -0,0 +1 @@
val a = "something<caret>"
@@ -0,0 +1,2 @@
a/b
c/d
@@ -0,0 +1,2 @@
val a = """something a/b
c/d"""
@@ -0,0 +1 @@
val a = """something <caret>"""
@@ -0,0 +1,2 @@
a/b
c/d
@@ -0,0 +1 @@
val a ="""literal ""${'"'}${'"'}${'"'} foo ""${'"'}${'"'}${'"'} literal"""
@@ -0,0 +1 @@
val a ="""literal <caret> literal"""
@@ -0,0 +1 @@
""""" foo """""
@@ -0,0 +1 @@
val fo ="some plain string"
@@ -0,0 +1 @@
val fo ="<caret>"
@@ -0,0 +1 @@
some plain string
@@ -0,0 +1 @@
val pattern = "iframe=\"(\\w)\""
@@ -0,0 +1 @@
val pattern = "<caret>"
@@ -0,0 +1 @@
iframe="(\w)"
@@ -0,0 +1 @@
val a ="""literal hello ${'$'}${'$'}${'$'} hello literal"""
@@ -0,0 +1 @@
val a ="""literal <caret> literal"""
@@ -0,0 +1 @@
hello $$$ hello
@@ -0,0 +1 @@
val a="Hello, ${a.substring("a${'c'}".length)}.length)}"
@@ -0,0 +1 @@
val a="<caret>"
@@ -0,0 +1 @@
Hello, ${a.substring("a${'c'}".length)}.length)}
@@ -0,0 +1,3 @@
fun file(){
println("Hello, \"Mary\"")
}
@@ -0,0 +1,3 @@
fun file(){
println("Hello, <caret>")
}
@@ -0,0 +1 @@
"Mary"