JavaScript
jQuery
AtCoder
userscript
rollup.js

AtCoderのサンプルケースのテストを半自動化するUserScriptを作った

AtCoderの問題に書いてあるサンプルケースを自動で検出し、コードテストで簡単に動かせるUserScriptを作りました。
(以前はWandboxで動かしていたのですが、速度や互換性の問題からAtCoderのコードテストに移行しました。使い方は以前と変わっていません)

インストール方法

  1. TamperMonkeyをブラウザにインストールします。
  2. こちらからUserScriptをインストールします。

制限事項(仕様)

  • ベータ版のAtCoderでしか動作しません。
  • 古いコンテストでは動作しません(Practice Contestなど)
  • インタラクティブ問題では正常に動作しません。
  • 相対誤差の判定はできません。
  • AtCoderの仕様変更により動作しなくなることがあります。

ソースコード

GitHub:prince0203/atcoder-sample-case-tester

技術的な話

  • async/await, fetchなどのJavaScriptの最新仕様をいくつか取り入れてみました。
  • モジュールバンドラにRollup.jsを採用しました。非常に読みやすいコードが出力されるので、UserScriptに最適です。コンフィグもこのように非常に簡潔に書けます。
  • DOM操作にはAtCoderで使われているjQuery 1.9.1(!)をそのまま流用しています。