llvm/clang-tools-extra/clangd/unittests/SelectionTests.cpp

//===-- SelectionTests.cpp - ----------------------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
//
//===----------------------------------------------------------------------===//
#include "Annotations.h"
#include "Selection.h"
#include "SourceCode.h"
#include "TestTU.h"
#include "support/TestTracer.h"
#include "clang/AST/ASTConcept.h"
#include "clang/AST/Decl.h"
#include "llvm/Support/Casting.h"
#include "gmock/gmock.h"
#include "gtest/gtest.h"

namespace clang {
namespace clangd {
namespace {
ElementsAreArray;
UnorderedElementsAreArray;

// Create a selection tree corresponding to a point or pair of points.
// This uses the precisely-defined createRight semantics. The fuzzier
// createEach is tested separately.
SelectionTree makeSelectionTree(const StringRef MarkedCode, ParsedAST &AST) {}

Range nodeRange(const SelectionTree::Node *N, ParsedAST &AST) {}

std::string nodeKind(const SelectionTree::Node *N) {}

std::vector<const SelectionTree::Node *> allNodes(const SelectionTree &T) {}

// Returns true if Common is a descendent of Root.
// Verifies nothing is selected above Common.
bool verifyCommonAncestor(const SelectionTree::Node &Root,
                          const SelectionTree::Node *Common,
                          StringRef MarkedCode) {}

TEST(SelectionTest, CommonAncestor) {}

// Regression test: this used to match the injected X, not the outer X.
TEST(SelectionTest, InjectedClassName) {}

TEST(SelectionTree, Metrics) {}

// FIXME: Doesn't select the binary operator node in
//          #define FOO(X) X + 1
//          int a, b = [[FOO(a)]];
TEST(SelectionTest, Selected) {}

TEST(SelectionTest, PathologicalPreprocessor) {}

TEST(SelectionTest, IncludedFile) {}

TEST(SelectionTest, MacroArgExpansion) {}

TEST(SelectionTest, Implicit) {}

TEST(SelectionTest, CreateAll) {}

TEST(SelectionTest, DeclContextIsLexical) {}

TEST(SelectionTest, DeclContextLambda) {}

TEST(SelectionTest, UsingConcepts) {}

} // namespace
} // namespace clangd
} // namespace clang