X-Git-Url: http://git.shiar.nl/sheet.git/blobdiff_plain/41beface2d4a28895b1983547dcbcc69b38a7743..2ef0b40d9a8c7e7309fdedc1fea12cadf2edf75c:/browser.plp diff --git a/browser.plp b/browser.plp index 7eaa669..53be344 100644 --- a/browser.plp +++ b/browser.plp @@ -79,7 +79,7 @@ given ($get{usage} // 'wm') { when (!$_) { # none } - when (!/^\w+$/) { + when (!/^[a-z][\w-]+$/) { printf "
Invalid browser usage data request: %s",
'identifier must be alphanumeric name or 0
';
}
@@ -265,12 +265,19 @@ sub saystatuscol {
sub saybrowsercols {
my ($id, $browser) = @_;
my $data = $caniuse->{data}->{$id}->{stats}->{$browser};
+ if (ref $data eq 'ARRAY') {
+ # special case for unsupported
+ my $release = $caniuse->{agents}->{$browser}->{verrelease};
+ $data = {
+ map { $_ => defined $release->{$_} ? 'u' : 'n' } keys %$release
+ };
+ }
my ($prev, @span);
for my $ver (@{ $versions{$browser} }, undef) {
my $compare = (
!defined $ver ? undef : # last column if nameless
- ref $data ne 'HASH' ? 'u' : # unsupported if no support hash
+ ref $data ne 'HASH' ? '' : # unclassified if no support hash
$data->{$ver} // $prev # known or inherit from predecessor
// (grep { defined } @{$data}{ @{ $versions{$browser} } })[0]
~~ 'n' && 'n' # first known version is unsupported