1
1
using System . Linq ;
2
2
using NUnit . Framework ;
3
+ using Rubberduck . Parsing . Annotations ;
3
4
using Rubberduck . Parsing . Symbols ;
4
5
using RubberduckTests . Mocks ;
5
6
@@ -556,5 +557,50 @@ Public Function Bar() As Variant '@Ignore MissingAttribute
556
557
Assert . AreEqual ( expectedAnnotationCount , actualAnnotationCount ) ;
557
558
}
558
559
}
560
+
561
+ [ Test ]
562
+ //Cf. issue #5071 at https://github.com/rubberduck-vba/Rubberduck/issues/5071
563
+ public void AnnotationArgumentIsRecognisedWithWhiteSpaceInBetween ( )
564
+ {
565
+ const string inputCode =
566
+ @"
567
+ '@description (""Function description"")
568
+ Public Function Bar() As Variant
569
+ End Function" ;
570
+ var vbe = MockVbeBuilder . BuildFromSingleStandardModule ( inputCode , out _ ) ;
571
+ using ( var state = MockParser . CreateAndParse ( vbe . Object ) )
572
+ {
573
+ var declaration = state . DeclarationFinder . UserDeclarations ( DeclarationType . Function ) . Single ( ) ;
574
+ var annotation = declaration . Annotations . OfType < DescriptionAnnotation > ( ) . Single ( ) ;
575
+
576
+ var expectedAnnotationArgument = "Function description" ;
577
+ var actualAnnotationArgument = annotation . Description ;
578
+
579
+ Assert . AreEqual ( expectedAnnotationArgument , actualAnnotationArgument ) ;
580
+ }
581
+ }
582
+
583
+ [ Test ]
584
+ public void AnnotationArgumentIsRecognisedWithLineContinuationsInBetween ( )
585
+ {
586
+ const string inputCode =
587
+ @"
588
+ '@description _
589
+ _
590
+ (""Function description"")
591
+ Public Function Bar() As Variant
592
+ End Function" ;
593
+ var vbe = MockVbeBuilder . BuildFromSingleStandardModule ( inputCode , out _ ) ;
594
+ using ( var state = MockParser . CreateAndParse ( vbe . Object ) )
595
+ {
596
+ var declaration = state . DeclarationFinder . UserDeclarations ( DeclarationType . Function ) . Single ( ) ;
597
+ var annotation = declaration . Annotations . OfType < DescriptionAnnotation > ( ) . Single ( ) ;
598
+
599
+ var expectedAnnotationArgument = "Function description" ;
600
+ var actualAnnotationArgument = annotation . Description ;
601
+
602
+ Assert . AreEqual ( expectedAnnotationArgument , actualAnnotationArgument ) ;
603
+ }
604
+ }
559
605
}
560
606
}
0 commit comments