Skip to content

Commit 062778b

Browse files
author
Esben Sparre Andreasen
committed
JS: heuristically recognize x.spec.y and x.test.y as test files
1 parent 7cab308 commit 062778b

File tree

3 files changed

+10
-2
lines changed

3 files changed

+10
-2
lines changed

javascript/ql/src/filters/ClassifyFiles.ql

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,14 @@ private predicate looksLikeExterns(TopLevel tl) {
6161
predicate classify(File f, string category) {
6262
isGenerated(f.getATopLevel()) and category = "generated"
6363
or
64-
exists(Test t | t.getFile() = f | category = "test")
64+
(
65+
exists(Test t | t.getFile() = f)
66+
or
67+
exists(string stemExt | stemExt = "test" or stemExt = "spec" |
68+
f = getTestFile(any(File orig), stemExt)
69+
)
70+
) and
71+
category = "test"
6572
or
6673
(f.getATopLevel().isExterns() or looksLikeExterns(f.getATopLevel())) and
6774
category = "externs"

javascript/ql/src/semmle/javascript/frameworks/Testing.qll

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ class BDDTest extends Test, @callexpr {
4444
* same directory as `f` which is named `<base>.<ext>`.
4545
*/
4646
bindingset[stemExt]
47-
private File getTestFile(File f, string stemExt) {
47+
File getTestFile(File f, string stemExt) {
4848
result = f.getParentContainer().getFile(f.getStem() + "." + stemExt + "." + f.getExtension())
4949
}
5050

javascript/ql/test/query-tests/filters/ClassifyFiles/ClassifyFiles.expected

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
| etherpad.html:0:0:0:0 | etherpad.html | generated |
88
| exported-data.js:0:0:0:0 | exported-data.js | generated |
99
| htmltidy.html:0:0:0:0 | htmltidy.html | generated |
10+
| implementation.spec.js:0:0:0:0 | implementation.spec.js | test |
1011
| implementation.test.js:0:0:0:0 | implementation.test.js | test |
1112
| jison-lex.js:0:0:0:0 | jison-lex.js | generated |
1213
| jison.js:0:0:0:0 | jison.js | generated |

0 commit comments

Comments
 (0)