From 339508bf413b5c6626ba48b3a6b1b38212dc969c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A2u=20Cao?= Date: Wed, 14 Aug 2024 15:46:58 +0200 Subject: [PATCH] Don't break on icon size "any" ... and any other strings failing to match the "sizes" number format for that matter --- lib/manifique/metadata.rb | 2 +- spec/manifique/metadata_spec.rb | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/manifique/metadata.rb b/lib/manifique/metadata.rb index cfcb97a..64a8ac2 100644 --- a/lib/manifique/metadata.rb +++ b/lib/manifique/metadata.rb @@ -47,7 +47,7 @@ module Manifique end if options[:sizes] - results.reject! { |r| r["sizes"].nil? } + results.reject! { |r| r["sizes"].nil? || r["sizes"].match(/(\d+)x/).nil? } results.sort! { |a, b| sizes_to_i(b["sizes"]) <=> sizes_to_i(a["sizes"]) } if icon = select_exact_size(results, options[:sizes]) diff --git a/spec/manifique/metadata_spec.rb b/spec/manifique/metadata_spec.rb index fcc4b1e..adf025c 100644 --- a/spec/manifique/metadata_spec.rb +++ b/spec/manifique/metadata_spec.rb @@ -105,6 +105,7 @@ def icon_fixtures {"src"=>"/application_icon_x228.png", "sizes"=>"228x228", "type"=>"image/png"}, {"src"=>"/application_icon_x196.png", "sizes"=>"196x196", "type"=>"image/png"}, {"src"=>"/application_icon_x192.png", "sizes"=>"192x192", "type"=>"image/png"}, + {"src"=>"/icon-maskable.svg", "type"=>"image/svg+xml", "sizes"=>"any", "purpose"=>"maskable"}, {"purpose"=>"apple-touch-icon", "src"=>"/apple-touch-icon.png", "sizes"=>"180x180", "type"=>"image/png" }, {"purpose"=>"apple-touch-icon", "src"=>"/apple-touch-icon-57px.png", "sizes"=>"57x57", "type"=>"image/png"}, {"purpose"=>"mask-icon", "src"=>"/mask-icon.svg", "type"=>"image/svg", "color"=>"#2b90d9"} -- 2.25.1