package com.intellij.codeInspection.tests.java import com.intellij.jvm.analysis.internal.testFramework.SystemGetPropertyInspectionTestBase import com.intellij.jvm.analysis.testFramework.JvmLanguage class JavaSystemGetPropertyInspectionTest : SystemGetPropertyInspectionTestBase() { fun `test highlighting`() { myFixture.testHighlighting(JvmLanguage.JAVA, """ class Foo { public static void bar() { System.getProperty("file.separator"); System.getProperty("path.separator"); System.getProperty("line.separator"); System.getProperty("file.encoding"); } } """.trimIndent()) } fun `test quickfix file-separator`() { myFixture.testQuickFix(JvmLanguage.JAVA, """ class Foo { fun bar() { System.getProperty("file.separator"); } } """.trimIndent(), """ import java.nio.file.FileSystems; class Foo { fun bar() { FileSystems.getDefault().getSeparator(); } } """.trimIndent(), "Replace with 'java.nio.file.FileSystems.getDefault().getSeparator()'", true) } fun `test quickfix path-separator`() { myFixture.testQuickFix(JvmLanguage.JAVA, """ class Foo { fun bar() { System.getProperty("path.separator"); } } """.trimIndent(), """ import java.io.File; class Foo { fun bar() { File.pathSeparator; } } """.trimIndent(), "Replace with 'java.io.File.pathSeparator'", true) } fun `test quickfix line-separator`() { myFixture.testQuickFix(JvmLanguage.JAVA, """ class Foo { fun bar() { System.getProperty("line.separator"); } } """.trimIndent(), """ class Foo { fun bar() { System.lineSeparator(); } } """.trimIndent(), "Replace with 'java.lang.System.lineSeparator()'", true) } fun `test quickfix file-encoding`() { myFixture.testQuickFix(JvmLanguage.JAVA, """ class Foo { fun bar() { System.getProperty("file.encoding"); } } """.trimIndent(), """ import java.nio.charset.Charset; class Foo { fun bar() { Charset.defaultCharset().displayName(); } } """.trimIndent(), "Replace with 'java.nio.charset.Charset.defaultCharset().displayName()'", true) } }