JS: Promote js/regex/duplicate-in-character-class to quality#19711
JS: Promote js/regex/duplicate-in-character-class to quality#19711Napalys merged 6 commits intogithub:mainfrom
js/regex/duplicate-in-character-class to quality#19711Conversation
|
QHelp previews: javascript/ql/src/RegExp/DuplicateCharacterInCharacterClass.qhelpDuplicate character in character classCharacter classes in regular expressions (denoted by square brackets Common mistakes include:
RecommendationExamine each duplicate character to determine the intended behavior:
ExampleExample 1: Confusing character classes with groups The pattern if (/[password|pwd] =/.test(input))
console.log("Found password!");To fix this problem, the regular expression should be rewritten to Example 2: CSS unit matching The pattern Similarly, References
|
84cc0c3 to
d68f5eb
Compare
There was a problem hiding this comment.
Pull Request Overview
Promote the js/regex/duplicate-in-character-class query to the quality suite by adjusting metadata, expanding tests, and enhancing documentation.
- Update query tags from reliability to quality and include
correctness®ular-expressions - Add new regex patterns to
tst.jsand dynamic replacement tests intst_replace.js, plus expected-alert entries - Enhance
.qhelpwith a clearer overview, recommendations, examples, and references; include the rule in the quality-suite integration tests
Reviewed Changes
Copilot reviewed 6 out of 6 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
| javascript/ql/test/query-tests/RegExp/DuplicateCharacterInCharacterClass/tst_replace.js | Added dynamic‐pattern replacement test functions and new test cases |
| javascript/ql/test/query-tests/RegExp/DuplicateCharacterInCharacterClass/tst.js | Added a variety of new regex literals to trigger duplicate alerts |
| javascript/ql/src/RegExp/DuplicateCharacterInCharacterClass.ql | Changed @tags from reliability to quality suite and added tags |
| javascript/ql/src/RegExp/DuplicateCharacterInCharacterClass.qhelp | Expanded overview, recommendations, examples, and reference links |
| javascript/ql/integration-tests/query-suite/javascript-code-quality.qls.expected | Added the duplicate-character-class rule to the code-quality suite |
Comments suppressed due to low confidence (2)
javascript/ql/test/query-tests/RegExp/DuplicateCharacterInCharacterClass/tst_replace.js:1
- [nitpick] Function names
reg,reg1,reg2,reg3are ambiguous; consider using more descriptive test function names to clarify their purpose.
function reg(){
javascript/ql/src/RegExp/DuplicateCharacterInCharacterClass.ql:9
- [nitpick] The
reliabilitytag is on a separate line without an@tagsprefix; consolidate tags into a single@tags quality, reliability, correctness, regular-expressionsannotation for consistency.
* reliability
javascript/ql/test/query-tests/RegExp/DuplicateCharacterInCharacterClass/tst_replace.js
Show resolved
Hide resolved
javascript/ql/test/query-tests/RegExp/DuplicateCharacterInCharacterClass/tst_replace.js
Show resolved
Hide resolved
javascript/ql/test/query-tests/RegExp/DuplicateCharacterInCharacterClass/tst_replace.js
Show resolved
Hide resolved
javascript/ql/test/query-tests/RegExp/DuplicateCharacterInCharacterClass/tst_replace.js
Show resolved
Hide resolved
javascript/ql/test/query-tests/RegExp/DuplicateCharacterInCharacterClass/tst.js
Outdated
Show resolved
Hide resolved
…acterClass/tst.js Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
javascript/ql/src/RegExp/DuplicateCharacterInCharacterClass.qhelp
Outdated
Show resolved
Hide resolved
javascript/ql/src/RegExp/DuplicateCharacterInCharacterClass.qhelp
Outdated
Show resolved
Hide resolved
javascript/ql/src/RegExp/DuplicateCharacterInCharacterClass.qhelp
Outdated
Show resolved
Hide resolved
javascript/ql/src/RegExp/DuplicateCharacterInCharacterClass.qhelp
Outdated
Show resolved
Hide resolved
Co-authored-by: Asger F <asgerf@github.com>
The following pull request aims to promote
js/regex/duplicate-in-character-classto quality-suite.