From 730e9efc47c5e9166250baa0a9502e8f66264352 Mon Sep 17 00:00:00 2001 From: Andrey Vokin Date: Fri, 10 Apr 2015 19:17:47 +0300 Subject: [PATCH] RUBY-16568 Spell check does not work outside of HTML tags --- .../spellchecker/tokenizer/SpellcheckingStrategy.java | 5 +++++ spellchecker/testData/inspection/xmlWithMistakes/test.html | 3 +++ .../inspection/XmlWithMistakesInspectionTest.java | 4 ++++ 3 files changed, 12 insertions(+) create mode 100644 spellchecker/testData/inspection/xmlWithMistakes/test.html diff --git a/spellchecker/src/com/intellij/spellchecker/tokenizer/SpellcheckingStrategy.java b/spellchecker/src/com/intellij/spellchecker/tokenizer/SpellcheckingStrategy.java index ccdc1199f534..fa88295a75cd 100644 --- a/spellchecker/src/com/intellij/spellchecker/tokenizer/SpellcheckingStrategy.java +++ b/spellchecker/src/com/intellij/spellchecker/tokenizer/SpellcheckingStrategy.java @@ -25,6 +25,8 @@ import com.intellij.psi.*; import com.intellij.psi.impl.source.tree.injected.InjectedLanguageUtil; import com.intellij.psi.xml.XmlAttributeValue; import com.intellij.psi.xml.XmlText; +import com.intellij.psi.xml.XmlToken; +import com.intellij.psi.xml.XmlTokenType; import com.intellij.spellchecker.inspections.PlainTextSplitter; import com.intellij.spellchecker.inspections.TextSplitter; import com.intellij.spellchecker.quickfixes.AcceptWordAsCorrect; @@ -71,6 +73,9 @@ public class SpellcheckingStrategy { } return TEXT_TOKENIZER; } + if (element instanceof XmlToken && ((XmlToken)element).getTokenType() == XmlTokenType.XML_DATA_CHARACTERS) { + return TEXT_TOKENIZER; + } return EMPTY_TOKENIZER; } diff --git a/spellchecker/testData/inspection/xmlWithMistakes/test.html b/spellchecker/testData/inspection/xmlWithMistakes/test.html new file mode 100644 index 000000000000..4670964129ee --- /dev/null +++ b/spellchecker/testData/inspection/xmlWithMistakes/test.html @@ -0,0 +1,3 @@ +test +ttest +
test
\ No newline at end of file diff --git a/spellchecker/testSrc/com/intellij/spellchecker/inspection/XmlWithMistakesInspectionTest.java b/spellchecker/testSrc/com/intellij/spellchecker/inspection/XmlWithMistakesInspectionTest.java index a212cda9aad2..18f039b21533 100644 --- a/spellchecker/testSrc/com/intellij/spellchecker/inspection/XmlWithMistakesInspectionTest.java +++ b/spellchecker/testSrc/com/intellij/spellchecker/inspection/XmlWithMistakesInspectionTest.java @@ -27,4 +27,8 @@ public class XmlWithMistakesInspectionTest extends SpellcheckerInspectionTestCas public void testXml() { doTest("test.xml"); } + + public void testCharacterData() { + doTest("test.html"); + } }