vivliostyle/vfm

`tests/` を整理する

Closed this issue · 2 comments

ユニット テストの置かれる tests/ は以下のように構成されるようだ。

dir 役割
/ 分類不能または統合テスト。
/block/ ブロックとして扱われる記法のテスト。
/inline/ インラインとして扱われる記法のテスト。
/regype/ HAST で処理される記法のテスト。

しかし block にある code はコード ブロックだけをテストしているが記法としてはインラインもある。また inline/ で数式をテストするものに inlineMath と命名されていて、これは MDAST の命名から取られているようだがディレクトリー名もあいまって冗長に見える。

rehype については実態と一致しているが、MDAST/HAST をセットで処理するものもあるため、AST の違いで分類するのはわかりにくい。

以上を踏まえて tests/ 内のディレクトリー内を整理したい。作業は段階的におこなう。

  1. tests/ 内の階層化を廃止
  2. テスト ファイル名を src/ のものと対応付ける
  3. テスト ファイルを tests/ から src/ へ移動させて併置する
    • テストからの参照が楽になる
    • エディター上で実装とテストの往復が楽になる
    • テストやビルド処理のフィルタリングは tsc/tsconfig で制御可能
    • テストは test.ts と命名されているので併置しても衝突することはない
    • 副次効果として src/ の実装で対となる test.ts が存在しない = 未テスト、に気づきやすくなる

1 は実施、2 は手元で試してよさそうなら採用。3 は私以外の開発者とも議論したい。

外部 remark 由来で実現している機能もあり、名前の対応や併置はそれらを補完する実装のテストと混在してわかりにくくするため、階層化の廃止だけにしておく。

1 のみ対応した。close する。