Skip to content

Commit 3b5138f

Browse files
committed
Тесты на crazy стринг
1 parent 83b2f00 commit 3b5138f

File tree

2 files changed

+61
-8
lines changed

2 files changed

+61
-8
lines changed

src/test/java/com/github/_1c_syntax/bsl/sonar/BSLHighlighterTest.java

Lines changed: 60 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ void testMergeHighlightingTokens() {
8585
// given
8686
context = SensorContextTester.create(Path.of("."));
8787
highlighter = new BSLHighlighter(context);
88-
String content = "А = \"ВЫБРАТЬ РАЗРЕШЕННЫЕ Поле.Один \n" +
88+
String content = "А = \"\" \"ВЫБРАТЬ РАЗРЕШЕННЫЕ Поле.Один \n" +
8989
"|КАК \n" +
9090
"| Один, 2 \n" +
9191
" | КАК Два ИЗ Справочник.Поле\n" +
@@ -101,12 +101,65 @@ void testMergeHighlightingTokens() {
101101
// then
102102
String componentKey = "moduleKey:" + FILE_NAME;
103103

104-
checkTokenTypeAtPosition(componentKey, 1, 4, TypeOfText.STRING);
105-
checkTokenTypeAtPosition(componentKey, 1, 5, TypeOfText.KEYWORD);
106-
checkTokenTypeAtPosition(componentKey, 1, 6, TypeOfText.KEYWORD);
107-
checkTokenTypeAtPosition(componentKey, 1, 12, TypeOfText.STRING);
108-
checkTokenTypeAtPosition(componentKey, 1, 13, TypeOfText.KEYWORD);
109-
checkTokenTypeAtPosition(componentKey, 1, 25, TypeOfText.STRING);
104+
checkTokenTypeAtPosition(componentKey, 1, 7, TypeOfText.STRING);
105+
checkTokenTypeAtPosition(componentKey, 1, 8, TypeOfText.KEYWORD);
106+
checkTokenTypeAtPosition(componentKey, 1, 9, TypeOfText.KEYWORD);
107+
checkTokenTypeAtPosition(componentKey, 1, 15, TypeOfText.STRING);
108+
checkTokenTypeAtPosition(componentKey, 1, 16, TypeOfText.KEYWORD);
109+
checkTokenTypeAtPosition(componentKey, 1, 28, TypeOfText.STRING);
110+
111+
checkTokenTypeAtPosition(componentKey, 2, 0, TypeOfText.STRING);
112+
checkTokenTypeAtPosition(componentKey, 2, 1, TypeOfText.KEYWORD);
113+
checkTokenTypeAtPosition(componentKey, 2, 2, TypeOfText.KEYWORD);
114+
115+
checkTokenTypeAtPosition(componentKey, 3, 0, TypeOfText.STRING);
116+
checkTokenTypeAtPosition(componentKey, 3, 1, TypeOfText.STRING);
117+
checkTokenTypeAtPosition(componentKey, 3, 5, TypeOfText.STRING);
118+
checkTokenTypeAtPosition(componentKey, 3, 9, TypeOfText.CONSTANT);
119+
120+
checkTokenTypeAtPosition(componentKey, 4, 1, TypeOfText.STRING);
121+
checkTokenTypeAtPosition(componentKey, 4, 2, TypeOfText.STRING);
122+
checkTokenTypeAtPosition(componentKey, 4, 6, TypeOfText.KEYWORD);
123+
checkTokenTypeAtPosition(componentKey, 4, 10, TypeOfText.STRING);
124+
checkTokenTypeAtPosition(componentKey, 4, 13, TypeOfText.KEYWORD);
125+
checkTokenTypeAtPosition(componentKey, 4, 16, TypeOfText.KEYWORD_LIGHT);
126+
127+
checkTokenTypeAtPosition(componentKey, 5, 0, TypeOfText.STRING);
128+
checkTokenTypeAtPosition(componentKey, 5, 1, TypeOfText.KEYWORD);
129+
checkTokenTypeAtPosition(componentKey, 5, 18, TypeOfText.KEYWORD);
130+
checkTokenTypeAtPosition(componentKey, 5, 19, TypeOfText.KEYWORD_LIGHT);
131+
checkTokenTypeAtPosition(componentKey, 5, 20, TypeOfText.STRING);
132+
checkTokenTypeAtPosition(componentKey, 5, 21, TypeOfText.KEYWORD_LIGHT);
133+
134+
}
135+
136+
@Test
137+
void testCrazyStrings() {
138+
// given
139+
context = SensorContextTester.create(Path.of("."));
140+
highlighter = new BSLHighlighter(context);
141+
String content = "ТекстПредупреждения = " +
142+
"\"выбрать пункт меню \"" +
143+
"\" и следовать подсказкам мастера обновления\';uk=\'Увага, використовується застаріла версія FREDO Звіт!\"" +
144+
"\" і слідувати підказкам майстра оновлення\'";
145+
146+
documentContext = new DocumentContext(URI.create("file:///fake.bsl"), content, null, null);
147+
documentContext.rebuild(content);
148+
149+
inputFile = Tools.inputFileBSL(FILE_NAME, BASE_DIR, content);
150+
151+
// when
152+
highlighter.saveHighlighting(inputFile, documentContext);
153+
154+
// then
155+
String componentKey = "moduleKey:" + FILE_NAME;
156+
157+
checkTokenTypeAtPosition(componentKey, 1, 7, TypeOfText.STRING);
158+
checkTokenTypeAtPosition(componentKey, 1, 8, TypeOfText.KEYWORD);
159+
checkTokenTypeAtPosition(componentKey, 1, 9, TypeOfText.KEYWORD);
160+
checkTokenTypeAtPosition(componentKey, 1, 15, TypeOfText.STRING);
161+
checkTokenTypeAtPosition(componentKey, 1, 16, TypeOfText.KEYWORD);
162+
checkTokenTypeAtPosition(componentKey, 1, 28, TypeOfText.STRING);
110163

111164
checkTokenTypeAtPosition(componentKey, 2, 0, TypeOfText.STRING);
112165
checkTokenTypeAtPosition(componentKey, 2, 1, TypeOfText.KEYWORD);

src/test/resources/src/test.bsl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,5 +12,5 @@
1212
Проверка = Истина;
1313
Число = 0.01;
1414
// Комментарий?
15-
15+
F = "F" "f";
1616
#КонецОбласти

0 commit comments

Comments
 (0)