#!/usr/bin/perl -T # This Source Code Form is subject to the terms of the Mozilla Public # License, v. 2.0. If a copy of the MPL was not distributed with this # file, You can obtain one at http://mozilla.org/MPL/2.0/. # # This Source Code Form is "Incompatible With Secondary Licenses", as # defined by the Mozilla Public License, v. 2.0. use strict; use warnings; use lib qw( . lib local/lib/perl5 ); use Test::More; use Bugzilla; BEGIN { Bugzilla->extensions } my $class = 'Bugzilla::Extension::BMO'; my $parse = $class->can('parse_bounty_attachment_description'); my $format = $class->can('format_bounty_attachment_description'); ok($parse, "got the function"); my $bughunter = $parse->('bughunter@hacker.org, , 2014-06-25, , ,false'); is_deeply( { reporter_email => 'bughunter@hacker.org', amount_paid => '', reported_date => '2014-06-25', fixed_date => '', awarded_date => '', publish => 0, credit => [] }, $bughunter ); my $hfli = $parse->( 'hfli@fortinet.com, 1000, 2010-07-16, 2010-08-04, 2011-06-15, true, Fortiguard Labs' ); is_deeply( { reporter_email => 'hfli@fortinet.com', amount_paid => '1000', reported_date => '2010-07-16', fixed_date => '2010-08-04', awarded_date => '2011-06-15', publish => 1, credit => ['Fortiguard Labs'] }, $hfli ); is( 'batman@justiceleague.america,1000,2015-01-01,2015-02-02,2015-03-03,true,JLA,Wayne Industries,Test', $format->({ reporter_email => 'batman@justiceleague.america', amount_paid => 1000, reported_date => '2015-01-01', fixed_date => '2015-02-02', awarded_date => '2015-03-03', publish => 1, credit => ['JLA', 'Wayne Industries', 'Test'] }) ); my $dylan = $parse->( 'dylan@hardison.net,2,2014-09-23,2014-09-24,2014-09-25,true,Foo bar,Bork,'); is_deeply( { reporter_email => 'dylan@hardison.net', amount_paid => 2, reported_date => '2014-09-23', fixed_date => '2014-09-24', awarded_date => '2014-09-25', publish => 1, credit => ['Foo bar', 'Bork'] }, $dylan ); done_testing;