Files
cc-1c-skills/tests/skills/cases/skd-edit/patch-query-diag-other-dataset.json
T
Nick Shirokov ce1ba0bab1 feat(skd-edit): normalize line endings + diagnostics on patch-query not-found
patch-query теперь нормализует CRLF/CR → LF в old/new/query перед поиском,
поэтому многострочные шаблоны с любым стилем переводов строк находятся
корректно (XmlDocument декодирует text-узлы как LF).

При not-found вместо сухого сообщения выводится воронка диагностики:
  1) cross-dataset probe — «Found in dataset 'Y' instead — wrong -DataSet?»
  2) tolerant probe (collapse whitespace + NBSP) — «would match with
     whitespace normalized» + точка расхождения
  3) prefix divergence — «matched N of M chars, expected 'X' (U+...) but
     got 'Y' (U+...)» + короткий контекст

Тесты: 4 новых кейса (positive CRLF-tolerant + 3 диагностических negative).
Регрессия 45/45 PS + 45/45 Python.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-20 19:53:24 +03:00

31 lines
959 B
JSON

{
"name": "patch-query: diagnostic — подстрока в другом dataSet",
"preRun": [
{
"script": "skd-compile/scripts/skd-compile",
"input": {
"dataSets": [
{
"name": "Первый",
"query": "ВЫБРАТЬ 1 КАК Поле",
"fields": ["Поле"]
},
{
"name": "Второй",
"query": "ВЫБРАТЬ Т.УникальныйМаркер ИЗ Регистр КАК Т",
"fields": ["УникальныйМаркер: string"]
}
]
},
"args": { "-DefinitionFile": "{inputFile}", "-OutputPath": "{workDir}/Template.xml" }
}
],
"params": {
"templatePath": "Template.xml",
"operation": "patch-query",
"value": "УникальныйМаркер => Новый"
},
"args_extra": ["-DataSet", "Первый"],
"expectError": "Found in dataset 'Второй' instead"
}