summaryrefslogtreecommitdiffstats
path: root/gnu/llvm/lldb/unittests/DataFormatter/FormatManagerTests.cpp
blob: acfafdbd293cd708384aae0ecc25ccd3debda2f2 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
//===-- FormatManagerTests.cpp ----------------------------------*- C++ -*-===//
//
// 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 "lldb/DataFormatters/FormatManager.h"

#include "gtest/gtest.h"

using namespace lldb;
using namespace lldb_private;

TEST(FormatManagerTests, CompatibleLangs) {
  std::vector<LanguageType> candidates = {eLanguageTypeC_plus_plus,
                                          eLanguageTypeObjC};
  EXPECT_EQ(FormatManager::GetCandidateLanguages(eLanguageTypeC), candidates);
  EXPECT_EQ(FormatManager::GetCandidateLanguages(eLanguageTypeC89), candidates);
  EXPECT_EQ(FormatManager::GetCandidateLanguages(eLanguageTypeC99), candidates);
  EXPECT_EQ(FormatManager::GetCandidateLanguages(eLanguageTypeC11), candidates);

  EXPECT_EQ(FormatManager::GetCandidateLanguages(eLanguageTypeC_plus_plus),
            candidates);
  EXPECT_EQ(FormatManager::GetCandidateLanguages(eLanguageTypeC_plus_plus_03),
            candidates);
  EXPECT_EQ(FormatManager::GetCandidateLanguages(eLanguageTypeC_plus_plus_11),
            candidates);
  EXPECT_EQ(FormatManager::GetCandidateLanguages(eLanguageTypeC_plus_plus_14),
            candidates);

  candidates = {eLanguageTypeObjC};
  EXPECT_EQ(FormatManager::GetCandidateLanguages(eLanguageTypeObjC),
            candidates);
}