diff --git a/idea/tests/org/jetbrains/kotlin/idea/highlighter/KotlinHighlightingLexerTest.kt b/idea/tests/org/jetbrains/kotlin/idea/highlighter/KotlinHighlightingLexerTest.kt new file mode 100644 index 00000000000..f61042ef09d --- /dev/null +++ b/idea/tests/org/jetbrains/kotlin/idea/highlighter/KotlinHighlightingLexerTest.kt @@ -0,0 +1,37 @@ +/* + * Copyright 2010-2016 JetBrains s.r.o. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.jetbrains.kotlin.idea.highlighter + +import com.intellij.testFramework.LexerTestCase + +class KotlinHighlightingLexerTest : LexerTestCase() { + override fun createLexer() = KotlinHighlightingLexer() + + fun testCharLiteralValidEscape() { + doTest("'\\n'", """CHARACTER_LITERAL (''') + |VALID_STRING_ESCAPE_TOKEN ('\n') + |CHARACTER_LITERAL (''')""".trimMargin()) + } + + fun testCharLiteralInvalidEscape() { + doTest("'\\q'", """CHARACTER_LITERAL (''') + |INVALID_CHARACTER_ESCAPE_TOKEN ('\q') + |CHARACTER_LITERAL (''')""".trimMargin()) + } + + override fun getDirPath() = throw UnsupportedOperationException() +}