PluginProbe ʕ •ᴥ•ʔ
Cookiebot by Usercentrics – Automatic Cookie Banner for GDPR/CCPA & Google Consent Mode / 3.4.2
Cookiebot by Usercentrics – Automatic Cookie Banner for GDPR/CCPA & Google Consent Mode v3.4.2
4.7.2 4.7.1 trunk 2.3.0 2.4.0 2.4.1 2.4.2 2.5.0 3.0.0 3.0.1 3.1.0 3.10.0 3.10.1 3.11.1 3.11.2 3.11.3 3.2.0 3.3.0 3.3.1 3.4.0 3.4.1 3.4.2 3.5.0 3.6.0 3.6.1 3.6.2 3.6.5 3.6.6 3.7.0 3.7.1 3.8.0 3.9.0 4.0.0 4.0.1 4.0.2 4.0.3 4.1.0 4.1.1 4.2.0 4.2.1 4.2.10 4.2.11 4.2.12 4.2.13 4.2.14 4.2.2 4.2.3 4.2.4 4.2.5 4.2.6 4.2.7 4.2.8 4.2.9 4.3.0 4.3.1 4.3.10 4.3.11 4.3.12 4.3.2 4.3.3 4.3.4 4.3.5 4.3.6 4.3.7 4.3.7.1 4.3.8 4.3.9 4.3.9.1 4.4.0 4.4.1 4.4.2 4.5.0 4.5.1 4.5.10 4.5.11 4.5.2 4.5.3 4.5.4 4.5.5 4.5.6 4.5.7 4.5.8 4.5.9 4.6.0 4.6.1 4.6.2 4.6.3 4.6.4 4.6.5 4.6.6 4.6.7 4.7.0
cookiebot / addons / tests / unit / test-get-option-name.php
cookiebot / addons / tests / unit Last commit date
test-addon-file-name.php 7 years ago test-cookie-consent.php 7 years ago test-get-option-name.php 7 years ago test-latest-plugin-version.php 7 years ago test-manipulate-script.php 7 years ago test-previous-version-active.php 7 years ago
test-get-option-name.php
86 lines
1 <?php
2
3 namespace cookiebot_addons\tests\unit;
4
5 class Test_Get_Option_Name extends \WP_UnitTestCase {
6
7 /**
8 * The file path of addons json
9 *
10 * @var string
11 */
12 protected $file_path;
13
14 /**
15 * The list of all addons, json encoded
16 *
17 * @var string
18 */
19 protected $file;
20
21 /**
22 * Get the plugins
23 *
24 * @since 1.8.0
25 */
26 public function setUp() {
27 $this->get_plugins();
28 }
29
30 /**
31 * Load the addons through json file.
32 *
33 * @since 1.8.0
34 */
35 private function get_plugins() {
36 $this->file_path = dirname( dirname( __DIR__ ) ) . '/addons.json';
37 $this->file = file_get_contents( $this->file_path );
38 $this->plugins = json_decode( $this->file );
39 }
40
41 /**
42 * Validate if the plugins in addons.json do exist as a class in addons controller directory.
43 *
44 * @since 1.8.0
45 */
46 public function test_plugins_are_valid() {
47 foreach ( $this->plugins as $plugin ) {
48 $check = is_object( $plugin ) && class_exists( $plugin->class );
49 $this->assertTrue( $check );
50 }
51 }
52
53 /**
54 * Check if get_option_name is unique in every addon.
55 * @covers \cookiebot_addons\lib\Settings_Service_Interface
56 * @covers \cookiebot_addons\lib\script_loader_tag\Script_Loader_Tag_Interface
57 * @covers \cookiebot_addons\lib\script_loader_tag\Script_Loader_Tag_Interface
58 * @covers \cookiebot_addons\lib\buffer\Buffer_Output_Interface
59 *
60 * @version 2.1.3
61 * @since 1.8.0
62 */
63 public function test_get_option_name_unique() {
64 $options = array();
65
66 $settingsMock = $this->getMockBuilder( 'cookiebot_addons\lib\Settings_Service_Interface' )->getMock();
67 $scriptLoaderTagMock = $this->getMockBuilder( 'cookiebot_addons\lib\script_loader_tag\Script_Loader_Tag_Interface' )->getMock();
68 $cookieConsentMock = $this->getMockBuilder( 'cookiebot_addons\lib\Cookie_Consent_Interface' )->getMock();
69 $bufferOutputMock = $this->getMockBuilder( 'cookiebot_addons\lib\buffer\Buffer_Output_Interface' )->getMock();
70
71 foreach ( $this->plugins as $plugin ) {
72 $p = new $plugin->class( $settingsMock, $scriptLoaderTagMock, $cookieConsentMock, $bufferOutputMock );
73
74 // if it doesn't have parent class
75 if ( get_parent_class( $p ) === false ) {
76 // test if the option_name exists in the options array
77 $this->assertNotContains( $p->get_option_name(), $options );
78
79 // add name to options array
80 $options[] = $p->get_option_name();
81 }
82
83 }
84 }
85
86 }