Экспорт QUIK: очистка таблиц-срезов (ClearTables) для включённых пакетов

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
zuevav
2026-09-17 21:56:10 +03:00
parent 10e765b5b1
commit 1f12167946
2 changed files with 40 additions and 0 deletions
@@ -0,0 +1,26 @@
package quikexport
import (
"strings"
"testing"
)
// [ClearTables]: включённые таблицы-срезы очищаются, Portfolio и журналы — нет.
func TestIniClearTables(t *testing.T) {
ini := "[Output tables]\n;SettleCodes=SettleCodes\nPortfolio=Portfolio\n\n[ClearTables]\nClasses=1\n;Securities=1\n"
out := iniClearTables(ini, []string{"Portfolio", "SettleCodes", "Securities", "DepoLimitsJournal"})
for _, want := range []string{"SettleCodes=1", "Securities=1", "Classes=1"} {
if !strings.Contains(out, want) {
t.Errorf("нет %q в:\n%s", want, out)
}
}
if strings.Contains(out, "Portfolio=1") {
t.Errorf("Portfolio очищать нельзя:\n%s", out)
}
if strings.Contains(out, "DepoLimitsJournal=1") {
t.Errorf("журнал очищать нельзя:\n%s", out)
}
if strings.Contains(out, ";Securities=1") {
t.Errorf("строка осталась закомментированной:\n%s", out)
}
}