From f51077e12581a3957be77edbca0a0571e34280e1 Mon Sep 17 00:00:00 2001 From: liliya Date: Thu, 18 Jul 2024 13:30:21 +0300 Subject: [PATCH 1/4] =?UTF-8?q?[IVEDU-148]=20-=20=D0=9F=D1=80=D0=B0=D0=B2?= =?UTF-8?q?=D0=BA=D0=B0=20=D0=B2=D1=8B=D0=B2=D0=BE=D0=B4=D0=B0=20=D0=BE?= =?UTF-8?q?=D1=88=D0=B8=D0=B1=D0=BE=D0=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lang/ru/include.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lang/ru/include.php b/lang/ru/include.php index 4b8527f2..dcbb7521 100644 --- a/lang/ru/include.php +++ b/lang/ru/include.php @@ -323,7 +323,7 @@ $MESS['INTERVOLGA_EDU.REGISTER_PAGE_OPTION_VALID'] = '/path/to/register/'; $MESS['INTERVOLGA_EDU.USER_PASS_REQUEST_TEXT_PROBLEM'] = 'Шаблон письма «Запрос на смену пароля» не найден или пуст, проверьте'; $MESS['INTERVOLGA_EDU.USER_PASS_REQUEST_URL_PROBLEM'] = 'В шаблоне письма «Запрос на смену пароля» нет валидной ссылки'; -$MESS['INTERVOLGA_EDU.USER_PASS_REQUEST_PAGE_PROBLEM'] = 'ссылка из письма'; +$MESS['INTERVOLGA_EDU.USER_PASS_REQUEST_PAGE_PROBLEM'] = 'Cсылка восстановления пароля из письма является недействительной. Файл #VALUE# - не существует'; $MESS['INTERVOLGA_EDU.IBLOCK_FIELD_PARAM_SHOULD_BE_SET'] = 'Настройка #PARAM# поля #FIELD# должна быть #EXPECT#'; $MESS['INTERVOLGA_EDU.CONTENT_FOUND'] = 'В #NAME# не должно быть #REGEX_EXPLAIN# (#REASON#)'; $MESS['INTERVOLGA_EDU.ADD_CUSTOM_CORE_CHECK'] = 'В файле #VALUE# нужно использовать короткое подключение ядра: B_PROLOG_INCLUDED === true || die()'; From 1683048d1cf634308991de171cfe47a67299d0b4 Mon Sep 17 00:00:00 2001 From: liliya Date: Thu, 18 Jul 2024 15:19:29 +0300 Subject: [PATCH 2/4] =?UTF-8?q?[IVEDU-149]=20-=20=D0=98=D1=81=D0=BF=D1=80?= =?UTF-8?q?=D0=B0=D0=B2=D0=BB=D0=B5=D0=BD=D0=B8=D1=8F=20=D0=BF=D1=80=D0=BE?= =?UTF-8?q?=D0=B2=D0=B5=D1=80=D0=BA=D0=B8=20en-=D0=B4=D0=B8=D1=80=D0=B5?= =?UTF-8?q?=D0=BA=D1=82=D0=BE=D1=80=D0=B8=D0=B8=20=D0=B8=20=D0=BF=D1=80?= =?UTF-8?q?=D0=BE=D0=B2=D0=B5=D1=80=D0=BA=D0=B0=20=D0=BA=D0=B8=D1=80=D0=B8?= =?UTF-8?q?=D0=BB=D0=BB=D0=B8=D1=86=D1=8B=20=D0=B2=20lang-=D1=84=D0=B0?= =?UTF-8?q?=D0=B9=D0=BB=D0=B5=20+=20=D0=BF=D1=80=D0=BE=D0=B2=D0=B5=D1=80?= =?UTF-8?q?=D0=BA=D0=B0=20"=D0=BE=20=D0=BC=D0=B0=D0=B3=D0=B0=D0=B7=D0=B8?= =?UTF-8?q?=D0=BD=D0=B5"=20=D0=B2=20lang=20=D1=88=D0=B0=D0=B1=D0=BB=D0=BE?= =?UTF-8?q?=D0=BD=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lang/ru/include.php | 3 ++ .../tests/course1/lesson41/testlangfile.php | 3 ++ lib/filestree/template/bottommenutree.php | 34 +++++++++++++++++ lib/tester.php | 1 + lib/tests/course1/lesson41/testbottommenu.php | 31 ++++++++++++++- lib/tests/course1/lesson41/testlangfile.php | 38 +++++++++++++++++++ 6 files changed, 108 insertions(+), 2 deletions(-) create mode 100644 lang/ru/lib/tests/course1/lesson41/testlangfile.php create mode 100644 lib/filestree/template/bottommenutree.php create mode 100644 lib/tests/course1/lesson41/testlangfile.php diff --git a/lang/ru/include.php b/lang/ru/include.php index dcbb7521..7ddf6285 100644 --- a/lang/ru/include.php +++ b/lang/ru/include.php @@ -108,6 +108,9 @@ $MESS['INTERVOLGA_EDU.COURSE1_LESSON41_INCLUDEAREA_DESCRIPTION'] = 'Должен быть файл в разделе Партнерам и в корне сайта'; $MESS['INTERVOLGA_EDU.COURSE1_LESSON41_ABOUTMENUITEMS'] = 'Проверка пунктов меню "О магазине"'; $MESS['INTERVOLGA_EDU.COURSE1_LESSON41_ABOUTMENUITEMS_DESCRIPTION'] = 'В меню должны быть разделы: Отзывы, Контакты, Руководство, История'; +$MESS['INTERVOLGA_EDU.COURSE1_LESSON41_LANGFILE'] = 'Проверка lang-файлов шаблона'; +$MESS['INTERVOLGA_EDU.COURSE1_LESSON41_LANGFILE_DESCRIPTION'] = 'В файле шаблона не должно быть кириллицы, все языковые фразы должны быть вынесены в соответствующий lang-файл'; + $MESS['INTERVOLGA_EDU.COURSE1_LESSON42_REGISTERPAGEOPTION'] = 'Проверка настройки «Страница регистрации»'; $MESS['INTERVOLGA_EDU.COURSE1_LESSON42_REGISTERPAGEOPTION_DESCRIPTION'] = 'Настройка Главного модуля «Страница регистрации (для системного компонента авторизации)» должна содержать относительный путь к разделу регистрации'; $MESS['INTERVOLGA_EDU.COURSE1_LESSON42_EMAIL'] = 'Проверка ссылки на восстановление пароля'; diff --git a/lang/ru/lib/tests/course1/lesson41/testlangfile.php b/lang/ru/lib/tests/course1/lesson41/testlangfile.php new file mode 100644 index 00000000..9a612bc6 --- /dev/null +++ b/lang/ru/lib/tests/course1/lesson41/testlangfile.php @@ -0,0 +1,3 @@ +языковая фраза "О магазине"'; +$MESS['INTERVOLGA_EDU.COURSE_1_LESSON_41.FOUND_RU_WORDS'] = 'кириллицу. Используйте Loc::getMessage()'; \ No newline at end of file diff --git a/lib/filestree/template/bottommenutree.php b/lib/filestree/template/bottommenutree.php new file mode 100644 index 00000000..e547edf9 --- /dev/null +++ b/lib/filestree/template/bottommenutree.php @@ -0,0 +1,34 @@ +getLangDir(); + if ($langDirectory->isExists()) { + foreach ($langDirectory->getChildren() as $item) { + if ($item->getName() != ('ru'||'en')) { + $result[] = $item; + } + } + } + return $result; + } + public function getLangEnDir(): Directory + { + $langDirectory = $this->getLangDir(); + + return FileSystem::getInnerDirectory($langDirectory, 'en'); + } +} \ No newline at end of file diff --git a/lib/tester.php b/lib/tester.php index 6e0f8fe0..3e2258a3 100644 --- a/lib/tester.php +++ b/lib/tester.php @@ -57,6 +57,7 @@ protected static function getTestClasses() \Intervolga\Edu\Tests\Course1\Lesson41\TestBottomMenu::class, \Intervolga\Edu\Tests\Course1\Lesson41\TestAboutMenuItems::class, \Intervolga\Edu\Tests\Course1\Lesson41\TestBreadcrumb::class, + \Intervolga\Edu\Tests\Course1\Lesson41\TestLangFile::class, \Intervolga\Edu\Tests\Course1\Lesson42\TestRegisterPageOption::class, \Intervolga\Edu\Tests\Course1\Lesson42\TestEmail::class, diff --git a/lib/tests/course1/lesson41/testbottommenu.php b/lib/tests/course1/lesson41/testbottommenu.php index 0e4b14a0..a5a07db5 100644 --- a/lib/tests/course1/lesson41/testbottommenu.php +++ b/lib/tests/course1/lesson41/testbottommenu.php @@ -1,8 +1,9 @@ getLangEnDir()->isExists()) { + foreach ($templateDir->getLangEnDir()->getChildren() as $child) { + + if ($child->isDirectory()) { + if (!in_array($child->getName(), static::getKnownDirNames($templateDir))) { + Assert::directoryNotExists($child); + } + } elseif ($child->isFile()) { + if (!in_array($child->getName(), static::getKnownFilesNames($templateDir))) { + Assert::fseNotExists($child); + } else { + static::testTemplateLangRu($templateDir, $child); + } + } + } + } } } diff --git a/lib/tests/course1/lesson41/testlangfile.php b/lib/tests/course1/lesson41/testlangfile.php new file mode 100644 index 00000000..822c2b83 --- /dev/null +++ b/lib/tests/course1/lesson41/testlangfile.php @@ -0,0 +1,38 @@ +getChildren() as $child) { + if ($child->isFile()) { + Assert::fileContentNotMatches( + $child, + new Regex('/[а-яё]+/iu', + Loc::getMessage('INTERVOLGA_EDU.COURSE_1_LESSON_41.FOUND_RU_WORDS')) + ); + } + } + } + Assert::fseExists($langFile = new File(BottomMenuTemplate::find()->getPath() . '/lang/ru/template.php')); + if ($langFile->isExists()) { + Assert::fileContentMatches($langFile, new Regex('/О магазине/iu', 'О магазине'), + Loc::getMessage('INTERVOLGA_EDU.COURSE_1_LESSON_41.NOT_FOUND_PHRASE')); + } + } + public static function interceptErrors() + { + return true; + } +} From 6ea98f9e9f273dd63dca4cf158870aeb9655fe34 Mon Sep 17 00:00:00 2001 From: Liliya Date: Fri, 19 Jul 2024 15:03:58 +0300 Subject: [PATCH 3/4] =?UTF-8?q?=D0=A0=D0=B5=D0=BB=D0=B8=D0=B7=201.1.5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- install/version.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/install/version.php b/install/version.php index 3714a689..37e3da1d 100644 --- a/install/version.php +++ b/install/version.php @@ -1,5 +1,5 @@ '1.1.4', - 'VERSION_DATE' => '2024-07-12 11:00:00' + 'VERSION' => '1.1.5', + 'VERSION_DATE' => '2024-07-19 15:00:00' ]; \ No newline at end of file From 303b2d7f9c0d3060e7a6c08d9b4207f70dd4a978 Mon Sep 17 00:00:00 2001 From: liliya Date: Fri, 26 Jul 2024 15:05:44 +0300 Subject: [PATCH 4/4] =?UTF-8?q?[IVEDU-151]=20-=20=D0=9F=D1=80=D0=BE=D0=B2?= =?UTF-8?q?=D0=B5=D1=80=D0=BA=D0=B0=20=D0=BF=D0=B0=D1=80=D0=B0=D0=BC=D0=B5?= =?UTF-8?q?=D1=82=D1=80=D0=BE=D0=B2=20=D0=BA=D0=B0=D1=81=D1=82=D0=BE=D0=BC?= =?UTF-8?q?=D0=BD=D0=BE=D0=B3=D0=BE=20=D0=BA=D0=BE=D0=BC=D0=BF=D0=BE=D0=BD?= =?UTF-8?q?=D0=B5=D0=BD=D1=82=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lang/ru/include.php | 3 ++ .../lesson3/testcomponentparameters.php | 3 ++ lib/tester.php | 1 + .../lesson3/testcomponentparameters.php | 35 +++++++++++++++++++ 4 files changed, 42 insertions(+) create mode 100644 lang/ru/lib/tests/course3/lesson3/testcomponentparameters.php create mode 100644 lib/tests/course3/lesson3/testcomponentparameters.php diff --git a/lang/ru/include.php b/lang/ru/include.php index 7ddf6285..0b7abadd 100644 --- a/lang/ru/include.php +++ b/lang/ru/include.php @@ -238,6 +238,9 @@ $MESS['INTERVOLGA_EDU.COURSE3_LESSON3_SUBQUERY_DESCRIPTION'] = 'CIBlockElement::SubQuery должен использоваться внутри класса компонента'; $MESS['INTERVOLGA_EDU.COURSE3_LESSON3_TEMPLATERESPONDENTS'] = 'Проверка размещения компонента "Респонденты" и содержимого шаблона'; $MESS['INTERVOLGA_EDU.COURSE3_LESSON3_TEMPLATERESPONDENTS_DESCRIPTION'] = 'Компонент должен быть размещен, а все используемые слова/фразы должны быть вынесены в lang-файлы.'; +$MESS['INTERVOLGA_EDU.COURSE3_LESSON3_COMPONENTPARAMETERS'] = 'Проверка параметров компонента "Респонденты/Результаты опроса'; +$MESS['INTERVOLGA_EDU.COURSE3_LESSON3_COMPONENTPARAMETERS_DESCRIPTION'] = 'В параметрах компонента должны быть выбраны свойсвтва ИБ, согласно тексту задания.'; + $MESS['INTERVOLGA_EDU.COURSE3_LESSON4_UF'] = 'Проверка собственного UF-свойства'; $MESS['INTERVOLGA_EDU.COURSE3_LESSON4_UF_DESCRIPTION'] = 'Должен существовать обработчик события OnUserTypeBuildList модуля main для свойства "Привязка к коллекции медиабиблиотеки"'; diff --git a/lang/ru/lib/tests/course3/lesson3/testcomponentparameters.php b/lang/ru/lib/tests/course3/lesson3/testcomponentparameters.php new file mode 100644 index 00000000..67d2e80d --- /dev/null +++ b/lang/ru/lib/tests/course3/lesson3/testcomponentparameters.php @@ -0,0 +1,3 @@ + implode(', ', $add)])); + Assert::empty($delete, Loc::getMessage('INTERVOLGA_EDU.COURSE_3_LESSON_3.DELETE_PROPS', ['#PROPS#' => implode(', ', $delete)])); + } + } +} \ No newline at end of file