Scrutinizer GitHub App not installed

We could not synchronize checks via GitHub's checks API since Scrutinizer's GitHub App is not installed for this repository.

Install GitHub App

GitHub Access Token became invalid

It seems like the GitHub access token used for retrieving details about this repository from GitHub became invalid. This might prevent certain types of inspections from being run (in particular, everything related to pull requests).
Please ask an admin of your repository to re-new the access token on this website.
Passed
Pull Request — master (#14)
by Der Mundschenk
02:42
created

Dash_Style_Test   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 41
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 2

Importance

Changes 0
Metric Value
dl 0
loc 41
rs 10
c 0
b 0
f 0
wmc 3
lcom 1
cbo 2

2 Methods

Rating   Name   Duplication   Size   Complexity  
A provide_get_styled_dashes_data() 0 8 1
A test_get_styled_dashes() 0 15 2
1
<?php
2
/**
3
 *  This file is part of PHP-Typography.
4
 *
5
 *  Copyright 2017 Peter Putzer.
6
 *
7
 *  This program is free software; you can redistribute it and/or
8
 *  modify it under the terms of the GNU General Public License
9
 *  as published by the Free Software Foundation; either version 2
10
 *  of the License, or ( at your option ) any later version.
11
 *
12
 *  This program is distributed in the hope that it will be useful,
13
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
14
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15
 *  GNU General Public License for more details.
16
 *
17
 *  You should have received a copy of the GNU General Public License
18
 *  along with this program; if not, write to the Free Software
19
 *  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
20
 *
21
 *  @package mundschenk-at/php-typography/tests
22
 *  @license http://www.gnu.org/licenses/gpl-2.0.html
23
 */
24
25
namespace PHP_Typography\Tests\Settings;
26
27
use \PHP_Typography\Tests\PHP_Typography_Testcase;
28
29
use \PHP_Typography\Settings\Dashes;
30
use \PHP_Typography\Settings\Dash_Style;
31
use \PHP_Typography\U;
32
33
/**
34
 * Dash_Style unit test.
35
 *
36
 * @coversDefaultClass \PHP_Typography\Settings\Dash_Style
37
 * @usesDefaultClass \PHP_Typography\Settings\Dash_Style
38
 *
39
 * @uses PHP_Typography\Settings\Simple_Dashes
40
 */
41
class Dash_Style_Test extends PHP_Typography_Testcase {
42
43
44
	/**
45
	 * Provide test data for testing get_styled_dashes.
46
	 */
47
	public function provide_get_styled_dashes_data() {
48
		return [
49
			[ Dash_Style::TRADITIONAL_US, [ U::EM_DASH, U::THIN_SPACE, U::EN_DASH, U::THIN_SPACE ] ],
50
			[ Dash_Style::INTERNATIONAL, [ U::EN_DASH, ' ', U::EN_DASH, U::HAIR_SPACE ] ],
51
			[ 'foo', null ],
52
			[ 123, null ],
53
		];
54
	}
55
56
	/**
57
	 * Test get_styled_dashes.
58
	 *
59
	 * @covers ::get_styled_dashes
60
	 *
61
	 * @dataProvider provide_get_styled_dashes_data
62
	 *
63
	 * @param  mixed      $style  Style index.
64
	 * @param  array|null $result Result array (or null).
65
	 */
66
	public function test_get_styled_dashes( $style, array $result = null ) {
67
		$s = $this->createMock( \PHP_Typography\Settings::class );
68
69
		$dashes = Dash_Style::get_styled_dashes( $style, $s );
70
71
		if ( is_array( $result ) ) {
72
			$this->assertInstanceOf( Dashes::class, $dashes );
73
			$this->assertSame( $result[0], $dashes->parenthetical_dash() );
74
			$this->assertSame( $result[1], $dashes->parenthetical_space() );
75
			$this->assertSame( $result[2], $dashes->interval_dash() );
76
			$this->assertSame( $result[3], $dashes->interval_space() );
77
		} else {
78
			$this->assertNull( $dashes, 'get_styled_dashes should return null for invalid indices.' );
79
		}
80
	}
81
}
82