From db54e632f4263e6b7f644c3060076079e1f350cd Mon Sep 17 00:00:00 2001 From: Simon McVittie Date: Thu, 31 Jan 2019 20:14:51 +0000 Subject: Add a simple test for non-ASCII in tables Signed-off-by: Simon McVittie --- t/table.t | 69 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 69 insertions(+) create mode 100755 t/table.t (limited to 't') diff --git a/t/table.t b/t/table.t new file mode 100755 index 000000000..d7e9e6ff0 --- /dev/null +++ b/t/table.t @@ -0,0 +1,69 @@ +#!/usr/bin/perl +use warnings; +use strict; +use Cwd qw(getcwd); +use Test::More; +use IkiWiki; + +my $installed = $ENV{INSTALLED_TESTS}; + +my @command; +if ($installed) { + @command = qw(ikiwiki); +} +else { + ok(! system("make -s ikiwiki.out")); + @command = ("perl", "-I".getcwd, qw(./ikiwiki.out + --underlaydir=underlays/basewiki + --set underlaydirbase=underlays + --templatedir=templates)); +} + +push @command, qw(--set usedirs=0 --plugin table + --url=http://example.com --cgiurl=http://example.com/ikiwiki.cgi + t/tmp/in t/tmp/out --verbose); + +my $blob; + +ok(! system("rm -rf t/tmp")); +ok(! system("mkdir t/tmp")); + +sub write_old_file { + my $name = shift; + my $content = shift; + + writefile($name, "t/tmp/in", $content); + ok(utime(333333333, 333333333, "t/tmp/in/$name")); +} + +write_old_file("csv.mdwn", +'[[!table format="csv" data=""" +Key,Value +"ASCII","hello" +"Not ASCII","¬" +"""]]'); +write_old_file("dsv.mdwn", +'[[!table format="dsv" data=""" +Key | Value +ASCII | hello +Not ASCII | ¬ +"""]]'); + +ok(! system(@command)); +ok(! system(@command, "--refresh")); + +$blob = readfile("t/tmp/out/dsv.html"); +like($blob, qr{\s*Key\s*.*\s*Value\s*}s); +like($blob, qr{\s*ASCII\s*.*\s*hello\s*}s); +like($blob, qr{\s*Not ASCII\s*.*\s*¬\s*}s); + +SKIP: { + skip "Text::CSV unavailable", 0 unless eval q{use Text::CSV; 1}; + + $blob = readfile("t/tmp/out/csv.html"); + like($blob, qr{\s*Key\s*.*\s*Value\s*}s); + like($blob, qr{\s*ASCII\s*.*\s*hello\s*}s); + like($blob, qr{\s*Not ASCII\s*.*\s*¬\s*}s); +} + +done_testing; -- cgit v1.2.3