test: add comprehensive unit tests for Template::Iterator#437
Draft
toddr-bot wants to merge 1 commit into
Draft
Conversation
95 tests covering constructor input coercion (hash, as_list objects, single scalar, blessed arrays), get_first/get_next/get_all lifecycle, accessor methods (prev/next/odd/even/parity/number), AUTOLOAD dispatch, and edge cases (empty/undef inputs, mixed data types, numeric zeros). Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
95 unit tests for
Template::Iteratorcovering all public methods and constructor input paths.Why
The existing
t/iterator.thas 182 lines with basic get_first/get_next/get_all coverage and a handful of template integration tests. Constructor input coercion (hash→sorted pairs,as_list()objects, single scalar wrapping, blessed arrays), accessor methods via AUTOLOAD, and edge cases (empty/undef/mixed data types) had zero direct coverage.How
Follows the project's
*_methods.tconvention (liket/context_methods.t,t/document_methods.t). PureTest::Moreunit tests — no template execution overhead.Key coverage areas:
as_list(), blessed array withoutas_list()(wrapped), single scalar, undef, empty inputsTesting
All 95 tests pass. Full suite: 122 files, 3239 tests, all pass.
🤖 Generated with Claude Code
Quality Report
Changes: 1 file changed, 416 insertions(+)
Code scan: clean
Tests: passed (OK)
Branch hygiene: clean
Generated by Kōan post-mission quality pipeline