Merge remote-tracking branches 'origin/sub_laptop_5' and 'origin/sub_laptop_6' into sub_laptop_7

This commit is contained in:
2026-09-27 21:34:22 +09:00
8 changed files with 225 additions and 14 deletions
@@ -39,8 +39,18 @@ const sheet: Sheet = {
},
comments: { H4: "메모 — ROUNDDOWN 끝수 확인" },
병합: ["A1:H1", "B8:C9"],
열: { A: { 폭: 14 }, D: { 숨김: true } },
행: { "1": { 높이: 22 }, "5": { 숨김: true } },
열: {
A: { 폭: 14 },
D: { 숨김: true },
E: { 묶음: { 층: 1 } },
F: { 묶음: { 층: 1 } },
},
행: {
"1": { 높이: 22 },
"5": { 숨김: true },
"11": { 묶음: { 층: 1 } },
"12": { 묶음: { 층: 1 } },
},
틀고정: { 행: 3, 열: 1 },
보기: { 눈금선: true },
};
@@ -129,6 +139,14 @@ const ctx: SpreadsheetContext = {
...sheet.행,
[String(r0 + 1)]: { ...sheet.행?.[String(r0 + 1)], 높이: command.높이 ?? undefined },
};
} else if (command.종류 === "묶음설정") {
const table = command.축 === "열" ? "열" : "행";
const next = { ...sheet[table] } as Record<string, { 묶음?: unknown }>;
for (const i of command.번호) {
const key = command.축 === "열" ? String.fromCharCode(65 + i) : String(i + 1);
next[key] = { ...next[key], 묶음: command.묶음 ?? undefined };
}
(sheet as unknown as Record<string, unknown>)[table] = next;
}
grid.render();
},
@@ -9,7 +9,7 @@ import {
} from "../../../A00_Common/spreadsheet/spreadsheet_func_help.ts";
import { assertEqual } from "./test_stage2_helpers.ts";
assertEqual(knownFunctionCount(), 48, "1단계 함수 48 개 다 있음");
assertEqual(knownFunctionCount(), 105, "1단계 48 + B 2단계 묶음(57) 다 있음");
assertEqual(
suggestFunctions("ROU").map((f) => f.이름),
@@ -44,5 +44,26 @@ const 실무13 = [
];
for (const name of 실무13) assertEqual(funcHelp(name) !== null, true, `실무 함수 ${name} 있음`);
// B 2단계 묶음(FUNC_HELP_BATCH2 · 3)이 자동 완성에 뜨는지(2026-09-27 — 자동 완성에 안 뜨던 것 고침)
const 이단계묶음 = [
"SUMIFS",
"XLOOKUP",
"TEXTJOIN",
"ISNUMBER",
"DATE",
"MEDIAN",
"RANK.EQ",
"TIME",
];
for (const name of 이단계묶음)
assertEqual(funcHelp(name) !== null, true, `2단계 함수 ${name} 있음`);
assertEqual(
suggestFunctions("SUMIF")
.map((f) => f.이름)
.sort(),
["SUMIF", "SUMIFS"],
"SUMIFS 도 SUMIF 접두사 자동 완성에 뜸",
);
if (process.exitCode) process.exit(process.exitCode);
console.log("spreadsheet_func_help 시험 끝");