Fix FilePump parsing of lastModified times when fetching files via HTTP, using DateTime::Format::HTTP. Fixes bug #11373.
This commit is contained in:
parent
38e6bfad3e
commit
5a346afd9e
5 changed files with 30 additions and 14 deletions
|
|
@ -3,6 +3,7 @@
|
||||||
- fixed #11364: Notify About Low Stock workflow activity email is not user friendly
|
- fixed #11364: Notify About Low Stock workflow activity email is not user friendly
|
||||||
- fixed #11371: Spaces in the names of custom profile fields
|
- fixed #11371: Spaces in the names of custom profile fields
|
||||||
- fixed #11372: All Search Forms should use GET
|
- fixed #11372: All Search Forms should use GET
|
||||||
|
- fixed #11373: Problem creating FilePump bundles
|
||||||
|
|
||||||
7.8.10
|
7.8.10
|
||||||
- fixed #11332: Pagination in webgui.org forum urls
|
- fixed #11332: Pagination in webgui.org forum urls
|
||||||
|
|
|
||||||
|
|
@ -7,6 +7,10 @@ upgrading from one version to the next, or even between multiple
|
||||||
versions. Be sure to heed the warnings contained herein as they will
|
versions. Be sure to heed the warnings contained herein as they will
|
||||||
save you many hours of grief.
|
save you many hours of grief.
|
||||||
|
|
||||||
|
7.8.11
|
||||||
|
--------------------------------------------------------------------
|
||||||
|
* WebGUI now requires DateTime::Format::HTTP, to handle parsing HTTP dates.
|
||||||
|
|
||||||
7.8.6
|
7.8.6
|
||||||
--------------------------------------------------------------------
|
--------------------------------------------------------------------
|
||||||
* WebGUI now requires LWP 5.833 or higher, to fix a bug in that module.
|
* WebGUI now requires LWP 5.833 or higher, to fix a bug in that module.
|
||||||
|
|
|
||||||
|
|
@ -10,6 +10,7 @@ use File::Basename;
|
||||||
use CSS::Minifier::XS;
|
use CSS::Minifier::XS;
|
||||||
use JavaScript::Minifier::XS;
|
use JavaScript::Minifier::XS;
|
||||||
use LWP;
|
use LWP;
|
||||||
|
use DateTime::Format::HTTP;
|
||||||
use Data::Dumper;
|
use Data::Dumper;
|
||||||
|
|
||||||
#-------------------------------------------------------------------
|
#-------------------------------------------------------------------
|
||||||
|
|
@ -105,6 +106,8 @@ sub build {
|
||||||
}
|
}
|
||||||
$concatenatedJS .= $results->{content};
|
$concatenatedJS .= $results->{content};
|
||||||
$jsFile->{lastModified} = $results->{lastModified};
|
$jsFile->{lastModified} = $results->{lastModified};
|
||||||
|
$self->session->log->warn($jsFile->{uri});
|
||||||
|
$self->session->log->warn($jsFile->{lastModified});
|
||||||
}
|
}
|
||||||
return (0, $error) if ($error);
|
return (0, $error) if ($error);
|
||||||
|
|
||||||
|
|
@ -161,6 +164,7 @@ sub build {
|
||||||
|
|
||||||
##Minimize files, and write them out.
|
##Minimize files, and write them out.
|
||||||
|
|
||||||
|
$self->session->log->warn($concatenatedJS);
|
||||||
my $minimizedJS = JavaScript::Minifier::XS::minify($concatenatedJS);
|
my $minimizedJS = JavaScript::Minifier::XS::minify($concatenatedJS);
|
||||||
undef $concatenatedJS;
|
undef $concatenatedJS;
|
||||||
|
|
||||||
|
|
@ -618,9 +622,10 @@ sub fetchHttp {
|
||||||
if (! $response->is_success) {
|
if (! $response->is_success) {
|
||||||
return {};
|
return {};
|
||||||
}
|
}
|
||||||
|
my $lastModified =
|
||||||
my $guts = {
|
my $guts = {
|
||||||
content => $response->content,
|
content => $response->content,
|
||||||
lastModified => $response->header('last-modified'),
|
lastModified => DateTime::Format::HTTP->parse_datetime($response->header('last-modified'))->epoch,
|
||||||
};
|
};
|
||||||
return $guts;
|
return $guts;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -88,6 +88,7 @@ checkModule("DateTime", 0.4501 );
|
||||||
checkModule("Time::HiRes", 1.9719 );
|
checkModule("Time::HiRes", 1.9719 );
|
||||||
checkModule("DateTime::Format::Strptime", 1.0800 );
|
checkModule("DateTime::Format::Strptime", 1.0800 );
|
||||||
checkModule("DateTime::Format::Mail", 0.3001 );
|
checkModule("DateTime::Format::Mail", 0.3001 );
|
||||||
|
checkModule("DateTime::Format::Http", 0.38 );
|
||||||
checkModule("Image::Magick", "6.0" );
|
checkModule("Image::Magick", "6.0" );
|
||||||
checkModule("Log::Log4perl", 1.20 );
|
checkModule("Log::Log4perl", 1.20 );
|
||||||
checkModule("Net::LDAP", 0.39 );
|
checkModule("Net::LDAP", 0.39 );
|
||||||
|
|
|
||||||
|
|
@ -18,6 +18,7 @@ use strict;
|
||||||
use lib "$FindBin::Bin/../lib";
|
use lib "$FindBin::Bin/../lib";
|
||||||
use Test::More;
|
use Test::More;
|
||||||
use Test::Deep;
|
use Test::Deep;
|
||||||
|
use Test::Exception;
|
||||||
use Data::Dumper;
|
use Data::Dumper;
|
||||||
use URI;
|
use URI;
|
||||||
use WebGUI::Test; # Must use this before any other WebGUI modules
|
use WebGUI::Test; # Must use this before any other WebGUI modules
|
||||||
|
|
@ -33,17 +34,12 @@ my $session = WebGUI::Test->session;
|
||||||
#----------------------------------------------------------------------------
|
#----------------------------------------------------------------------------
|
||||||
# Tests
|
# Tests
|
||||||
|
|
||||||
my $tests = 62; # Increment this number for each test you create
|
plan tests => 64;
|
||||||
plan tests => 1 + $tests; # 1 for the use_ok
|
|
||||||
|
|
||||||
#----------------------------------------------------------------------------
|
#----------------------------------------------------------------------------
|
||||||
# put your tests here
|
# put your tests here
|
||||||
|
|
||||||
my $loaded = use_ok('WebGUI::FilePump::Bundle');
|
use WebGUI::FilePump::Bundle;
|
||||||
|
|
||||||
SKIP: {
|
|
||||||
|
|
||||||
skip 'Unable to load module WebGUI::FilePump::Bundle', $tests unless $loaded;
|
|
||||||
|
|
||||||
my $bundle = WebGUI::FilePump::Bundle->create($session);
|
my $bundle = WebGUI::FilePump::Bundle->create($session);
|
||||||
isa_ok($bundle, 'WebGUI::FilePump::Bundle');
|
isa_ok($bundle, 'WebGUI::FilePump::Bundle');
|
||||||
|
|
@ -438,11 +434,20 @@ ok($bundle->get('otherFiles')->[1]->{lastModified}, '... updated OTHER directory
|
||||||
$bundle->delete;
|
$bundle->delete;
|
||||||
ok(!-e $buildDir->stringify, 'delete deletes the current build directory');
|
ok(!-e $buildDir->stringify, 'delete deletes the current build directory');
|
||||||
|
|
||||||
}
|
###################################################################
|
||||||
|
#
|
||||||
|
# File checks
|
||||||
|
#
|
||||||
|
###################################################################
|
||||||
|
|
||||||
#----------------------------------------------------------------------------
|
##Test a number of files that live in WebGUI to make sure the minifiers do
|
||||||
# Cleanup
|
##the right job. All paths are relative to the extras directory.
|
||||||
END {
|
|
||||||
$session->db->write('delete from filePumpBundle');
|
my @jsFiles = qw/hoverhelp.js inputcheck.js/;
|
||||||
|
|
||||||
|
foreach my $jsFile (@jsFiles) {
|
||||||
|
my $bundle = WebGUI::FilePump::Bundle->create($session);
|
||||||
|
$bundle->addFile('JS', 'file:extras/'.$jsFile);
|
||||||
|
lives_ok { $bundle->build } "built file $jsFile";
|
||||||
|
$bundle->delete;
|
||||||
}
|
}
|
||||||
#vim:ft=perl
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue