power_assert
power_assert copied to clipboard
Accept multiline block in an assertion (WIP)
I'm trying to support assertions with multiple lines block. How about this?
#20 の元々の問題は、長くなった行を読みやすさのために折り返しているとpower_assertでパースしてもらえないという点でした。 これについて、アドホックなやり方での対応を試みてみました。どうでしょうか? 現時点ですぐにマージしていただける物とは考えておらず、ひとまずご意見を頂けましたら幸いです。
基本的な考え方は、「1行をパースして失敗したら、次の行を足してパースし直す。これをパースに成功するまで繰り返す。」というものです。
そのため、現状でのデメリットとして、今までvalid_syntax?(str)でfalseと判定されていたケースで毎回ファイルの終端までの読み込みが行われてしまうため、テストの実行速度が低下することが懸念されます。
この問題についての有効な解決策はまだ思いついておりません。
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.