@@ -46,7 +46,7 @@ public function set_up(): void {
4646 * @ticket 64791
4747 */
4848 public function test_register_returns_connector_data () {
49- $ result = $ this ->registry ->register ( 'test_provider ' , self ::$ default_args );
49+ $ result = $ this ->registry ->register ( 'test-provider ' , self ::$ default_args );
5050
5151 $ this ->assertIsArray ( $ result );
5252 $ this ->assertSame ( 'Test Provider ' , $ result ['name ' ] );
@@ -61,7 +61,16 @@ public function test_register_returns_connector_data() {
6161 * @ticket 64791
6262 */
6363 public function test_register_generates_setting_name_for_api_key () {
64- $ result = $ this ->registry ->register ( 'my_ai ' , self ::$ default_args );
64+ $ result = $ this ->registry ->register ( 'myai ' , self ::$ default_args );
65+
66+ $ this ->assertSame ( 'connectors_ai_myai_api_key ' , $ result ['authentication ' ]['setting_name ' ] );
67+ }
68+
69+ /**
70+ * @ticket 64861
71+ */
72+ public function test_register_generates_setting_name_normalizes_hyphens () {
73+ $ result = $ this ->registry ->register ( 'my-ai ' , self ::$ default_args );
6574
6675 $ this ->assertSame ( 'connectors_ai_my_ai_api_key ' , $ result ['authentication ' ]['setting_name ' ] );
6776 }
@@ -75,7 +84,7 @@ public function test_register_no_setting_name_for_none_auth() {
7584 'type ' => 'ai_provider ' ,
7685 'authentication ' => array ( 'method ' => 'none ' ),
7786 );
78- $ result = $ this ->registry ->register ( 'no_auth ' , $ args );
87+ $ result = $ this ->registry ->register ( 'no-auth ' , $ args );
7988
8089 $ this ->assertIsArray ( $ result );
8190 $ this ->assertArrayNotHasKey ( 'setting_name ' , $ result ['authentication ' ] );
@@ -91,7 +100,7 @@ public function test_register_defaults_description_to_empty_string() {
91100 'authentication ' => array ( 'method ' => 'none ' ),
92101 );
93102
94- $ result = $ this ->registry ->register ( 'minimal ' , $ args );
103+ $ result = $ this ->registry ->register ( 'minimal-provider ' , $ args );
95104
96105 $ this ->assertSame ( '' , $ result ['description ' ] );
97106 }
@@ -103,7 +112,7 @@ public function test_register_includes_logo_url() {
103112 $ args = self ::$ default_args ;
104113 $ args ['logo_url ' ] = 'https://example.com/logo.png ' ;
105114
106- $ result = $ this ->registry ->register ( 'with_logo ' , $ args );
115+ $ result = $ this ->registry ->register ( 'with-logo ' , $ args );
107116
108117 $ this ->assertArrayHasKey ( 'logo_url ' , $ result );
109118 $ this ->assertSame ( 'https://example.com/logo.png ' , $ result ['logo_url ' ] );
@@ -113,7 +122,7 @@ public function test_register_includes_logo_url() {
113122 * @ticket 64791
114123 */
115124 public function test_register_omits_logo_url_when_not_provided () {
116- $ result = $ this ->registry ->register ( 'no_logo ' , self ::$ default_args );
125+ $ result = $ this ->registry ->register ( 'no-logo ' , self ::$ default_args );
117126
118127 $ this ->assertArrayNotHasKey ( 'logo_url ' , $ result );
119128 }
@@ -125,7 +134,7 @@ public function test_register_omits_logo_url_when_empty() {
125134 $ args = self ::$ default_args ;
126135 $ args ['logo_url ' ] = '' ;
127136
128- $ result = $ this ->registry ->register ( 'empty_logo ' , $ args );
137+ $ result = $ this ->registry ->register ( 'empty-logo ' , $ args );
129138
130139 $ this ->assertArrayNotHasKey ( 'logo_url ' , $ result );
131140 }
@@ -137,7 +146,7 @@ public function test_register_includes_plugin_data() {
137146 $ args = self ::$ default_args ;
138147 $ args ['plugin ' ] = array ( 'slug ' => 'my-plugin ' );
139148
140- $ result = $ this ->registry ->register ( 'with_plugin ' , $ args );
149+ $ result = $ this ->registry ->register ( 'with-plugin ' , $ args );
141150
142151 $ this ->assertArrayHasKey ( 'plugin ' , $ result );
143152 $ this ->assertSame ( array ( 'slug ' => 'my-plugin ' ), $ result ['plugin ' ] );
@@ -147,7 +156,7 @@ public function test_register_includes_plugin_data() {
147156 * @ticket 64791
148157 */
149158 public function test_register_omits_plugin_when_not_provided () {
150- $ result = $ this ->registry ->register ( 'no_plugin ' , self ::$ default_args );
159+ $ result = $ this ->registry ->register ( 'no-plugin ' , self ::$ default_args );
151160
152161 $ this ->assertArrayNotHasKey ( 'plugin ' , $ result );
153162 }
@@ -164,14 +173,21 @@ public function test_register_rejects_invalid_id_with_uppercase() {
164173 }
165174
166175 /**
167- * @ticket 64791
176+ * @ticket 64861
168177 */
169- public function test_register_rejects_invalid_id_with_dashes () {
170- $ this ->setExpectedIncorrectUsage ( 'WP_Connector_Registry::register ' );
171-
178+ public function test_register_accepts_id_with_hyphens () {
172179 $ result = $ this ->registry ->register ( 'my-provider ' , self ::$ default_args );
173180
174- $ this ->assertNull ( $ result );
181+ $ this ->assertIsArray ( $ result );
182+ }
183+
184+ /**
185+ * @ticket 64861
186+ */
187+ public function test_register_accepts_id_with_underscores () {
188+ $ result = $ this ->registry ->register ( 'my_provider ' , self ::$ default_args );
189+
190+ $ this ->assertIsArray ( $ result );
175191 }
176192
177193 /**
@@ -191,8 +207,8 @@ public function test_register_rejects_empty_id() {
191207 public function test_register_rejects_duplicate_id () {
192208 $ this ->setExpectedIncorrectUsage ( 'WP_Connector_Registry::register ' );
193209
194- $ this ->registry ->register ( 'duplicate ' , self ::$ default_args );
195- $ result = $ this ->registry ->register ( 'duplicate ' , self ::$ default_args );
210+ $ this ->registry ->register ( 'test- duplicate ' , self ::$ default_args );
211+ $ result = $ this ->registry ->register ( 'test- duplicate ' , self ::$ default_args );
196212
197213 $ this ->assertNull ( $ result );
198214 }
@@ -206,7 +222,7 @@ public function test_register_rejects_missing_name() {
206222 $ args = self ::$ default_args ;
207223 unset( $ args ['name ' ] );
208224
209- $ result = $ this ->registry ->register ( 'no_name ' , $ args );
225+ $ result = $ this ->registry ->register ( 'no-name ' , $ args );
210226
211227 $ this ->assertNull ( $ result );
212228 }
@@ -220,7 +236,7 @@ public function test_register_rejects_empty_name() {
220236 $ args = self ::$ default_args ;
221237 $ args ['name ' ] = '' ;
222238
223- $ result = $ this ->registry ->register ( 'empty_name ' , $ args );
239+ $ result = $ this ->registry ->register ( 'empty-name ' , $ args );
224240
225241 $ this ->assertNull ( $ result );
226242 }
@@ -234,7 +250,7 @@ public function test_register_rejects_missing_type() {
234250 $ args = self ::$ default_args ;
235251 unset( $ args ['type ' ] );
236252
237- $ result = $ this ->registry ->register ( 'no_type ' , $ args );
253+ $ result = $ this ->registry ->register ( 'no-type ' , $ args );
238254
239255 $ this ->assertNull ( $ result );
240256 }
@@ -248,7 +264,7 @@ public function test_register_rejects_missing_authentication() {
248264 $ args = self ::$ default_args ;
249265 unset( $ args ['authentication ' ] );
250266
251- $ result = $ this ->registry ->register ( 'no_auth ' , $ args );
267+ $ result = $ this ->registry ->register ( 'no-auth ' , $ args );
252268
253269 $ this ->assertNull ( $ result );
254270 }
@@ -262,7 +278,7 @@ public function test_register_rejects_invalid_auth_method() {
262278 $ args = self ::$ default_args ;
263279 $ args ['authentication ' ]['method ' ] = 'oauth ' ;
264280
265- $ result = $ this ->registry ->register ( 'bad_auth ' , $ args );
281+ $ result = $ this ->registry ->register ( 'bad-auth ' , $ args );
266282
267283 $ this ->assertNull ( $ result );
268284 }
@@ -287,9 +303,9 @@ public function test_is_registered_returns_false_for_unregistered() {
287303 * @ticket 64791
288304 */
289305 public function test_get_registered_returns_connector_data () {
290- $ this ->registry ->register ( 'my_connector ' , self ::$ default_args );
306+ $ this ->registry ->register ( 'my-connector ' , self ::$ default_args );
291307
292- $ result = $ this ->registry ->get_registered ( 'my_connector ' );
308+ $ result = $ this ->registry ->get_registered ( 'my-connector ' );
293309
294310 $ this ->assertIsArray ( $ result );
295311 $ this ->assertSame ( 'Test Provider ' , $ result ['name ' ] );
@@ -334,13 +350,13 @@ public function test_get_all_registered_returns_empty_when_none() {
334350 * @ticket 64791
335351 */
336352 public function test_unregister_removes_connector () {
337- $ this ->registry ->register ( 'to_remove ' , self ::$ default_args );
353+ $ this ->registry ->register ( 'to-remove ' , self ::$ default_args );
338354
339- $ result = $ this ->registry ->unregister ( 'to_remove ' );
355+ $ result = $ this ->registry ->unregister ( 'to-remove ' );
340356
341357 $ this ->assertIsArray ( $ result );
342358 $ this ->assertSame ( 'Test Provider ' , $ result ['name ' ] );
343- $ this ->assertFalse ( $ this ->registry ->is_registered ( 'to_remove ' ) );
359+ $ this ->assertFalse ( $ this ->registry ->is_registered ( 'to-remove ' ) );
344360 }
345361
346362 /**
0 commit comments