#!/usr/bin/perl -w
use strict;
use warnings;
use Test::Most;
plan qw/no_plan/;
use String::Comments::Extract::SlashStar;
my (@output, $output, $input);
$input = <<_END_;
/* Here is a comment */
// Here is another comment
/* and another! */
#define I_AM_SPECIAL_LA_LA_LA
// Here is a comment /* containing a comment */
"// This is not a comment "
if (1) {
0;
}
else {
malloc();
}
/* A multiline
comment
// With another comment inside
"And a stringlike thing"
At the front
*/
/* A multiline comment
with some stuff at the end */ int printf()
int main() {
int *pointer;
int cannot_actually_do_this_in_c(ha ha)
char *string = "With \\"some escapes" //But get this one!
}
if (1) { // Comment after an "if"
0;
}
else {
malloc();
}
// A wacky "comment
// And another" one
_END_
is($output = String::Comments::Extract::SlashStar->extract_comments($input), <<_END_);
/* Here is a comment */
// Here is another comment
/* and another! */
// Here is a comment /* containing a comment */
/* A multiline
comment
// With another comment inside
"And a stringlike thing"
At the front
*/
/* A multiline comment
with some stuff at the end */
//But get this one!
// Comment after an "if"
// A wacky "comment
// And another" one
_END_
#use XXX;
#print "$output\n";
@output = String::Comments::Extract::SlashStar->collect_comments($input);
$output[5] .= "\n";
cmp_deeply(\@output, [
' Here is a comment ',
' Here is another comment',
' and another! ',
' Here is a comment /* containing a comment */',
<<_END_,
A multiline
comment
// With another comment inside
"And a stringlike thing"
At the front
_END_
<<_END_,
A multiline comment
with some stuff at the end
_END_
'But get this one!',
' Comment after an "if"',
' A wacky "comment',
' And another" one',
]);