#!/usr/bin/perl

use strict;
use warnings;
use Test::Simple tests => 4;

use Mail::DKIM::Canonicalization::simple;
use Mail::DKIM::Signature;

my $dkim_signature =
  "DKIM-Signature: h=from:subject; s=test; d=example.org; b=";
my $signature = Mail::DKIM::Signature->parse($dkim_signature);
ok( $signature, "create signature works" );

my $method =
  Mail::DKIM::Canonicalization::simple->new( Signature => $signature );
ok( $method, "new() works" );

my @tmp_headers = ( "from :\tJason\015\012",
    "Subject:  this is the\015\012  subject\015\012", );

$method->add_header( $tmp_headers[0] );
$method->add_header( $tmp_headers[1] );
$method->finish_header( Headers => \@tmp_headers );

$method->add_body("This is the body.\015\012");
$method->add_body("Another line of the body.\015\12");
$method->finish_body;

$method->finish_message;
ok( 1, "finish_message() works" );

my $expected = "from :	Jason
Subject:  this is the
  subject
This is the body.
Another line of the body.

$dkim_signature";
$expected =~ s/\n/\015\012/gs;

ok( $method->result eq $expected, "got expected result" );

# uncomment this if you're not getting the expected result
#print ">" . $method->result . "<\n";
#print ">" . $expected . "<\n";
