root/tags/rel0_59/t/52_display_diffs.t

Revision 956, 1.9 kB (checked in by earle, 22 months ago)

Complete transition to using skip_all (remove old SKIP blocks).
More verbose reporting for error "require"ing DBD::SQLite.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
Line 
1use strict;
2use Wiki::Toolkit::Setup::SQLite;
3use OpenGuides;
4use OpenGuides::Test;
5use Test::More;
6
7eval { require DBD::SQLite; };
8
9if ( $@ ) {
10    my ($error) = $@ =~ /^(.*?)\n/;
11    plan skip_all => "DBD::SQLite could not be used - no database to test with ($error)";
12}
13
14plan tests => 5;
15
16Wiki::Toolkit::Setup::SQLite::setup( { dbname => "t/node.db" } );
17my $config = OpenGuides::Test->make_basic_config;
18my $guide = OpenGuides->new( config => $config );
19my $wiki = $guide->wiki;
20
21# Clear out the database from any previous runs.
22foreach my $del_node ( $wiki->list_all_nodes ) {
23    print "# Deleting node $del_node\n";
24    $wiki->delete_node( $del_node ) or die "Can't delete $del_node";
25}
26
27$wiki->write_node( "I Like Pie", "Best pie is meat pie." )
28  or die "Couldn't write node";
29my %data = $wiki->retrieve_node( "I Like Pie" );
30$wiki->write_node( "I Like Pie", "Best pie is apple pie.",
31                   $data{checksum} )
32  or die "Couldn't write node";
33%data = $wiki->retrieve_node( "I Like Pie" );
34$wiki->write_node( "I Like Pie", "Best pie is lentil pie.",
35                   $data{checksum} )
36  or die "Couldn't write node";
37
38my $output = eval {
39    $guide->display_diffs(
40                           id            => "I Like Pie",
41                           version       => 3,
42                           other_version => 2,
43                           return_output => 1,
44                         );
45};
46is( $@, "", "->display_diffs doesn't die" );
47like( $output,
48      qr/differences between version 2 and version 3/i,
49      "...version numbers included in output" );
50like( $output, qr|<span class="node_name">I Like Pie</span>|,
51      "...node name inlined in output" );
52unlike( $output, qr/contents are identical/i,
53        "...'contents are identical' not printed when contents differ" );
54like( $output, qr/<th.*Version\s+2.*Version\s+3.*apple.*lentil/s,
55      "...versions are right way round" );
Note: See TracBrowser for help on using the browser.