タグ

2011年7月6日のブックマーク (6件)

  • local $var += 1の挙動 - walf443's blog

    Test::TypeConstraintsのレビューをしてもらっていたときにid:gfxさんに教えてもらったのですが、 local $Test::Builder::Level += 2;としていたのですが、これは、「元々の$Test::Builder::Levelに2を足す」、という挙動にはならないです。 そもそも、これは、テストが失敗したときの呼出し元が変にならないようにするためのおなじないで、一つのメソッドしか経由していないので、+1するべきで、+1でうまく動いていないことに疑問を持つべきでした。 以下挙動を確認するためのプログラムです。 use strict; use warnings; use Test::More; our $TEST = 10; { local $TEST += 1; is($TEST, 1, "undef + 1 = 1"); } is($TEST, 10,

    local $var += 1の挙動 - walf443's blog
  • 続 Test::TypeConstraints - walf443's blog

    http://d.hatena.ne.jp/walf443/20110704/1309738408 で公開した、Test::TypeConstraintsですが、反応をもとに、微調整してCPANへあげました。 type_is_a_okというメソッド名をtype_isaにしました Data::Validatorに依存せず、Mouse::Util::TypeConstraintsを直接使うようになりました type_doesというRole名を指定できる版を追加しました。 coerceオプションで、coerce込みでチェックできるようにしました

    続 Test::TypeConstraints - walf443's blog
  • Test::TypeConstraints - walf443's blog

    ちょっと固めに書いておきたいところで、メソッドの戻り値の型をテストしておきたくて、Smart::Argsとかを使うのに慣れてくると、ArrayRef[Int]とかでテストできると楽だなぁと思ったので書いてみました。 https://github.com/walf443/p5-test-type_constraints 内部的には、Data::Validatorを呼びだして、エラー時にメッセージをちょろっと変えているだけ。 自前のsubtypeつくったりして、そういうのをテストするときにも使えそうで、そういうときは、coerceが効いた方がよいのかな、思いつつ、どうやってそのあたりのインターフェースをかえようかな、というのは考え中です。 �(Moose|Mouse)はけっこう使われてはいるはずなので、似たようなのが既にあるかもしれないですが、ぱっとみ見つからなかったです。

    Test::TypeConstraints - walf443's blog
  • added metacpan API support for cpanm - tokuhirom's blog

  • Mojocast #1 Fun with clouds - Sebastian Riedel about Perl and the Web

  • にひりずむ::しんぷる - HTML::Filter::Callbacks の紹介

    追記あり Yuji Shimada / HTML-Filter-Callbacks - search.cpan.org charsbar さんにパッチを送ったら、「commit bit 付けたから自分でリリースしてちょ」って言われたので、先ほど 0.07 をリリースしました。 それはさておき、このモジュールについての情報があんまり世の中に無いようなので、いい機会なので紹介しようかと思います。 このモジュールを使えば 不要なタグの除去 url の変換 属性の追加、削除 text の置き換え などなどが簡単にできます。 似たようなモジュールとして、HTML::Scrubber というのが昔からあって、よく使われてますが、長年メンテされていなかったり*1、インターフェースがとてもわかりにくかったり*2して、今から使うのは気が引けますが、HTML::Filter::Callbacks は大変直感的