diff --git a/unified/ql/lib/utils/test/InlineExpectationsTest.qll b/unified/ql/lib/utils/test/InlineExpectationsTest.qll new file mode 100644 index 000000000000..7b331deb9458 --- /dev/null +++ b/unified/ql/lib/utils/test/InlineExpectationsTest.qll @@ -0,0 +1,8 @@ +/** + * Inline expectation tests for unified. + * See `shared/util/codeql/util/test/InlineExpectationsTest.qll` + */ + +private import codeql.util.test.InlineExpectationsTest +private import internal.InlineExpectationsTestImpl +import Make diff --git a/unified/ql/lib/utils/test/InlineExpectationsTestQuery.ql b/unified/ql/lib/utils/test/InlineExpectationsTestQuery.ql new file mode 100644 index 000000000000..039194bc2e38 --- /dev/null +++ b/unified/ql/lib/utils/test/InlineExpectationsTestQuery.ql @@ -0,0 +1,21 @@ +/** + * @kind test-postprocess + */ + +private import unified +private import codeql.util.test.InlineExpectationsTest as T +private import internal.InlineExpectationsTestImpl +import T::TestPostProcessing +import T::TestPostProcessing::Make + +private module Input implements T::TestPostProcessing::InputSig { + string getRelativeUrl(Location location) { + exists(File f, int startline, int startcolumn, int endline, int endcolumn | + location.hasLocationInfo(_, startline, startcolumn, endline, endcolumn) and + f = location.getFile() + | + result = + f.getRelativePath() + ":" + startline + ":" + startcolumn + ":" + endline + ":" + endcolumn + ) + } +} diff --git a/unified/ql/lib/utils/test/internal/InlineExpectationsTestImpl.qll b/unified/ql/lib/utils/test/internal/InlineExpectationsTestImpl.qll new file mode 100644 index 000000000000..b73301687412 --- /dev/null +++ b/unified/ql/lib/utils/test/internal/InlineExpectationsTestImpl.qll @@ -0,0 +1,12 @@ +private import unified as U +private import U +private import codeql.util.test.InlineExpectationsTest + +module Impl implements InlineExpectationsTestSig { + class ExpectationComment extends U::Comment { + /** Gets the text inside this comment, without the surrounding comment delimiters. */ + string getContents() { result = this.getCommentText() } + } + + class Location = U::Location; +}