1
0
mirror of https://github.com/alei1180/curlone.git synced 2025-11-24 22:53:34 +02:00

fix: Исправить формирование кода для коннектора с множественными опциями -F name=<file<N> (#241)

This commit is contained in:
Dmitry Ivanov
2025-10-05 22:40:12 +03:00
committed by GitHub
parent d06565762f
commit c7e6edab88
4 changed files with 531 additions and 499 deletions

View File

@@ -398,10 +398,10 @@
Для Каждого ИмяПеременнойФайла Из МассивПеременныхФайлов Цикл
КонструкторДанных.ДобавитьСтроку(
"%1[%2].Добавить(%3));",
"%1[%2].{t(Массив.Добавить)}(%3);",
ИмяПараметра,
КонструкторДанных.ПараметрВСтроку(ИмяПоля),
КонструкторДанных.ПараметрВСтроку(ИмяПеременнойФайла)
ИмяПеременнойФайла
);
КонецЦикла;

View File

@@ -0,0 +1,52 @@
#Использовать asserts
Перем _КонвертерКомандыCURL;
Перем _ГенераторПоУмолчанию;
Процедура ПриСозданииОбъекта(КонвертерКомандыCURL, ГенераторПоУмолчанию)
_КонвертерКомандыCURL = КонвертерКомандыCURL;
_ГенераторПоУмолчанию = ГенераторПоУмолчанию;
КонецПроцедуры
Процедура Проверить(КонсольнаяКоманда, ПрограммныйКод, Генератор = Неопределено) Экспорт
Если Генератор = Неопределено Тогда
Генератор = _ГенераторПоУмолчанию;
КонецЕсли;
// Результат конвертации
Ошибки = Неопределено;
_КонвертерКомандыCURL.УстановитьЯзыкПеревода("ru");
Результат = _КонвертерКомандыCURL.Конвертировать(КонсольнаяКоманда, Генератор, Ошибки);
Ожидаем.Что(Результат, КонсольнаяКоманда).Равно(ПрограммныйКод);
Ожидаем.Что(Ошибки, КонсольнаяКоманда).Не_().Заполнено();
// Перевод
Если СодержитРусскиеБуквы(КонсольнаяКоманда) Тогда
Возврат;
КонецЕсли;
_КонвертерКомандыCURL.УстановитьЯзыкПеревода("en");
РезультатПеревода = _КонвертерКомандыCURL.Конвертировать(КонсольнаяКоманда, Генератор, Ошибки);
Сообщение = СтрШаблон("Перевод %1:
|%2", КонсольнаяКоманда, РезультатПеревода);
Ожидаем.Что(РезультатПеревода).Не_().Содержит("{t(");
Ожидаем.Что(СодержитРусскиеБуквы(РезультатПеревода), Сообщение).ЭтоЛожь();
КонецПроцедуры
Функция СодержитРусскиеБуквы(Строка)
Алфавит = "абвгдеёжзийклмнопрстуфхцчшщъыьэюя"; // BSLLS:Typo-off
Для Порядок = 1 По СтрДлина(Алфавит) Цикл
Если СтрНайти(Строка, Сред(Алфавит, Порядок, 1)) > 0 Тогда
Возврат Истина;
КонецЕсли;
КонецЦикла;
Возврат Ложь;
КонецФункции

View File

@@ -4,15 +4,18 @@
#Использовать asserts
#Использовать "../src/core"
#Использовать "helpers"
Перем КонвертерКомандыCURL; // КонвертерКомандыCURL
Перем ГенераторПоУмолчанию; // ГенераторПрограммногоКода1С
Перем ВалидаторКонвертацииКоманды; // ВалидаторКонвертацииКоманды
&Инициализация
Процедура ПередЗапускомТестов() Экспорт
КонвертерКомандыCURL = Новый КонвертерКомандыCURL();
ГенераторПоУмолчанию = Новый ГенераторПрограммногоКода1С();
ВалидаторКонвертацииКоманды = Новый ВалидаторКонвертацииКоманды(КонвертерКомандыCURL, ГенераторПоУмолчанию);
КонецПроцедуры
@@ -237,7 +240,7 @@
);
Для Каждого Строка Из ТестовыеДанные Цикл
ПроверитьКонвертациюБезОшибок(Строка.Ключ, Строка.Значение);
ВалидаторКонвертацииКоманды.Проверить(Строка.Ключ, Строка.Значение);
КонецЦикла;
КонецПроцедуры
@@ -262,7 +265,7 @@
|
|HTTPОтвет = Соединение.ВызватьHTTPМетод(""GET"", HTTPЗапрос);";
ПроверитьКонвертациюБезОшибок(КонсольнаяКоманда, ПрограммныйКод);
ВалидаторКонвертацииКоманды.Проверить(КонсольнаяКоманда, ПрограммныйКод);
КонецПроцедуры
@@ -287,7 +290,7 @@
|
|HTTPОтвет = Соединение.ВызватьHTTPМетод(""GET"", HTTPЗапрос);";
ПроверитьКонвертациюБезОшибок(КонсольнаяКоманда, ПрограммныйКод);
ВалидаторКонвертацииКоманды.Проверить(КонсольнаяКоманда, ПрограммныйКод);
КонецПроцедуры
@@ -301,7 +304,7 @@
|
|HTTPОтвет = Соединение.ВызватьHTTPМетод(""POST"", HTTPЗапрос);";
ПроверитьКонвертациюБезОшибок(КонсольнаяКоманда, ПрограммныйКод);
ВалидаторКонвертацииКоманды.Проверить(КонсольнаяКоманда, ПрограммныйКод);
КонецПроцедуры
@@ -354,7 +357,7 @@
);
Для Каждого Строка Из ТестовыеДанные Цикл
ПроверитьКонвертациюБезОшибок(Строка.Ключ, Строка.Значение);
ВалидаторКонвертацииКоманды.Проверить(Строка.Ключ, Строка.Значение);
КонецЦикла;
КонецПроцедуры
@@ -426,7 +429,7 @@
|
|HTTPОтвет = Соединение.ВызватьHTTPМетод(""POST"", HTTPЗапрос);";
ПроверитьКонвертациюБезОшибок(КонсольнаяКоманда, ПрограммныйКод);
ВалидаторКонвертацииКоманды.Проверить(КонсольнаяКоманда, ПрограммныйКод);
КонецПроцедуры
@@ -462,7 +465,7 @@
|
|HTTPОтвет = Соединение.ВызватьHTTPМетод(""POST"", HTTPЗапрос);";
ПроверитьКонвертациюБезОшибок(КонсольнаяКоманда, ПрограммныйКод);
ВалидаторКонвертацииКоманды.Проверить(КонсольнаяКоманда, ПрограммныйКод);
КонецПроцедуры
@@ -480,7 +483,7 @@
|
|HTTPОтвет = Соединение.ВызватьHTTPМетод(""POST"", HTTPЗапрос);";
ПроверитьКонвертациюБезОшибок(КонсольнаяКоманда, ПрограммныйКод);
ВалидаторКонвертацииКоманды.Проверить(КонсольнаяКоманда, ПрограммныйКод);
КонецПроцедуры
@@ -509,7 +512,7 @@
|
|HTTPОтвет = Соединение.ВызватьHTTPМетод(""POST"", HTTPЗапрос);";
ПроверитьКонвертациюБезОшибок(КонсольнаяКоманда, ПрограммныйКод);
ВалидаторКонвертацииКоманды.Проверить(КонсольнаяКоманда, ПрограммныйКод);
КонецПроцедуры
@@ -524,7 +527,7 @@
|
|HTTPОтвет = Соединение.ВызватьHTTPМетод(""PUT"", HTTPЗапрос);";
ПроверитьКонвертациюБезОшибок(КонсольнаяКоманда, ПрограммныйКод);
ВалидаторКонвертацииКоманды.Проверить(КонсольнаяКоманда, ПрограммныйКод);
КонецПроцедуры
@@ -547,7 +550,7 @@
|
|HTTPОтвет = Соединение.ВызватьHTTPМетод(""PUT"", HTTPЗапрос);";
ПроверитьКонвертациюБезОшибок(КонсольнаяКоманда, ПрограммныйКод);
ВалидаторКонвертацииКоманды.Проверить(КонсольнаяКоманда, ПрограммныйКод);
КонецПроцедуры
@@ -601,7 +604,7 @@
|
|HTTPОтвет = Соединение.ВызватьHTTPМетод(""PUT"", HTTPЗапрос);";
ПроверитьКонвертациюБезОшибок(КонсольнаяКоманда, ПрограммныйКод);
ВалидаторКонвертацииКоманды.Проверить(КонсольнаяКоманда, ПрограммныйКод);
КонецПроцедуры
@@ -623,7 +626,7 @@
|
|HTTPОтвет = Соединение.ВызватьHTTPМетод(""GET"", HTTPЗапрос);";
ПроверитьКонвертациюБезОшибок(КонсольнаяКоманда, ПрограммныйКод);
ВалидаторКонвертацииКоманды.Проверить(КонсольнаяКоманда, ПрограммныйКод);
КонецПроцедуры
@@ -643,7 +646,7 @@
|
|HTTPОтвет = Соединение.ВызватьHTTPМетод(""POST"", HTTPЗапрос);";
ПроверитьКонвертациюБезОшибок(КонсольнаяКоманда, ПрограммныйКод);
ВалидаторКонвертацииКоманды.Проверить(КонсольнаяКоманда, ПрограммныйКод);
КонецПроцедуры
@@ -677,7 +680,7 @@
|
|HTTPОтвет = Соединение.ВызватьHTTPМетод(""POST"", HTTPЗапрос);";
ПроверитьКонвертациюБезОшибок(КонсольнаяКоманда, ПрограммныйКод);
ВалидаторКонвертацииКоманды.Проверить(КонсольнаяКоманда, ПрограммныйКод);
КонецПроцедуры
@@ -713,7 +716,7 @@
|
|HTTPОтвет = Соединение.ВызватьHTTPМетод(""GET"", HTTPЗапрос);";
ПроверитьКонвертациюБезОшибок(КонсольнаяКоманда, ПрограммныйКод);
ВалидаторКонвертацииКоманды.Проверить(КонсольнаяКоманда, ПрограммныйКод);
КонецПроцедуры
@@ -736,7 +739,7 @@
|
|HTTPОтвет = Соединение.ВызватьHTTPМетод(""GET"", HTTPЗапрос);";
ПроверитьКонвертациюБезОшибок(КонсольнаяКоманда, ПрограммныйКод);
ВалидаторКонвертацииКоманды.Проверить(КонсольнаяКоманда, ПрограммныйКод);
КонецПроцедуры
@@ -757,7 +760,7 @@
|
|HTTPОтвет = Соединение.ВызватьHTTPМетод(""GET"", HTTPЗапрос);";
ПроверитьКонвертациюБезОшибок(КонсольнаяКоманда, ПрограммныйКод);
ВалидаторКонвертацииКоманды.Проверить(КонсольнаяКоманда, ПрограммныйКод);
КонецПроцедуры
@@ -784,7 +787,7 @@
|
|HTTPОтвет = Соединение.ВызватьHTTPМетод(""GET"", HTTPЗапрос);";
ПроверитьКонвертациюБезОшибок(КонсольнаяКоманда, ПрограммныйКод);
ВалидаторКонвертацииКоманды.Проверить(КонсольнаяКоманда, ПрограммныйКод);
КонецПроцедуры
@@ -811,7 +814,7 @@
|
|HTTPОтвет = Соединение.ВызватьHTTPМетод(""HEAD"", HTTPЗапрос);";
ПроверитьКонвертациюБезОшибок(КонсольнаяКоманда, ПрограммныйКод);
ВалидаторКонвертацииКоманды.Проверить(КонсольнаяКоманда, ПрограммныйКод);
КонецПроцедуры
@@ -836,7 +839,7 @@
|
|HTTPОтвет = Соединение.ВызватьHTTPМетод(""GET"", HTTPЗапрос);";
ПроверитьКонвертациюБезОшибок(КонсольнаяКоманда, ПрограммныйКод);
ВалидаторКонвертацииКоманды.Проверить(КонсольнаяКоманда, ПрограммныйКод);
КонецПроцедуры
@@ -850,7 +853,7 @@
|
|HTTPОтвет = Соединение.ВызватьHTTPМетод(""GET"", HTTPЗапрос);";
ПроверитьКонвертациюБезОшибок(КонсольнаяКоманда, ПрограммныйКод);
ВалидаторКонвертацииКоманды.Проверить(КонсольнаяКоманда, ПрограммныйКод);
КонецПроцедуры
@@ -866,7 +869,7 @@
|
|HTTPОтвет = Соединение.ВызватьHTTPМетод(""GET"", HTTPЗапрос);";
ПроверитьКонвертациюБезОшибок(КонсольнаяКоманда, ПрограммныйКод);
ВалидаторКонвертацииКоманды.Проверить(КонсольнаяКоманда, ПрограммныйКод);
КонецПроцедуры
@@ -889,7 +892,7 @@
|
|HTTPОтвет = Соединение.ВызватьHTTPМетод(""GET"", HTTPЗапрос);";
ПроверитьКонвертациюБезОшибок(КонсольнаяКоманда, ПрограммныйКод);
ВалидаторКонвертацииКоманды.Проверить(КонсольнаяКоманда, ПрограммныйКод);
КонецПроцедуры
@@ -912,7 +915,7 @@
|
|HTTPОтвет = Соединение.ВызватьHTTPМетод(""GET"", HTTPЗапрос);";
ПроверитьКонвертациюБезОшибок(КонсольнаяКоманда, ПрограммныйКод);
ВалидаторКонвертацииКоманды.Проверить(КонсольнаяКоманда, ПрограммныйКод);
КонецПроцедуры
@@ -929,7 +932,7 @@
|
|HTTPОтвет = Соединение.ВызватьHTTPМетод(""GET"", HTTPЗапрос);";
ПроверитьКонвертациюБезОшибок(КонсольнаяКоманда, ПрограммныйКод);
ВалидаторКонвертацииКоманды.Проверить(КонсольнаяКоманда, ПрограммныйКод);
КонецПроцедуры
@@ -946,7 +949,7 @@
|
|HTTPОтвет = Соединение.ВызватьHTTPМетод(""GET"", HTTPЗапрос);";
ПроверитьКонвертациюБезОшибок(КонсольнаяКоманда, ПрограммныйКод);
ВалидаторКонвертацииКоманды.Проверить(КонсольнаяКоманда, ПрограммныйКод);
КонецПроцедуры
@@ -964,7 +967,7 @@
|
|HTTPОтвет = Соединение.ВызватьHTTPМетод(""GET"", HTTPЗапрос);";
ПроверитьКонвертациюБезОшибок(КонсольнаяКоманда, ПрограммныйКод);
ВалидаторКонвертацииКоманды.Проверить(КонсольнаяКоманда, ПрограммныйКод);
КонецПроцедуры
@@ -982,7 +985,7 @@
|
|HTTPОтвет = Соединение.ВызватьHTTPМетод(""GET"", HTTPЗапрос);";
ПроверитьКонвертациюБезОшибок(КонсольнаяКоманда, ПрограммныйКод);
ВалидаторКонвертацииКоманды.Проверить(КонсольнаяКоманда, ПрограммныйКод);
КонецПроцедуры
@@ -1014,7 +1017,7 @@
|
|HTTPОтвет = Соединение.ВызватьHTTPМетод(""GET"", HTTPЗапрос);";
ПроверитьКонвертациюБезОшибок(КонсольнаяКоманда, ПрограммныйКод);
ВалидаторКонвертацииКоманды.Проверить(КонсольнаяКоманда, ПрограммныйКод);
КонецПроцедуры
@@ -1032,7 +1035,7 @@
|
|HTTPОтвет = Соединение.ВызватьHTTPМетод(""GET"", HTTPЗапрос);";
ПроверитьКонвертациюБезОшибок(КонсольнаяКоманда, ПрограммныйКод);
ВалидаторКонвертацииКоманды.Проверить(КонсольнаяКоманда, ПрограммныйКод);
КонецПроцедуры
@@ -1052,7 +1055,7 @@
|
|HTTPОтвет = Соединение.ВызватьHTTPМетод(""POST"", HTTPЗапрос);";
ПроверитьКонвертациюБезОшибок(КонсольнаяКоманда, ПрограммныйКод);
ВалидаторКонвертацииКоманды.Проверить(КонсольнаяКоманда, ПрограммныйКод);
КонецПроцедуры
@@ -1066,7 +1069,7 @@
|
|HTTPОтвет = Соединение.ВызватьHTTPМетод(""GET"", HTTPЗапрос, ""file.html"");";
ПроверитьКонвертациюБезОшибок(КонсольнаяКоманда, ПрограммныйКод);
ВалидаторКонвертацииКоманды.Проверить(КонсольнаяКоманда, ПрограммныйКод);
КонецПроцедуры
@@ -1089,7 +1092,7 @@
|
|HTTPОтвет = Соединение.ВызватьHTTPМетод(""GET"", HTTPЗапрос, ""page2.html"");";
ПроверитьКонвертациюБезОшибок(КонсольнаяКоманда, ПрограммныйКод);
ВалидаторКонвертацииКоманды.Проверить(КонсольнаяКоманда, ПрограммныйКод);
КонецПроцедуры
@@ -1119,7 +1122,7 @@
|
|HTTPОтвет = Соединение.ВызватьHTTPМетод(""GET"", HTTPЗапрос);";
ПроверитьКонвертациюБезОшибок(КонсольнаяКоманда, ПрограммныйКод);
ВалидаторКонвертацииКоманды.Проверить(КонсольнаяКоманда, ПрограммныйКод);
КонецПроцедуры
@@ -1149,7 +1152,7 @@
|
|HTTPОтвет = Соединение.ВызватьHTTPМетод(""GET"", HTTPЗапрос, ""index.html"");";
ПроверитьКонвертациюБезОшибок(КонсольнаяКоманда, ПрограммныйКод);
ВалидаторКонвертацииКоманды.Проверить(КонсольнаяКоманда, ПрограммныйКод);
КонецПроцедуры
@@ -1179,7 +1182,7 @@
|
|HTTPОтвет = Соединение.ВызватьHTTPМетод(""GET"", HTTPЗапрос, ""/some/path/file.html"");";
ПроверитьКонвертациюБезОшибок(КонсольнаяКоманда, ПрограммныйКод);
ВалидаторКонвертацииКоманды.Проверить(КонсольнаяКоманда, ПрограммныйКод);
КонецПроцедуры
@@ -1193,7 +1196,7 @@
|
|HTTPОтвет = Соединение.ВызватьHTTPМетод(""GET"", HTTPЗапрос, ""/some/path/about.html"");";
ПроверитьКонвертациюБезОшибок(КонсольнаяКоманда, ПрограммныйКод);
ВалидаторКонвертацииКоманды.Проверить(КонсольнаяКоманда, ПрограммныйКод);
КонецПроцедуры
@@ -1261,7 +1264,7 @@
|
|HTTPОтвет = Соединение.ВызватьHTTPМетод(""GET"", HTTPЗапрос, ""/some/path\file.html"");";
ПроверитьКонвертациюБезОшибок(КонсольнаяКоманда, ПрограммныйКод);
ВалидаторКонвертацииКоманды.Проверить(КонсольнаяКоманда, ПрограммныйКод);
КонецПроцедуры
@@ -1278,7 +1281,7 @@
|
|HTTPОтвет = Соединение.ВызватьHTTPМетод(""GET"", HTTPЗапрос);";
ПроверитьКонвертациюБезОшибок(КонсольнаяКоманда, ПрограммныйКод);
ВалидаторКонвертацииКоманды.Проверить(КонсольнаяКоманда, ПрограммныйКод);
КонецПроцедуры
@@ -1302,7 +1305,7 @@
|
|HTTPОтвет = Соединение.ВызватьHTTPМетод(""GET"", HTTPЗапрос);";
ПроверитьКонвертациюБезОшибок(КонсольнаяКоманда, ПрограммныйКод);
ВалидаторКонвертацииКоманды.Проверить(КонсольнаяКоманда, ПрограммныйКод);
КонецПроцедуры
@@ -1321,7 +1324,7 @@
|
|HTTPОтвет = Соединение.ВызватьHTTPМетод(""GET"", HTTPЗапрос);";
ПроверитьКонвертациюБезОшибок(КонсольнаяКоманда, ПрограммныйКод);
ВалидаторКонвертацииКоманды.Проверить(КонсольнаяКоманда, ПрограммныйКод);
КонецПроцедуры
@@ -1340,7 +1343,7 @@
|
|HTTPОтвет = Соединение.ВызватьHTTPМетод(""GET"", HTTPЗапрос);";
ПроверитьКонвертациюБезОшибок(КонсольнаяКоманда, ПрограммныйКод);
ВалидаторКонвертацииКоманды.Проверить(КонсольнаяКоманда, ПрограммныйКод);
КонецПроцедуры
@@ -1370,7 +1373,7 @@
|
|HTTPОтвет = Соединение.ВызватьHTTPМетод(""GET"", HTTPЗапрос);";
ПроверитьКонвертациюБезОшибок(КонсольнаяКоманда, ПрограммныйКод);
ВалидаторКонвертацииКоманды.Проверить(КонсольнаяКоманда, ПрограммныйКод);
КонецПроцедуры
@@ -1384,7 +1387,7 @@
|
|HTTPОтвет = Соединение.ВызватьHTTPМетод(""GET"", HTTPЗапрос);";
ПроверитьКонвертациюБезОшибок(КонсольнаяКоманда, ПрограммныйКод);
ВалидаторКонвертацииКоманды.Проверить(КонсольнаяКоманда, ПрограммныйКод);
КонецПроцедуры
@@ -1412,7 +1415,7 @@
|
|HTTPОтвет = Соединение.ВызватьHTTPМетод(""POST"", HTTPЗапрос);";
ПроверитьКонвертациюБезОшибок(КонсольнаяКоманда, ПрограммныйКод);
ВалидаторКонвертацииКоманды.Проверить(КонсольнаяКоманда, ПрограммныйКод);
КонецПроцедуры
@@ -1431,7 +1434,7 @@
|
|HTTPОтвет = Соединение.ВызватьHTTPМетод(""POST"", HTTPЗапрос);";
ПроверитьКонвертациюБезОшибок(КонсольнаяКоманда, ПрограммныйКод);
ВалидаторКонвертацииКоманды.Проверить(КонсольнаяКоманда, ПрограммныйКод);
КонецПроцедуры
@@ -1452,7 +1455,7 @@
|
|HTTPОтвет = Соединение.ВызватьHTTPМетод(""POST"", HTTPЗапрос);";
ПроверитьКонвертациюБезОшибок(КонсольнаяКоманда, ПрограммныйКод);
ВалидаторКонвертацииКоманды.Проверить(КонсольнаяКоманда, ПрограммныйКод);
КонецПроцедуры
@@ -1479,7 +1482,7 @@
|
|HTTPОтвет = Соединение.ВызватьHTTPМетод(""POST"", HTTPЗапрос);";
ПроверитьКонвертациюБезОшибок(КонсольнаяКоманда, ПрограммныйКод);
ВалидаторКонвертацииКоманды.Проверить(КонсольнаяКоманда, ПрограммныйКод);
КонецПроцедуры
@@ -1496,7 +1499,7 @@
|
|HTTPОтвет = Соединение.ВызватьHTTPМетод(""GET"", HTTPЗапрос);";
ПроверитьКонвертациюБезОшибок(КонсольнаяКоманда, ПрограммныйКод);
ВалидаторКонвертацииКоманды.Проверить(КонсольнаяКоманда, ПрограммныйКод);
КонецПроцедуры
@@ -1513,7 +1516,7 @@
|
|HTTPОтвет = Соединение.ВызватьHTTPМетод(""GET"", HTTPЗапрос);";
ПроверитьКонвертациюБезОшибок(КонсольнаяКоманда, ПрограммныйКод);
ВалидаторКонвертацииКоманды.Проверить(КонсольнаяКоманда, ПрограммныйКод);
КонецПроцедуры
@@ -1527,7 +1530,7 @@
|
|HTTPОтвет = Соединение.ВызватьHTTPМетод(""GET"", HTTPЗапрос);";
ПроверитьКонвертациюБезОшибок(КонсольнаяКоманда, ПрограммныйКод);
ВалидаторКонвертацииКоманды.Проверить(КонсольнаяКоманда, ПрограммныйКод);
КонецПроцедуры
@@ -1544,7 +1547,7 @@
|
|HTTPОтвет = Соединение.ВызватьHTTPМетод(""GET"", HTTPЗапрос);";
ПроверитьКонвертациюБезОшибок(КонсольнаяКоманда, ПрограммныйКод);
ВалидаторКонвертацииКоманды.Проверить(КонсольнаяКоманда, ПрограммныйКод);
КонецПроцедуры
@@ -1586,7 +1589,7 @@
|
|HTTPОтвет = Соединение.ВызватьHTTPМетод(""GET"", HTTPЗапрос);";
ПроверитьКонвертациюБезОшибок(КонсольнаяКоманда, ПрограммныйКод);
ВалидаторКонвертацииКоманды.Проверить(КонсольнаяКоманда, ПрограммныйКод);
КонецПроцедуры
@@ -1599,7 +1602,7 @@
|
|Соединение.Получить(""/file.txt"", ""path/to/file"");";
ПроверитьКонвертациюБезОшибок(КонсольнаяКоманда, ПрограммныйКод);
ВалидаторКонвертацииКоманды.Проверить(КонсольнаяКоманда, ПрограммныйКод);
КонецПроцедуры
@@ -1614,7 +1617,7 @@
|
|Соединение.Получить(""/file.txt"", ""path/to/file"");";
ПроверитьКонвертациюБезОшибок(КонсольнаяКоманда, ПрограммныйКод);
ВалидаторКонвертацииКоманды.Проверить(КонсольнаяКоманда, ПрограммныйКод);
КонецПроцедуры
@@ -1627,7 +1630,7 @@
|
|Соединение.Получить(""/file.txt"", ""path/to/file"");";
ПроверитьКонвертациюБезОшибок(КонсольнаяКоманда, ПрограммныйКод);
ВалидаторКонвертацииКоманды.Проверить(КонсольнаяКоманда, ПрограммныйКод);
КонецПроцедуры
@@ -1643,7 +1646,7 @@
|
|Соединение.Получить(""/file.txt"", ""path/to/file"");";
ПроверитьКонвертациюБезОшибок(КонсольнаяКоманда, ПрограммныйКод);
ВалидаторКонвертацииКоманды.Проверить(КонсольнаяКоманда, ПрограммныйКод);
КонецПроцедуры
@@ -1656,7 +1659,7 @@
|
|Соединение.Получить(""/file.txt"", ""path/to/file"");";
ПроверитьКонвертациюБезОшибок(КонсольнаяКоманда, ПрограммныйКод);
ВалидаторКонвертацииКоманды.Проверить(КонсольнаяКоманда, ПрограммныйКод);
КонецПроцедуры
@@ -1669,7 +1672,7 @@
|
|Соединение.Получить(""/file.txt"", ""path/to/file"");";
ПроверитьКонвертациюБезОшибок(КонсольнаяКоманда, ПрограммныйКод);
ВалидаторКонвертацииКоманды.Проверить(КонсольнаяКоманда, ПрограммныйКод);
КонецПроцедуры
@@ -1702,7 +1705,7 @@
|
|Соединение.Получить(""/file.txt"", ""path/to/file"");";
ПроверитьКонвертациюБезОшибок(КонсольнаяКоманда, ПрограммныйКод);
ВалидаторКонвертацииКоманды.Проверить(КонсольнаяКоманда, ПрограммныйКод);
КонецПроцедуры
@@ -1720,7 +1723,7 @@
|
|Соединение.Получить(""/file.txt"", ""path/to/file"");";
ПроверитьКонвертациюБезОшибок(КонсольнаяКоманда, ПрограммныйКод);
ВалидаторКонвертацииКоманды.Проверить(КонсольнаяКоманда, ПрограммныйКод);
КонецПроцедуры
@@ -1733,7 +1736,7 @@
|
|Соединение.Записать(""path/to/file.txt"", ""/newfile.txt"");";
ПроверитьКонвертациюБезОшибок(КонсольнаяКоманда, ПрограммныйКод);
ВалидаторКонвертацииКоманды.Проверить(КонсольнаяКоманда, ПрограммныйКод);
КонецПроцедуры
@@ -1746,7 +1749,7 @@
|
|Соединение.Записать(""path/to/file.txt"", ""/file.txt"");";
ПроверитьКонвертациюБезОшибок(КонсольнаяКоманда, ПрограммныйКод);
ВалидаторКонвертацииКоманды.Проверить(КонсольнаяКоманда, ПрограммныйКод);
КонецПроцедуры
@@ -1759,7 +1762,7 @@
|
|Соединение.Записать(""path/to/file.txt"", ""/dir/file.txt"");";
ПроверитьКонвертациюБезОшибок(КонсольнаяКоманда, ПрограммныйКод);
ВалидаторКонвертацииКоманды.Проверить(КонсольнаяКоманда, ПрограммныйКод);
КонецПроцедуры
@@ -1772,7 +1775,7 @@
|
|Файлы = Соединение.НайтиФайлы(""/dir"", ""*"");";
ПроверитьКонвертациюБезОшибок(КонсольнаяКоманда, ПрограммныйКод);
ВалидаторКонвертацииКоманды.Проверить(КонсольнаяКоманда, ПрограммныйКод);
КонецПроцедуры
@@ -1785,7 +1788,7 @@
|
|Файл = Соединение.НайтиФайлы(""/dir/file.txt"")[0];";
ПроверитьКонвертациюБезОшибок(КонсольнаяКоманда, ПрограммныйКод);
ВалидаторКонвертацииКоманды.Проверить(КонсольнаяКоманда, ПрограммныйКод);
КонецПроцедуры
@@ -1983,6 +1986,43 @@
|HTTPОтвет = Соединение.ВызватьHTTPМетод(""POST"", HTTPЗапрос);"
);
ТестовыеДанные.Вставить(
"curl http://example.com/ -F story=<hugefile1.txt -F story=<hugefile2.txt",
"ЧтениеТекста = Новый ЧтениеТекста(""hugefile1.txt"");
|ТекстовыеДанныеФайла_1 = ЧтениеТекста.Прочитать();
|
|ЧтениеТекста = Новый ЧтениеТекста(""hugefile2.txt"");
|ТекстовыеДанныеФайла_2 = ЧтениеТекста.Прочитать();
|
|РазделительMultipart = СтрЗаменить(Новый УникальныйИдентификатор, ""-"", """");
|
|Заголовки = Новый Соответствие();
|Заголовки.Вставить(""Content-Type"", ""multipart/form-data; boundary="" + РазделительMultipart);
|
|Соединение = Новый HTTPСоединение(""example.com"", 80);
|HTTPЗапрос = Новый HTTPЗапрос(""/"", Заголовки);
|Поток = HTTPЗапрос.ПолучитьТелоКакПоток();
|
|РазделительСтрок = Символы.ВК + Символы.ПС;
|ЗаписьДанных = Новый ЗаписьДанных(Поток, , , """", """");
|// Начало story
|ЗаписьДанных.ЗаписатьСтроку(""--"" + РазделительMultipart + РазделительСтрок);
|ЗаписьДанных.ЗаписатьСтроку(""Content-Disposition: form-data; name=""""story"""""" + РазделительСтрок);
|ЗаписьДанных.ЗаписатьСтроку(РазделительСтрок);
|ЗаписьДанных.ЗаписатьСтроку(ТекстовыеДанныеФайла_1 + РазделительСтрок);
|// Конец story
|// Начало story
|ЗаписьДанных.ЗаписатьСтроку(""--"" + РазделительMultipart + РазделительСтрок);
|ЗаписьДанных.ЗаписатьСтроку(""Content-Disposition: form-data; name=""""story"""""" + РазделительСтрок);
|ЗаписьДанных.ЗаписатьСтроку(РазделительСтрок);
|ЗаписьДанных.ЗаписатьСтроку(ТекстовыеДанныеФайла_2 + РазделительСтрок);
|// Конец story
|ЗаписьДанных.ЗаписатьСтроку(""--"" + РазделительMultipart + ""--"" + РазделительСтрок);
|ЗаписьДанных.Закрыть();
|
|HTTPОтвет = Соединение.ВызватьHTTPМетод(""POST"", HTTPЗапрос);"
);
ТестовыеДанные.Вставить(
"curl http://example7.com/ -F 'web=@index.html;type=text/html'",
"РазделительMultipart = СтрЗаменить(Новый УникальныйИдентификатор, ""-"", """");
@@ -2364,7 +2404,7 @@
);
Для Каждого Строка Из ТестовыеДанные Цикл
ПроверитьКонвертациюБезОшибок(Строка.Ключ, Строка.Значение);
ВалидаторКонвертацииКоманды.Проверить(Строка.Ключ, Строка.Значение);
КонецЦикла;
КонецПроцедуры
@@ -2408,7 +2448,7 @@
|Результат = ПрочитатьJSON(ЧтениеJSON, Истина);
|Поток.Закрыть();";
ПроверитьКонвертациюБезОшибок(КонсольнаяКоманда, ПрограммныйКод, Генератор);
ВалидаторКонвертацииКоманды.Проверить(КонсольнаяКоманда, ПрограммныйКод, Генератор);
КонецПроцедуры
@@ -2712,48 +2752,7 @@
);
Для Каждого Строка Из ТестовыеДанные Цикл
ПроверитьКонвертациюБезОшибок(Строка.Ключ, Строка.Значение);
ВалидаторКонвертацииКоманды.Проверить(Строка.Ключ, Строка.Значение);
КонецЦикла;
КонецПроцедуры
Процедура ПроверитьКонвертациюБезОшибок(КонсольнаяКоманда, ПрограммныйКод, Генератор = Неопределено)
Если Генератор = Неопределено Тогда
Генератор = ГенераторПоУмолчанию;
КонецЕсли;
// Результат конвертации
Ошибки = Неопределено;
КонвертерКомандыCURL.УстановитьЯзыкПеревода("ru");
Результат = КонвертерКомандыCURL.Конвертировать(КонсольнаяКоманда, Генератор, Ошибки);
Ожидаем.Что(Результат, КонсольнаяКоманда).Равно(ПрограммныйКод);
Ожидаем.Что(Ошибки, КонсольнаяКоманда).Не_().Заполнено();
// Перевод
Если СодержитРусскиеБуквы(КонсольнаяКоманда) Тогда
Возврат;
КонецЕсли;
КонвертерКомандыCURL.УстановитьЯзыкПеревода("en");
РезультатПеревода = КонвертерКомандыCURL.Конвертировать(КонсольнаяКоманда, Генератор, Ошибки);
Ожидаем.Что(РезультатПеревода).Не_().Содержит("{t(");
Ожидаем.Что(СодержитРусскиеБуквы(РезультатПеревода), "Перевод").ЭтоЛожь();
КонецПроцедуры
Функция СодержитРусскиеБуквы(Строка)
Алфавит = "абвгдеёжзийклмнопрстуфхцчшщъыьэюя"; // BSLLS:Typo-off
Для Порядок = 1 По СтрДлина(Алфавит) Цикл
Если СтрНайти(Строка, Сред(Алфавит, Порядок, 1)) > 0 Тогда
Возврат Истина;
КонецЕсли;
КонецЦикла;
Возврат Ложь;
КонецФункции

