power_assert icon indicating copy to clipboard operation
power_assert copied to clipboard

Accept multiline block in an assertion (WIP)

Open piroor opened this issue 8 years ago • 1 comments

I'm trying to support assertions with multiple lines block. How about this?


#20 の元々の問題は、長くなった行を読みやすさのために折り返しているとpower_assertでパースしてもらえないという点でした。 これについて、アドホックなやり方での対応を試みてみました。どうでしょうか? 現時点ですぐにマージしていただける物とは考えておらず、ひとまずご意見を頂けましたら幸いです。

基本的な考え方は、「1行をパースして失敗したら、次の行を足してパースし直す。これをパースに成功するまで繰り返す。」というものです。 そのため、現状でのデメリットとして、今までvalid_syntax?(str)falseと判定されていたケースで毎回ファイルの終端までの読み込みが行われてしまうため、テストの実行速度が低下することが懸念されます。 この問題についての有効な解決策はまだ思いついておりません。

piroor avatar Nov 21 '17 08:11 piroor

Thanks your PR.

Ruby core team plans to implement new API to get position of AST node (https://bugs.ruby-lang.org/projects/ruby-trunk/wiki/Node-position-memo). So I think power_assert should use it to support muliple lines.

k-tsj avatar Nov 23 '17 03:11 k-tsj