diff --git a/.claude/skills/cfe-borrow/scripts/cfe-borrow.ps1 b/.claude/skills/cfe-borrow/scripts/cfe-borrow.ps1 index 43ac8b90b..3850c8c05 100644 --- a/.claude/skills/cfe-borrow/scripts/cfe-borrow.ps1 +++ b/.claude/skills/cfe-borrow/scripts/cfe-borrow.ps1 @@ -1,4 +1,4 @@ -# cfe-borrow v1.37 — Borrow objects from configuration into extension (CFE) +# cfe-borrow v1.38 — Borrow objects from configuration into extension (CFE) # Source: https://github.com/Nikolay-Shirokov/cc-1c-skills [CmdletBinding(PositionalBinding=$false)] param( @@ -958,6 +958,20 @@ function Borrow-Form { $autoCmdXml = Rewrite-ChoiceParameterLinks $autoCmdXml $srcAttrUuids $formAttrIds $srcMainAttrName ([bool]$mainAttrInfo) } + # Картинка декорации в заимствованную форму не переносится: Конфигуратор выбрасывает + # у PictureDecoration из обеих частей формы при любом виде картинки (своя, общая, стандартная) + # и не тянет за ней ни файл, ни общую картинку. Замер 8.3.27: 10 декораций в 5 формах УТ. + # Картинки кнопок, таблиц и полей картинки остаются — вместе с файлами, см. копирование ниже. + if ($srcChildItems) { + foreach ($decoPic in @($srcChildItems.SelectNodes(".//*[local-name()='PictureDecoration']/*[local-name()='Picture']"))) { + $prevWs = $decoPic.PreviousSibling + if ($prevWs -and ($prevWs.NodeType -eq 'Whitespace' -or $prevWs.NodeType -eq 'SignificantWhitespace')) { + $decoPic.ParentNode.RemoveChild($prevWs) | Out-Null + } + $decoPic.ParentNode.RemoveChild($decoPic) | Out-Null + } + } + # ChildItems: copy full tree, clean up base-config references $childItemsXml = "" if ($srcChildItems) { @@ -1278,10 +1292,49 @@ function Borrow-Form { Info " Created: $moduleBslFile" } + # 6b. Встроенные картинки элементов. Form.xml ссылается на них как Файл, а сам файл + # лежит в Ext/Form/Items/<Элемент>/<Файл>; без него платформа отвергает расширение («Файл не найден»). + # Конфигуратор копирует их байт в байт. Берём ровно то, на что ссылается скелет (картинки декораций + # выброшены выше). Уже лежащий файл не перезаписываем: его могли заменить в расширении. + $picFiles = @() + $srcItemsDir = Join-Path (Join-Path (Split-Path $srcFormXmlPath -Parent) "Form") "Items" + $picRels = New-Object System.Collections.Generic.List[string] + foreach ($sect in @($srcAutoCmd, $srcChildItems)) { + if (-not $sect) { continue } + foreach ($absNode in @($sect.SelectNodes(".//*[local-name()='Abs' and namespace-uri()='http://v8.1c.ru/8.3/xcf/readable']"))) { + $picOwner = $absNode.ParentNode.ParentNode + $picElName = $picOwner.GetAttribute("name") + $picFileName = $absNode.InnerText.Trim() + if (-not $picElName -or -not $picFileName) { continue } + $rel = "$picElName/$picFileName" + if (-not $picRels.Contains($rel)) { $picRels.Add($rel) } + } + } + $picRelArr = $picRels.ToArray() + [Array]::Sort($picRelArr, [System.StringComparer]::Ordinal) + foreach ($rel in $picRelArr) { + $picParts = $rel.Split('/') + $srcPic = Join-Path (Join-Path $srcItemsDir $picParts[0]) $picParts[1] + $dstPicDir = Join-Path (Join-Path $moduleDir "Items") $picParts[0] + $dstPic = Join-Path $dstPicDir $picParts[1] + if (Test-Path -LiteralPath $dstPic) { + Info " Preserved existing: $dstPic" + continue + } + if (-not (Test-Path -LiteralPath $srcPic)) { + Warn " Картинка элемента не найдена в источнике: $srcPic" + continue + } + if (-not (Test-Path -LiteralPath $dstPicDir)) { New-Item -ItemType Directory -Path $dstPicDir -Force | Out-Null } + Copy-Item -LiteralPath $srcPic -Destination $dstPic + $picFiles += $dstPic + Info " Copied: $dstPic" + } + # 7. Register form in parent object ChildObjects Register-FormInObject $typeName $objName $formName - return @($formMetaFile, $formXmlFile, $moduleBslFile) + return @($formMetaFile, $formXmlFile, $moduleBslFile) + $picFiles } # --- 10d. Helper: register form in parent object's ChildObjects --- diff --git a/.claude/skills/cfe-borrow/scripts/cfe-borrow.py b/.claude/skills/cfe-borrow/scripts/cfe-borrow.py index 08b5033ef..32b2f9d1b 100644 --- a/.claude/skills/cfe-borrow/scripts/cfe-borrow.py +++ b/.claude/skills/cfe-borrow/scripts/cfe-borrow.py @@ -1,11 +1,12 @@ #!/usr/bin/env python3 -# cfe-borrow v1.37 — Borrow objects from configuration into extension (CFE) +# cfe-borrow v1.38 — Borrow objects from configuration into extension (CFE) # Source: https://github.com/Nikolay-Shirokov/cc-1c-skills import argparse import json import os import re +import shutil import sys import uuid from lxml import etree @@ -1931,6 +1932,22 @@ def main(): src_child_items = fc break + # Картинка декорации в заимствованную форму не переносится: Конфигуратор выбрасывает + # у PictureDecoration из обеих частей формы при любом виде картинки (своя, общая, стандартная) + # и не тянет за ней ни файл, ни общую картинку. Замер 8.3.27: 10 декораций в 5 формах УТ. + # Картинки кнопок, таблиц и полей картинки остаются — вместе с файлами, см. копирование ниже. + if src_child_items is not None: + for deco in [e for e in src_child_items.iter() if isinstance(e.tag, str) and localname(e) == "PictureDecoration"]: + for deco_pic in [c for c in deco if isinstance(c.tag, str) and localname(c) == "Picture"]: + # Отступ перед картинкой — хвост предыдущего узла; как в PS-порте, уходит он, + # а хвост самой картинки занимает его место. + prev = deco_pic.getprevious() + if prev is not None: + prev.tail = deco_pic.tail + else: + deco.text = deco_pic.tail + deco.remove(deco_pic) + if src_child_items is not None: child_items_xml = decode_numeric_entities(etree.tostring(src_child_items, encoding="unicode", with_tail=False)) child_items_xml = ns_strip_pattern.sub("", child_items_xml) @@ -2191,10 +2208,45 @@ def main(): write_utf8_bom(module_bsl_file, "") info(f" Created: {module_bsl_file}") + # 6b. Встроенные картинки элементов. Form.xml ссылается на них как Файл, а сам файл + # лежит в Ext/Form/Items/<Элемент>/<Файл>; без него платформа отвергает расширение («Файл не найден»). + # Конфигуратор копирует их байт в байт. Берём ровно то, на что ссылается скелет (картинки декораций + # выброшены выше). Уже лежащий файл не перезаписываем: его могли заменить в расширении. + pic_files = [] + src_items_dir = os.path.join(os.path.dirname(src_form_xml_path), "Form", "Items") + pic_rels = [] + for sect in (src_auto_cmd, src_child_items): + if sect is None: + continue + for abs_node in sect.iter("{http://v8.1c.ru/8.3/xcf/readable}Abs"): + pic_owner = abs_node.getparent().getparent() + pic_el_name = pic_owner.get("name") if pic_owner is not None else None + pic_file_name = (abs_node.text or "").strip() + if not pic_el_name or not pic_file_name: + continue + rel = f"{pic_el_name}/{pic_file_name}" + if rel not in pic_rels: + pic_rels.append(rel) + for rel in sorted(pic_rels): + pic_el_name, pic_file_name = rel.split("/", 1) + src_pic = os.path.join(src_items_dir, pic_el_name, pic_file_name) + dst_pic_dir = os.path.join(module_dir, "Items", pic_el_name) + dst_pic = os.path.join(dst_pic_dir, pic_file_name) + if os.path.exists(dst_pic): + info(f" Preserved existing: {dst_pic}") + continue + if not os.path.isfile(src_pic): + warn(f" Картинка элемента не найдена в источнике: {src_pic}") + continue + os.makedirs(dst_pic_dir, exist_ok=True) + shutil.copyfile(src_pic, dst_pic) + pic_files.append(dst_pic) + info(f" Copied: {dst_pic}") + # 7. Register form in parent object ChildObjects register_form_in_object(type_name, obj_name, form_name) - return [form_meta_file, form_xml_file, module_bsl_file] + return [form_meta_file, form_xml_file, module_bsl_file] + pic_files # --- 9. Parse -Object into items --- items = [] diff --git a/.gitignore b/.gitignore index 5b0929e90..8c4d090d6 100644 --- a/.gitignore +++ b/.gitignore @@ -41,6 +41,8 @@ tests/web-test/_suite-root/prepare-ran.txt # Скриншоты и видео (артефакты тестирования web-test) *.png *.mp4 +# ...кроме кейсов навыков: там картинка — вход теста или эталон (картинки элементов формы) +!tests/skills/cases/**/*.png # Навыки, скопированные для других AI-платформ (генерируются scripts/switch.py) .agents/skills/ diff --git a/tests/skills/cases/cfe-borrow/fixtures/form-item-pictures/CommonPictures/Пустая.xml b/tests/skills/cases/cfe-borrow/fixtures/form-item-pictures/CommonPictures/Пустая.xml new file mode 100644 index 000000000..eea3446e7 --- /dev/null +++ b/tests/skills/cases/cfe-borrow/fixtures/form-item-pictures/CommonPictures/Пустая.xml @@ -0,0 +1,17 @@ + + + + + Пустая + + + ru + Пустая + + + + false + false + + + \ No newline at end of file diff --git a/tests/skills/cases/cfe-borrow/fixtures/form-item-pictures/CommonPictures/Пустая/Ext/Picture.xml b/tests/skills/cases/cfe-borrow/fixtures/form-item-pictures/CommonPictures/Пустая/Ext/Picture.xml new file mode 100644 index 000000000..f61834f77 --- /dev/null +++ b/tests/skills/cases/cfe-borrow/fixtures/form-item-pictures/CommonPictures/Пустая/Ext/Picture.xml @@ -0,0 +1,7 @@ + + + + Picture.png + false + + \ No newline at end of file diff --git a/tests/skills/cases/cfe-borrow/fixtures/form-item-pictures/CommonPictures/Пустая/Ext/Picture/Picture.png b/tests/skills/cases/cfe-borrow/fixtures/form-item-pictures/CommonPictures/Пустая/Ext/Picture/Picture.png new file mode 100644 index 000000000..96729e159 Binary files /dev/null and b/tests/skills/cases/cfe-borrow/fixtures/form-item-pictures/CommonPictures/Пустая/Ext/Picture/Picture.png differ diff --git a/tests/skills/cases/cfe-borrow/fixtures/form-item-pictures/Configuration.xml b/tests/skills/cases/cfe-borrow/fixtures/form-item-pictures/Configuration.xml new file mode 100644 index 000000000..1cf158ec2 --- /dev/null +++ b/tests/skills/cases/cfe-borrow/fixtures/form-item-pictures/Configuration.xml @@ -0,0 +1,253 @@ + + + + + + 9cd510cd-abfc-11d4-9434-004095e12fc7 + bbe393d6-2b09-4eb4-8108-ffa213bd7b0c + + + 9fcd25a0-4822-11d4-9414-008048da11f9 + cbe8384b-2457-4cd1-9b91-d997d742f70c + + + e3687481-0a87-462c-a166-9f34594f9bba + 2867dedd-bd83-4c4e-a874-60b4efdb9a49 + + + 9de14907-ec23-4a07-96f0-85521cb6b53b + b01c6621-d6ca-4f50-9b14-c75aeb1b8d64 + + + 51f2d5d8-ea4d-4064-8892-82951750031e + 9dd3fa49-c088-4d5e-b45f-0c5d86c97960 + + + e68182ea-4237-4383-967f-90c1e3370bc7 + d15341ec-27b4-4847-aff3-7d8aef4e5076 + + + fb282519-d103-4dd3-bc12-cb271d631dfc + af01c748-9b50-4545-8f07-44f1ae28dc04 + + + + TestConfig + + + ru + TestConfig + + + + + 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/cfe-borrow/fixtures/form-item-pictures/Documents/Расход.xml b/tests/skills/cases/cfe-borrow/fixtures/form-item-pictures/Documents/Расход.xml new file mode 100644 index 000000000..7d0e7d5d5 --- /dev/null +++ b/tests/skills/cases/cfe-borrow/fixtures/form-item-pictures/Documents/Расход.xml @@ -0,0 +1,265 @@ + + + + + + eb27c20a-bab8-4763-88c7-28d0e4b84510 + bfcb76b5-226f-4f45-9f28-a7943c562569 + + + 13d09c16-3a64-4676-b614-174c17e07f87 + ce525519-655a-41b8-a643-91079f53adbe + + + d3e4f4a8-bfcc-44c2-a638-aa9cbe7aebd9 + b8ed9db3-7f2e-4591-acb5-c24d14870680 + + + b44fa690-e696-481e-9e62-4b8c9d4fbdcd + beb612e8-6065-43ef-a372-56e7a6764915 + + + ea527740-0b46-4d9c-8ce7-8f2f8e2c1a80 + 9113f260-017e-4cc4-83a0-f3f3b5636d7f + + + + Расход + + + ru + Расход + + + + true + + String + 11 + Variable + Year + true + true + + + + Document.Расход.StandardAttribute.Number + + Use + Begin + DontUse + Directly + Document.Расход.Form.ФормаДокумента + + + + + + Allow + Deny + AutoDelete + WriteSelected + AutoFill + + true + true + false + + Managed + Use + + + + + + Auto + DontUse + false + false + + + + + Комментарий + + + ru + Комментарий + + + + + xs:string + + 100 + Variable + + + false + + + + false + + false + false + + + false + + DontCheck + Items + + + Auto + Auto + + + Auto + DontIndex + Use + Use + + +
ФормаДокумента
+ + + + 383903b4-680c-4371-8b74-7b8a385f87a9 + 2aaf40f3-841b-403e-8f92-187171f7155f + + + 8093107b-4b90-4aa6-be95-98a41606b985 + 6bf19a8e-a966-4f89-9315-30a54b2b7c4f + + + + Товары + + + ru + Товары + + + + + DontCheck + + + + DontCheck + false + false + Auto + + + false + + + Auto + Auto + + false + Use + false + + + + Use + + + + + + + + + + + Количество + + + ru + Количество + + + + + xs:decimal + + 10 + 3 + Any + + + false + + + + false + + false + false + + + DontCheck + Items + + + Auto + Auto + + + Auto + DontIndex + Use + Use + + + + + ИндексКартинки + + + ru + Индекс картинки + + + + + xs:decimal + + 2 + 0 + Any + + + false + + + + false + + false + false + + + DontCheck + Items + + + Auto + Auto + + + Auto + DontIndex + Use + Use + + + + +
+
+
\ No newline at end of file diff --git a/tests/skills/cases/cfe-borrow/fixtures/form-item-pictures/Documents/Расход/Ext/ObjectModule.bsl b/tests/skills/cases/cfe-borrow/fixtures/form-item-pictures/Documents/Расход/Ext/ObjectModule.bsl new file mode 100644 index 000000000..5f282702b --- /dev/null +++ b/tests/skills/cases/cfe-borrow/fixtures/form-item-pictures/Documents/Расход/Ext/ObjectModule.bsl @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/tests/skills/cases/cfe-borrow/fixtures/form-item-pictures/Documents/Расход/Forms/ФормаДокумента.xml b/tests/skills/cases/cfe-borrow/fixtures/form-item-pictures/Documents/Расход/Forms/ФормаДокумента.xml new file mode 100644 index 000000000..5cfb82557 --- /dev/null +++ b/tests/skills/cases/cfe-borrow/fixtures/form-item-pictures/Documents/Расход/Forms/ФормаДокумента.xml @@ -0,0 +1,21 @@ + + +
+ + ФормаДокумента + + + ru + ФормаДокумента + + + + Managed + false + + PlatformApplication + MobilePlatformApplication + + +
+
\ No newline at end of file diff --git a/tests/skills/cases/cfe-borrow/fixtures/form-item-pictures/Documents/Расход/Forms/ФормаДокумента/Ext/Form.xml b/tests/skills/cases/cfe-borrow/fixtures/form-item-pictures/Documents/Расход/Forms/ФормаДокумента/Ext/Form.xml new file mode 100644 index 000000000..53f3b8101 --- /dev/null +++ b/tests/skills/cases/cfe-borrow/fixtures/form-item-pictures/Documents/Расход/Forms/ФормаДокумента/Ext/Form.xml @@ -0,0 +1,97 @@ + +
+ + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Расход</v8:content> + </v8:item> + + false + + Post + PostAndClose + Write + + DontUse + Regular + false + + + + + + + + Объект.Комментарий + + + + Объект.Товары + Объект.Товары.ИндексКартинки + + RowsPicture.png + false + + + MoveUp + SortListAsc + + + + Объект.Товары.Количество + + + + Объект.Товары.ИндексКартинки + + HeaderPicture.png + false + + + ValuesPicture.png + false + + + + + + +
+ + + Picture.png + false + + + + + + + CommonPicture.Пустая + true + + + + +
+ + + + cfg:DocumentObject.Расход + + true + true + + + + + +
\ No newline at end of file diff --git a/tests/skills/cases/cfe-borrow/fixtures/form-item-pictures/Documents/Расход/Forms/ФормаДокумента/Ext/Form/Items/Логотип/Picture.png b/tests/skills/cases/cfe-borrow/fixtures/form-item-pictures/Documents/Расход/Forms/ФормаДокумента/Ext/Form/Items/Логотип/Picture.png new file mode 100644 index 000000000..9270d02ef Binary files /dev/null and b/tests/skills/cases/cfe-borrow/fixtures/form-item-pictures/Documents/Расход/Forms/ФормаДокумента/Ext/Form/Items/Логотип/Picture.png differ diff --git a/tests/skills/cases/cfe-borrow/fixtures/form-item-pictures/Documents/Расход/Forms/ФормаДокумента/Ext/Form/Items/Товары/RowsPicture.png b/tests/skills/cases/cfe-borrow/fixtures/form-item-pictures/Documents/Расход/Forms/ФормаДокумента/Ext/Form/Items/Товары/RowsPicture.png new file mode 100644 index 000000000..d36e47e45 Binary files /dev/null and b/tests/skills/cases/cfe-borrow/fixtures/form-item-pictures/Documents/Расход/Forms/ФормаДокумента/Ext/Form/Items/Товары/RowsPicture.png differ diff --git a/tests/skills/cases/cfe-borrow/fixtures/form-item-pictures/Documents/Расход/Forms/ФормаДокумента/Ext/Form/Items/ТоварыИндексКартинки/HeaderPicture.png b/tests/skills/cases/cfe-borrow/fixtures/form-item-pictures/Documents/Расход/Forms/ФормаДокумента/Ext/Form/Items/ТоварыИндексКартинки/HeaderPicture.png new file mode 100644 index 000000000..91d113a1c Binary files /dev/null and b/tests/skills/cases/cfe-borrow/fixtures/form-item-pictures/Documents/Расход/Forms/ФормаДокумента/Ext/Form/Items/ТоварыИндексКартинки/HeaderPicture.png differ diff --git a/tests/skills/cases/cfe-borrow/fixtures/form-item-pictures/Documents/Расход/Forms/ФормаДокумента/Ext/Form/Items/ТоварыИндексКартинки/ValuesPicture.png b/tests/skills/cases/cfe-borrow/fixtures/form-item-pictures/Documents/Расход/Forms/ФормаДокумента/Ext/Form/Items/ТоварыИндексКартинки/ValuesPicture.png new file mode 100644 index 000000000..d7cc10f56 Binary files /dev/null and b/tests/skills/cases/cfe-borrow/fixtures/form-item-pictures/Documents/Расход/Forms/ФормаДокумента/Ext/Form/Items/ТоварыИндексКартинки/ValuesPicture.png differ diff --git a/tests/skills/cases/cfe-borrow/fixtures/form-item-pictures/Documents/Расход/Forms/ФормаДокумента/Ext/Form/Items/ФормаОбновитьКартинкой/Picture.png b/tests/skills/cases/cfe-borrow/fixtures/form-item-pictures/Documents/Расход/Forms/ФормаДокумента/Ext/Form/Items/ФормаОбновитьКартинкой/Picture.png new file mode 100644 index 000000000..519885bb6 Binary files /dev/null and b/tests/skills/cases/cfe-borrow/fixtures/form-item-pictures/Documents/Расход/Forms/ФормаДокумента/Ext/Form/Items/ФормаОбновитьКартинкой/Picture.png differ diff --git a/tests/skills/cases/cfe-borrow/fixtures/form-item-pictures/Documents/Расход/Forms/ФормаДокумента/Ext/Form/Module.bsl b/tests/skills/cases/cfe-borrow/fixtures/form-item-pictures/Documents/Расход/Forms/ФормаДокумента/Ext/Form/Module.bsl new file mode 100644 index 000000000..4cf929983 --- /dev/null +++ b/tests/skills/cases/cfe-borrow/fixtures/form-item-pictures/Documents/Расход/Forms/ФормаДокумента/Ext/Form/Module.bsl @@ -0,0 +1,19 @@ +#Область ОбработчикиСобытийФормы + +#КонецОбласти + +#Область ОбработчикиСобытийЭлементовФормы + +#КонецОбласти + +#Область ОбработчикиКомандФормы + +#КонецОбласти + +#Область ОбработчикиОповещений + +#КонецОбласти + +#Область СлужебныеПроцедурыИФункции + +#КонецОбласти \ No newline at end of file diff --git a/tests/skills/cases/cfe-borrow/fixtures/form-item-pictures/Ext/ClientApplicationInterface.xml b/tests/skills/cases/cfe-borrow/fixtures/form-item-pictures/Ext/ClientApplicationInterface.xml new file mode 100644 index 000000000..70c980116 --- /dev/null +++ b/tests/skills/cases/cfe-borrow/fixtures/form-item-pictures/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/cfe-borrow/fixtures/form-item-pictures/Languages/Русский.xml b/tests/skills/cases/cfe-borrow/fixtures/form-item-pictures/Languages/Русский.xml new file mode 100644 index 000000000..e93cca222 --- /dev/null +++ b/tests/skills/cases/cfe-borrow/fixtures/form-item-pictures/Languages/Русский.xml @@ -0,0 +1,16 @@ + + + + + Русский + + + ru + Русский + + + + ru + + + \ No newline at end of file diff --git a/tests/skills/cases/cfe-borrow/form-item-pictures-reborrow.json b/tests/skills/cases/cfe-borrow/form-item-pictures-reborrow.json new file mode 100644 index 000000000..6c017e242 --- /dev/null +++ b/tests/skills/cases/cfe-borrow/form-item-pictures-reborrow.json @@ -0,0 +1,29 @@ +{ + "name": "Повторное заимствование формы не затирает картинку элемента, заменённую в расширении", + "setup": "fixture:form-item-pictures", + "preRun": [ + { + "script": "cfe-init/scripts/cfe-init", + "args": { "-Name": "Тест", "-OutputDir": "{workDir}/cfe", "-ConfigPath": "{workDir}" } + }, + { + "script": "cfe-borrow/scripts/cfe-borrow", + "args": { "-ExtensionPath": "{workDir}/cfe", "-ConfigPath": "{workDir}", "-Object": "Document.Расход.Form.ФормаДокумента" } + }, + { + "writeFile": { "path": "cfe/Documents/Расход/Forms/ФормаДокумента/Ext/Form/Items/ФормаОбновитьКартинкой/Picture.png", "content": "картинка расширения" } + } + ], + "params": { "extensionPath": "cfe", "object": "Document.Расход.Form.ФормаДокумента" }, + "skipPlatformVerify": "картинка кнопки в расширении подменена текстовым маркером — это не изображение", + "expect": { + "fileContains": { + "file": "cfe/Documents/Расход/Forms/ФормаДокумента/Ext/Form/Items/ФормаОбновитьКартинкой/Picture.png", + "text": ["картинка расширения"] + }, + "filesEqual": { + "actual": "cfe/Documents/Расход/Forms/ФормаДокумента/Ext/Form/Items/Товары/RowsPicture.png", + "expected": "Documents/Расход/Forms/ФормаДокумента/Ext/Form/Items/Товары/RowsPicture.png" + } + } +} diff --git a/tests/skills/cases/cfe-borrow/form-item-pictures.json b/tests/skills/cases/cfe-borrow/form-item-pictures.json new file mode 100644 index 000000000..403364207 --- /dev/null +++ b/tests/skills/cases/cfe-borrow/form-item-pictures.json @@ -0,0 +1,35 @@ +{ + "name": "Заимствование формы: картинки кнопок, строк таблицы и поля картинки переносятся файлами, картинка декорации выбрасывается (как у Конфигуратора)", + "setup": "fixture:form-item-pictures", + "preRun": [ + { + "script": "cfe-init/scripts/cfe-init", + "args": { "-Name": "Тест", "-OutputDir": "{workDir}/cfe", "-ConfigPath": "{workDir}" } + } + ], + "params": { "extensionPath": "cfe", "object": "Document.Расход.Form.ФормаДокумента" }, + "expect": { + "filesEqual": [ + { "actual": "cfe/Documents/Расход/Forms/ФормаДокумента/Ext/Form/Items/ФормаОбновитьКартинкой/Picture.png", "expected": "Documents/Расход/Forms/ФормаДокумента/Ext/Form/Items/ФормаОбновитьКартинкой/Picture.png" }, + { "actual": "cfe/Documents/Расход/Forms/ФормаДокумента/Ext/Form/Items/Товары/RowsPicture.png", "expected": "Documents/Расход/Forms/ФормаДокумента/Ext/Form/Items/Товары/RowsPicture.png" }, + { "actual": "cfe/Documents/Расход/Forms/ФормаДокумента/Ext/Form/Items/ТоварыИндексКартинки/HeaderPicture.png", "expected": "Documents/Расход/Forms/ФормаДокумента/Ext/Form/Items/ТоварыИндексКартинки/HeaderPicture.png" }, + { "actual": "cfe/Documents/Расход/Forms/ФормаДокумента/Ext/Form/Items/ТоварыИндексКартинки/ValuesPicture.png", "expected": "Documents/Расход/Forms/ФормаДокумента/Ext/Form/Items/ТоварыИндексКартинки/ValuesPicture.png" } + ], + "fileContains": { + "file": "cfe/Documents/Расход/Forms/ФормаДокумента/Ext/Form.xml", + "text": [ + "RowsPicture.png", + "HeaderPicture.png", + "ValuesPicture.png" + ] + }, + "fileNotContains": { + "file": "cfe/Documents/Расход/Forms/ФормаДокумента/Ext/Form.xml", + "text": ["CommonPicture.Пустая"] + }, + "filesAbsent": [ + "cfe/Documents/Расход/Forms/ФормаДокумента/Ext/Form/Items/Логотип", + "cfe/CommonPictures/Пустая.xml" + ] + } +} diff --git a/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures-reborrow/CommonPictures/Пустая.xml b/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures-reborrow/CommonPictures/Пустая.xml new file mode 100644 index 000000000..032cc39ae --- /dev/null +++ b/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures-reborrow/CommonPictures/Пустая.xml @@ -0,0 +1,17 @@ + + + + + Пустая + + + ru + Пустая + + + + false + false + + + \ No newline at end of file diff --git a/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures-reborrow/CommonPictures/Пустая/Ext/Picture.xml b/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures-reborrow/CommonPictures/Пустая/Ext/Picture.xml new file mode 100644 index 000000000..4dfc28ff2 --- /dev/null +++ b/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures-reborrow/CommonPictures/Пустая/Ext/Picture.xml @@ -0,0 +1,7 @@ + + + + Picture.png + false + + \ No newline at end of file diff --git a/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures-reborrow/CommonPictures/Пустая/Ext/Picture/Picture.png b/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures-reborrow/CommonPictures/Пустая/Ext/Picture/Picture.png new file mode 100644 index 000000000..96729e159 Binary files /dev/null and b/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures-reborrow/CommonPictures/Пустая/Ext/Picture/Picture.png differ diff --git a/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures-reborrow/Configuration.xml b/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures-reborrow/Configuration.xml new file mode 100644 index 000000000..7a8f8041c --- /dev/null +++ b/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures-reborrow/Configuration.xml @@ -0,0 +1,253 @@ + + + + + + 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 + + + + TestConfig + + + ru + TestConfig + + + + + 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/cfe-borrow/snapshots/form-item-pictures-reborrow/Documents/Расход.xml b/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures-reborrow/Documents/Расход.xml new file mode 100644 index 000000000..8db00264d --- /dev/null +++ b/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures-reborrow/Documents/Расход.xml @@ -0,0 +1,265 @@ + + + + + + UUID-002 + UUID-003 + + + UUID-004 + UUID-005 + + + UUID-006 + UUID-007 + + + UUID-008 + UUID-009 + + + UUID-010 + UUID-011 + + + + Расход + + + ru + Расход + + + + true + + String + 11 + Variable + Year + true + true + + + + Document.Расход.StandardAttribute.Number + + Use + Begin + DontUse + Directly + Document.Расход.Form.ФормаДокумента + + + + + + Allow + Deny + AutoDelete + WriteSelected + AutoFill + + true + true + false + + Managed + Use + + + + + + Auto + DontUse + false + false + + + + + Комментарий + + + ru + Комментарий + + + + + xs:string + + 100 + Variable + + + false + + + + false + + false + false + + + false + + DontCheck + Items + + + Auto + Auto + + + Auto + DontIndex + Use + Use + + +
ФормаДокумента
+ + + + UUID-014 + UUID-015 + + + UUID-016 + UUID-017 + + + + Товары + + + ru + Товары + + + + + DontCheck + + + + DontCheck + false + false + Auto + + + false + + + Auto + Auto + + false + Use + false + + + + Use + + + + + + + + + + + Количество + + + ru + Количество + + + + + xs:decimal + + 10 + 3 + Any + + + false + + + + false + + false + false + + + DontCheck + Items + + + Auto + Auto + + + Auto + DontIndex + Use + Use + + + + + ИндексКартинки + + + ru + Индекс картинки + + + + + xs:decimal + + 2 + 0 + Any + + + false + + + + false + + false + false + + + DontCheck + Items + + + Auto + Auto + + + Auto + DontIndex + Use + Use + + + + +
+
+
\ No newline at end of file diff --git a/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures-reborrow/Documents/Расход/Ext/ObjectModule.bsl b/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures-reborrow/Documents/Расход/Ext/ObjectModule.bsl new file mode 100644 index 000000000..e69de29bb diff --git a/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures-reborrow/Documents/Расход/Forms/ФормаДокумента.xml b/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures-reborrow/Documents/Расход/Forms/ФормаДокумента.xml new file mode 100644 index 000000000..21cbf33a8 --- /dev/null +++ b/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures-reborrow/Documents/Расход/Forms/ФормаДокумента.xml @@ -0,0 +1,21 @@ + + +
+ + ФормаДокумента + + + ru + ФормаДокумента + + + + Managed + false + + PlatformApplication + MobilePlatformApplication + + +
+
\ No newline at end of file diff --git a/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures-reborrow/Documents/Расход/Forms/ФормаДокумента/Ext/Form.xml b/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures-reborrow/Documents/Расход/Forms/ФормаДокумента/Ext/Form.xml new file mode 100644 index 000000000..7aca34a37 --- /dev/null +++ b/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures-reborrow/Documents/Расход/Forms/ФормаДокумента/Ext/Form.xml @@ -0,0 +1,97 @@ + +
+ + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Расход</v8:content> + </v8:item> + + false + + Post + PostAndClose + Write + + DontUse + Regular + false + + + + + + + + Объект.Комментарий + + + + Объект.Товары + Объект.Товары.ИндексКартинки + + RowsPicture.png + false + + + MoveUp + SortListAsc + + + + Объект.Товары.Количество + + + + Объект.Товары.ИндексКартинки + + HeaderPicture.png + false + + + ValuesPicture.png + false + + + + + + +
+ + + Picture.png + false + + + + + + + CommonPicture.Пустая + true + + + + +
+ + + + cfg:DocumentObject.Расход + + true + true + + + + + +
\ No newline at end of file diff --git a/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures-reborrow/Documents/Расход/Forms/ФормаДокумента/Ext/Form/Items/Логотип/Picture.png b/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures-reborrow/Documents/Расход/Forms/ФормаДокумента/Ext/Form/Items/Логотип/Picture.png new file mode 100644 index 000000000..9270d02ef Binary files /dev/null and b/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures-reborrow/Documents/Расход/Forms/ФормаДокумента/Ext/Form/Items/Логотип/Picture.png differ diff --git a/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures-reborrow/Documents/Расход/Forms/ФормаДокумента/Ext/Form/Items/Товары/RowsPicture.png b/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures-reborrow/Documents/Расход/Forms/ФормаДокумента/Ext/Form/Items/Товары/RowsPicture.png new file mode 100644 index 000000000..d36e47e45 Binary files /dev/null and b/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures-reborrow/Documents/Расход/Forms/ФормаДокумента/Ext/Form/Items/Товары/RowsPicture.png differ diff --git a/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures-reborrow/Documents/Расход/Forms/ФормаДокумента/Ext/Form/Items/ТоварыИндексКартинки/HeaderPicture.png b/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures-reborrow/Documents/Расход/Forms/ФормаДокумента/Ext/Form/Items/ТоварыИндексКартинки/HeaderPicture.png new file mode 100644 index 000000000..91d113a1c Binary files /dev/null and b/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures-reborrow/Documents/Расход/Forms/ФормаДокумента/Ext/Form/Items/ТоварыИндексКартинки/HeaderPicture.png differ diff --git a/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures-reborrow/Documents/Расход/Forms/ФормаДокумента/Ext/Form/Items/ТоварыИндексКартинки/ValuesPicture.png b/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures-reborrow/Documents/Расход/Forms/ФормаДокумента/Ext/Form/Items/ТоварыИндексКартинки/ValuesPicture.png new file mode 100644 index 000000000..d7cc10f56 Binary files /dev/null and b/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures-reborrow/Documents/Расход/Forms/ФормаДокумента/Ext/Form/Items/ТоварыИндексКартинки/ValuesPicture.png differ diff --git a/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures-reborrow/Documents/Расход/Forms/ФормаДокумента/Ext/Form/Items/ФормаОбновитьКартинкой/Picture.png b/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures-reborrow/Documents/Расход/Forms/ФормаДокумента/Ext/Form/Items/ФормаОбновитьКартинкой/Picture.png new file mode 100644 index 000000000..519885bb6 Binary files /dev/null and b/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures-reborrow/Documents/Расход/Forms/ФормаДокумента/Ext/Form/Items/ФормаОбновитьКартинкой/Picture.png differ diff --git a/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures-reborrow/Documents/Расход/Forms/ФормаДокумента/Ext/Form/Module.bsl b/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures-reborrow/Documents/Расход/Forms/ФормаДокумента/Ext/Form/Module.bsl new file mode 100644 index 000000000..8ead4cec0 --- /dev/null +++ b/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures-reborrow/Documents/Расход/Forms/ФормаДокумента/Ext/Form/Module.bsl @@ -0,0 +1,19 @@ +#Область ОбработчикиСобытийФормы + +#КонецОбласти + +#Область ОбработчикиСобытийЭлементовФормы + +#КонецОбласти + +#Область ОбработчикиКомандФормы + +#КонецОбласти + +#Область ОбработчикиОповещений + +#КонецОбласти + +#Область СлужебныеПроцедурыИФункции + +#КонецОбласти \ No newline at end of file diff --git a/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures-reborrow/Ext/ClientApplicationInterface.xml b/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures-reborrow/Ext/ClientApplicationInterface.xml new file mode 100644 index 000000000..3c1161b2d --- /dev/null +++ b/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures-reborrow/Ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures-reborrow/Languages/Русский.xml b/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures-reborrow/Languages/Русский.xml new file mode 100644 index 000000000..37c60d786 --- /dev/null +++ b/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures-reborrow/Languages/Русский.xml @@ -0,0 +1,16 @@ + + + + + Русский + + + ru + Русский + + + + ru + + + \ No newline at end of file diff --git a/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures-reborrow/cfe/Configuration.xml b/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures-reborrow/cfe/Configuration.xml new file mode 100644 index 000000000..250ee8d0a --- /dev/null +++ b/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures-reborrow/cfe/Configuration.xml @@ -0,0 +1,72 @@ + + + + + + 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 + + + + Adopted + Тест + + + ru + Тест + + + + Customization + true + Тест_ + Version8_3_24 + ManagedApplication + + PlatformApplication + + Russian + + Role.Тест_ОсновнаяРоль + + + + Language.Русский + + + + + + TaxiEnableVersion8_2 + + + Русский + Тест_ОсновнаяРоль + Расход + + + \ No newline at end of file diff --git a/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures-reborrow/cfe/Documents/Расход.xml b/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures-reborrow/cfe/Documents/Расход.xml new file mode 100644 index 000000000..8b0e7c4eb --- /dev/null +++ b/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures-reborrow/cfe/Documents/Расход.xml @@ -0,0 +1,36 @@ + + + + + + UUID-002 + UUID-003 + + + UUID-004 + UUID-005 + + + UUID-006 + UUID-007 + + + UUID-008 + UUID-009 + + + UUID-010 + UUID-011 + + + + Adopted + Расход + + UUID-012 + + +
ФормаДокумента
+
+
+
\ No newline at end of file diff --git a/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures-reborrow/cfe/Documents/Расход/Forms/ФормаДокумента.xml b/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures-reborrow/cfe/Documents/Расход/Forms/ФормаДокумента.xml new file mode 100644 index 000000000..1c49cbb8c --- /dev/null +++ b/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures-reborrow/cfe/Documents/Расход/Forms/ФормаДокумента.xml @@ -0,0 +1,13 @@ + + +
+ + + Adopted + ФормаДокумента + + UUID-002 + Managed + + +
\ No newline at end of file diff --git a/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures-reborrow/cfe/Documents/Расход/Forms/ФормаДокумента/Ext/Form.xml b/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures-reborrow/cfe/Documents/Расход/Forms/ФормаДокумента/Ext/Form.xml new file mode 100644 index 000000000..fadb2b254 --- /dev/null +++ b/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures-reborrow/cfe/Documents/Расход/Forms/ФормаДокумента/Ext/Form.xml @@ -0,0 +1,137 @@ + +
+ + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Расход</v8:content> + </v8:item> + + false + + Post + PostAndClose + Write + + DontUse + Regular + false + + + + + + + + + + + + RowsPicture.png + false + + + + + + + + HeaderPicture.png + false + + + ValuesPicture.png + false + + + + + + +
+ + + + + + + + +
+ + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Расход</v8:content> + </v8:item> + + false + + Post + PostAndClose + Write + + DontUse + Regular + false + + + + + + + + + + + + RowsPicture.png + false + + + + + + + + HeaderPicture.png + false + + + ValuesPicture.png + false + + + + + + +
+ + + + + + + + +
+ +
+ \ No newline at end of file diff --git a/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures-reborrow/cfe/Documents/Расход/Forms/ФормаДокумента/Ext/Form/Items/Товары/RowsPicture.png b/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures-reborrow/cfe/Documents/Расход/Forms/ФормаДокумента/Ext/Form/Items/Товары/RowsPicture.png new file mode 100644 index 000000000..d36e47e45 Binary files /dev/null and b/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures-reborrow/cfe/Documents/Расход/Forms/ФормаДокумента/Ext/Form/Items/Товары/RowsPicture.png differ diff --git a/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures-reborrow/cfe/Documents/Расход/Forms/ФормаДокумента/Ext/Form/Items/ТоварыИндексКартинки/HeaderPicture.png b/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures-reborrow/cfe/Documents/Расход/Forms/ФормаДокумента/Ext/Form/Items/ТоварыИндексКартинки/HeaderPicture.png new file mode 100644 index 000000000..91d113a1c Binary files /dev/null and b/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures-reborrow/cfe/Documents/Расход/Forms/ФормаДокумента/Ext/Form/Items/ТоварыИндексКартинки/HeaderPicture.png differ diff --git a/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures-reborrow/cfe/Documents/Расход/Forms/ФормаДокумента/Ext/Form/Items/ТоварыИндексКартинки/ValuesPicture.png b/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures-reborrow/cfe/Documents/Расход/Forms/ФормаДокумента/Ext/Form/Items/ТоварыИндексКартинки/ValuesPicture.png new file mode 100644 index 000000000..d7cc10f56 Binary files /dev/null and b/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures-reborrow/cfe/Documents/Расход/Forms/ФормаДокумента/Ext/Form/Items/ТоварыИндексКартинки/ValuesPicture.png differ diff --git a/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures-reborrow/cfe/Documents/Расход/Forms/ФормаДокумента/Ext/Form/Items/ФормаОбновитьКартинкой/Picture.png b/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures-reborrow/cfe/Documents/Расход/Forms/ФормаДокумента/Ext/Form/Items/ФормаОбновитьКартинкой/Picture.png new file mode 100644 index 000000000..c0a95623a --- /dev/null +++ b/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures-reborrow/cfe/Documents/Расход/Forms/ФормаДокумента/Ext/Form/Items/ФормаОбновитьКартинкой/Picture.png @@ -0,0 +1 @@ +картинка расширения \ No newline at end of file diff --git a/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures-reborrow/cfe/Documents/Расход/Forms/ФормаДокумента/Ext/Form/Module.bsl b/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures-reborrow/cfe/Documents/Расход/Forms/ФормаДокумента/Ext/Form/Module.bsl new file mode 100644 index 000000000..e69de29bb diff --git a/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures-reborrow/cfe/Languages/Русский.xml b/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures-reborrow/cfe/Languages/Русский.xml new file mode 100644 index 000000000..c21624f52 --- /dev/null +++ b/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures-reborrow/cfe/Languages/Русский.xml @@ -0,0 +1,13 @@ + + + + + + Adopted + Русский + + UUID-002 + ru + + + \ No newline at end of file diff --git a/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures-reborrow/cfe/Roles/Тест_ОсновнаяРоль.xml b/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures-reborrow/cfe/Roles/Тест_ОсновнаяРоль.xml new file mode 100644 index 000000000..ec9dfbaf6 --- /dev/null +++ b/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures-reborrow/cfe/Roles/Тест_ОсновнаяРоль.xml @@ -0,0 +1,10 @@ + + + + + Тест_ОсновнаяРоль + + + + + \ No newline at end of file diff --git a/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures/CommonPictures/Пустая.xml b/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures/CommonPictures/Пустая.xml new file mode 100644 index 000000000..032cc39ae --- /dev/null +++ b/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures/CommonPictures/Пустая.xml @@ -0,0 +1,17 @@ + + + + + Пустая + + + ru + Пустая + + + + false + false + + + \ No newline at end of file diff --git a/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures/CommonPictures/Пустая/Ext/Picture.xml b/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures/CommonPictures/Пустая/Ext/Picture.xml new file mode 100644 index 000000000..4dfc28ff2 --- /dev/null +++ b/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures/CommonPictures/Пустая/Ext/Picture.xml @@ -0,0 +1,7 @@ + + + + Picture.png + false + + \ No newline at end of file diff --git a/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures/CommonPictures/Пустая/Ext/Picture/Picture.png b/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures/CommonPictures/Пустая/Ext/Picture/Picture.png new file mode 100644 index 000000000..96729e159 Binary files /dev/null and b/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures/CommonPictures/Пустая/Ext/Picture/Picture.png differ diff --git a/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures/Configuration.xml b/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures/Configuration.xml new file mode 100644 index 000000000..7a8f8041c --- /dev/null +++ b/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures/Configuration.xml @@ -0,0 +1,253 @@ + + + + + + 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 + + + + TestConfig + + + ru + TestConfig + + + + + 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/cfe-borrow/snapshots/form-item-pictures/Documents/Расход.xml b/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures/Documents/Расход.xml new file mode 100644 index 000000000..8db00264d --- /dev/null +++ b/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures/Documents/Расход.xml @@ -0,0 +1,265 @@ + + + + + + UUID-002 + UUID-003 + + + UUID-004 + UUID-005 + + + UUID-006 + UUID-007 + + + UUID-008 + UUID-009 + + + UUID-010 + UUID-011 + + + + Расход + + + ru + Расход + + + + true + + String + 11 + Variable + Year + true + true + + + + Document.Расход.StandardAttribute.Number + + Use + Begin + DontUse + Directly + Document.Расход.Form.ФормаДокумента + + + + + + Allow + Deny + AutoDelete + WriteSelected + AutoFill + + true + true + false + + Managed + Use + + + + + + Auto + DontUse + false + false + + + + + Комментарий + + + ru + Комментарий + + + + + xs:string + + 100 + Variable + + + false + + + + false + + false + false + + + false + + DontCheck + Items + + + Auto + Auto + + + Auto + DontIndex + Use + Use + + +
ФормаДокумента
+ + + + UUID-014 + UUID-015 + + + UUID-016 + UUID-017 + + + + Товары + + + ru + Товары + + + + + DontCheck + + + + DontCheck + false + false + Auto + + + false + + + Auto + Auto + + false + Use + false + + + + Use + + + + + + + + + + + Количество + + + ru + Количество + + + + + xs:decimal + + 10 + 3 + Any + + + false + + + + false + + false + false + + + DontCheck + Items + + + Auto + Auto + + + Auto + DontIndex + Use + Use + + + + + ИндексКартинки + + + ru + Индекс картинки + + + + + xs:decimal + + 2 + 0 + Any + + + false + + + + false + + false + false + + + DontCheck + Items + + + Auto + Auto + + + Auto + DontIndex + Use + Use + + + + +
+
+
\ No newline at end of file diff --git a/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures/Documents/Расход/Ext/ObjectModule.bsl b/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures/Documents/Расход/Ext/ObjectModule.bsl new file mode 100644 index 000000000..e69de29bb diff --git a/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures/Documents/Расход/Forms/ФормаДокумента.xml b/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures/Documents/Расход/Forms/ФормаДокумента.xml new file mode 100644 index 000000000..21cbf33a8 --- /dev/null +++ b/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures/Documents/Расход/Forms/ФормаДокумента.xml @@ -0,0 +1,21 @@ + + +
+ + ФормаДокумента + + + ru + ФормаДокумента + + + + Managed + false + + PlatformApplication + MobilePlatformApplication + + +
+
\ No newline at end of file diff --git a/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures/Documents/Расход/Forms/ФормаДокумента/Ext/Form.xml b/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures/Documents/Расход/Forms/ФормаДокумента/Ext/Form.xml new file mode 100644 index 000000000..7aca34a37 --- /dev/null +++ b/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures/Documents/Расход/Forms/ФормаДокумента/Ext/Form.xml @@ -0,0 +1,97 @@ + +
+ + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Расход</v8:content> + </v8:item> + + false + + Post + PostAndClose + Write + + DontUse + Regular + false + + + + + + + + Объект.Комментарий + + + + Объект.Товары + Объект.Товары.ИндексКартинки + + RowsPicture.png + false + + + MoveUp + SortListAsc + + + + Объект.Товары.Количество + + + + Объект.Товары.ИндексКартинки + + HeaderPicture.png + false + + + ValuesPicture.png + false + + + + + + +
+ + + Picture.png + false + + + + + + + CommonPicture.Пустая + true + + + + +
+ + + + cfg:DocumentObject.Расход + + true + true + + + + + +
\ No newline at end of file diff --git a/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures/Documents/Расход/Forms/ФормаДокумента/Ext/Form/Items/Логотип/Picture.png b/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures/Documents/Расход/Forms/ФормаДокумента/Ext/Form/Items/Логотип/Picture.png new file mode 100644 index 000000000..9270d02ef Binary files /dev/null and b/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures/Documents/Расход/Forms/ФормаДокумента/Ext/Form/Items/Логотип/Picture.png differ diff --git a/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures/Documents/Расход/Forms/ФормаДокумента/Ext/Form/Items/Товары/RowsPicture.png b/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures/Documents/Расход/Forms/ФормаДокумента/Ext/Form/Items/Товары/RowsPicture.png new file mode 100644 index 000000000..d36e47e45 Binary files /dev/null and b/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures/Documents/Расход/Forms/ФормаДокумента/Ext/Form/Items/Товары/RowsPicture.png differ diff --git a/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures/Documents/Расход/Forms/ФормаДокумента/Ext/Form/Items/ТоварыИндексКартинки/HeaderPicture.png b/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures/Documents/Расход/Forms/ФормаДокумента/Ext/Form/Items/ТоварыИндексКартинки/HeaderPicture.png new file mode 100644 index 000000000..91d113a1c Binary files /dev/null and b/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures/Documents/Расход/Forms/ФормаДокумента/Ext/Form/Items/ТоварыИндексКартинки/HeaderPicture.png differ diff --git a/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures/Documents/Расход/Forms/ФормаДокумента/Ext/Form/Items/ТоварыИндексКартинки/ValuesPicture.png b/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures/Documents/Расход/Forms/ФормаДокумента/Ext/Form/Items/ТоварыИндексКартинки/ValuesPicture.png new file mode 100644 index 000000000..d7cc10f56 Binary files /dev/null and b/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures/Documents/Расход/Forms/ФормаДокумента/Ext/Form/Items/ТоварыИндексКартинки/ValuesPicture.png differ diff --git a/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures/Documents/Расход/Forms/ФормаДокумента/Ext/Form/Items/ФормаОбновитьКартинкой/Picture.png b/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures/Documents/Расход/Forms/ФормаДокумента/Ext/Form/Items/ФормаОбновитьКартинкой/Picture.png new file mode 100644 index 000000000..519885bb6 Binary files /dev/null and b/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures/Documents/Расход/Forms/ФормаДокумента/Ext/Form/Items/ФормаОбновитьКартинкой/Picture.png differ diff --git a/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures/Documents/Расход/Forms/ФормаДокумента/Ext/Form/Module.bsl b/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures/Documents/Расход/Forms/ФормаДокумента/Ext/Form/Module.bsl new file mode 100644 index 000000000..8ead4cec0 --- /dev/null +++ b/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures/Documents/Расход/Forms/ФормаДокумента/Ext/Form/Module.bsl @@ -0,0 +1,19 @@ +#Область ОбработчикиСобытийФормы + +#КонецОбласти + +#Область ОбработчикиСобытийЭлементовФормы + +#КонецОбласти + +#Область ОбработчикиКомандФормы + +#КонецОбласти + +#Область ОбработчикиОповещений + +#КонецОбласти + +#Область СлужебныеПроцедурыИФункции + +#КонецОбласти \ No newline at end of file diff --git a/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures/Ext/ClientApplicationInterface.xml b/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures/Ext/ClientApplicationInterface.xml new file mode 100644 index 000000000..3c1161b2d --- /dev/null +++ b/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures/Ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures/Languages/Русский.xml b/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures/Languages/Русский.xml new file mode 100644 index 000000000..37c60d786 --- /dev/null +++ b/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures/Languages/Русский.xml @@ -0,0 +1,16 @@ + + + + + Русский + + + ru + Русский + + + + ru + + + \ No newline at end of file diff --git a/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures/cfe/Configuration.xml b/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures/cfe/Configuration.xml new file mode 100644 index 000000000..250ee8d0a --- /dev/null +++ b/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures/cfe/Configuration.xml @@ -0,0 +1,72 @@ + + + + + + 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 + + + + Adopted + Тест + + + ru + Тест + + + + Customization + true + Тест_ + Version8_3_24 + ManagedApplication + + PlatformApplication + + Russian + + Role.Тест_ОсновнаяРоль + + + + Language.Русский + + + + + + TaxiEnableVersion8_2 + + + Русский + Тест_ОсновнаяРоль + Расход + + + \ No newline at end of file diff --git a/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures/cfe/Documents/Расход.xml b/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures/cfe/Documents/Расход.xml new file mode 100644 index 000000000..8b0e7c4eb --- /dev/null +++ b/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures/cfe/Documents/Расход.xml @@ -0,0 +1,36 @@ + + + + + + UUID-002 + UUID-003 + + + UUID-004 + UUID-005 + + + UUID-006 + UUID-007 + + + UUID-008 + UUID-009 + + + UUID-010 + UUID-011 + + + + Adopted + Расход + + UUID-012 + + +
ФормаДокумента
+
+
+
\ No newline at end of file diff --git a/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures/cfe/Documents/Расход/Forms/ФормаДокумента.xml b/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures/cfe/Documents/Расход/Forms/ФормаДокумента.xml new file mode 100644 index 000000000..1c49cbb8c --- /dev/null +++ b/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures/cfe/Documents/Расход/Forms/ФормаДокумента.xml @@ -0,0 +1,13 @@ + + +
+ + + Adopted + ФормаДокумента + + UUID-002 + Managed + + +
\ No newline at end of file diff --git a/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures/cfe/Documents/Расход/Forms/ФормаДокумента/Ext/Form.xml b/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures/cfe/Documents/Расход/Forms/ФормаДокумента/Ext/Form.xml new file mode 100644 index 000000000..fadb2b254 --- /dev/null +++ b/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures/cfe/Documents/Расход/Forms/ФормаДокумента/Ext/Form.xml @@ -0,0 +1,137 @@ + +
+ + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Расход</v8:content> + </v8:item> + + false + + Post + PostAndClose + Write + + DontUse + Regular + false + + + + + + + + + + + + RowsPicture.png + false + + + + + + + + HeaderPicture.png + false + + + ValuesPicture.png + false + + + + + + +
+ + + + + + + + +
+ + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Расход</v8:content> + </v8:item> + + false + + Post + PostAndClose + Write + + DontUse + Regular + false + + + + + + + + + + + + RowsPicture.png + false + + + + + + + + HeaderPicture.png + false + + + ValuesPicture.png + false + + + + + + +
+ + + + + + + + +
+ +
+ \ No newline at end of file diff --git a/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures/cfe/Documents/Расход/Forms/ФормаДокумента/Ext/Form/Items/Товары/RowsPicture.png b/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures/cfe/Documents/Расход/Forms/ФормаДокумента/Ext/Form/Items/Товары/RowsPicture.png new file mode 100644 index 000000000..d36e47e45 Binary files /dev/null and b/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures/cfe/Documents/Расход/Forms/ФормаДокумента/Ext/Form/Items/Товары/RowsPicture.png differ diff --git a/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures/cfe/Documents/Расход/Forms/ФормаДокумента/Ext/Form/Items/ТоварыИндексКартинки/HeaderPicture.png b/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures/cfe/Documents/Расход/Forms/ФормаДокумента/Ext/Form/Items/ТоварыИндексКартинки/HeaderPicture.png new file mode 100644 index 000000000..91d113a1c Binary files /dev/null and b/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures/cfe/Documents/Расход/Forms/ФормаДокумента/Ext/Form/Items/ТоварыИндексКартинки/HeaderPicture.png differ diff --git a/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures/cfe/Documents/Расход/Forms/ФормаДокумента/Ext/Form/Items/ТоварыИндексКартинки/ValuesPicture.png b/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures/cfe/Documents/Расход/Forms/ФормаДокумента/Ext/Form/Items/ТоварыИндексКартинки/ValuesPicture.png new file mode 100644 index 000000000..d7cc10f56 Binary files /dev/null and b/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures/cfe/Documents/Расход/Forms/ФормаДокумента/Ext/Form/Items/ТоварыИндексКартинки/ValuesPicture.png differ diff --git a/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures/cfe/Documents/Расход/Forms/ФормаДокумента/Ext/Form/Items/ФормаОбновитьКартинкой/Picture.png b/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures/cfe/Documents/Расход/Forms/ФормаДокумента/Ext/Form/Items/ФормаОбновитьКартинкой/Picture.png new file mode 100644 index 000000000..519885bb6 Binary files /dev/null and b/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures/cfe/Documents/Расход/Forms/ФормаДокумента/Ext/Form/Items/ФормаОбновитьКартинкой/Picture.png differ diff --git a/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures/cfe/Documents/Расход/Forms/ФормаДокумента/Ext/Form/Module.bsl b/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures/cfe/Documents/Расход/Forms/ФормаДокумента/Ext/Form/Module.bsl new file mode 100644 index 000000000..e69de29bb diff --git a/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures/cfe/Languages/Русский.xml b/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures/cfe/Languages/Русский.xml new file mode 100644 index 000000000..c21624f52 --- /dev/null +++ b/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures/cfe/Languages/Русский.xml @@ -0,0 +1,13 @@ + + + + + + Adopted + Русский + + UUID-002 + ru + + + \ No newline at end of file diff --git a/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures/cfe/Roles/Тест_ОсновнаяРоль.xml b/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures/cfe/Roles/Тест_ОсновнаяРоль.xml new file mode 100644 index 000000000..ec9dfbaf6 --- /dev/null +++ b/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures/cfe/Roles/Тест_ОсновнаяРоль.xml @@ -0,0 +1,10 @@ + + + + + Тест_ОсновнаяРоль + + + + + \ No newline at end of file diff --git a/tests/skills/runner.mjs b/tests/skills/runner.mjs index 1a92b99d4..57b40b36c 100644 --- a/tests/skills/runner.mjs +++ b/tests/skills/runner.mjs @@ -639,6 +639,15 @@ function listFilesRecursive(dir, base = '') { return result.sort(); } +// Двоичный файл (встроенная картинка элемента формы и т.п.) пишется и сверяется байт в байт: +// текстовый путь через UTF-8 портит его (невалидные последовательности → U+FFFD), и сверка +// испорченного с испорченным проходит при любом содержимом. Признак — NUL-байт или байты, +// не переживающие декодирование UTF-8 туда-обратно. +function isBinaryBuffer(buf) { + if (buf.includes(0)) return true; + return !Buffer.from(buf.toString('utf8'), 'utf8').equals(buf); +} + // Строгий режим: отсутствие эталона НЕ проходит молча. Кейс либо сверяется со снэпшотом, // либо явно объявляет `"noSnapshot": "<причина>"`. Иначе потерянный (или не созданный при // добавлении кейса) эталон неотличим от намеренного отсутствия — тест зелёный, а не проверяет ничего. @@ -669,8 +678,17 @@ function compareSnapshot(workDir, snapshotDir, snapshotConfig, caseData) { continue; } - const actualRaw = readFileSync(actualPath, 'utf8'); - const snapshotRaw = readFileSync(snapshotPath, 'utf8'); + const actualBuf = readFileSync(actualPath); + const snapshotBuf = readFileSync(snapshotPath); + if (isBinaryBuffer(actualBuf) || isBinaryBuffer(snapshotBuf)) { + if (!actualBuf.equals(snapshotBuf)) { + diffs.push({ file: relFile, type: 'content', line: '<двоичный>', + expected: `<двоичный файл, ${snapshotBuf.length} байт>`, actual: `<двоичный файл, ${actualBuf.length} байт>` }); + } + continue; + } + const actualRaw = actualBuf.toString('utf8'); + const snapshotRaw = snapshotBuf.toString('utf8'); const actual = normalizeContent(actualRaw, snapshotConfig, relFile); const expected = normalizeContent(snapshotRaw, snapshotConfig, relFile); @@ -742,7 +760,9 @@ function updateSnapshot(workDir, snapshotDir, snapshotConfig, caseData) { const dst = join(snapshotDir, relFile); mkdirSync(dirname(dst), { recursive: true }); - const raw = readFileSync(src, 'utf8'); + const buf = readFileSync(src); + if (isBinaryBuffer(buf)) { writeFileSync(dst, buf); continue; } + const raw = buf.toString('utf8'); const normalized = normalizeContent(raw, snapshotConfig, relFile); writeFileSync(dst, normalized, 'utf8'); }