View File

@@ -4,15 +4,18 @@
#Использовать asserts
#Использовать "../src/core"
#Использовать "helpers"
Перем КонвертерКомандыCURL; // КонвертерКомандыCURL
Перем ГенераторПоУмолчанию; // ГенераторПрограммногоКодаКоннекторHTTP
Перем ВалидаторКонвертацииКоманды; // ВалидаторКонвертацииКоманды
&Инициализация
Процедура ПередЗапускомТестов() Экспорт
КонвертерКомандыCURL = Новый КонвертерКомандыCURL();
ГенераторПоУмолчанию = Новый ГенераторПрограммногоКодаКоннекторHTTP();
ВалидаторКонвертацииКоманды = Новый ВалидаторКонвертацииКоманды(КонвертерКомандыCURL, ГенераторПоУмолчанию);
КонецПроцедуры
@@ -157,7 +160,7 @@
);
Для Каждого Строка Из ТестовыеДанные Цикл
ПроверитьКонвертациюБезОшибок(Строка.Ключ, Строка.Значение);
ВалидаторКонвертацииКоманды.Проверить(Строка.Ключ, Строка.Значение);
КонецЦикла;
КонецПроцедуры
@@ -182,7 +185,7 @@
|
|Результат = КоннекторHTTP.Get(""http://example.com"", , ДополнительныеПараметры);";
ПроверитьКонвертациюБезОшибок(КонсольнаяКоманда, ПрограммныйКод);
ВалидаторКонвертацииКоманды.Проверить(КонсольнаяКоманда, ПрограммныйКод);
КонецПроцедуры
@@ -207,7 +210,7 @@
|
|Результат = КоннекторHTTP.Get(""http://example2.com/page2"", , ДополнительныеПараметры);";
ПроверитьКонвертациюБезОшибок(КонсольнаяКоманда, ПрограммныйКод);
ВалидаторКонвертацииКоманды.Проверить(КонсольнаяКоманда, ПрограммныйКод);
КонецПроцедуры
@@ -218,7 +221,7 @@
ПрограммныйКод = "Результат = КоннекторHTTP.Post(""http://example.com"");";
ПроверитьКонвертациюБезОшибок(КонсольнаяКоманда, ПрограммныйКод);
ВалидаторКонвертацииКоманды.Проверить(КонсольнаяКоманда, ПрограммныйКод);
КонецПроцедуры
@@ -303,7 +306,7 @@
);
Для Каждого Строка Из ТестовыеДанные Цикл
ПроверитьКонвертациюБезОшибок(Строка.Ключ, Строка.Значение);
ВалидаторКонвертацииКоманды.Проверить(Строка.Ключ, Строка.Значение);
КонецЦикла;
КонецПроцедуры
@@ -362,7 +365,7 @@
|
|Результат = КоннекторHTTP.Post(""http://example2.com"", Данные);";
ПроверитьКонвертациюБезОшибок(КонсольнаяКоманда, ПрограммныйКод);
ВалидаторКонвертацииКоманды.Проверить(КонсольнаяКоманда, ПрограммныйКод);
КонецПроцедуры
@@ -380,7 +383,7 @@
|
|Результат = КоннекторHTTP.Post(""http://example.com"", Данные);";
ПроверитьКонвертациюБезОшибок(КонсольнаяКоманда, ПрограммныйКод);
ВалидаторКонвертацииКоманды.Проверить(КонсольнаяКоманда, ПрограммныйКод);
КонецПроцедуры
@@ -405,7 +408,7 @@
|// Запрос 2. http://example2.com
|Результат = КоннекторHTTP.Post(""http://example2.com"", Данные);";
ПроверитьКонвертациюБезОшибок(КонсольнаяКоманда, ПрограммныйКод);
ВалидаторКонвертацииКоманды.Проверить(КонсольнаяКоманда, ПрограммныйКод);
КонецПроцедуры
@@ -419,7 +422,7 @@
|
|Результат = КоннекторHTTP.Post(""http://example.com"", ТекстовыеДанныеФайла_1);";
ПроверитьКонвертациюБезОшибок(КонсольнаяКоманда, ПрограммныйКод);
ВалидаторКонвертацииКоманды.Проверить(КонсольнаяКоманда, ПрограммныйКод);
КонецПроцедуры
@@ -441,7 +444,7 @@
|
|Результат = КоннекторHTTP.Post(""http://example.com"", Данные);";
ПроверитьКонвертациюБезОшибок(КонсольнаяКоманда, ПрограммныйКод);
ВалидаторКонвертацииКоманды.Проверить(КонсольнаяКоманда, ПрограммныйКод);
КонецПроцедуры
@@ -453,7 +456,7 @@
ПрограммныйКод = "Данные = Новый ДвоичныеДанные(""path/to/file.txt"");
|Результат = КоннекторHTTP.Put(""http://example.com/file.txt"", Данные);";
ПроверитьКонвертациюБезОшибок(КонсольнаяКоманда, ПрограммныйКод);
ВалидаторКонвертацииКоманды.Проверить(КонсольнаяКоманда, ПрограммныйКод);
КонецПроцедуры
@@ -470,7 +473,7 @@
|Данные = Новый ДвоичныеДанные(""path/to/file2.txt"");
|Результат = КоннекторHTTP.Put(""http://example.com/file2.txt"", Данные);";
ПроверитьКонвертациюБезОшибок(КонсольнаяКоманда, ПрограммныйКод);
ВалидаторКонвертацииКоманды.Проверить(КонсольнаяКоманда, ПрограммныйКод);
КонецПроцедуры
@@ -519,7 +522,7 @@
|// Запрос 2. http://example2.com
|Результат = КоннекторHTTP.Get(""http://example2.com"");";
ПроверитьКонвертациюБезОшибок(КонсольнаяКоманда, ПрограммныйКод);
ВалидаторКонвертацииКоманды.Проверить(КонсольнаяКоманда, ПрограммныйКод);
КонецПроцедуры
@@ -546,7 +549,7 @@
|
|Результат = КоннекторHTTP.Post(""http://example.com"", Данные);";
ПроверитьКонвертациюБезОшибок(КонсольнаяКоманда, ПрограммныйКод);
ВалидаторКонвертацииКоманды.Проверить(КонсольнаяКоманда, ПрограммныйКод);
КонецПроцедуры
@@ -570,7 +573,7 @@
|// Запрос 4. http://example4.com
|Результат = КоннекторHTTP.Get(""http://example4.com"");";
ПроверитьКонвертациюБезОшибок(КонсольнаяКоманда, ПрограммныйКод);
ВалидаторКонвертацииКоманды.Проверить(КонсольнаяКоманда, ПрограммныйКод);
КонецПроцедуры
@@ -590,7 +593,7 @@
|
|Результат = КоннекторHTTP.Get(""http://example.com?param1=value&param2=value2&"" + ТекстовыеДанныеФайла_1);";
ПроверитьКонвертациюБезОшибок(КонсольнаяКоманда, ПрограммныйКод);
ВалидаторКонвертацииКоманды.Проверить(КонсольнаяКоманда, ПрограммныйКод);
КонецПроцедуры
@@ -608,7 +611,7 @@
|
|Результат = КоннекторHTTP.Get(""http://example.com?"" + ТекстовыеДанныеФайла_1);";
ПроверитьКонвертациюБезОшибок(КонсольнаяКоманда, ПрограммныйКод);
ВалидаторКонвертацииКоманды.Проверить(КонсольнаяКоманда, ПрограммныйКод);
КонецПроцедуры
@@ -632,7 +635,7 @@
|
|Результат = КоннекторHTTP.Get(URL);";
ПроверитьКонвертациюБезОшибок(КонсольнаяКоманда, ПрограммныйКод);
ВалидаторКонвертацииКоманды.Проверить(КонсольнаяКоманда, ПрограммныйКод);
КонецПроцедуры
@@ -653,7 +656,7 @@
|
|Результат = КоннекторHTTP.Head(""http://example2.com"");";
ПроверитьКонвертациюБезОшибок(КонсольнаяКоманда, ПрограммныйКод);
ВалидаторКонвертацииКоманды.Проверить(КонсольнаяКоманда, ПрограммныйКод);
КонецПроцедуры
@@ -664,7 +667,7 @@
ПрограммныйКод = "Результат = КоннекторHTTP.Options(""http://example.com"");";
ПроверитьКонвертациюБезОшибок(КонсольнаяКоманда, ПрограммныйКод);
ВалидаторКонвертацииКоманды.Проверить(КонсольнаяКоманда, ПрограммныйКод);
КонецПроцедуры
@@ -683,7 +686,7 @@
|
|Результат = КоннекторHTTP.Get(""http://example2.com"");";
ПроверитьКонвертациюБезОшибок(КонсольнаяКоманда, ПрограммныйКод);
ВалидаторКонвертацииКоманды.Проверить(КонсольнаяКоманда, ПрограммныйКод);
КонецПроцедуры
@@ -694,7 +697,7 @@
ПрограммныйКод = "Результат = КоннекторHTTP.Get(""http://example.com"");";
ПроверитьКонвертациюБезОшибок(КонсольнаяКоманда, ПрограммныйКод);
ВалидаторКонвертацииКоманды.Проверить(КонсольнаяКоманда, ПрограммныйКод);
КонецПроцедуры
@@ -708,7 +711,7 @@
|
|Результат = КоннекторHTTP.Get(""https://example.com"", , ДополнительныеПараметры);";
ПроверитьКонвертациюБезОшибок(КонсольнаяКоманда, ПрограммныйКод);
ВалидаторКонвертацииКоманды.Проверить(КонсольнаяКоманда, ПрограммныйКод);
КонецПроцедуры
@@ -722,7 +725,7 @@
|
|Результат = КоннекторHTTP.Get(""https://example.com"", , ДополнительныеПараметры);";
ПроверитьКонвертациюБезОшибок(КонсольнаяКоманда, ПрограммныйКод);
ВалидаторКонвертацииКоманды.Проверить(КонсольнаяКоманда, ПрограммныйКод);
КонецПроцедуры
@@ -737,7 +740,7 @@
|
|Результат = КоннекторHTTP.Get(""https://example.com"", , ДополнительныеПараметры);";
ПроверитьКонвертациюБезОшибок(КонсольнаяКоманда, ПрограммныйКод);
ВалидаторКонвертацииКоманды.Проверить(КонсольнаяКоманда, ПрограммныйКод);
КонецПроцедуры
@@ -766,7 +769,7 @@
|
|Результат = КоннекторHTTP.Get(URL);";
ПроверитьКонвертациюБезОшибок(КонсольнаяКоманда, ПрограммныйКод);
ВалидаторКонвертацииКоманды.Проверить(КонсольнаяКоманда, ПрограммныйКод);
КонецПроцедуры
@@ -781,7 +784,7 @@
|
|Результат = КоннекторHTTP.Get(""http://example.com?"" + ТекстовыеДанныеФайла_1);";
ПроверитьКонвертациюБезОшибок(КонсольнаяКоманда, ПрограммныйКод);
ВалидаторКонвертацииКоманды.Проверить(КонсольнаяКоманда, ПрограммныйКод);
КонецПроцедуры
@@ -805,7 +808,7 @@
|
|Результат = КоннекторHTTP.Post(""http://example.com"", ТекстовыеДанныеФайла_1, ДополнительныеПараметры);";
ПроверитьКонвертациюБезОшибок(КонсольнаяКоманда, ПрограммныйКод);
ВалидаторКонвертацииКоманды.Проверить(КонсольнаяКоманда, ПрограммныйКод);
КонецПроцедуры
@@ -822,7 +825,7 @@
|
|Результат = КоннекторHTTP.Get(""http://example.com"", , ДополнительныеПараметры);";
ПроверитьКонвертациюБезОшибок(КонсольнаяКоманда, ПрограммныйКод);
ВалидаторКонвертацииКоманды.Проверить(КонсольнаяКоманда, ПрограммныйКод);
КонецПроцедуры
@@ -846,7 +849,7 @@
|
|Результат = КоннекторHTTP.Get(""http://example2.com"", , ДополнительныеПараметры);";
ПроверитьКонвертациюБезОшибок(КонсольнаяКоманда, ПрограммныйКод);
ВалидаторКонвертацииКоманды.Проверить(КонсольнаяКоманда, ПрограммныйКод);
КонецПроцедуры
@@ -865,7 +868,7 @@
|
|Результат = КоннекторHTTP.Get(""http://example.com"", , ДополнительныеПараметры);";
ПроверитьКонвертациюБезОшибок(КонсольнаяКоманда, ПрограммныйКод);
ВалидаторКонвертацииКоманды.Проверить(КонсольнаяКоманда, ПрограммныйКод);
КонецПроцедуры
@@ -884,7 +887,7 @@
|
|Результат = КоннекторHTTP.Get(""http://example.com"", , ДополнительныеПараметры);";
ПроверитьКонвертациюБезОшибок(КонсольнаяКоманда, ПрограммныйКод);
ВалидаторКонвертацииКоманды.Проверить(КонсольнаяКоманда, ПрограммныйКод);
КонецПроцедуры
@@ -914,7 +917,7 @@
|
|Результат = КоннекторHTTP.Get(""http://example.com"", , ДополнительныеПараметры);";
ПроверитьКонвертациюБезОшибок(КонсольнаяКоманда, ПрограммныйКод);
ВалидаторКонвертацииКоманды.Проверить(КонсольнаяКоманда, ПрограммныйКод);
КонецПроцедуры
@@ -925,7 +928,7 @@
ПрограммныйКод = "Результат = КоннекторHTTP.Get(""http://example.com"");";
ПроверитьКонвертациюБезОшибок(КонсольнаяКоманда, ПрограммныйКод);
ВалидаторКонвертацииКоманды.Проверить(КонсольнаяКоманда, ПрограммныйКод);
КонецПроцедуры
@@ -952,7 +955,7 @@
|
|Результат = КоннекторHTTP.Post(""http://example.com"", Данные, ДополнительныеПараметры);";
ПроверитьКонвертациюБезОшибок(КонсольнаяКоманда, ПрограммныйКод);
ВалидаторКонвертацииКоманды.Проверить(КонсольнаяКоманда, ПрограммныйКод);
КонецПроцедуры
@@ -974,7 +977,7 @@
|
|Результат = КоннекторHTTP.Post(""http://example.com"", , ДополнительныеПараметры);";
ПроверитьКонвертациюБезОшибок(КонсольнаяКоманда, ПрограммныйКод);
ВалидаторКонвертацииКоманды.Проверить(КонсольнаяКоманда, ПрограммныйКод);
КонецПроцедуры
@@ -998,7 +1001,7 @@
|
|Результат = КоннекторHTTP.Post(""http://example.com"", , ДополнительныеПараметры);";
ПроверитьКонвертациюБезОшибок(КонсольнаяКоманда, ПрограммныйКод);
ВалидаторКонвертацииКоманды.Проверить(КонсольнаяКоманда, ПрограммныйКод);
КонецПроцедуры
@@ -1024,7 +1027,7 @@
|
|Результат = КоннекторHTTP.Post(""http://example.com"", Данные, ДополнительныеПараметры);";
ПроверитьКонвертациюБезОшибок(КонсольнаяКоманда, ПрограммныйКод);
ВалидаторКонвертацииКоманды.Проверить(КонсольнаяКоманда, ПрограммныйКод);
КонецПроцедуры
@@ -1078,7 +1081,7 @@
|
|Результат = КоннекторHTTP.Post(""http://example.com"", , ДополнительныеПараметры);";
ПроверитьКонвертациюБезОшибок(КонсольнаяКоманда, ПрограммныйКод);
ВалидаторКонвертацииКоманды.Проверить(КонсольнаяКоманда, ПрограммныйКод);
КонецПроцедуры
@@ -1095,7 +1098,7 @@
|
|Результат = КоннекторHTTP.Get(""http://example.com"", , ДополнительныеПараметры);";
ПроверитьКонвертациюБезОшибок(КонсольнаяКоманда, ПрограммныйКод);
ВалидаторКонвертацииКоманды.Проверить(КонсольнаяКоманда, ПрограммныйКод);
КонецПроцедуры
@@ -1112,7 +1115,7 @@
|
|Результат = КоннекторHTTP.Get(""http://example.com"", , ДополнительныеПараметры);";
ПроверитьКонвертациюБезОшибок(КонсольнаяКоманда, ПрограммныйКод);
ВалидаторКонвертацииКоманды.Проверить(КонсольнаяКоманда, ПрограммныйКод);
КонецПроцедуры
@@ -1123,7 +1126,7 @@
ПрограммныйКод = "Результат = КоннекторHTTP.Get(""http://example.com"");";
ПроверитьКонвертациюБезОшибок(КонсольнаяКоманда, ПрограммныйКод);
ВалидаторКонвертацииКоманды.Проверить(КонсольнаяКоманда, ПрограммныйКод);
КонецПроцедуры
@@ -1140,7 +1143,7 @@
|
|Результат = КоннекторHTTP.Get(""http://example.com"", , ДополнительныеПараметры);";
ПроверитьКонвертациюБезОшибок(КонсольнаяКоманда, ПрограммныйКод);
ВалидаторКонвертацииКоманды.Проверить(КонсольнаяКоманда, ПрограммныйКод);
КонецПроцедуры
@@ -1175,7 +1178,7 @@
|
|Результат = КоннекторHTTP.Get(""http://example3.com"");";
ПроверитьКонвертациюБезОшибок(КонсольнаяКоманда, ПрограммныйКод);
ВалидаторКонвертацииКоманды.Проверить(КонсольнаяКоманда, ПрограммныйКод);
КонецПроцедуры
@@ -1213,7 +1216,7 @@
|
|Результат = КоннекторHTTP.Get(""http://example.com"", , ДополнительныеПараметры);";
ПроверитьКонвертациюБезОшибок(КонсольнаяКоманда, ПрограммныйКод);
ВалидаторКонвертацииКоманды.Проверить(КонсольнаяКоманда, ПрограммныйКод);
КонецПроцедуры
@@ -1264,52 +1267,27 @@
|
|Результат = КоннекторHTTP.Get(""http://example.com"", , ДополнительныеПараметры);";
ПроверитьКонвертациюБезОшибок(КонсольнаяКоманда, ПрограммныйКод);
ВалидаторКонвертацииКоманды.Проверить(КонсольнаяКоманда, ПрограммныйКод);
КонецПроцедуры
&Тест
Процедура ТестДолжен_ПроверитьПроверитьПередачуДанныхMultipart() Экспорт
КонсольнаяКоманда = "curl http://example1.com/ -F name=John -F shoesize=11
|curl http://example2.com/ -F profile=@portrait.jpg
|curl http://example3.com/ -F profile=@portrait.jpg --form brief=@file.pdf
|curl http://example4.com/ -F file=@part1 --form file=@part2
|curl http://example5.com/ -F name=John -F profile=@portrait.jpg
|curl http://example6.com/ -F story=<hugefile.txt
|curl http://example7.com/ -F ""web=@index.html;type=text/html""
|curl http://example8.com/ -F ""name=daniel;type=text/foo""
|curl http://example9.com/ -F ""file=@localfile;filename=nameinpost""
|curl http://example10.com/ -F ""file=@\""local,file\"";filename=\""name;in;post\""""
|curl http://example11.com/ -F ""colors=\""red; green; blue\"";type=text/x-myapp""
|curl http://example12.com/ -F ""submit=OK;headers=\""X-submit-type: OK\""""
|curl http://example13.com/ -F ""json=@data.json;headers=\""X-header: value\""""
|curl http://example14.com/ -F ""json=@data.json;headers=\""X-header-1: some value 1\"";headers=\""X-header-2: some value 2\""""
|curl http://example15.com/ --form-string name=data
|curl http://example16.com/ --form-string 'name=@data;type=some'
|curl http://example17.com/ -F name=John= -F 'brief=doctor=111;type=text/foo'
|curl http://example18.com/ -F 'profile=@portrait.jpg;type=text/html,@file1.pdf,@file2.pdf;type=text/xml'
|
|curl http://example19.com/ \
|-F multiline1=""line1
|\""line2\""
|'line3'"" \
|-F 'multiline2=line1
|line2'";
ТестовыеДанные = Новый Соответствие();
ПрограммныйКод = "//////////////////////////////////////////////
|// Команда #1.
|
|Данные = Новый Соответствие();
ТестовыеДанные.Вставить(
"curl http://example.com/ -F name=John -F shoesize=11",
"Данные = Новый Соответствие();
|Данные.Вставить(""name"", ""John"");
|Данные.Вставить(""shoesize"", ""11"");
|
|Результат = КоннекторHTTP.Post(""http://example1.com"", Данные);
|
|//////////////////////////////////////////////
|// Команда #2.
|
|Файлы = Новый Массив();
|Результат = КоннекторHTTP.Post(""http://example.com"", Данные);"
);
ТестовыеДанные.Вставить(
"curl http://example.com/ -F profile=@portrait.jpg",
"Файлы = Новый Массив();
|Файл = Новый Структура();
|Файл.Вставить(""Имя"", ""profile"");
|Файл.Вставить(""ИмяФайла"", ""portrait.jpg"");
@@ -1320,12 +1298,12 @@
|ДополнительныеПараметры = Новый Структура();
|ДополнительныеПараметры.Вставить(""Файлы"", Файлы);
|
|Результат = КоннекторHTTP.Post(""http://example2.com"", , ДополнительныеПараметры);
|
|//////////////////////////////////////////////
|// Команда #3.
|
|Файлы = Новый Массив();
|Результат = КоннекторHTTP.Post(""http://example.com"", , ДополнительныеПараметры);"
);
ТестовыеДанные.Вставить(
"curl http://example.com/ -F profile=@portrait.jpg --form brief=@file.pdf",
"Файлы = Новый Массив();
|Файл = Новый Структура();
|Файл.Вставить(""Имя"", ""profile"");
|Файл.Вставить(""ИмяФайла"", ""portrait.jpg"");
@@ -1342,12 +1320,12 @@
|ДополнительныеПараметры = Новый Структура();
|ДополнительныеПараметры.Вставить(""Файлы"", Файлы);
|
|Результат = КоннекторHTTP.Post(""http://example3.com"", , ДополнительныеПараметры);
|
|//////////////////////////////////////////////
|// Команда #4.
|
|Файлы = Новый Массив();
|Результат = КоннекторHTTP.Post(""http://example.com"", , ДополнительныеПараметры);"
);
ТестовыеДанные.Вставить(
"curl http://example.com/ -F file=@part1 --form file=@part2",
"Файлы = Новый Массив();
|Файл = Новый Структура();
|Файл.Вставить(""Имя"", ""file"");
|Файл.Вставить(""ИмяФайла"", ""part1"");
@@ -1363,12 +1341,12 @@
|ДополнительныеПараметры = Новый Структура();
|ДополнительныеПараметры.Вставить(""Файлы"", Файлы);
|
|Результат = КоннекторHTTP.Post(""http://example4.com"", , ДополнительныеПараметры);
|
|//////////////////////////////////////////////
|// Команда #5.
|
|Данные = Новый Соответствие();
|Результат = КоннекторHTTP.Post(""http://example.com"", , ДополнительныеПараметры);"
);
ТестовыеДанные.Вставить(
"curl http://example.com/ -F name=John -F profile=@portrait.jpg",
"Данные = Новый Соответствие();
|Данные.Вставить(""name"", ""John"");
|
|Файлы = Новый Массив();
@@ -1382,23 +1360,59 @@
|ДополнительныеПараметры = Новый Структура();
|ДополнительныеПараметры.Вставить(""Файлы"", Файлы);
|
|Результат = КоннекторHTTP.Post(""http://example5.com"", Данные, ДополнительныеПараметры);
|
|//////////////////////////////////////////////
|// Команда #6.
|
|ЧтениеТекста = Новый ЧтениеТекста(""hugefile.txt"");
|Результат = КоннекторHTTP.Post(""http://example.com"", Данные, ДополнительныеПараметры);"
);
ТестовыеДанные.Вставить(
"curl http://example.com/ -F story=<hugefile.txt",
"ЧтениеТекста = Новый ЧтениеТекста(""hugefile.txt"");
|ТекстовыеДанныеФайла_1 = ЧтениеТекста.Прочитать();
|
|Данные = Новый Соответствие();
|Данные.Вставить(""story"", ТекстовыеДанныеФайла_1);
|
|Результат = КоннекторHTTP.Post(""http://example6.com"", Данные);
|Результат = КоннекторHTTP.Post(""http://example.com"", Данные);"
);
ТестовыеДанные.Вставить(
"curl http://example.com/ -F story=<hugefile1.txt -F story=<hugefile2.txt",
"ЧтениеТекста = Новый ЧтениеТекста(""hugefile1.txt"");
|ТекстовыеДанныеФайла_1 = ЧтениеТекста.Прочитать();
|
|//////////////////////////////////////////////
|// Команда #7.
|ЧтениеТекста = Новый ЧтениеТекста(""hugefile2.txt"");
|ТекстовыеДанныеФайла_2 = ЧтениеТекста.Прочитать();
|
|Файлы = Новый Массив();
|Данные = Новый Соответствие();
|Данные.Вставить(""story"", Новый Массив());
|Данные[""story""].Добавить(ТекстовыеДанныеФайла_1);
|Данные[""story""].Добавить(ТекстовыеДанныеФайла_2);
|
|Результат = КоннекторHTTP.Post(""http://example.com"", Данные);"
);
ТестовыеДанные.Вставить(
"curl http://example.com/ -F story=<hugefile1.txt -F story=<hugefile2.txt -F story=<hugefile3.txt",
"ЧтениеТекста = Новый ЧтениеТекста(""hugefile1.txt"");
|ТекстовыеДанныеФайла_1 = ЧтениеТекста.Прочитать();
|
|ЧтениеТекста = Новый ЧтениеТекста(""hugefile2.txt"");
|ТекстовыеДанныеФайла_2 = ЧтениеТекста.Прочитать();
|
|ЧтениеТекста = Новый ЧтениеТекста(""hugefile3.txt"");
|ТекстовыеДанныеФайла_3 = ЧтениеТекста.Прочитать();
|
|Данные = Новый Соответствие();
|Данные.Вставить(""story"", Новый Массив());
|Данные[""story""].Добавить(ТекстовыеДанныеФайла_1);
|Данные[""story""].Добавить(ТекстовыеДанныеФайла_2);
|Данные[""story""].Добавить(ТекстовыеДанныеФайла_3);
|
|Результат = КоннекторHTTP.Post(""http://example.com"", Данные);"
);
ТестовыеДанные.Вставить(
"curl http://example.com/ -F ""web=@index.html;type=text/html""",
"Файлы = Новый Массив();
|Файл = Новый Структура();
|Файл.Вставить(""Имя"", ""web"");
|Файл.Вставить(""ИмяФайла"", ""index.html"");
@@ -1409,20 +1423,20 @@
|ДополнительныеПараметры = Новый Структура();
|ДополнительныеПараметры.Вставить(""Файлы"", Файлы);
|
|Результат = КоннекторHTTP.Post(""http://example7.com"", , ДополнительныеПараметры);
|
|//////////////////////////////////////////////
|// Команда #8.
|
|Данные = Новый Соответствие();
|Результат = КоннекторHTTP.Post(""http://example.com"", , ДополнительныеПараметры);"
);
ТестовыеДанные.Вставить(
"curl http://example.com/ -F ""name=daniel;type=text/foo""",
"Данные = Новый Соответствие();
|Данные.Вставить(""name"", ""daniel"");
|
|Результат = КоннекторHTTP.Post(""http://example8.com"", Данные);
|
|//////////////////////////////////////////////
|// Команда #9.
|
|Файлы = Новый Массив();
|Результат = КоннекторHTTP.Post(""http://example.com"", Данные);"
);
ТестовыеДанные.Вставить(
"curl http://example.com/ -F ""file=@localfile;filename=nameinpost""",
"Файлы = Новый Массив();
|Файл = Новый Структура();
|Файл.Вставить(""Имя"", ""file"");
|Файл.Вставить(""ИмяФайла"", ""nameinpost"");
@@ -1432,12 +1446,12 @@
|ДополнительныеПараметры = Новый Структура();
|ДополнительныеПараметры.Вставить(""Файлы"", Файлы);
|
|Результат = КоннекторHTTP.Post(""http://example9.com"", , ДополнительныеПараметры);
|
|//////////////////////////////////////////////
|// Команда #10.
|
|Файлы = Новый Массив();
|Результат = КоннекторHTTP.Post(""http://example.com"", , ДополнительныеПараметры);"
);
ТестовыеДанные.Вставить(
"curl http://example.com/ -F ""file=@\""local,file\"";filename=\""name;in;post\""""",
"Файлы = Новый Массив();
|Файл = Новый Структура();
|Файл.Вставить(""Имя"", ""file"");
|Файл.Вставить(""ИмяФайла"", ""name;in;post"");
@@ -1447,28 +1461,28 @@
|ДополнительныеПараметры = Новый Структура();
|ДополнительныеПараметры.Вставить(""Файлы"", Файлы);
|
|Результат = КоннекторHTTP.Post(""http://example10.com"", , ДополнительныеПараметры);
|
|//////////////////////////////////////////////
|// Команда #11.
|
|Данные = Новый Соответствие();
|Результат = КоннекторHTTP.Post(""http://example.com"", , ДополнительныеПараметры);"
);
ТестовыеДанные.Вставить(
"curl http://example.com/ -F ""colors=\""red; green; blue\"";type=text/x-myapp""",
"Данные = Новый Соответствие();
|Данные.Вставить(""colors"", ""red; green; blue"");
|
|Результат = КоннекторHTTP.Post(""http://example11.com"", Данные);
|
|//////////////////////////////////////////////
|// Команда #12.
|
|Данные = Новый Соответствие();
|Результат = КоннекторHTTP.Post(""http://example.com"", Данные);"
);
ТестовыеДанные.Вставить(
"curl http://example.com/ -F ""submit=OK;headers=\""X-submit-type: OK\""""",
"Данные = Новый Соответствие();
|Данные.Вставить(""submit"", ""OK"");
|
|Результат = КоннекторHTTP.Post(""http://example12.com"", Данные);
|
|//////////////////////////////////////////////
|// Команда #13.
|
|Файлы = Новый Массив();
|Результат = КоннекторHTTP.Post(""http://example.com"", Данные);"
);
ТестовыеДанные.Вставить(
"curl http://example.com/ -F ""json=@data.json;headers=\""X-header: value\""""",
"Файлы = Новый Массив();
|Файл = Новый Структура();
|Файл.Вставить(""Имя"", ""json"");
|Файл.Вставить(""ИмяФайла"", ""data.json"");
@@ -1480,12 +1494,12 @@
|ДополнительныеПараметры = Новый Структура();
|ДополнительныеПараметры.Вставить(""Файлы"", Файлы);
|
|Результат = КоннекторHTTP.Post(""http://example13.com"", , ДополнительныеПараметры);
|
|//////////////////////////////////////////////
|// Команда #14.
|
|Файлы = Новый Массив();
|Результат = КоннекторHTTP.Post(""http://example.com"", , ДополнительныеПараметры);"
);
ТестовыеДанные.Вставить(
"curl http://example.com/ -F ""json=@data.json;headers=\""X-header-1: some value 1\"";headers=\""X-header-2: some value 2\""""",
"Файлы = Новый Массив();
|Файл = Новый Структура();
|Файл.Вставить(""Имя"", ""json"");
|Файл.Вставить(""ИмяФайла"", ""data.json"");
@@ -1498,37 +1512,37 @@
|ДополнительныеПараметры = Новый Структура();
|ДополнительныеПараметры.Вставить(""Файлы"", Файлы);
|
|Результат = КоннекторHTTP.Post(""http://example14.com"", , ДополнительныеПараметры);
|
|//////////////////////////////////////////////
|// Команда #15.
|
|Данные = Новый Соответствие();
|Результат = КоннекторHTTP.Post(""http://example.com"", , ДополнительныеПараметры);"
);
ТестовыеДанные.Вставить(
"curl http://example.com/ --form-string name=data",
"Данные = Новый Соответствие();
|Данные.Вставить(""name"", ""data"");
|
|Результат = КоннекторHTTP.Post(""http://example15.com"", Данные);
|
|//////////////////////////////////////////////
|// Команда #16.
|
|Данные = Новый Соответствие();
|Результат = КоннекторHTTP.Post(""http://example.com"", Данные);"
);
ТестовыеДанные.Вставить(
"curl http://example.com/ --form-string 'name=@data;type=some'",
"Данные = Новый Соответствие();
|Данные.Вставить(""name"", ""@data;type=some"");
|
|Результат = КоннекторHTTP.Post(""http://example16.com"", Данные);
|
|//////////////////////////////////////////////
|// Команда #17.
|
|Данные = Новый Соответствие();
|Результат = КоннекторHTTP.Post(""http://example.com"", Данные);"
);
ТестовыеДанные.Вставить(
"curl http://example.com/ -F name=John= -F 'brief=doctor=111;type=text/foo'",
"Данные = Новый Соответствие();
|Данные.Вставить(""name"", ""John="");
|Данные.Вставить(""brief"", ""doctor=111"");
|
|Результат = КоннекторHTTP.Post(""http://example17.com"", Данные);
|
|//////////////////////////////////////////////
|// Команда #18.
|
|Файлы = Новый Массив();
|Результат = КоннекторHTTP.Post(""http://example.com"", Данные);"
);
ТестовыеДанные.Вставить(
"curl http://example.com/ -F 'profile=@portrait.jpg;type=text/html,@file1.pdf,@file2.pdf;type=text/xml'",
"Файлы = Новый Массив();
|Файл = Новый Структура();
|Файл.Вставить(""Имя"", ""profile"");
|Файл.Вставить(""ИмяФайла"", ""portrait.jpg"");
@@ -1552,21 +1566,29 @@
|ДополнительныеПараметры = Новый Структура();
|ДополнительныеПараметры.Вставить(""Файлы"", Файлы);
|
|Результат = КоннекторHTTP.Post(""http://example18.com"", , ДополнительныеПараметры);
|
|//////////////////////////////////////////////
|// Команда #19.
|
|Данные = Новый Соответствие();
|Результат = КоннекторHTTP.Post(""http://example.com"", , ДополнительныеПараметры);"
);
ТестовыеДанные.Вставить(
"curl http://example.com/ \
|-F multiline1=""line1
|\""line2\""
|'line3'"" \
|-F 'multiline2=line1
|line2'",
"Данные = Новый Соответствие();
|Данные.Вставить(""multiline1"", ""line1
||""""line2""""
||'line3'"");
|Данные.Вставить(""multiline2"", ""line1
||line2"");
|
|Результат = КоннекторHTTP.Post(""http://example19.com"", Данные);";
|Результат = КоннекторHTTP.Post(""http://example.com"", Данные);"
);
ПроверитьКонвертациюБезОшибок(КонсольнаяКоманда, ПрограммныйКод);
Для Каждого Строка Из ТестовыеДанные Цикл
ВалидаторКонвертацииКоманды.Проверить(Строка.Ключ, Строка.Значение);
КонецЦикла;
КонецПроцедуры
@@ -1607,7 +1629,7 @@
|
|Результат = КоннекторHTTP.Patch(""http://example5.com"");";
ПроверитьКонвертациюБезОшибок(КонсольнаяКоманда, ПрограммныйКод, Генератор);
ВалидаторКонвертацииКоманды.Проверить(КонсольнаяКоманда, ПрограммныйКод, Генератор);
КонецПроцедуры
@@ -1762,48 +1784,7 @@
);
Для Каждого Строка Из ТестовыеДанные Цикл
ПроверитьКонвертациюБезОшибок(Строка.Ключ, Строка.Значение);
ВалидаторКонвертацииКоманды.Проверить(Строка.Ключ, Строка.Значение);
КонецЦикла;
КонецПроцедуры
Процедура ПроверитьКонвертациюБезОшибок(КонсольнаяКоманда, ПрограммныйКод, Генератор = Неопределено)
Если Генератор = Неопределено Тогда
Генератор = ГенераторПоУмолчанию;
КонецЕсли;
// Результат конвертации
Ошибки = Неопределено;
КонвертерКомандыCURL.УстановитьЯзыкПеревода("ru");
Результат = КонвертерКомандыCURL.Конвертировать(КонсольнаяКоманда, Генератор, Ошибки);
Ожидаем.Что(Результат, КонсольнаяКоманда).Равно(ПрограммныйКод);
Ожидаем.Что(Ошибки, КонсольнаяКоманда).Не_().Заполнено();
// Перевод
Если СодержитРусскиеБуквы(КонсольнаяКоманда) Тогда
Возврат;
КонецЕсли;
КонвертерКомандыCURL.УстановитьЯзыкПеревода("en");
РезультатПеревода = КонвертерКомандыCURL.Конвертировать(КонсольнаяКоманда, Генератор, Ошибки);
Ожидаем.Что(РезультатПеревода).Не_().Содержит("{t(");
Ожидаем.Что(СодержитРусскиеБуквы(РезультатПеревода), "Перевод").ЭтоЛожь();
КонецПроцедуры
Функция СодержитРусскиеБуквы(Строка)
Алфавит = "абвгдеёжзийклмнопрстуфхцчшщъыьэюя"; // BSLLS:Typo-off
Для Порядок = 1 По СтрДлина(Алфавит) Цикл
Если СтрНайти(Строка, Сред(Алфавит, Порядок, 1)) > 0 Тогда
Возврат Истина;
КонецЕсли;
КонецЦикла;
Возврат Ложь;
КонецФункции