Skip to content

Normalize relation case when combining license expressions - #135

Open
codewithfourtix wants to merge 1 commit into
aboutcode-org:mainfrom
codewithfourtix:fix-combine-relation-case
Open

Normalize relation case when combining license expressions#135
codewithfourtix wants to merge 1 commit into
aboutcode-org:mainfrom
codewithfourtix:fix-combine-relation-case

Conversation

@codewithfourtix

Copy link
Copy Markdown

Lowercase and mixed-case relations pass validation but then raise KeyError during operator lookup. Normalize the lookup the same way as validation.

Adds coverage for and and or in lowercase, uppercase, and mixed case.

Signed-off-by: Ali Zulfiqar <codewithfourtix@gmail.com>
Copilot AI lite review requested due to automatic review settings September 5, 2026 17:02

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟢 Approval recommended

The fix aligns lookup normalization with existing validation logic and is covered by a focused regression test.

Pull request overview

Fixes a bug in combine_expressions where lowercase or mixed-case relation values (e.g., "and", "Or") would pass validation but fail during operator lookup, and adds tests to ensure case-insensitive relations are accepted.

Changes:

  • Normalize relation to uppercase during the operator lookup in combine_expressions.
  • Add test coverage for and/or relations across lowercase, uppercase, and mixed-case inputs.
File summaries
File Description
src/license_expression/init.py Uppercases relation during AND/OR operator mapping to prevent KeyError for non-uppercase inputs.
tests/test_license_expression.py Adds a regression test ensuring combine_expressions accepts case-insensitive "and"/"or" relations.
Review details
  • Files reviewed: 2/2 changed files
  • Comments generated: 0
  • Review effort level: Lite

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

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.

2 participants