PluginProbe ʕ •ᴥ•ʔ
Cookiebot by Usercentrics – Automatic Cookie Banner for GDPR/CCPA & Google Consent Mode / 3.11.2
Cookiebot by Usercentrics – Automatic Cookie Banner for GDPR/CCPA & Google Consent Mode v3.11.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 5 years ago test-cookie-consent.php 4 years ago test-get-option-name.php 5 years ago test-latest-plugin-version.php 7 years ago test-manipulate-script.php 5 years ago test-previous-version-active.php 7 years ago
test-get-option-name.php
98 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 * @var mixed|void
22 */
23 private $plugins;
24
25 /**
26 * Get the plugins
27 *
28 * @since 1.8.0
29 */
30 public function setUp() {
31 $this->get_plugins();
32 }
33
34 /**
35 * Load the addons through json file.
36 *
37 * @since 1.8.0
38 */
39 private function get_plugins() {
40 $this->file_path = dirname( dirname( __DIR__ ) ) . '/addons.json';
41 $this->file = file_get_contents( $this->file_path );
42 $this->plugins = apply_filters( 'cookiebot_addons_list', json_decode( $this->file ) );
43 }
44
45 /**
46 * Validate if the plugins in addons.json do exist as a class in addons controller directory.
47 *
48 * @since 1.8.0
49 */
50 public function test_plugins_are_valid() {
51 foreach ( $this->plugins as $plugin ) {
52 $check = is_object( $plugin ) && class_exists( $plugin->class );
53 $this->assertTrue( $check );
54 }
55 }
56
57 /**
58 * Check if get_option_name is unique in every addon.
59 * @covers \cookiebot_addons\lib\Settings_Service_Interface
60 * @covers \cookiebot_addons\lib\script_loader_tag\Script_Loader_Tag_Interface
61 * @covers \cookiebot_addons\lib\script_loader_tag\Script_Loader_Tag_Interface
62 * @covers \cookiebot_addons\lib\buffer\Buffer_Output_Interface
63 *
64 * @version 2.1.3
65 * @since 1.8.0
66 */
67 public function test_get_option_name_unique() {
68 $options = array();
69
70 $settingsMock = $this->getMockBuilder( 'cookiebot_addons\lib\Settings_Service_Interface' )
71 ->disableOriginalConstructor()
72 ->getMock();
73 $scriptLoaderTagMock = $this->getMockBuilder( 'cookiebot_addons\lib\script_loader_tag\Script_Loader_Tag_Interface' )
74 ->disableOriginalConstructor()
75 ->getMock();
76 $cookieConsentMock = $this->getMockBuilder( 'cookiebot_addons\lib\Cookie_Consent_Interface' )
77 ->disableOriginalConstructor()
78 ->getMock();
79 $bufferOutputMock = $this->getMockBuilder( 'cookiebot_addons\lib\buffer\Buffer_Output_Interface' )
80 ->disableOriginalConstructor()
81 ->getMock();
82
83 foreach ( $this->plugins as $plugin ) {
84 $p = new $plugin->class( $settingsMock, $scriptLoaderTagMock, $cookieConsentMock, $bufferOutputMock );
85
86 // if it doesn't have parent class
87 if ( get_parent_class( $p ) === false ) {
88 // test if the option_name exists in the options array
89 $this->assertNotContains( $p->get_option_name(), $options );
90
91 // add name to options array
92 $options[] = $p->get_option_name();
93 }
94
95 }
96 }
97
98 }