99
1010 ИменаТестов = Новый Массив;
1111
12- //ИменаТестов.Добавить("ТестДолжен_ПроверитьРаботуКоманды");
12+ ИменаТестов.Добавить("ТестДолжен_ТолькоАргументы" );
13+ //ИменаТестов.Добавить("ТестДолжен_ТолькоОпции");
1314 //ИменаТестов.Добавить("ТестДолжен_ПроверитьПриложения");
1415
1516 Возврат ИменаТестов;
1617
1718КонецФункции
1819
19- Процедура ТестДолжен_ПроверитьРаботуКоманды () Экспорт
20+ Процедура ТестДолжен_ТолькоАргументы () Экспорт
2021
21- cli = Новый КомандаПриложения("os" , "я тут" , ЭтотОбъект);
22- оп_v = cli.БулевоОпция("v vers" , Ложь , "Тест" );
23- оп_s = cli.БулевоОпция("s ssss" , Ложь , "Тест" );
24- оп_b = cli.БулевоОпция("b bbbb" , Ложь , "Тест" );
25- ARG = cli.СтрокаАргумент("ARG" , "" , "Тест" );
26- SRC = cli.СтрокаАргумент("SRC" , "" , "Тест" );
27- cli.Спек = "ARG -v[-s | --ssss] -b SRC" ;
28- cli.НачалоЗапуска();
29- ВходящиеАргументы = Новый Массив;
30- ВходящиеАргументы.Добавить("Это очень крутой аргумент" );
31- ВходящиеАргументы.Добавить("-v" );
32- ВходящиеАргументы.Добавить("--ssss" );
33- ВходящиеАргументы.Добавить("-b" );
34- ВходящиеАргументы.Добавить("аргумент SRC" );
35- cli.Запуск(ВходящиеАргументы);
36-
37- Сообщить ("-v " + оп_v.Значение);
38- Сообщить ("-b " + оп_b.Значение);
39- Сообщить ("-s " + оп_s.Значение);
40- Сообщить ("ARG " + ARG.Значение);
41- Сообщить ("SRC " + SRC.Значение);
42-
43- КонецПроцедуры
44-
45- Процедура ОписаниеКоманды (Команда ) Экспорт
46-
47- V = Команда.Опция("v vers-predator" , Ложь , "Флаг вывода парметров" ).Флаговый();
48- S = Команда.Опция("s ssss" , Ложь , "Тест" ).Флаговый();
49- B = Команда.Опция("b bbbb" , Ложь , "Тест" ).Флаговый();
50- ARG = Команда.Аргумент("ARG" , "" , "Тест" );
51- SRC = Команда.Аргумент("SRC" , "" , "Тест" );
52- Команда.Спек = "-v [-sb] ARG SRC" ;
53- //Команда.Спек = "ARG -v[-s | --ssss] -b SRC";
54-
55- КонецПроцедуры
22+ Приложение = Новый КонсольноеПриложение("cp" , "" );
5623
24+ DST = Приложение.Аргумент("DST" , "" , "Тест" );
25+ SRC = Приложение.Аргумент("SRC" , "" , "Тест" ).ТМассивСтрок();;
5726
58- Процедура ТестДолжен_ПроверитьПриложения () Экспорт
27+ Приложение.УстановитьСпек("SRC... DST" );
28+ Приложение.УстановитьОсновноеДействие(ЭтотОбъект);
5929
60- cli = Новый КонсольноеПриложение("testapp" , "Выполняет полезную работу" );
61- cli.Версия("v version" , "1.0" );
62- КомандаAve = cli.ДобавитьКоманду("a ave" , "Команда ave" , ЭтотОбъект);
63- // оп_v = КомандаAve.Опция("v vers", Ложь, "Тест").Флаговый().ВПеременную(V);
64- // on_s = КомандаAve.Опция("s ssss", Ложь, "Тест").Флаговый().ВПеременную(S);
65- // on_b = КомандаAve.Опция("b bbbb", Ложь, "Тест").Флаговый().ВПеременную(B);
66- // ARG = КомандаAve.Аргумент("ARG", "", "Тест").ВПеременную(ARG);
67- // SRC = КомандаAve.Аргумент("SRC", "", "Тест").ВПеременную(SRC);
68- // // КомандаAve.Спек = "-vsb ARG SRC";
30+ МассивSRC = Новый Массив;
31+ МассивSRC.Добавить("src1" );
32+ МассивSRC.Добавить("src2" );
6933
7034 ВходящиеАргументы = Новый Массив;
71- ВходящиеАргументы.Добавить("ave" );
72- //ВходящиеАргументы.Добавить("-v");
73- ВходящиеАргументы.Добавить("--help" );
74- //ВходящиеАргументы.Добавить("-b");
75- ВходящиеАргументы.Добавить("Это очень крутой аргумент" );
76- ВходящиеАргументы.Добавить("аргумент SRC" );
77- cli.Запустить(ВходящиеАргументы);
35+ ВходящиеАргументы.Добавить("src1" );
36+ ВходящиеАргументы.Добавить("src2" );
37+ ВходящиеАргументы.Добавить("dst" );
38+
39+ Приложение.Запустить(ВходящиеАргументы);
40+
41+ Утверждения.ПроверитьРавенство(DST.Значение, "dst" , "Аргумент DST не равен ожидаемому" );
42+ Утверждения.ПроверитьРавенство(SRC.Значение.Количество(), МассивSRC.Количество(), "Аргумент SRC не равен ожидаемому" );
7843
7944
8045КонецПроцедуры
8146
47+ Процедура ВыполнитьКоманду (Знач Команда ) Экспорт
8248
83- Процедура ВыполнитьКоманду () Экспорт
49+ КонецПроцедуры
50+
51+ Функция ИмяФункции ()
8452
85- Сообщить ("-v " + V.Значение);
86- Сообщить ("-b " + B.Значение);
87- Сообщить ("-s " + S.Значение);
88- Сообщить ("ARG " + ARG.Значение);
89- Сообщить ("SRC " + SRC.Значение);
90- Сообщить ("Полезная работа" );
91-
92- КонецПроцедуры
53+ КонецФункции
54+
55+ Лог = Логирование.ПолучитьЛог("oscript.lib.cli_command" );
56+ //Лог.УстановитьУровень(УровниЛога.Отладка);
0 commit comments