mirror of
https://github.com/discourse/discourse.git
synced 2025-05-30 15:28:37 +08:00
FEATURE: Allow admins to control PWA display mode per user agent
This commit is contained in:
@ -31,6 +31,27 @@ RSpec.describe MetadataController do
|
||||
manifest = JSON.parse(response.body)
|
||||
expect(manifest["icons"].first["type"]).to eq("image/png")
|
||||
end
|
||||
|
||||
it 'defaults to display standalone for Android' do
|
||||
get "/manifest.webmanifest", params: {}, headers: { 'USER-AGENT' => 'Mozilla/5.0 (Linux; Android 7.0; SM-G892A Build/NRD90M; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/67.0.3396.87 Mobile Safari/537.36' }
|
||||
manifest = JSON.parse(response.body)
|
||||
expect(manifest["display"]).to eq("standalone")
|
||||
end
|
||||
|
||||
it 'defaults to display browser for iPhone' do
|
||||
get "/manifest.webmanifest", params: {}, headers: { 'USER-AGENT' => 'Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1' }
|
||||
manifest = JSON.parse(response.body)
|
||||
expect(manifest["display"]).to eq("browser")
|
||||
end
|
||||
|
||||
it 'can be changed to display standalone for iPhones using a site setting' do
|
||||
SiteSetting.pwa_display_browser_regex = "a^" # this never matches
|
||||
|
||||
get "/manifest.webmanifest", params: {}, headers: { 'USER-AGENT' => 'Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1' }
|
||||
manifest = JSON.parse(response.body)
|
||||
expect(manifest["display"]).to eq("standalone")
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
describe 'opensearch.xml' do
|
||||
|
Reference in New Issue
Block a user