Compare commits

...

3 Commits

Author SHA1 Message Date
Alex Schroeder
1e223279d9 common-mark: small fixes
Down to 446 failed tests.

Fixed attribute names for HTML.
Fixed regexp for unquoted parts in HTML.
Added beginning of image link handling.
Fixed regexp for single backquote code.
2020-06-02 23:25:46 +02:00
Alex Schroeder
a69d28596f common-mark: down to 450 failed tests 2020-06-01 09:31:11 +02:00
Alex Schroeder
fb77a7a326 common-mark: down to 470 failed tests 2020-06-01 09:31:11 +02:00
4 changed files with 7675 additions and 7 deletions

2627
modules/common-markdown.pl Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

49
t/common-markdown.t Normal file
View File

@@ -0,0 +1,49 @@
#!/usr/bin/env perl
# Copyright (C) 2018 Alex Schroeder <alex@gnu.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
require './t/test.pl';
package OddMuse;
use Test::More;
use JSON;
use utf8;
add_module('common-markdown.pl');
sub load_tests {
my $spec = "t/common-markdown-spec-0.28.json";
open(my $fh, "<", $spec)
or die "Cannot open $spec: $!";
local $/ = undef;
return decode_json <$fh>;
}
sub normalize {
my $html = shift;
$html =~ s/\n$//s;
return $html;
}
my $tests = load_tests();
for my $test (@$tests) {
my $name = $test->{example} . ". (" . $test->{section} . ")";
my $input = $test->{markdown};
my $output = apply_rules($input, 'p');
my $correct = normalize($test->{html});
is($output, $correct, $name);
}
done_testing();

View File

@@ -146,13 +146,11 @@ sub run_tests_negative {
}
sub apply_rules {
my $input = shift;
local *STDOUT;
$output = '';
open(STDOUT, '>', \$output) or die "Can't open memory file: $!";
$FootnoteNumber = 0;
ApplyRules(QuoteHtml($input), 1);
return $output;
return ToString(sub {
my $input = shift;
$FootnoteNumber = 0;
ApplyRules(QuoteHtml($input), 1, undef, undef, @_);
}, @_);
}
# alternating input and output strings for applying macros instead of rules