|
6 | 6 | * @covers ::is_email |
7 | 7 | */ |
8 | 8 | class Tests_Formatting_IsEmail extends WP_UnitTestCase { |
9 | | - public function test_returns_the_email_address_if_it_is_valid() { |
10 | | - $data = array( |
| 9 | + |
| 10 | + /** |
| 11 | + * @dataProvider valid_email_provider |
| 12 | + */ |
| 13 | + public function test_returns_the_email_address_if_it_is_valid( $email ) { |
| 14 | + $this->assertSame( $email, is_email( $email ), "is_email() should return the email address for $email." ); |
| 15 | + } |
| 16 | + |
| 17 | + /** |
| 18 | + * Data provider for valid email addresses. |
| 19 | + * |
| 20 | + * @return array |
| 21 | + */ |
| 22 | + public static function valid_email_provider() { |
| 23 | + $valid_emails = array( |
11 | 24 | 'bob@example.com', |
12 | 25 | 'phil@example.info', |
13 | 26 | 'ace@204.32.222.14', |
14 | 27 | 'kevin@many.subdomains.make.a.happy.man.edu', |
15 | 28 | 'a@b.co', |
16 | 29 | 'bill+ted@example.com', |
17 | 30 | ); |
18 | | - foreach ( $data as $datum ) { |
19 | | - $this->assertSame( $datum, is_email( $datum ), $datum ); |
| 31 | + |
| 32 | + foreach ( $valid_emails as $email ) { |
| 33 | + yield $email => array( $email ); |
20 | 34 | } |
21 | 35 | } |
22 | 36 |
|
23 | | - public function test_returns_false_if_given_an_invalid_email_address() { |
24 | | - $data = array( |
| 37 | + /** |
| 38 | + * @dataProvider invalid_email_provider |
| 39 | + */ |
| 40 | + public function test_returns_false_if_given_an_invalid_email_address( $email ) { |
| 41 | + $this->assertFalse( is_email( $email ), "is_email() should return false for $email." ); |
| 42 | + } |
| 43 | + |
| 44 | + /** |
| 45 | + * Data provider for invalid email addresses. |
| 46 | + * |
| 47 | + * @return array |
| 48 | + */ |
| 49 | + public static function invalid_email_provider() { |
| 50 | + $invalid_emails = array( |
25 | 51 | 'khaaaaaaaaaaaaaaan!', |
26 | 52 | 'http://bob.example.com/', |
27 | 53 | "sif i'd give u it, spamer!1", |
28 | 54 | 'com.exampleNOSPAMbob', |
29 | 55 | 'bob@your mom', |
30 | 56 | 'a@b.c', |
31 | 57 | ); |
32 | | - foreach ( $data as $datum ) { |
33 | | - $this->assertFalse( is_email( $datum ), $datum ); |
| 58 | + |
| 59 | + foreach ( $invalid_emails as $email ) { |
| 60 | + yield $email => array( $email ); |
34 | 61 | } |
35 | 62 | } |
36 | 63 | } |
0 commit comments