今日のn年前の無限増殖バグ
from 2022/06/06
今日のn年前
2021/06/06
今日のn年前
2021/06/06
無限増殖する今日のn年前Mijikko.icon
原因探りたいけれど、それに割り振れる時間がないんだよな
同じくtakker.icon
他の方がテストしていただいた。/icons/助かる.icontakker.icon
原因探索方法:このページのテキストをpin-diary-6の単体テストに放り込む
一度テンプレート中のの空行が既存のコンテンツの空行にマッチしたことがあったnishio.icon
空行を消すと無限に増殖しますMijikko.icon
もしかして(最初は)空行承り太郎が作った空行にマッチしている?
テンプレートがない状態での日記ページは一番下にだけ空行がある(ことが多い)
今日のn年前
2021/06/06
増えたwnishio.icon
コンテンツとテンプレートのマージ処理で、テンプレート中の空行がコンテンツの空行にマッチした場合、そこにテンプレートの内容があると判断してインデックスがそこまで進んでしまうので、この挙動が今の仕様では当然だと思うnishio.icon
https://gyazo.com/ae1145a2c683d6dbacc160418750b822
$ deno test https://scrapbox.io/api/code/villagepump/今日のn年前の無限増殖バグ/format_test5.ts
ページ切り出しで自己言及が間違っていたので修正基素.icon
code:format_test5.ts
import { patchTemplate } from "../pin-diary-5/format.ts";
import { assertEquals } from "../pin-diary-5/deps_test.ts";
Deno.test("patchTemplate()", () => {
const headers = [
"A",
"",
"B",
];
const lines = [
"C",
"A",
"B",
"",
];
const footers = [
"footer"
];
assertEquals<string[]>(patchTemplate(lines, headers, footers), [
"C",
"A",
"B",
"",
"B",
"",
"",
"",
"footer",
]);
});
PASSED