Closed mtasaka closed 1 year ago
パッチありがとうございます。 書き込んでテストしたところnext2ch.netへの書き込みでリグレッションを見つけました。
master [バージョン] JDim 0.10.1-20230806(git:a6bb171816)
テストケース | 説明 | 5ch.net | next2ch.net |
---|---|---|---|
あい |
先頭に空行なし | :heavy_check_mark: | :heavy_check_mark: |
\nかき |
先頭に空行 | :x: | :heavy_check_mark: |
\nさし |
先頭に半角空白の行 | :x: | :heavy_check_mark: |
\n たち |
先頭に半角空白の行、二行目の頭に半角空白 | :x: | :heavy_check_mark: |
\n \nなに |
先頭と二行目に半角空白の行 | :x: | :heavy_check_mark: |
\u3000\nまみ |
先頭に全角空白(\u3000)の行 | :heavy_check_mark: | :heavy_check_mark: |
\u3000 \nはひ |
先頭に半角空白、全角空白、半角空白を並べた行 | :heavy_check_mark: | :heavy_check_mark: |
[バージョン] JDim 0.10.1-20230812(git:2f761b0833)
テストケース | 説明 | 5ch.net | next2ch.net |
---|---|---|---|
あい |
先頭に空行なし | :heavy_check_mark: | :heavy_check_mark: |
\nかき |
先頭に空行 | :heavy_check_mark: | :heavy_check_mark: |
\nさし |
先頭に半角空白の行 | :heavy_check_mark: | :heavy_check_mark: |
\n たち |
先頭に半角空白の行、二行目の頭に半角空白 | :heavy_check_mark: | :x: |
\n \nなに |
先頭と二行目に半角空白の行 | :heavy_check_mark: | :x: |
\u3000\nまみ |
先頭に全角空白の行 | :heavy_check_mark: | :heavy_check_mark: |
\u3000 \nはひ |
先頭に半角空白、全角空白、半角空白を並べた行 | :heavy_check_mark: | :heavy_check_mark: |
next2ch.netの一致しなかったケースのDATデータ
名無しさん@Next2ch<>sage<>2023/08/12(土) 99:99:99.99 ID:???<><br> たち<>
名無しさん@Next2ch<>sage<>2023/08/12(土) 99:99:99.99 ID:???<><br> <br>なに<>
next2ch.netのDATデータは行頭の半角空白だけ取り除かれるようです。
うーん、書き込みとレスを比較するコードを抜き出して試すと行ごとに比較する全文チェックの処理はクリアしてるっぽいです。 LogItemクラスの簡易チェック用バッファへコピーところで事前に半角空白と改行をトリミングする方法ならいけるかもしれないと考えています。
https://github.com/JDimproved/JDim/issues/1220#issuecomment-1674778861
簡易チェックをする時は、「先頭の」半角空白と改行をすべて削除してから比較する、にすればいいんですかね。 こんな感じでしょうか。
更新ありがとうございます、書き込み試してみます。 テストで自動化できるといいのですがソースやクラスが分かれていて設定とか通信に繋がっている部分は難しい… 😫
先頭に空白行が連続する書き込みをすると、5chの仕様ではそれらを 削除したものが帰ってくるので、Log_Manager::check_write で 簡易チェックをするとき、先頭の連続する改行は読み飛ばす
不具合報告: https://next2ch.net/test/read.cgi/linux/1654053581/112-113
Closes #1220