Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
100.00% covered (success)
100.00%
6 / 6
100.00% covered (success)
100.00%
2 / 2
CRAP
100.00% covered (success)
100.00%
1 / 1
OAuthUrlFactory
100.00% covered (success)
100.00%
6 / 6
100.00% covered (success)
100.00%
2 / 2
3
100.00% covered (success)
100.00%
1 / 1
 __construct
100.00% covered (success)
100.00%
2 / 2
100.00% covered (success)
100.00%
1 / 1
1
 getOAuthUrl
100.00% covered (success)
100.00%
4 / 4
100.00% covered (success)
100.00%
1 / 1
2
1<?php
2
3namespace MediaWiki\Extension\WikibaseManifest;
4
5use ExtensionRegistry;
6use MediaWiki\SpecialPage\SpecialPageFactory;
7
8class OAuthUrlFactory {
9
10    private const OAUTH_EXT_NAME = 'OAuth';
11    private const OAUTH_PAGE_NAME = 'OAuthConsumerRegistration';
12    private $registry;
13    private $specialPageFactory;
14
15    public function __construct(
16        ExtensionRegistry $registry,
17        SpecialPageFactory $specialPageFactory
18    ) {
19        $this->registry = $registry;
20        $this->specialPageFactory = $specialPageFactory;
21    }
22
23    public function getOAuthUrl(): OAuthUrl {
24        if ( $this->registry->isLoaded( self::OAUTH_EXT_NAME ) ) {
25            $specialPage = $this->specialPageFactory->getPage( self::OAUTH_PAGE_NAME );
26            return new SpecialPageOAuthUrl( $specialPage );
27        }
28        return new NullOAuthUrl();
29    }
30}