Files
codeql/javascript/ql/test/library-tests/Extend/ExtendCalls.ql
Anders Schack-Mulligen e58094c732 Javascript: Autoformat.
2019-01-11 11:02:42 +01:00

28 lines
677 B
Plaintext

import javascript
class Assertion extends CallExpr {
Assertion() {
getCalleeName() = "checkDeep" or
getCalleeName() = "checkShallow"
}
predicate shouldBeDeep() { getCalleeName() = "checkDeep" }
ExtendCall getExtendCall() { result = getArgument(0).flow() }
string getMessage() {
if not exists(getExtendCall())
then result = "Not an extend call"
else
if shouldBeDeep() and not getExtendCall().isDeep()
then result = "Not deep"
else
if not shouldBeDeep() and getExtendCall().isDeep()
then result = "Not shallow"
else result = "OK"
}
}
from Assertion assertion
select assertion, assertion.getMessage()