vivliostyle / vfm

⬇️ Open and extendable Markdown syntax and toolchain.
https://vivliostyle.github.io/vfm/#/vfm
Other
71 stars 12 forks source link

`tests/` を整理する #85

Closed akabekobeko closed 3 years ago

akabekobeko commented 3 years ago

ユニット テストの置かれる 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 は私以外の開発者とも議論したい。

akabekobeko commented 3 years ago

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

akabekobeko commented 3 years ago

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