From 0b7c0c10cebb4a8be61e88a3b1d62bdd638d77c0 Mon Sep 17 00:00:00 2001 From: Mischa POSLAWSKY Date: Thu, 16 Dec 2010 00:44:09 +0100 Subject: [PATCH] browser: recognise unsupported (array) rows According to Alexis, missing version data indicates "features that people may have heard of but currently have no implementation at all" and should be assumed unsupported in all released versions. --- browser.plp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/browser.plp b/browser.plp index 7eaa669..2776a5b 100644 --- a/browser.plp +++ b/browser.plp @@ -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 -- 2.30.0