New play script play-dialog.pl

* We reinvented a wheel.

Signed-off-by: Xiong Changnian <xiong@cpan.org>
New play script play-yaml.pl

* To generate YAML for more play.

Signed-off-by: Xiong Changnian <xiong@cpan.org>
Generate YAML and write it manually.

Signed-off-by: Xiong Changnian <xiong@cpan.org>
Supply default values with '||' not 'or'.

* We were warned about this.

Signed-off-by: Xiong Changnian <xiong@cpan.org>
Play script starting to work.

Signed-off-by: Xiong Changnian <xiong@cpan.org>
Fix overeager cargo culting regression.

Signed-off-by: Xiong Changnian <xiong@cpan.org>
New test 155-query.t

* Self-check okay.
* Never ship 900-sham.t
    is merely there to check normal operation
    after 155-query redirects STDIN.

Signed-off-by: Xiong Changnian <xiong@cpan.org>
Tests fails, _query() not exist.

Signed-off-by: Xiong Changnian <xiong@cpan.org>
Test framework fails multiple cases.

* Reloading $stdin fails.
* Copy _query() from play-query.pl
    ... and it might even work.

Signed-off-by: Xiong Changnian <xiong@cpan.org>
Self-check passes.

* Must seek to rewind STDIN.

Signed-off-by: Xiong Changnian <xiong@cpan.org>
Test fixed... and passes.

Signed-off-by: Xiong Changnian <xiong@cpan.org>
Extend test coverage with Devel::Cover.

* Add more stuff-stuff to .gitignore.
* Ship query.t

Signed-off-by: Xiong Changnian <xiong@cpan.org>
New test 165-dialog.t

* Mocks _query(), _load_dialog().
* New mocking framework... works.

Signed-off-by: Xiong Changnian <xiong@cpan.org>
Null check pass.

Signed-off-by: Xiong Changnian <xiong@cpan.org>
Duplicate dialog.t

* Will use slightly smarter mocks.

Signed-off-by: Xiong Changnian <xiong@cpan.org>
Reworked 166-dialog.t pass.

* Ship it!
* All tests pass.

Signed-off-by: Xiong Changnian <xiong@cpan.org>
Merge branch 'feature-dialog' into devel

* New routines _query(), _dialog().
* Mock dependencies!
* Store conversation as YAML.
* TODO: _load_dialog();
* TODO: Calculate defalts by looking around with subs.
* TODO: Write some starter conversation.

Signed-off-by: Xiong Changnian <xiong@cpan.org>