browser: recognise unsupported (array) rows v1.4
authorMischa POSLAWSKY <perl@shiar.org>
Wed, 15 Dec 2010 23:44:09 +0000 (00:44 +0100)
committerMischa POSLAWSKY <perl@shiar.org>
Wed, 15 Dec 2010 23:44:33 +0000 (00:44 +0100)
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

index 7eaa669386c0fe63430e66d92b948795d4ac63b6..2776a5b53be0ae9dcd0d92d4d39d5d8072152ca7 100644 (file)
@@ -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