From 2b0ac3ea75a8058bd936d0d22030305cb54b6bfc Mon Sep 17 00:00:00 2001 From: Nick Shirokov Date: Wed, 19 Aug 2026 11:32:46 +0300 Subject: [PATCH] =?UTF-8?q?fix(role-compile):=20py-=D0=BF=D0=BE=D1=80?= =?UTF-8?q?=D1=82=20=D1=80=D0=B0=D0=BF=D0=BE=D1=80=D1=82=D0=BE=D0=B2=D0=B0?= =?UTF-8?q?=D0=BB=20=D0=BE=D0=B1=20=D1=83=D1=81=D0=BF=D0=B5=D1=88=D0=BD?= =?UTF-8?q?=D0=BE=D0=B9=20=D1=80=D0=B5=D0=B3=D0=B8=D1=81=D1=82=D1=80=D0=B0?= =?UTF-8?q?=D1=86=D0=B8=D0=B8,=20=D0=BD=D0=B5=20=D1=82=D1=80=D0=BE=D0=BD?= =?UTF-8?q?=D1=83=D0=B2=20Configuration.xml?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Configuration.xml без и с самозакрытым — в обеих формах py печатал «X added to ChildObjects», а файл оставался байт-в-байт прежним. Модель считала роль включённой в состав конфигурации, хотя её там не было. PS-порт обе формы обрабатывал верно: самозакрытый тег раскрывал, при отсутствующем честно предупреждал. Ветвление перенесено из meta-compile.py, где та же задача давно решена: есть блок ChildObjects — вставляем внутрь; есть самозакрытый тег — раскрываем первой записью; нет ни того ни другого — исход no-childobj и файл не трогаем. Ветка вывода no-childobj в py уже была и до сих пор оставалась недостижимой. Порядок вставки и способ правки файла не менялись: проверка на боевых выгрузках (acc/erp, CRLF и LF) показала, что действующая реализация даёт дельту ровно в одну вставленную строку, а платформа порядок ChildObjects не нормализует. Кейсы на обе формы. На неисправленном коде оба падают на python и проходят на powershell. Проверка «успех не объявлен» опирается на stdoutNotContains и снапшот: Write-Warning в PS 5.1 идёт в stdout с локализованным префиксом, а py пишет в stderr, поэтому портируемого stderrContains тут быть не может. Co-Authored-By: Sergei Pleshanov <2357qwr@gmail.com> Co-Authored-By: Claude Opus 5 (1M context) --- .../role-compile/scripts/role-compile.ps1 | 2 +- .../role-compile/scripts/role-compile.py | 52 ++-- .../role-compile/childobjects-missing.json | 16 ++ .../role-compile/childobjects-selfclosed.json | 21 ++ .../childobjects-missing/Configuration.xml | 248 +++++++++++++++++ .../Ext/ClientApplicationInterface.xml | 18 ++ .../Languages/Русский.xml | 16 ++ .../childobjects-selfclosed/Configuration.xml | 249 +++++++++++++++++ .../Ext/ClientApplicationInterface.xml | 18 ++ .../Languages/Русский.xml | 16 ++ .../childobjects-missing/Configuration.xml | 248 +++++++++++++++++ .../Ext/ClientApplicationInterface.xml | 18 ++ .../Languages/Русский.xml | 16 ++ .../childobjects-missing/Roles/Пустая.xml | 15 ++ .../Roles/Пустая/Ext/Rights.xml | 6 + .../childobjects-selfclosed/Configuration.xml | 251 ++++++++++++++++++ .../Ext/ClientApplicationInterface.xml | 18 ++ .../Languages/Русский.xml | 16 ++ .../childobjects-selfclosed/Roles/Пустая.xml | 15 ++ .../Roles/Пустая/Ext/Rights.xml | 6 + 20 files changed, 1246 insertions(+), 19 deletions(-) create mode 100644 tests/skills/cases/role-compile/childobjects-missing.json create mode 100644 tests/skills/cases/role-compile/childobjects-selfclosed.json create mode 100644 tests/skills/cases/role-compile/fixtures/childobjects-missing/Configuration.xml create mode 100644 tests/skills/cases/role-compile/fixtures/childobjects-missing/Ext/ClientApplicationInterface.xml create mode 100644 tests/skills/cases/role-compile/fixtures/childobjects-missing/Languages/Русский.xml create mode 100644 tests/skills/cases/role-compile/fixtures/childobjects-selfclosed/Configuration.xml create mode 100644 tests/skills/cases/role-compile/fixtures/childobjects-selfclosed/Ext/ClientApplicationInterface.xml create mode 100644 tests/skills/cases/role-compile/fixtures/childobjects-selfclosed/Languages/Русский.xml create mode 100644 tests/skills/cases/role-compile/snapshots/childobjects-missing/Configuration.xml create mode 100644 tests/skills/cases/role-compile/snapshots/childobjects-missing/Ext/ClientApplicationInterface.xml create mode 100644 tests/skills/cases/role-compile/snapshots/childobjects-missing/Languages/Русский.xml create mode 100644 tests/skills/cases/role-compile/snapshots/childobjects-missing/Roles/Пустая.xml create mode 100644 tests/skills/cases/role-compile/snapshots/childobjects-missing/Roles/Пустая/Ext/Rights.xml create mode 100644 tests/skills/cases/role-compile/snapshots/childobjects-selfclosed/Configuration.xml create mode 100644 tests/skills/cases/role-compile/snapshots/childobjects-selfclosed/Ext/ClientApplicationInterface.xml create mode 100644 tests/skills/cases/role-compile/snapshots/childobjects-selfclosed/Languages/Русский.xml create mode 100644 tests/skills/cases/role-compile/snapshots/childobjects-selfclosed/Roles/Пустая.xml create mode 100644 tests/skills/cases/role-compile/snapshots/childobjects-selfclosed/Roles/Пустая/Ext/Rights.xml diff --git a/.claude/skills/role-compile/scripts/role-compile.ps1 b/.claude/skills/role-compile/scripts/role-compile.ps1 index ccb6bc76..cd9d56b9 100644 --- a/.claude/skills/role-compile/scripts/role-compile.ps1 +++ b/.claude/skills/role-compile/scripts/role-compile.ps1 @@ -1,4 +1,4 @@ -# role-compile v1.26 — Compile 1C role from JSON +# role-compile v1.27 — Compile 1C role from JSON # Source: https://github.com/Nikolay-Shirokov/cc-1c-skills param( [Parameter(Mandatory)] diff --git a/.claude/skills/role-compile/scripts/role-compile.py b/.claude/skills/role-compile/scripts/role-compile.py index 4a1428b5..39c2f411 100644 --- a/.claude/skills/role-compile/scripts/role-compile.py +++ b/.claude/skills/role-compile/scripts/role-compile.py @@ -1,5 +1,5 @@ #!/usr/bin/env python3 -# role-compile v1.26 — Compile 1C role from JSON +# role-compile v1.27 — Compile 1C role from JSON # Source: https://github.com/Nikolay-Shirokov/cc-1c-skills import argparse import json @@ -1177,27 +1177,43 @@ def main(): if f'{role_name}' in raw_text: reg_result = 'already' else: - # Find last ... and insert after it - role_pattern = re.compile(r'([^<]*)') - matches = list(role_pattern.finditer(raw_text)) new_role_tag = f'{role_name}' + block = re.search(r'.*?', raw_text, re.S) - if matches: - # Insert after last existing - last_match = matches[-1] - insert_pos = last_match.end() - raw_text = raw_text[:insert_pos] + eol + f'\t\t\t{new_role_tag}' + raw_text[insert_pos:] + if block is None: + # Самозакрытый раскрываем первой записью; если тега нет вовсе — + # регистрировать некуда, и файл трогать нельзя. Раньше обе эти ветки писали + # исход 'added', не изменив ни байта: модель считала роль включённой в состав, + # а её там не было. + empty = re.search(r'', raw_text) + if empty is None: + reg_result = 'no-childobj' + else: + replacement = ('' + eol + f'\t\t\t{new_role_tag}' + + eol + '\t\t') + raw_text = raw_text[:empty.start()] + replacement + raw_text[empty.end():] + write_utf8_bom(config_xml_path, raw_text) + reg_result = 'added' else: - # No existing roles — insert before - # Отступ вставки берём у закрывающего тега +1 уровень: подстановка - # по голому '' удваивала бы уже присутствующий отступ - # строки (получалось 5 табов вместо 3 — PS-порт через DOM даёт 3). - raw_text = re.sub(r'([ \t]*)', - lambda m: m.group(1) + '\t' + new_role_tag + eol + m.group(1) + '', - raw_text, count=1) + role_pattern = re.compile(r'([^<]*)') + matches = list(role_pattern.finditer(raw_text)) - write_utf8_bom(config_xml_path, raw_text) - reg_result = 'added' + if matches: + # Insert after last existing + last_match = matches[-1] + insert_pos = last_match.end() + raw_text = raw_text[:insert_pos] + eol + f'\t\t\t{new_role_tag}' + raw_text[insert_pos:] + else: + # No existing roles — insert before + # Отступ вставки берём у закрывающего тега +1 уровень: подстановка + # по голому '' удваивала бы уже присутствующий отступ + # строки (получалось 5 табов вместо 3 — PS-порт через DOM даёт 3). + raw_text = re.sub(r'([ \t]*)', + lambda m: m.group(1) + '\t' + new_role_tag + eol + m.group(1) + '', + raw_text, count=1) + + write_utf8_bom(config_xml_path, raw_text) + reg_result = 'added' else: reg_result = 'no-config' diff --git a/tests/skills/cases/role-compile/childobjects-missing.json b/tests/skills/cases/role-compile/childobjects-missing.json new file mode 100644 index 00000000..0649260f --- /dev/null +++ b/tests/skills/cases/role-compile/childobjects-missing.json @@ -0,0 +1,16 @@ +{ + "name": "Configuration.xml без : регистрировать некуда, успех не объявляется", + "setup": "fixture:childobjects-missing", + "input": { "name": "Пустая" }, + "validatePath": "Roles/Пустая", + "expect": { + "files": [ + "Roles/Пустая.xml", + "Roles/Пустая/Ext/Rights.xml" + ], + "stdoutNotContains": [ + "added to ChildObjects", + "already registered" + ] + } +} diff --git a/tests/skills/cases/role-compile/childobjects-selfclosed.json b/tests/skills/cases/role-compile/childobjects-selfclosed.json new file mode 100644 index 00000000..1d958be9 --- /dev/null +++ b/tests/skills/cases/role-compile/childobjects-selfclosed.json @@ -0,0 +1,21 @@ +{ + "name": "Самозакрытый : тег раскрывается, роль регистрируется", + "setup": "fixture:childobjects-selfclosed", + "input": { "name": "Пустая" }, + "validatePath": "Roles/Пустая", + "expect": { + "files": [ + "Roles/Пустая.xml", + "Roles/Пустая/Ext/Rights.xml" + ], + "stdoutContains": "Пустая added to ChildObjects", + "preserves": { + "file": "Configuration.xml", + "bom": true, + "eol": "crlf", + "encoding": "UTF-8", + "finalNewline": false, + "noCR13": true + } + } +} diff --git a/tests/skills/cases/role-compile/fixtures/childobjects-missing/Configuration.xml b/tests/skills/cases/role-compile/fixtures/childobjects-missing/Configuration.xml new file mode 100644 index 00000000..a96210b5 --- /dev/null +++ b/tests/skills/cases/role-compile/fixtures/childobjects-missing/Configuration.xml @@ -0,0 +1,248 @@ + + + + + + 9cd510cd-abfc-11d4-9434-004095e12fc7 + d41d3bac-c6c1-4a8d-afcd-81fc29f496d0 + + + 9fcd25a0-4822-11d4-9414-008048da11f9 + c8e78ba2-51c5-45bb-a0ef-8c3c7ff76053 + + + e3687481-0a87-462c-a166-9f34594f9bba + 342f337b-45a8-422b-965d-11330d52b334 + + + 9de14907-ec23-4a07-96f0-85521cb6b53b + a3448b91-cbda-4e31-a0f2-e32bc1884e7c + + + 51f2d5d8-ea4d-4064-8892-82951750031e + 41d207a0-776a-40af-bcd1-925d3acffb82 + + + e68182ea-4237-4383-967f-90c1e3370bc7 + d73b5446-4f92-46db-a779-91d4e78c664a + + + fb282519-d103-4dd3-bc12-cb271d631dfc + c5472dbb-d2be-4f93-a745-564e39298ef2 + + + + КрлфКонф + + + ru + КрлфКонф + + + + + Version8_3_24 + ManagedApplication + + PlatformApplication + + Russian + + + + + false + false + false + + + + + + + + + + + + + + + + + + + + + + Biometrics + true + + + Location + false + + + BackgroundLocation + false + + + BluetoothPrinters + false + + + WiFiPrinters + false + + + Contacts + false + + + Calendars + false + + + PushNotifications + false + + + LocalNotifications + false + + + InAppPurchases + false + + + PersonalComputerFileExchange + false + + + Ads + false + + + NumberDialing + false + + + CallProcessing + false + + + CallLog + false + + + AutoSendSMS + false + + + ReceiveSMS + false + + + SMSLog + false + + + Camera + false + + + Microphone + false + + + MusicLibrary + false + + + PictureAndVideoLibraries + false + + + AudioPlaybackAndVibration + false + + + BackgroundAudioPlaybackAndVibration + false + + + InstallPackages + false + + + OSBackup + true + + + ApplicationUsageStatistics + false + + + BarcodeScanning + false + + + BackgroundAudioRecording + false + + + AllFilesAccess + false + + + Videoconferences + false + + + NFC + false + + + DocumentScanning + false + + + SpeechToText + false + + + Geofences + false + + + IncomingShareRequests + false + + + AllIncomingShareRequestsTypesProcessing + false + + + + + + Normal + + + Language.Русский + + + + + + Managed + NotAutoFree + DontUse + DontUse + TaxiEnableVersion8_2 + DontUse + Version8_3_24 + + + + \ No newline at end of file diff --git a/tests/skills/cases/role-compile/fixtures/childobjects-missing/Ext/ClientApplicationInterface.xml b/tests/skills/cases/role-compile/fixtures/childobjects-missing/Ext/ClientApplicationInterface.xml new file mode 100644 index 00000000..b6691f68 --- /dev/null +++ b/tests/skills/cases/role-compile/fixtures/childobjects-missing/Ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + cbab57f2-a0f3-4f0a-89ea-4cb19570ab75 + + + + + b553047f-c9aa-4157-978d-448ecad24248 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/role-compile/fixtures/childobjects-missing/Languages/Русский.xml b/tests/skills/cases/role-compile/fixtures/childobjects-missing/Languages/Русский.xml new file mode 100644 index 00000000..1ad6b469 --- /dev/null +++ b/tests/skills/cases/role-compile/fixtures/childobjects-missing/Languages/Русский.xml @@ -0,0 +1,16 @@ + + + + + Русский + + + ru + Русский + + + + ru + + + \ No newline at end of file diff --git a/tests/skills/cases/role-compile/fixtures/childobjects-selfclosed/Configuration.xml b/tests/skills/cases/role-compile/fixtures/childobjects-selfclosed/Configuration.xml new file mode 100644 index 00000000..233c6a7d --- /dev/null +++ b/tests/skills/cases/role-compile/fixtures/childobjects-selfclosed/Configuration.xml @@ -0,0 +1,249 @@ + + + + + + 9cd510cd-abfc-11d4-9434-004095e12fc7 + d41d3bac-c6c1-4a8d-afcd-81fc29f496d0 + + + 9fcd25a0-4822-11d4-9414-008048da11f9 + c8e78ba2-51c5-45bb-a0ef-8c3c7ff76053 + + + e3687481-0a87-462c-a166-9f34594f9bba + 342f337b-45a8-422b-965d-11330d52b334 + + + 9de14907-ec23-4a07-96f0-85521cb6b53b + a3448b91-cbda-4e31-a0f2-e32bc1884e7c + + + 51f2d5d8-ea4d-4064-8892-82951750031e + 41d207a0-776a-40af-bcd1-925d3acffb82 + + + e68182ea-4237-4383-967f-90c1e3370bc7 + d73b5446-4f92-46db-a779-91d4e78c664a + + + fb282519-d103-4dd3-bc12-cb271d631dfc + c5472dbb-d2be-4f93-a745-564e39298ef2 + + + + КрлфКонф + + + ru + КрлфКонф + + + + + Version8_3_24 + ManagedApplication + + PlatformApplication + + Russian + + + + + false + false + false + + + + + + + + + + + + + + + + + + + + + + Biometrics + true + + + Location + false + + + BackgroundLocation + false + + + BluetoothPrinters + false + + + WiFiPrinters + false + + + Contacts + false + + + Calendars + false + + + PushNotifications + false + + + LocalNotifications + false + + + InAppPurchases + false + + + PersonalComputerFileExchange + false + + + Ads + false + + + NumberDialing + false + + + CallProcessing + false + + + CallLog + false + + + AutoSendSMS + false + + + ReceiveSMS + false + + + SMSLog + false + + + Camera + false + + + Microphone + false + + + MusicLibrary + false + + + PictureAndVideoLibraries + false + + + AudioPlaybackAndVibration + false + + + BackgroundAudioPlaybackAndVibration + false + + + InstallPackages + false + + + OSBackup + true + + + ApplicationUsageStatistics + false + + + BarcodeScanning + false + + + BackgroundAudioRecording + false + + + AllFilesAccess + false + + + Videoconferences + false + + + NFC + false + + + DocumentScanning + false + + + SpeechToText + false + + + Geofences + false + + + IncomingShareRequests + false + + + AllIncomingShareRequestsTypesProcessing + false + + + + + + Normal + + + Language.Русский + + + + + + Managed + NotAutoFree + DontUse + DontUse + TaxiEnableVersion8_2 + DontUse + Version8_3_24 + + + + + \ No newline at end of file diff --git a/tests/skills/cases/role-compile/fixtures/childobjects-selfclosed/Ext/ClientApplicationInterface.xml b/tests/skills/cases/role-compile/fixtures/childobjects-selfclosed/Ext/ClientApplicationInterface.xml new file mode 100644 index 00000000..b6691f68 --- /dev/null +++ b/tests/skills/cases/role-compile/fixtures/childobjects-selfclosed/Ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + cbab57f2-a0f3-4f0a-89ea-4cb19570ab75 + + + + + b553047f-c9aa-4157-978d-448ecad24248 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/role-compile/fixtures/childobjects-selfclosed/Languages/Русский.xml b/tests/skills/cases/role-compile/fixtures/childobjects-selfclosed/Languages/Русский.xml new file mode 100644 index 00000000..1ad6b469 --- /dev/null +++ b/tests/skills/cases/role-compile/fixtures/childobjects-selfclosed/Languages/Русский.xml @@ -0,0 +1,16 @@ + + + + + Русский + + + ru + Русский + + + + ru + + + \ No newline at end of file diff --git a/tests/skills/cases/role-compile/snapshots/childobjects-missing/Configuration.xml b/tests/skills/cases/role-compile/snapshots/childobjects-missing/Configuration.xml new file mode 100644 index 00000000..503c88f7 --- /dev/null +++ b/tests/skills/cases/role-compile/snapshots/childobjects-missing/Configuration.xml @@ -0,0 +1,248 @@ + + + + + + UUID-002 + UUID-003 + + + UUID-004 + UUID-005 + + + UUID-006 + UUID-007 + + + UUID-008 + UUID-009 + + + UUID-010 + UUID-011 + + + UUID-012 + UUID-013 + + + UUID-014 + UUID-015 + + + + КрлфКонф + + + ru + КрлфКонф + + + + + Version8_3_24 + ManagedApplication + + PlatformApplication + + Russian + + + + + false + false + false + + + + + + + + + + + + + + + + + + + + + + Biometrics + true + + + Location + false + + + BackgroundLocation + false + + + BluetoothPrinters + false + + + WiFiPrinters + false + + + Contacts + false + + + Calendars + false + + + PushNotifications + false + + + LocalNotifications + false + + + InAppPurchases + false + + + PersonalComputerFileExchange + false + + + Ads + false + + + NumberDialing + false + + + CallProcessing + false + + + CallLog + false + + + AutoSendSMS + false + + + ReceiveSMS + false + + + SMSLog + false + + + Camera + false + + + Microphone + false + + + MusicLibrary + false + + + PictureAndVideoLibraries + false + + + AudioPlaybackAndVibration + false + + + BackgroundAudioPlaybackAndVibration + false + + + InstallPackages + false + + + OSBackup + true + + + ApplicationUsageStatistics + false + + + BarcodeScanning + false + + + BackgroundAudioRecording + false + + + AllFilesAccess + false + + + Videoconferences + false + + + NFC + false + + + DocumentScanning + false + + + SpeechToText + false + + + Geofences + false + + + IncomingShareRequests + false + + + AllIncomingShareRequestsTypesProcessing + false + + + + + + Normal + + + Language.Русский + + + + + + Managed + NotAutoFree + DontUse + DontUse + TaxiEnableVersion8_2 + DontUse + Version8_3_24 + + + + \ No newline at end of file diff --git a/tests/skills/cases/role-compile/snapshots/childobjects-missing/Ext/ClientApplicationInterface.xml b/tests/skills/cases/role-compile/snapshots/childobjects-missing/Ext/ClientApplicationInterface.xml new file mode 100644 index 00000000..3c1161b2 --- /dev/null +++ b/tests/skills/cases/role-compile/snapshots/childobjects-missing/Ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/role-compile/snapshots/childobjects-missing/Languages/Русский.xml b/tests/skills/cases/role-compile/snapshots/childobjects-missing/Languages/Русский.xml new file mode 100644 index 00000000..37c60d78 --- /dev/null +++ b/tests/skills/cases/role-compile/snapshots/childobjects-missing/Languages/Русский.xml @@ -0,0 +1,16 @@ + + + + + Русский + + + ru + Русский + + + + ru + + + \ No newline at end of file diff --git a/tests/skills/cases/role-compile/snapshots/childobjects-missing/Roles/Пустая.xml b/tests/skills/cases/role-compile/snapshots/childobjects-missing/Roles/Пустая.xml new file mode 100644 index 00000000..9ce71fac --- /dev/null +++ b/tests/skills/cases/role-compile/snapshots/childobjects-missing/Roles/Пустая.xml @@ -0,0 +1,15 @@ + + + + + Пустая + + + ru + Пустая + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/role-compile/snapshots/childobjects-missing/Roles/Пустая/Ext/Rights.xml b/tests/skills/cases/role-compile/snapshots/childobjects-missing/Roles/Пустая/Ext/Rights.xml new file mode 100644 index 00000000..9a1537d2 --- /dev/null +++ b/tests/skills/cases/role-compile/snapshots/childobjects-missing/Roles/Пустая/Ext/Rights.xml @@ -0,0 +1,6 @@ + + + false + true + false + \ No newline at end of file diff --git a/tests/skills/cases/role-compile/snapshots/childobjects-selfclosed/Configuration.xml b/tests/skills/cases/role-compile/snapshots/childobjects-selfclosed/Configuration.xml new file mode 100644 index 00000000..013da012 --- /dev/null +++ b/tests/skills/cases/role-compile/snapshots/childobjects-selfclosed/Configuration.xml @@ -0,0 +1,251 @@ + + + + + + UUID-002 + UUID-003 + + + UUID-004 + UUID-005 + + + UUID-006 + UUID-007 + + + UUID-008 + UUID-009 + + + UUID-010 + UUID-011 + + + UUID-012 + UUID-013 + + + UUID-014 + UUID-015 + + + + КрлфКонф + + + ru + КрлфКонф + + + + + Version8_3_24 + ManagedApplication + + PlatformApplication + + Russian + + + + + false + false + false + + + + + + + + + + + + + + + + + + + + + + Biometrics + true + + + Location + false + + + BackgroundLocation + false + + + BluetoothPrinters + false + + + WiFiPrinters + false + + + Contacts + false + + + Calendars + false + + + PushNotifications + false + + + LocalNotifications + false + + + InAppPurchases + false + + + PersonalComputerFileExchange + false + + + Ads + false + + + NumberDialing + false + + + CallProcessing + false + + + CallLog + false + + + AutoSendSMS + false + + + ReceiveSMS + false + + + SMSLog + false + + + Camera + false + + + Microphone + false + + + MusicLibrary + false + + + PictureAndVideoLibraries + false + + + AudioPlaybackAndVibration + false + + + BackgroundAudioPlaybackAndVibration + false + + + InstallPackages + false + + + OSBackup + true + + + ApplicationUsageStatistics + false + + + BarcodeScanning + false + + + BackgroundAudioRecording + false + + + AllFilesAccess + false + + + Videoconferences + false + + + NFC + false + + + DocumentScanning + false + + + SpeechToText + false + + + Geofences + false + + + IncomingShareRequests + false + + + AllIncomingShareRequestsTypesProcessing + false + + + + + + Normal + + + Language.Русский + + + + + + Managed + NotAutoFree + DontUse + DontUse + TaxiEnableVersion8_2 + DontUse + Version8_3_24 + + + + Пустая + + + \ No newline at end of file diff --git a/tests/skills/cases/role-compile/snapshots/childobjects-selfclosed/Ext/ClientApplicationInterface.xml b/tests/skills/cases/role-compile/snapshots/childobjects-selfclosed/Ext/ClientApplicationInterface.xml new file mode 100644 index 00000000..3c1161b2 --- /dev/null +++ b/tests/skills/cases/role-compile/snapshots/childobjects-selfclosed/Ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/role-compile/snapshots/childobjects-selfclosed/Languages/Русский.xml b/tests/skills/cases/role-compile/snapshots/childobjects-selfclosed/Languages/Русский.xml new file mode 100644 index 00000000..37c60d78 --- /dev/null +++ b/tests/skills/cases/role-compile/snapshots/childobjects-selfclosed/Languages/Русский.xml @@ -0,0 +1,16 @@ + + + + + Русский + + + ru + Русский + + + + ru + + + \ No newline at end of file diff --git a/tests/skills/cases/role-compile/snapshots/childobjects-selfclosed/Roles/Пустая.xml b/tests/skills/cases/role-compile/snapshots/childobjects-selfclosed/Roles/Пустая.xml new file mode 100644 index 00000000..9ce71fac --- /dev/null +++ b/tests/skills/cases/role-compile/snapshots/childobjects-selfclosed/Roles/Пустая.xml @@ -0,0 +1,15 @@ + + + + + Пустая + + + ru + Пустая + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/role-compile/snapshots/childobjects-selfclosed/Roles/Пустая/Ext/Rights.xml b/tests/skills/cases/role-compile/snapshots/childobjects-selfclosed/Roles/Пустая/Ext/Rights.xml new file mode 100644 index 00000000..9a1537d2 --- /dev/null +++ b/tests/skills/cases/role-compile/snapshots/childobjects-selfclosed/Roles/Пустая/Ext/Rights.xml @@ -0,0 +1,6 @@ + + + false + true + false + \ No newline at end of file