mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
PY-23884 ReST :kbd: Markup is Not Highlighted Correctly
This commit is contained in:
@@ -5,7 +5,6 @@ import com.jetbrains.rest.lexer._RestFlexLexer;
|
||||
import junit.framework.TestCase;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.io.Reader;
|
||||
|
||||
/**
|
||||
* User : catherine
|
||||
@@ -26,7 +25,7 @@ public class RestLexerTest extends TestCase {
|
||||
"[Quick start guide\n" +
|
||||
"=================\n" +
|
||||
", TITLE]"
|
||||
);
|
||||
);
|
||||
}
|
||||
|
||||
public void testDirective() throws IOException {
|
||||
@@ -35,35 +34,35 @@ public class RestLexerTest extends TestCase {
|
||||
" Please",
|
||||
"[\n, WHITESPACE]",
|
||||
"[.. , EXPLISIT_MARKUP_START]",
|
||||
"[note::, DIRECTIVE]",
|
||||
"[\n, WHITESPACE]",
|
||||
"[ , WHITESPACE]",
|
||||
"[Please, LINE]"
|
||||
);
|
||||
"[note::, DIRECTIVE]",
|
||||
"[\n, WHITESPACE]",
|
||||
"[ , WHITESPACE]",
|
||||
"[Please, LINE]"
|
||||
);
|
||||
}
|
||||
|
||||
public void testSubstitution() throws IOException {
|
||||
doTest(".. |grappelli| replace:: Grappelli",
|
||||
"[.. , EXPLISIT_MARKUP_START]",
|
||||
"[|grappelli|, SUBSTITUTION]",
|
||||
"[ , WHITESPACE]",
|
||||
"[replace::, DIRECTIVE]",
|
||||
"[ Grappelli, LINE]"
|
||||
);
|
||||
"[|grappelli|, SUBSTITUTION]",
|
||||
"[ , WHITESPACE]",
|
||||
"[replace::, DIRECTIVE]",
|
||||
"[ Grappelli, LINE]"
|
||||
);
|
||||
}
|
||||
|
||||
public void testField() throws IOException {
|
||||
doTest(".. figure:: image.png\n" +
|
||||
" :width: 300pt",
|
||||
"[.. , EXPLISIT_MARKUP_START]",
|
||||
"[figure::, DIRECTIVE]",
|
||||
"[ image.png, LINE]",
|
||||
"[\n, WHITESPACE]",
|
||||
"[ , WHITESPACE]",
|
||||
"[:width:, FIELD]",
|
||||
"[ , LINE]",
|
||||
"[300pt, LINE]"
|
||||
);
|
||||
"[figure::, DIRECTIVE]",
|
||||
"[ image.png, LINE]",
|
||||
"[\n, WHITESPACE]",
|
||||
"[ , WHITESPACE]",
|
||||
"[:width:, FIELD]",
|
||||
"[ , LINE]",
|
||||
"[300pt, LINE]"
|
||||
);
|
||||
}
|
||||
|
||||
public void testRole() throws IOException { //PY-3810
|
||||
@@ -73,54 +72,113 @@ public class RestLexerTest extends TestCase {
|
||||
"[ , LINE]",
|
||||
"[role, LINE]",
|
||||
"[ , LINE]",
|
||||
"[:roole1:, FIELD]",
|
||||
"[`some text`, INTERPRETED]",
|
||||
"[ , LINE]",
|
||||
"[:, LINE]",
|
||||
"[notparsed, LINE]",
|
||||
"[:, LINE]",
|
||||
"[ , LINE]",
|
||||
"[text, LINE]",
|
||||
"[\n, WHITESPACE]",
|
||||
"[:list field:, FIELD]",
|
||||
"[\n, WHITESPACE]",
|
||||
"[ , LINE]",
|
||||
"[:second field:, FIELD]",
|
||||
"[\n, WHITESPACE]"
|
||||
);
|
||||
"[:roole1:, FIELD]",
|
||||
"[`some text`, INTERPRETED]",
|
||||
"[ , LINE]",
|
||||
"[:, LINE]",
|
||||
"[notparsed, LINE]",
|
||||
"[:, LINE]",
|
||||
"[ , LINE]",
|
||||
"[text, LINE]",
|
||||
"[\n, WHITESPACE]",
|
||||
"[:list field:, FIELD]",
|
||||
"[\n, WHITESPACE]",
|
||||
"[ , LINE]",
|
||||
"[:second field:, FIELD]",
|
||||
"[\n, WHITESPACE]"
|
||||
);
|
||||
}
|
||||
|
||||
public void testFootnote() throws IOException {
|
||||
doTest(".. [2] Random",
|
||||
"[.. , EXPLISIT_MARKUP_START]",
|
||||
"[[2], FOOTNOTE]",
|
||||
"[ , LINE]",
|
||||
"[Random, LINE]"
|
||||
);
|
||||
"[[2], FOOTNOTE]",
|
||||
"[ , LINE]",
|
||||
"[Random, LINE]"
|
||||
);
|
||||
}
|
||||
|
||||
public void testHyperlink() throws IOException {
|
||||
doTest(".. _`dvipng`: http://savannah.nongnu.org/projects/dvipng/",
|
||||
"[.. , EXPLISIT_MARKUP_START]",
|
||||
"[_`dvipng`:, HYPERLINK]",
|
||||
"[ , LINE]",
|
||||
"[http://savannah.nongnu.org/projects/dvipng/, DIRECT_HYPERLINK]"
|
||||
);
|
||||
"[_`dvipng`:, HYPERLINK]",
|
||||
"[ , LINE]",
|
||||
"[http://savannah.nongnu.org/projects/dvipng/, DIRECT_HYPERLINK]"
|
||||
);
|
||||
}
|
||||
|
||||
public void testItalics() throws IOException {
|
||||
doTest("*italics* highlighting",
|
||||
"[*italics*, ITALIC]",
|
||||
"[ , LINE]",
|
||||
"[highlighting, LINE]"
|
||||
);
|
||||
"[*italics*, ITALIC]",
|
||||
"[ , LINE]",
|
||||
"[highlighting, LINE]"
|
||||
);
|
||||
}
|
||||
|
||||
public void testBold() throws IOException {
|
||||
doTest("**bold** highlighting",
|
||||
"[**bold**, BOLD]",
|
||||
"[ , LINE]",
|
||||
"[highlighting, LINE]"
|
||||
"[**bold**, BOLD]",
|
||||
"[ , LINE]",
|
||||
"[highlighting, LINE]"
|
||||
);
|
||||
}
|
||||
|
||||
public void testInterpreted() throws IOException {
|
||||
doTest(":kbd:`1`\n" +
|
||||
"\n" +
|
||||
":kbd:`a`\n" +
|
||||
"\n" +
|
||||
":kbd:`*`\n" +
|
||||
"\n" +
|
||||
":kbd:`12`\n" +
|
||||
"\n" +
|
||||
":kbd:`ab`\n" +
|
||||
"\n" +
|
||||
":kbd:`**`\n" +
|
||||
"\n" +
|
||||
":kbd:`1`, :kbd:`2`",
|
||||
"[:kbd:, FIELD]",
|
||||
"[`1`, INTERPRETED]",
|
||||
"[\n" +
|
||||
", WHITESPACE]",
|
||||
"[\n" +
|
||||
", WHITESPACE]",
|
||||
"[:kbd:, FIELD]",
|
||||
"[`a`, INTERPRETED]",
|
||||
"[\n" +
|
||||
", WHITESPACE]",
|
||||
"[\n" +
|
||||
", WHITESPACE]",
|
||||
"[:kbd:, FIELD]",
|
||||
"[`*`, INTERPRETED]",
|
||||
"[\n" +
|
||||
", WHITESPACE]",
|
||||
"[\n" +
|
||||
", WHITESPACE]",
|
||||
"[:kbd:, FIELD]",
|
||||
"[`12`, INTERPRETED]",
|
||||
"[\n" +
|
||||
", WHITESPACE]",
|
||||
"[\n" +
|
||||
", WHITESPACE]",
|
||||
"[:kbd:, FIELD]",
|
||||
"[`ab`, INTERPRETED]",
|
||||
"[\n" +
|
||||
", WHITESPACE]",
|
||||
"[\n" +
|
||||
", WHITESPACE]",
|
||||
"[:kbd:, FIELD]",
|
||||
"[`**`, INTERPRETED]",
|
||||
"[\n" +
|
||||
", WHITESPACE]",
|
||||
"[\n" +
|
||||
", WHITESPACE]",
|
||||
"[:kbd:, FIELD]",
|
||||
"[`1`, INTERPRETED]",
|
||||
"[,, LINE]",
|
||||
"[ , LINE]",
|
||||
"[:kbd:, FIELD]",
|
||||
"[`2`, INTERPRETED]"
|
||||
);
|
||||
}
|
||||
|
||||
@@ -137,7 +195,7 @@ public class RestLexerTest extends TestCase {
|
||||
}
|
||||
|
||||
public static _RestFlexLexer createLexer(String text) {
|
||||
_RestFlexLexer lexer = new _RestFlexLexer((Reader)null);
|
||||
_RestFlexLexer lexer = new _RestFlexLexer(null);
|
||||
lexer.reset(text, 0, text.length(), _RestFlexLexer.YYINITIAL);
|
||||
return lexer;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user