From e051e1bb0c68bc837123ae96fc683329023db7b4 Mon Sep 17 00:00:00 2001 From: Eugene Kudelevsky Date: Fri, 3 Feb 2012 19:54:57 +0400 Subject: [PATCH] android lint: typography tests --- .../android/inspections/lint/TypographyQuickFix.java | 9 ++++++++- plugins/android/testData/lint/typographyDashes_after.xml | 2 +- plugins/android/testData/lint/typographyQuotes_after.xml | 2 +- .../testSrc/org/jetbrains/android/AndroidLintTest.java | 4 ++-- 4 files changed, 12 insertions(+), 5 deletions(-) diff --git a/plugins/android/src/org/jetbrains/android/inspections/lint/TypographyQuickFix.java b/plugins/android/src/org/jetbrains/android/inspections/lint/TypographyQuickFix.java index 74e7e737cdc8..a290b68ee61d 100644 --- a/plugins/android/src/org/jetbrains/android/inspections/lint/TypographyQuickFix.java +++ b/plugins/android/src/org/jetbrains/android/inspections/lint/TypographyQuickFix.java @@ -2,6 +2,7 @@ package org.jetbrains.android.inspections.lint; import com.android.tools.lint.checks.TypographyDetector; import com.android.tools.lint.detector.api.Issue; +import com.intellij.openapi.application.ApplicationManager; import com.intellij.openapi.editor.Editor; import com.intellij.psi.PsiElement; import com.intellij.psi.util.PsiTreeUtil; @@ -42,7 +43,13 @@ class TypographyQuickFix implements AndroidLintQuickFix { final StringBuilder builder = new StringBuilder(value); for (TypographyDetector.ReplaceEdit edit : edits) { - builder.replace(edit.offset, edit.offset + edit.length, edit.replaceWith); + String with = edit.replaceWith; + + if (ApplicationManager.getApplication().isUnitTestMode()) { + with = with.replace('\u2013', '~').replace('\u2018', '{').replace('\u2019', '}'); + } + + builder.replace(edit.offset, edit.offset + edit.length, with); } final String newValue = builder.toString(); diff --git a/plugins/android/testData/lint/typographyDashes_after.xml b/plugins/android/testData/lint/typographyDashes_after.xml index 35404e3362b2..978f0b9e719d 100644 --- a/plugins/android/testData/lint/typographyDashes_after.xml +++ b/plugins/android/testData/lint/typographyDashes_after.xml @@ -1,4 +1,4 @@ - 10–20 + 10~20 \ No newline at end of file diff --git a/plugins/android/testData/lint/typographyQuotes_after.xml b/plugins/android/testData/lint/typographyQuotes_after.xml index f0539ff7ece6..782ef948f2e4 100644 --- a/plugins/android/testData/lint/typographyQuotes_after.xml +++ b/plugins/android/testData/lint/typographyQuotes_after.xml @@ -1,5 +1,5 @@ untitled303 - aba ‘aba’ + aba {aba} diff --git a/plugins/android/testSrc/org/jetbrains/android/AndroidLintTest.java b/plugins/android/testSrc/org/jetbrains/android/AndroidLintTest.java index dfcd39e34d20..186b291dd2b4 100644 --- a/plugins/android/testSrc/org/jetbrains/android/AndroidLintTest.java +++ b/plugins/android/testSrc/org/jetbrains/android/AndroidLintTest.java @@ -140,7 +140,7 @@ public class AndroidLintTest extends AndroidTestCase { "/res/layout/layout.xml", "xml"); } - /*public void testTypographyDashes() throws Exception { + public void testTypographyDashes() throws Exception { doTestWithFix(new AndroidLintInspectionToolProvider.AndroidLintTypographyDashesInspection(), AndroidBundle.message("android.lint.inspections.replace.with.suggested.characters"), "/res/values/typography.xml", "xml"); @@ -150,7 +150,7 @@ public class AndroidLintTest extends AndroidTestCase { doTestWithFix(new AndroidLintInspectionToolProvider.AndroidLintTypographyQuotesInspection(), AndroidBundle.message("android.lint.inspections.replace.with.suggested.characters"), "/res/values/typography.xml", "xml"); - }*/ + } private void doTestNoFix(@NotNull AndroidLintInspectionBase inspection, @NotNull String copyTo, @NotNull String extension) throws IOException {