Clarify how firstMatch capabilities are validated against alwaysMatch
Nobody has claimed this yet.
- Dominant language
- HTML
- Stars
- 718
- Forks
- 228
- PR merge metrics
- No merged PRs in 30d
Description
According to the spec, once capabilities have been validated, we iterate firstMatch list, trying to merge and match the capabilities. As soon as we have a match we return the merged capabilities. This means that there might be duplicated entries in first and always as long as any previous one matches. This is what happens in test merge.py::test_merge_invalid, that includes an empty object as the first item of every firstMatch list. The test passes in firefox, because it first checks that there isn't duplicated entries in first and always and then it does the merge and match. If that was the idea, then we should fix the spec, probably adding a step before the iteration to do the check, and remove the check from the merge algorithm. Otherwise we should fix the test by removing the initial empty object from the firstMatch list.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with merge.py::test_merge_invalid and the specification steps for validating capabilities and merging firstMatch with alwaysMatch. Determine whether duplicate entries must be rejected before iteration or whether the test is wrong, then align the specification and test so the validation and merge behavior agree.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- html
- Domain
- documentation, testing-qa
- Issue type
- Documentation
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100