@@ -226,9 +226,10 @@ TEST(IncludeCleaner, GenerateMissingHeaderDiags) {
226
226
#include "dir/c.h"
227
227
$insert_d[[]]$insert_foo[[]]#include "fuzz.h"
228
228
#include "header.h"
229
- $insert_foobar[[]]$insert_quoted[[]]#include "quoted_wrapper.h"
229
+ $insert_foobar[[]]$insert_quoted[[]]$insert_quoted2[[]] #include "quoted_wrapper.h"
230
230
$insert_angled[[]]#include <e.h>
231
- $insert_f[[]]$insert_vector[[]]
231
+ $insert_f[[]]#include <quoted2_wrapper.h>
232
+ $insert_vector[[]]
232
233
233
234
#define DEF(X) const Foo *X;
234
235
#define BAZ(X) const X x
@@ -241,6 +242,7 @@ TEST(IncludeCleaner, GenerateMissingHeaderDiags) {
241
242
$b[[b]]();
242
243
$angled[[angled]]();
243
244
$quoted[[quoted]]();
245
+ $quoted2[[quoted2]]();
244
246
245
247
ns::$bar[[Bar]] bar;
246
248
bar.d();
@@ -280,6 +282,8 @@ TEST(IncludeCleaner, GenerateMissingHeaderDiags) {
280
282
281
283
TU.AdditionalFiles [" system/e.h" ] = guard (" #include <f.h>" );
282
284
TU.AdditionalFiles [" system/f.h" ] = guard (" void f();" );
285
+ TU.AdditionalFiles [" system/quoted2_wrapper.h" ] = guard (" #include <system/quoted2.h>" );
286
+ TU.AdditionalFiles [" system/quoted2.h" ] = guard (" void quoted2();" );
283
287
TU.ExtraArgs .push_back (" -isystem" + testPath (" system" ));
284
288
285
289
TU.AdditionalFiles [" fuzz.h" ] = guard (" #include \" buzz.h\" " );
@@ -315,7 +319,7 @@ TEST(IncludeCleaner, GenerateMissingHeaderDiags) {
315
319
return Header.contains (" angled.h" );
316
320
}},
317
321
/* QuotedHeaders=*/ {[](llvm::StringRef Header) {
318
- return Header.contains (" quoted.h" );
322
+ return Header.contains (" quoted.h" ) || Header. contains ( " quoted2.h " ) ;
319
323
}});
320
324
EXPECT_THAT (
321
325
Diags,
@@ -336,6 +340,12 @@ TEST(IncludeCleaner, GenerateMissingHeaderDiags) {
336
340
withFix ({Fix (MainFile.range (" insert_quoted" ),
337
341
" #include \" quoted.h\"\n " , " #include \" quoted.h\" " ),
338
342
FixMessage (" add all missing includes" )})),
343
+ AllOf (
344
+ Diag (MainFile.range (" quoted2" ),
345
+ " No header providing \" quoted2\" is directly included" ),
346
+ withFix ({Fix (MainFile.range (" insert_quoted2" ),
347
+ " #include \" quoted2.h\"\n " , " #include \" quoted2.h\" " ),
348
+ FixMessage (" add all missing includes" )})),
339
349
AllOf (Diag (MainFile.range (" bar" ),
340
350
" No header providing \" ns::Bar\" is directly included" ),
341
351
withFix ({Fix (MainFile.range (" insert_d" ),
0 commit comments