1// RUN: echo "foo f;" > %t.cpp
2// RUN: clang-include-fixer -db=fixed -input='foo= "foo.h","bar.h"' -output-headers %t.cpp -- | FileCheck %s
3// RUN: cat %t.cpp | clang-include-fixer -stdin -insert-header='{FilePath: "%/t.cpp", QuerySymbolInfos: [{RawIdentifier: foo, Range: {Offset: 0, Length: 3}}], HeaderInfos: [{Header: "\"foo.h\"", QualifiedName: "foo"}]}' %t.cpp | FileCheck %s -check-prefix=CHECK-CODE
4// RUN: cat %t.cpp | not clang-include-fixer -stdin -insert-header='{FilePath: "%/t.cpp", QuerySymbolInfos: [{RawIdentifier: foo, Range: {Offset: 0, Length: 3}}], HeaderInfos: [{Header: "\"foo.h\"", QualifiedName: "foo"},{Header: "\"foo2.h\"", QualifiedName: "foo"}]}' %t.cpp
5// RUN: cat %t.cpp | clang-include-fixer -stdin -insert-header='{FilePath: "%/t.cpp", QuerySymbolInfos: [{RawIdentifier: foo, Range: {Offset: 0, Length: 3}}], HeaderInfos: [{Header: "\"foo.h\"", QualifiedName: "a:foo"},{Header: "\"foo.h\"", QualifiedName: "b:foo"}]}' %t.cpp
6//
7// CHECK: "HeaderInfos": [
8// CHECK-NEXT: {"Header": "\"foo.h\"",
9// CHECK-NEXT: "QualifiedName": "foo"},
10// CHECK-NEXT: {"Header": "\"bar.h\"",
11// CHECK-NEXT: "QualifiedName": "foo"}
12// CHECK-NEXT:]
13//
14// CHECK-CODE: #include "foo.h"
15// CHECK-CODE: foo f;
16

source code of clang-tools-extra/test/clang-include-fixer/commandline_options.cpp