diff options
author | Dylan William Hardison <dylan@hardison.net> | 2017-03-07 15:46:07 +0100 |
---|---|---|
committer | Dylan William Hardison <dylan@hardison.net> | 2017-03-07 15:46:34 +0100 |
commit | 91248ef8f435814392896e247c45e09119ec6729 (patch) | |
tree | 3a2085e2eda5566acc24d674c4ccbead21af5045 /Bugzilla/BugUrl | |
parent | b72174df29cfee4e043de453298853a25747417e (diff) | |
download | bugzilla-91248ef8f435814392896e247c45e09119ec6729.tar.gz bugzilla-91248ef8f435814392896e247c45e09119ec6729.tar.xz |
Bug 1322371 - can't add a developer.microsoft.com Edge issue to "See Also"
Diffstat (limited to 'Bugzilla/BugUrl')
-rw-r--r-- | Bugzilla/BugUrl/Edge.pm | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/Bugzilla/BugUrl/Edge.pm b/Bugzilla/BugUrl/Edge.pm new file mode 100644 index 000000000..95d24c93a --- /dev/null +++ b/Bugzilla/BugUrl/Edge.pm @@ -0,0 +1,44 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. +# +# This Source Code Form is "Incompatible With Secondary Licenses", as +# defined by the Mozilla Public License, v. 2.0. + +package Bugzilla::BugUrl::Edge; + +use 5.10.1; +use strict; +use warnings; + +use base qw(Bugzilla::BugUrl); + +use Bugzilla::Error; +use Bugzilla::Util; +use List::MoreUtils qw( any ); + +############################### +#### Methods #### +############################### + +# Example: https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/9713176/ +# Example 2: https://wpdev.uservoice.com/forums/257854/ +# https://wpdev.uservoice.com/forums/257854/suggestions/17420707 +# https://wpdev.uservoice.com/forums/257854-microsoft-edge-developer/suggestions/17420707-implement-css-display-flow-root-modern-clearfi +sub should_handle { + my ($class, $uri) = @_; + return any { lc($uri->authority) eq $_ } qw( developer.microsoft.com wpdev.uservoice.com ); +} + +sub _check_value { + my ($class, $uri) = @_; + + $uri = $class->SUPER::_check_value($uri); + + return $uri if $uri->path =~ m{^/en-us/microsoft-edge/platform/issues/\d+/$}; + return $uri if $uri->path =~ m{^/forums/\d+(?:-[^/]+)?/suggestions/\d+(?:-[^/]+)?}; + + ThrowUserError('bug_url_invalid', { url => "$uri" }); +} + +1; |