テストは完全な動作の保証をしてくれるものではなく、ある程度の品質担保の指標でしか無いので、
結局は実機での動作検証が必要になるので要注意。
複数ブラウザでのテスト自動化するためのツール。
NodeJSで各ブラウザと通信して、テスト実行結果をCLI経由で閲覧することができる。
主要ブラウザはほぼ全て対応済み。
| function profilify(fn, label) { | |
| var displayName = label || fn.name, | |
| called = 0, | |
| profilified = function() { | |
| var args = [].slice.call(arguments), | |
| startedAt = new Date(), | |
| defaults = { total: 0, times: 0, average: 0 }, | |
| ret; | |
| profilify._stats[displayName] = profilify._stats[displayName] || defaults |
| # Usage | |
| # git clone git@gist.github.com:/dcd421081bdd96b31f3c.git some-project-name | |
| # cd some-project-name | |
| # rm -rf .git && git init | |
| # vim Vagrantfile # if you need | |
| # vagrant up --provision | |
| # Vagrantfile API/syntax version. Don't touch unless you know what you're doing! | |
| VAGRANTFILE_API_VERSION = "2" |
| <?php | |
| class Ary implements \ArrayAccess | |
| { | |
| protected $list; | |
| public function __construct(/* $args... */) | |
| { | |
| $this->list = func_get_args(); | |
| } |
| <?php | |
| class CLI { | |
| /** | |
| * CLIオプションを取得する | |
| * | |
| * PHPのgetopt関数はプラットフォーム依存であり、Macで正常動作しなかった。 | |
| * 動作環境に依らないオプションのパースをするには時前パースしか無かった。 | |
| * PHP5.1にも対応したライブラリがあればそちらを使うほうが懸命。 | |
| * | |
| * ## オプションの仕様 |
| var SomeCollection = Backbone.Collection.extend({ | |
| /** | |
| * 同時リクエスト数を制限したリクエストを行う | |
| * | |
| * RESTに寄せて1個1個のモデルを更新する場合、一気に大量のAjaxが走ることになる。 | |
| * サーバ側の不可を考慮し、同時リクエスト数を絞ったAjaxリクエストを行う。 | |
| * | |
| * 最初に同時リクエスト数分のリクエストを作成し、その後は1個1個の通信が完了するたびに1つずつ次の通信へ移る。 | |
| * | |
| * 各モデルの保存が完了するごとに...といった処理は事前にイベントリスナを定義しておくこと。 |
| function isArray(obj) { | |
| var str = Object.prototype.toString.call(obj).slice(8, -1); | |
| return (str === 'Array'); | |
| } | |
| function deepClone(obj) { | |
| var copy = isArray(obj) ? [] : {}; | |
| for(var p in obj) { | |
| if(!obj.hasOwnProperty(p)) continue; |
| /vendor/ |
| <?php | |
| class Model_Book extends \Orm\Model | |
| { | |
| const DROP_WORD_LENGTH = 2; | |
| protected static $_properties = array( | |
| 'id', | |
| 'title', | |
| 'content', |
| <?php | |
| $max = 100; | |
| $progress = new \Cli\ProgressBar(STDOUT, $max); | |
| for($i = 1; $i <= $max; $i++) { | |
| $progress->current($i); | |
| sleep(1); | |
| } | |
| $progress->done(); |
テストは完全な動作の保証をしてくれるものではなく、ある程度の品質担保の指標でしか無いので、
結局は実機での動作検証が必要になるので要注意。
複数ブラウザでのテスト自動化するためのツール。
NodeJSで各ブラウザと通信して、テスト実行結果をCLI経由で閲覧することができる。
主要ブラウザはほぼ全て対応済み。