mirror of
https://github.com/github/codeql.git
synced 2026-05-03 12:45:27 +02:00
JS: add Util::pluralize, also add tests for Util::capitalize
This commit is contained in:
@@ -11,3 +11,16 @@ bindingset[s]
|
||||
string capitalize(string s) {
|
||||
result = s.charAt(0).toUpperCase() + s.suffix(1)
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the pluralization for `n` occurrences of `noun`.
|
||||
*
|
||||
* For example, the pluralization of `"function"` for `n = 2` is `"functions"`.
|
||||
*/
|
||||
bindingset[noun, n]
|
||||
string pluralize(string noun, int n) {
|
||||
if n = 1 then
|
||||
result = noun
|
||||
else
|
||||
result = noun + "s"
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
| X | X | Xx | XX | Xx | XX |
|
||||
3
javascript/ql/test/library-tests/Util/capitalize.ql
Normal file
3
javascript/ql/test/library-tests/Util/capitalize.ql
Normal file
@@ -0,0 +1,3 @@
|
||||
import semmle.javascript.Util
|
||||
|
||||
select capitalize("x"), capitalize("X"), capitalize("xx"), capitalize("XX"), capitalize("Xx"), capitalize("xX")
|
||||
1
javascript/ql/test/library-tests/Util/pluralize.expected
Normal file
1
javascript/ql/test/library-tests/Util/pluralize.expected
Normal file
@@ -0,0 +1 @@
|
||||
| xs | x | xs | xs |
|
||||
3
javascript/ql/test/library-tests/Util/pluralize.ql
Normal file
3
javascript/ql/test/library-tests/Util/pluralize.ql
Normal file
@@ -0,0 +1,3 @@
|
||||
import semmle.javascript.Util
|
||||
|
||||
select pluralize("x", 0), pluralize("x", 1), pluralize("x", 2), pluralize("x", -1)
|
||||
1
javascript/ql/test/library-tests/Util/tst.js
Normal file
1
javascript/ql/test/library-tests/Util/tst.js
Normal file
@@ -0,0 +1 @@
|
||||
// used by qltest to identify the language
|
||||
Reference in New Issue
Block a user