diff --git src/bp-xprofile/classes/class-bp-xprofile-field-type.php src/bp-xprofile/classes/class-bp-xprofile-field-type.php
index ccfb2c6..0c8ba43 100644
|
|
abstract class BP_XProfile_Field_Type { |
206 | 206 | $validated = true; |
207 | 207 | } |
208 | 208 | |
209 | | // If there's a whitelist set, also check the $value. |
| 209 | // If there's a whitelist set, make sure that each value is a whitelisted value. |
210 | 210 | if ( ( true === $validated ) && ! empty( $values ) && ! empty( $this->validation_whitelist ) ) { |
211 | 211 | foreach ( (array) $values as $value ) { |
212 | | $validated = in_array( $value, $this->validation_whitelist, true ); |
| 212 | if ( ! in_array( $value, $this->validation_whitelist, true ) ) { |
| 213 | $validated = false; |
| 214 | break; |
| 215 | } |
213 | 216 | } |
214 | 217 | } |
215 | 218 | |
diff --git tests/phpunit/testcases/xprofile/class-bp-xprofile-field-type.php tests/phpunit/testcases/xprofile/class-bp-xprofile-field-type.php
index 2587d90..6fa2644 100644
|
|
class BP_Tests_XProfile_Field_Type extends BP_UnitTestCase { |
38 | 38 | |
39 | 39 | $this->assertTrue( $field->is_valid( array( 'cheese', 'pepporoni' ) ) ); |
40 | 40 | $this->assertTrue( $field->is_valid( array( 'cheese' ) ) ); |
41 | | $this->assertFalse( $field->is_valid( array( 'cheese', 'pepporoni', 'pinapple' ) ) ); |
| 41 | $this->assertFalse( $field->is_valid( array( 'cheese', 'pinapple', 'pepporoni' ) ) ); |
42 | 42 | $this->assertFalse( $field->is_valid( array( 'pinapple' ) ) ); |
43 | 43 | } |
44 | 44 | |
… |
… |
class BP_Tests_XProfile_Field_Type extends BP_UnitTestCase { |
104 | 104 | |
105 | 105 | $this->assertTrue( $field->is_valid( array( 123 ) ) ); |
106 | 106 | $this->assertTrue( $field->is_valid( array( 456 ) ) ); |
107 | | $this->assertFalse( $field->is_valid( array( 123, 456, 789 ) ) ); |
| 107 | $this->assertFalse( $field->is_valid( array( 789, 456, 123 ) ) ); |
108 | 108 | $this->assertFalse( $field->is_valid( array( 789 ) ) ); |
109 | 109 | } |
110 | 110 | |
… |
… |
class BP_Tests_XProfile_Field_Type extends BP_UnitTestCase { |
114 | 114 | |
115 | 115 | $this->assertTrue( $field->is_valid( array( 'cheese', 'pepporoni' ) ) ); |
116 | 116 | $this->assertTrue( $field->is_valid( array( 'cheese' ) ) ); |
117 | | $this->assertFalse( $field->is_valid( array( 'cheese', 'pepporoni', 'pinapple' ) ) ); |
| 117 | $this->assertFalse( $field->is_valid( array( 'pinapple', 'cheese', 'pepporoni' ) ) ); |
118 | 118 | $this->assertFalse( $field->is_valid( array( 'pinapple' ) ) ); |
119 | 119 | $this->assertFalse( $field->is_valid( '' ) ); |
120 | 120 | } |
… |
… |
class BP_Tests_XProfile_Field_Type extends BP_UnitTestCase { |
132 | 132 | |
133 | 133 | $this->assertTrue( $field->is_valid( array( 'cheese', 'pepporoni' ) ) ); |
134 | 134 | $this->assertTrue( $field->is_valid( array( 'cheese' ) ) ); |
135 | | $this->assertFalse( $field->is_valid( array( 'cheese', 'pepporoni', 'pinapple' ) ) ); |
| 135 | $this->assertFalse( $field->is_valid( array( 'pepporoni', 'cheese', 'pinapple' ) ) ); |
136 | 136 | $this->assertFalse( $field->is_valid( array( 'pinapple' ) ) ); |
137 | 137 | $this->assertFalse( $field->is_valid( '' ) ); |
138 | 138 | } |