Skip to content

Add unit tests for blocks and parameters analyzers#60

Merged
dak2 merged 1 commit intomainfrom
add-blocks-parameters-unit-tests
Mar 15, 2026
Merged

Add unit tests for blocks and parameters analyzers#60
dak2 merged 1 commit intomainfrom
add-blocks-parameters-unit-tests

Conversation

@dak2
Copy link
Owner

@dak2 dak2 commented Mar 15, 2026

Summary

  • Add 5 end-to-end type inference tests to blocks.rs (block parameter types from collections, outer variable access, each_char block parameter, block body return type isolation, nested blocks)
  • Add 8 type propagation tests to parameters.rs (required/optional parameter types, multiple parameters, required/optional keyword parameters, mixed positional/keyword, rest parameter, no-parameter method)
  • blocks.rs previously had only 3 low-level scope tests with no coverage of block type inference behavior
  • parameters.rs previously had 0 unit tests despite handling all method parameter variants

Test plan

  • cd core && cargo test --lib passes with all new tests green
  • Verify no regressions in Ruby integration tests (bundle exec rake test)

🤖 Generated with Claude Code

The blocks.rs module had only 3 low-level unit tests covering scope
enter/exit and parameter registration, but lacked tests verifying
end-to-end block type inference (e.g., block parameter types from
collection elements, outer variable access, nested blocks).

The parameters.rs module had 0 unit tests despite handling all method
parameter types (required, optional, rest, keyword).

This commit adds:
- 5 tests to blocks.rs: block parameter type from array, external
  variable access, each_char block parameter, block body return type,
  nested blocks
- 8 tests to parameters.rs: required/optional parameter type
  propagation, multiple parameters, keyword parameters, mixed
  positional/keyword, rest parameter, no-parameter method

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@dak2 dak2 merged commit aef61a7 into main Mar 15, 2026
2 checks passed
@dak2 dak2 mentioned this pull request Mar 15, 2026
4 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant