Skip to content

Commit

Permalink
test & refactor perl本体ドキュメントの目次
Browse files Browse the repository at this point in the history
- TOC#renderをrender_coreに改名
- TOC#render_coreがcontextに依存していたが剥がす
- cacheは、Dispatcher 側に任す
- toc.txtの改行位置をperldoc perlにあわせ調整
  - https://perldoc.perl.org/perl
- M::TOC に関するテストを集約
  • Loading branch information
kfly8 committed Dec 6, 2023
1 parent fa8e6bd commit 13988fa
Show file tree
Hide file tree
Showing 5 changed files with 33 additions and 41 deletions.
16 changes: 1 addition & 15 deletions lib/PJP/M/TOC.pm
Original file line number Diff line number Diff line change
Expand Up @@ -9,21 +9,7 @@ use Log::Minimal;
use Pod::Functions;
use HTML::Entities qw/encode_entities/;

sub render {
my ($class, $c) = @_;
$c // die;

return mark_raw($c->cache->file_cache
(
"toc:4", 'toc.txt', sub {
debugf("regen toc");
my $ret = $class->_render();
return $ret;
}
));
}

sub _render {
sub render_core {
my ($class) = @_;

open my $fh, '<:utf8', 'toc.txt' or die "Cannot open toc.txt: $!";
Expand Down
5 changes: 4 additions & 1 deletion lib/PJP/Web/Dispatcher.pm
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,10 @@ get '/category/:name/:name2' => sub {
get '/index/core' => sub {
my $c = shift;

my $toc = PJP::M::TOC->render($c);
my $toc = $c->cache->get_or_set('index/core', sub {
mark_raw(PJP::M::TOC->render_core());
});

return $c->render('index/core.tt', {
header_title => 'Perlのコアドキュメントの翻訳一覧',
description => '翻訳されたPerlのコアドキュメントの一覧',
Expand Down
15 changes: 0 additions & 15 deletions t/03_toc.t

This file was deleted.

27 changes: 27 additions & 0 deletions t/M/TOC.t
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
use v5.38;
use Test2::V0;

use PJP::M::TOC;

subtest 'render_core - perl本体のドキュメントの目次' => sub {
my $out = PJP::M::TOC->render_core();
ok $out;
note $out;
todo '目次の内容を確認する' => sub {
fail;
};
};

#subtest 'render_function - 組み込み関数の目次' => sub {
# my $out = PJP::M::TOC->render_function();
# ok $out;
#
#};

# subtest 'render_variable - 組み込み変数の目次' => sub {
# my $out = PJP::M::TOC->render_variable();
# ok $out;
# note $out;
# };

done_testing;
11 changes: 1 addition & 10 deletions toc.txt
Original file line number Diff line number Diff line change
Expand Up @@ -11,20 +11,14 @@
perlreftut - Perlのリファレンスの短いインストラクション
perldsc - Perl のデータ構造クックブック
perllol - Perl で配列の配列を操作する

perlrequick - Perl 正規表現のクイックスタート
perlretut - Perl の正規表現のチュートリアル

perlootut - Perl の初心者向けオブジェクト指向チュートリアル

perlperf - Perl の性能と最適化のテクニック

perlstyle - Perl スタイルガイド

perlcheat - perl チートシート
perltrap - 不注意による Perl の罠
perldebtut - デバッグのチュートリアル

perlfaq - Perl に関するよくある質問
perlfaq1 - Perl に関する一般的な質問
perlfaq2 - Perl の入手と学習
Expand Down Expand Up @@ -61,13 +55,10 @@
perlobj - Perl のオブジェクト
perltie - オブジェクトクラスを単純な変数に隠す方法
perldbmfilter - Perl DBM フィルタ
#
perlipc - Perl のプロセス間通信 (シグナル, fifo, パイプ, 安全な副プロセス, ソケット, セマフォ)
perlfork - Perl の fork エミュレーション
perlnumber - Perl での数値と数値操作の意味論

perlthrtut - Perl におけるスレッドのチュートリアル

perlport - 移植性のある Perl を書く
perllocale - Perl のロケール操作 (国際化と地域化)
perluniintro - Perl Unicode の手引き
Expand Down Expand Up @@ -110,7 +101,7 @@

perlapi - perl public API の自動生成ドキュメント
# perlintern - Perl internal functions (autogenerated)
perliol - IO 層の Perl 実装への C API
perliol - IO 層の Perl 実装への C API
perlapio - perl の抽象入出力インターフェース

perlhack - Perl をハックする方法
Expand Down

0 comments on commit 13988fa

Please sign in to comment.