robertkrimen / string-comments-extract

This URL has Read+Write access

string-comments-extract / t / 10-usage.t
100644 83 lines (57 sloc) 1.647 kb
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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
#!/usr/bin/perl -w
 
use strict;
use warnings;
 
use Test::Most;
 
plan qw/no_plan/;
 
use String::Comments::Extract;
 
my $output;
my $source = <<_END_;
/* A Hello World program
Copyright Ty Coon
// ...and Buckaroo Banzai
"Yoyodyne"*/
 
void main() {
printf("Hello, World.\\n");
printf("/* This is not a real comment */");
printf("// Neither is this */");
// But this is
}
 
// Last comment
_END_
my $comments = String::Comments::Extract::C->extract($source);
is($comments, <<_END_);
    /* A Hello World program
    
        Copyright Ty Coon
        // ...and Buckaroo Banzai
      "Yoyodyne"*/
 
      
        
        
        
        // But this is
    
 
    // Last comment
_END_
 
my @comments = String::Comments::Extract::C->collect($source);
$comments[0] .= "\n";
cmp_deeply(\@comments, [
    <<_END_,
 A Hello World program
    
        Copyright Ty Coon
        // ...and Buckaroo Banzai
      "Yoyodyne"
_END_
 
    ' But this is',
    ' Last comment',
]);
 
$source = <<_END_;
/* Some generic slash-star program */
int main () {
String string = "// Not a comment";
}
// Last comment
_END_
 
my $result = <<_END_;
/* Some generic slash-star program */
 
// Last comment
_END_
 
is($output = String::Comments::Extract::C->extract($source), $result);
is($output = String::Comments::Extract::CPP->extract($source), $result);
is($output = String::Comments::Extract::JavaScript->extract($source), $result);
is($output = String::Comments::Extract::Java->extract($source), $result);
is($output = String::Comments::Extract::SlashStar->extract($source), $result);