- Timestamp:
- 11/30/2017 11:09:33 PM (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/tests/phpunit/includes/factory/class-wp-unittest-factory-for-thing.php
r37299 r42343 18 18 */ 19 19 function __construct( $factory, $default_generation_definitions = array() ) { 20 $this->factory = $factory;20 $this->factory = $factory; 21 21 $this->default_generation_definitions = $default_generation_definitions; 22 22 } … … 26 26 27 27 function create( $args = array(), $generation_definitions = null ) { 28 if ( is_null( $generation_definitions ) ) 28 if ( is_null( $generation_definitions ) ) { 29 29 $generation_definitions = $this->default_generation_definitions; 30 } 30 31 31 32 $generated_args = $this->generate_args( $args, $generation_definitions, $callbacks ); 32 $created = $this->create_object( $generated_args );33 if ( ! $created || is_wp_error( $created ) )33 $created = $this->create_object( $generated_args ); 34 if ( ! $created || is_wp_error( $created ) ) { 34 35 return $created; 36 } 35 37 36 38 if ( $callbacks ) { 37 39 $updated_fields = $this->apply_callbacks( $callbacks, $created ); 38 $save_result = $this->update_object( $created, $updated_fields );39 if ( ! $save_result || is_wp_error( $save_result ) )40 $save_result = $this->update_object( $created, $updated_fields ); 41 if ( ! $save_result || is_wp_error( $save_result ) ) { 40 42 return $save_result; 43 } 41 44 } 42 45 return $created; … … 60 63 function generate_args( $args = array(), $generation_definitions = null, &$callbacks = null ) { 61 64 $callbacks = array(); 62 if ( is_null( $generation_definitions ) ) 65 if ( is_null( $generation_definitions ) ) { 63 66 $generation_definitions = $this->default_generation_definitions; 67 } 64 68 65 69 // Use the same incrementor for all fields belonging to this object. … … 67 71 $incr = $gen->get_incr(); 68 72 69 foreach ( array_keys( $generation_definitions ) as $field_name ) {70 if ( ! isset( $args[$field_name] ) ) {71 $generator = $generation_definitions[ $field_name];73 foreach ( array_keys( $generation_definitions ) as $field_name ) { 74 if ( ! isset( $args[ $field_name ] ) ) { 75 $generator = $generation_definitions[ $field_name ]; 72 76 if ( is_scalar( $generator ) ) { 73 $args[ $field_name] = $generator;77 $args[ $field_name ] = $generator; 74 78 } elseif ( is_object( $generator ) && method_exists( $generator, 'call' ) ) { 75 $callbacks[ $field_name] = $generator;79 $callbacks[ $field_name ] = $generator; 76 80 } elseif ( is_object( $generator ) ) { 77 81 $args[ $field_name ] = sprintf( $generator->get_template_string(), $incr ); … … 87 91 function apply_callbacks( $callbacks, $created ) { 88 92 $updated_fields = array(); 89 foreach ( $callbacks as $field_name => $generator ) {90 $updated_fields[ $field_name] = $generator->call( $created );93 foreach ( $callbacks as $field_name => $generator ) { 94 $updated_fields[ $field_name ] = $generator->call( $created ); 91 95 } 92 96 return $updated_fields; … … 97 101 } 98 102 99 function addslashes_deep( $value) {103 function addslashes_deep( $value ) { 100 104 if ( is_array( $value ) ) { 101 105 $value = array_map( array( $this, 'addslashes_deep' ), $value ); 102 106 } elseif ( is_object( $value ) ) { 103 107 $vars = get_object_vars( $value ); 104 foreach ( $vars as $key=>$data) {108 foreach ( $vars as $key => $data ) { 105 109 $value->{$key} = $this->addslashes_deep( $data ); 106 110 }
Note: See TracChangeset
for help on using the changeset viewer.