Find this useful? Enter your email to receive occasional updates for securing PHP code.
Signing you up...
Thank you for signing up!
PHP Decode
<?php class WC_Tests_CRUD_Data extends WC_Unit_Test_Case { public function tearDown() : v..
Decoded Output download
<?php
class WC_Tests_CRUD_Data extends WC_Unit_Test_Case { public function tearDown() : void { parent::tearDown(); date_default_timezone_set("UTC"); update_option("gmt_offset", 0); update_option("timezone_string", ''); } public function create_test_post() { $object = new WC_Mock_WC_Data(); $object->data_store->set_meta_type("post"); $object->data_store->set_object_id_field(''); $object->set_content("testing"); $object->save(); return $object; } public function create_test_user() { $object = new WC_Mock_WC_Data(); $object->data_store->set_meta_type("user"); $object->data_store->set_object_id_field("user_id"); $object->set_content("[email protected]"); $object->save(); return $object; } public function test_get_data() { $object = new WC_Mock_WC_Data(); $this->assertIsArray($object->get_data()); } public function test_delete_meta_data_by_mid() { $object = $this->create_test_post(); $object_id = $object->get_id(); $meta_id = add_metadata("post", $object_id, "test_meta_key", "val1", true); $object->delete_meta_data_by_mid($meta_id); $this->assertEmpty($object->get_meta("test_meta_key")); } public function test_set_props() { $object = new WC_Mock_WC_Data(); $data_to_set = array("content" => "I am a fish", "bool_value" => true); $result = $object->set_props($data_to_set); $this->assertFalse(is_wp_error($result)); $this->assertEquals("I am a fish", $object->get_content()); $this->assertTrue($object->get_bool_value()); $data_to_set = array("content" => "I am also a fish", "bool_value" => "thisisinvalid"); $result = $object->set_props($data_to_set); $this->assertTrue(is_wp_error($result)); $this->assertEquals("I am also a fish", $object->get_content()); $this->assertNotSame("thisisinvalid", $object->get_bool_value()); } public function test_get_meta_data() { $object = $this->create_test_post(); $object_id = $object->get_id(); $object->add_meta_data("test_meta_key", "val1", true); $object->add_meta_data("test_multi_meta_key", "val2"); $object->add_meta_data("test_multi_meta_key", "val3"); $object->save_meta_data(); $meta_data = $object->get_meta_data(); $i = 1; $this->assertNotEmpty($meta_data); foreach ($meta_data as $mid => $data) { $this->assertEquals("val{$i}", $data->value); $i++; } } public function test_get_meta_data_shared_bug() { $object = new WC_Order(); $object->add_meta_data("test_meta_key", "val1", true); $object->add_meta_data("test_multi_meta_key", "val2"); $object->add_meta_data("test_multi_meta_key", "val3"); $object->save(); $order = new WC_Order($object->get_id()); $metas = $order->get_meta_data(); $metas[0]->value = "wrong value"; $order = new WC_Order($object->get_id()); $metas = $order->get_meta_data(); $this->assertNotEquals("wrong value", $metas[0]->value); } public function test_get_meta_data_cache_invalidation() { $object = new WC_Order(); $object->add_meta_data("test_meta_key", "val1", true); $object->add_meta_data("test_multi_meta_key", "val2"); $object->add_meta_data("test_multi_meta_key", "val3"); $object->save(); $order = new WC_Order($object->get_id()); $metas = $order->get_meta_data(); $metas[0]->value = "updated value"; $order->save(); $order = new WC_Order($object->get_id()); $metas = $order->get_meta_data(); $this->assertEquals("updated value", $metas[0]->value); } public function test_get_meta_data_cache_invalidation_array_to_scalar() { $object = new WC_Order(); $object->add_meta_data("test_meta_key", array("val1"), true); $object->add_meta_data("test_multi_meta_key", "val2"); $object->add_meta_data("test_multi_meta_key", "val3"); $object->save(); $order = new WC_Order($object->get_id()); $metas = $order->get_meta_data(); $metas[0]->value = "updated value"; $order->save(); $order = new WC_Order($object->get_id()); $metas = $order->get_meta_data(); $this->assertEquals("updated value", $metas[0]->value); } public function test_get_meta() { $object = $this->create_test_post(); $object_id = $object->get_id(); $object->add_meta_data("test_meta_key", "val1", true); $object->add_meta_data("test_multi_meta_key", "val2"); $object->add_meta_data("test_multi_meta_key", "val3"); $object->save_meta_data(); $object = new WC_Mock_WC_Data($object_id); $single_meta = $object->get_meta("test_meta_key"); $this->assertEquals("val1", $single_meta); $meta = $object->get_meta("test_multi_meta_key", false); $i = 2; foreach ($meta as $data) { $this->assertEquals("test_multi_meta_key", $data->key); $this->assertEquals("val{$i}", $data->value); $i++; } } public function test_has_meta() { $object = $this->create_test_post(); $object_id = $object->get_id(); $object->add_meta_data("test_meta_key", "val1", true); $object->add_meta_data("test_multi_meta_key", "val2"); $object->add_meta_data("test_multi_meta_key", "val3"); $object->save_meta_data(); $object = new WC_Mock_WC_Data($object_id); $this->assertTrue($object->meta_exists("test_meta_key")); $this->assertTrue($object->meta_exists("test_multi_meta_key")); $this->assertFalse($object->meta_exists("thiskeyisnothere")); } public function test_get_meta_no_meta() { $object = $this->create_test_post(); $object_id = $object->get_id(); $object = new WC_Mock_WC_Data($object_id); $single_on = $object->get_meta("doesnt-exist", true); $single_off = $object->get_meta("also-doesnt-exist", false); $this->assertEquals('', $single_on); $this->assertEquals(array(), $single_off); } public function test_set_meta_data() { global $wpdb; $object = $this->create_test_post(); $object_id = $object->get_id(); add_metadata("post", $object_id, "test_meta_key", "val1", true); add_metadata("post", $object_id, "test_meta_key_2", "val2", true); $object = new WC_Mock_WC_Data($object_id); $metadata = array(); $raw_metadata = $wpdb->get_results($wpdb->prepare("\xa\x9 \x9SELECT meta_id, meta_key, meta_value\xa \x9 FROM {$wpdb->prefix}postmeta\xa\x9 WHERE post_id = %d ORDER BY meta_id\xa\x9\x9", $object_id)); foreach ($raw_metadata as $meta) { $metadata[] = (object) array("id" => $meta->meta_id, "key" => $meta->meta_key, "value" => $meta->meta_value); } $object = new WC_Mock_WC_Data(); $object->set_meta_data($metadata); foreach ($object->get_meta_data() as $id => $meta) { $this->assertEquals($metadata[$id]->id, $meta->id); $this->assertEquals($metadata[$id]->key, $meta->key); $this->assertEquals($metadata[$id]->value, $meta->value); } } public function test_add_meta_data() { $object = $this->create_test_post(); $object_id = $object->get_id(); $data = "add_meta_data_" . time(); $object->add_meta_data("test_new_field", $data); $meta = $object->get_meta("test_new_field"); $this->assertEquals($data, $meta); } public function test_update_meta_data() { global $wpdb; $object = $this->create_test_post(); $object_id = $object->get_id(); add_metadata("post", $object_id, "test_meta_key", "val1", true); $object = new WC_Mock_WC_Data($object_id); $this->assertEquals("val1", $object->get_meta("test_meta_key")); $metadata = array(); $meta_id = $wpdb->get_var($wpdb->prepare("\xa \x9 SELECT meta_id\xa \x9 FROM {$wpdb->prefix}postmeta\xa \x9 WHERE post_id = %d LIMIT 1
\x9\x9", $object_id)); $object->update_meta_data("test_meta_key", "updated_value", $meta_id); $this->assertEquals("updated_value", $object->get_meta("test_meta_key")); } public function test_delete_meta_data() { $object = $this->create_test_post(); $object_id = $object->get_id(); add_metadata("post", $object_id, "test_meta_key", "val1", true); $object = new WC_Mock_WC_Data($object_id); $this->assertEquals("val1", $object->get_meta("test_meta_key")); $object->delete_meta_data("test_meta_key"); $this->assertEmpty($object->get_meta("test_meta_key")); } public function test_delete_meta_data_value() { $object = $this->create_test_post(); $object_id = $object->get_id(); add_metadata("post", $object_id, "test_meta_key", "val1"); add_metadata("post", $object_id, "test_meta_key", "val2"); add_metadata("post", $object_id, "test_meta_key", array("foo", "bar")); $object = new WC_Mock_WC_Data($object_id); $this->assertCount(3, $object->get_meta("test_meta_key", false)); $object->delete_meta_data_value("test_meta_key", "val1"); $this->assertCount(2, $object->get_meta("test_meta_key", false)); $object->delete_meta_data_value("test_meta_key", array("bar", "baz")); $this->assertCount(2, $object->get_meta("test_meta_key", false)); $object->delete_meta_data_value("test_meta_key", array("foo", "bar")); $this->assertCount(1, $object->get_meta("test_meta_key", false)); $this->assertEquals("val2", $object->get_meta("test_meta_key")); } public function test_save_meta_data() { global $wpdb; $object = $this->create_test_post(); $object_id = $object->get_id(); $object->add_meta_data("test_meta_key", "val1", true); $object->add_meta_data("test_meta_key_2", "val2", true); $object->save_meta_data(); $object = new WC_Mock_WC_Data($object_id); $raw_metadata = $wpdb->get_results($wpdb->prepare("
\x9SELECT meta_id, meta_key, meta_value
\x9 \x9FROM {$wpdb->prefix}postmeta\xa\x9 WHERE post_id = %d ORDER BY meta_id\xa\x9\x9", $object_id)); $object->delete_meta_data("test_meta_key"); $object->update_meta_data("test_meta_key_2", "updated_value", $raw_metadata[1]->meta_id); $object->save(); $object = new WC_Mock_WC_Data($object_id); $this->assertEmpty($object->get_meta("test_meta_key")); $this->assertEquals("updated_value", $object->get_meta("test_meta_key_2")); } public function test_usermeta() { $object = $this->create_test_user(); $object_id = $object->get_id(); $object->add_meta_data("test_meta_key", "val1", true); $object->add_meta_data("test_meta_key_2", "val2", true); $object->save_meta_data(); $this->assertEquals("val1", $object->get_meta("test_meta_key")); $this->assertEquals("val2", $object->get_meta("test_meta_key_2")); } public function test_add_meta_data_overwrite_before_save() { $object = new WC_Mock_WC_Data(); $object->add_meta_data("test_field_0", "another field", true); $object->add_meta_data("test_field_1", "another field", true); $object->add_meta_data("test_field_2", "val1", true); $object->update_meta_data("test_field_0", "another field 2"); $this->assertEquals("val1", $object->get_meta("test_field_2")); } public function set_date_prop_gmt_offset($timezone = "UTC") { date_default_timezone_set($timezone); $object = new WC_Order(); update_option("gmt_offset", -4); $object->set_date_created(1488979186); $this->assertEquals(1488979186, $object->get_date_created()->getTimestamp()); $object->set_date_created("2017-01-02"); $this->assertEquals(-14400, $object->get_date_created()->getOffset()); $this->assertEquals("2017-01-02 00:00:00", $object->get_date_created()->date("Y-m-d H:i:s")); $this->assertEquals(1483315200 - $object->get_date_created()->getOffset(), $object->get_date_created()->getTimestamp()); $this->assertEquals(1483315200, $object->get_date_created()->getOffsetTimestamp()); $object->set_date_created("2017-01-02T00:00"); $this->assertEquals(1483315200 - $object->get_date_created()->getOffset(), $object->get_date_created()->getTimestamp()); $this->assertEquals(1483315200, $object->get_date_created()->getOffsetTimestamp()); $this->assertEquals("2017-01-02 00:00:00", $object->get_date_created()->date("Y-m-d H:i:s")); $object->set_date_created("2017-01-01T20:00:00-04:00"); $this->assertEquals(1483315200, $object->get_date_created()->getTimestamp()); $this->assertEquals("2017-01-01 20:00:00", $object->get_date_created()->date("Y-m-d H:i:s")); $object->set_date_created("2017-01-01T16:00:00-08:00"); $this->assertEquals(1483315200, $object->get_date_created()->getTimestamp()); $this->assertEquals("2017-01-01 20:00:00", $object->get_date_created()->date("Y-m-d H:i:s")); $object->set_date_created("2017-01-02T00:00:00+00:00"); $this->assertEquals(1483315200, $object->get_date_created()->getTimestamp()); $this->assertEquals("2017-01-01 20:00:00", $object->get_date_created()->date("Y-m-d H:i:s")); update_option("gmt_offset", 0); date_default_timezone_set("UTC"); } public function set_date_prop_timezone_string($timezone = "UTC") { date_default_timezone_set($timezone); $object = new WC_Order(); update_option("timezone_string", "America/New_York"); $object->set_date_created(1488979186); $this->assertEquals(1488979186, $object->get_date_created()->getTimestamp()); $object->set_date_created("2017-01-02"); $this->assertEquals(1483315200 - $object->get_date_created()->getOffset(), $object->get_date_created()->getTimestamp()); $this->assertEquals(1483315200, $object->get_date_created()->getOffsetTimestamp()); $this->assertEquals("2017-01-02 00:00:00", $object->get_date_created()->date("Y-m-d H:i:s")); $object->set_date_created("2017-01-02T00:00"); $this->assertEquals(1483315200 - $object->get_date_created()->getOffset(), $object->get_date_created()->getTimestamp()); $this->assertEquals(1483315200, $object->get_date_created()->getOffsetTimestamp()); $this->assertEquals("2017-01-02 00:00:00", $object->get_date_created()->date("Y-m-d H:i:s")); $object->set_date_created("2017-01-01T19:00:00-05:00"); $this->assertEquals(1483315200, $object->get_date_created()->getTimestamp()); $this->assertEquals("2017-01-01 19:00:00", $object->get_date_created()->date("Y-m-d H:i:s")); $object->set_date_created("2017-01-01T16:00:00-08:00"); $this->assertEquals(1483315200, $object->get_date_created()->getTimestamp()); $this->assertEquals("2017-01-01 19:00:00", $object->get_date_created()->date("Y-m-d H:i:s")); $object->set_date_created("2017-01-02T00:00:00+00:00"); $this->assertEquals(1483315200, $object->get_date_created()->getTimestamp()); $this->assertEquals("2017-01-01 19:00:00", $object->get_date_created()->date("Y-m-d H:i:s")); update_option("timezone_string", ''); date_default_timezone_set("UTC"); } public function test_set_date_prop_server_timezone() { $this->set_date_prop_gmt_offset(); $this->set_date_prop_timezone_string(); $this->set_date_prop_gmt_offset("Pacific/Fiji"); $this->set_date_prop_timezone_string("Pacific/Fiji"); $this->set_date_prop_gmt_offset("Pacific/Tahiti"); $this->set_date_prop_timezone_string("Pacific/Tahiti"); } public function test_apply_changes() { $data = array("prop1" => "value1", "prop2" => "value2"); $changes = array("prop1" => "new_value1", "prop3" => "value3"); $object = new WC_Mock_WC_Data(); $object->set_data($data); $object->set_changes($changes); $object->apply_changes(); $new_data = $object->get_data(); $new_changes = $object->get_changes(); $this->assertEquals("new_value1", $new_data["prop1"]); $this->assertEquals("value2", $new_data["prop2"]); $this->assertEquals("value3", $new_data["prop3"]); $this->assertEmpty($new_changes); } public function test_apply_changes_nested() { $data = array("prop1" => "value1", "prop2" => array("subprop1" => 1, "subprop2" => 2)); $changes = array("prop2" => array("subprop1" => 1000, "subprop3" => 3)); $object = new WC_Mock_WC_Data(); $object->set_data($data); $object->set_changes($changes); $object->apply_changes(); $new_data = $object->get_data(); $this->assertEquals("value1", $new_data["prop1"]); $this->assertEquals(1000, $new_data["prop2"]["subprop1"]); $this->assertEquals(2, $new_data["prop2"]["subprop2"]); $this->assertEquals(3, $new_data["prop2"]["subprop3"]); } } ?>
Did this file decode correctly?
Original Code
<?php
class WC_Tests_CRUD_Data extends WC_Unit_Test_Case { public function tearDown() : void { parent::tearDown(); date_default_timezone_set("\x55\124\103"); update_option("\x67\x6d\x74\x5f\x6f\146\x66\x73\x65\x74", 0); update_option("\x74\x69\155\x65\x7a\x6f\156\145\137\163\164\x72\151\x6e\147", ''); } public function create_test_post() { $object = new WC_Mock_WC_Data(); $object->data_store->set_meta_type("\160\x6f\x73\x74"); $object->data_store->set_object_id_field(''); $object->set_content("\164\x65\163\x74\151\156\x67"); $object->save(); return $object; } public function create_test_user() { $object = new WC_Mock_WC_Data(); $object->data_store->set_meta_type("\165\163\145\x72"); $object->data_store->set_object_id_field("\165\x73\x65\162\137\151\144"); $object->set_content("\x74\145\163\x74\151\x6e\147\x40\x77\157\157\x2e\144\x65\166"); $object->save(); return $object; } public function test_get_data() { $object = new WC_Mock_WC_Data(); $this->assertIsArray($object->get_data()); } public function test_delete_meta_data_by_mid() { $object = $this->create_test_post(); $object_id = $object->get_id(); $meta_id = add_metadata("\160\157\163\164", $object_id, "\164\x65\x73\x74\x5f\155\x65\x74\x61\x5f\x6b\145\x79", "\166\141\154\61", true); $object->delete_meta_data_by_mid($meta_id); $this->assertEmpty($object->get_meta("\164\x65\163\x74\x5f\x6d\145\x74\x61\x5f\x6b\145\x79")); } public function test_set_props() { $object = new WC_Mock_WC_Data(); $data_to_set = array("\x63\x6f\156\164\145\156\164" => "\x49\x20\x61\x6d\x20\x61\40\x66\x69\163\x68", "\142\157\157\x6c\137\x76\x61\x6c\x75\x65" => true); $result = $object->set_props($data_to_set); $this->assertFalse(is_wp_error($result)); $this->assertEquals("\x49\x20\x61\x6d\40\141\x20\x66\x69\163\x68", $object->get_content()); $this->assertTrue($object->get_bool_value()); $data_to_set = array("\x63\x6f\x6e\164\x65\156\x74" => "\x49\40\x61\155\x20\141\x6c\163\x6f\40\141\40\146\x69\x73\x68", "\x62\157\x6f\154\x5f\x76\x61\154\x75\145" => "\164\150\151\163\151\163\151\x6e\x76\x61\x6c\151\144"); $result = $object->set_props($data_to_set); $this->assertTrue(is_wp_error($result)); $this->assertEquals("\111\x20\x61\155\40\141\x6c\x73\157\40\141\x20\x66\151\163\x68", $object->get_content()); $this->assertNotSame("\164\150\x69\x73\x69\x73\151\156\166\141\x6c\151\x64", $object->get_bool_value()); } public function test_get_meta_data() { $object = $this->create_test_post(); $object_id = $object->get_id(); $object->add_meta_data("\164\x65\x73\x74\x5f\x6d\145\164\141\137\x6b\x65\171", "\x76\x61\154\61", true); $object->add_meta_data("\164\x65\x73\x74\137\x6d\165\x6c\x74\x69\x5f\155\145\164\141\137\x6b\145\171", "\x76\x61\154\x32"); $object->add_meta_data("\164\145\x73\x74\x5f\155\165\x6c\x74\151\137\155\x65\x74\141\137\x6b\x65\171", "\166\141\154\63"); $object->save_meta_data(); $meta_data = $object->get_meta_data(); $i = 1; $this->assertNotEmpty($meta_data); foreach ($meta_data as $mid => $data) { $this->assertEquals("\166\141\154{$i}", $data->value); $i++; } } public function test_get_meta_data_shared_bug() { $object = new WC_Order(); $object->add_meta_data("\164\145\x73\164\137\x6d\x65\x74\141\137\153\x65\x79", "\x76\x61\x6c\x31", true); $object->add_meta_data("\x74\145\x73\x74\x5f\155\x75\154\164\151\x5f\155\145\x74\141\x5f\x6b\x65\x79", "\x76\x61\154\62"); $object->add_meta_data("\x74\145\x73\164\x5f\155\165\x6c\164\151\x5f\x6d\145\164\141\137\153\x65\171", "\166\141\x6c\x33"); $object->save(); $order = new WC_Order($object->get_id()); $metas = $order->get_meta_data(); $metas[0]->value = "\x77\x72\157\156\x67\40\166\141\154\165\145"; $order = new WC_Order($object->get_id()); $metas = $order->get_meta_data(); $this->assertNotEquals("\x77\x72\157\x6e\147\40\x76\141\154\165\x65", $metas[0]->value); } public function test_get_meta_data_cache_invalidation() { $object = new WC_Order(); $object->add_meta_data("\164\145\x73\164\x5f\155\x65\x74\141\137\153\145\x79", "\166\x61\154\x31", true); $object->add_meta_data("\x74\x65\x73\164\x5f\155\x75\x6c\x74\x69\137\155\x65\x74\141\137\x6b\145\x79", "\x76\141\154\62"); $object->add_meta_data("\x74\x65\163\x74\x5f\155\165\x6c\164\x69\x5f\x6d\145\x74\x61\x5f\x6b\145\x79", "\166\x61\x6c\x33"); $object->save(); $order = new WC_Order($object->get_id()); $metas = $order->get_meta_data(); $metas[0]->value = "\165\x70\144\x61\x74\145\x64\x20\x76\141\x6c\x75\x65"; $order->save(); $order = new WC_Order($object->get_id()); $metas = $order->get_meta_data(); $this->assertEquals("\165\x70\x64\x61\164\145\144\40\x76\141\154\165\145", $metas[0]->value); } public function test_get_meta_data_cache_invalidation_array_to_scalar() { $object = new WC_Order(); $object->add_meta_data("\x74\x65\x73\164\x5f\x6d\145\x74\x61\x5f\153\x65\x79", array("\166\141\154\61"), true); $object->add_meta_data("\x74\x65\163\164\137\x6d\165\154\x74\151\137\x6d\145\164\141\x5f\153\145\x79", "\x76\x61\x6c\62"); $object->add_meta_data("\164\x65\x73\164\x5f\155\165\x6c\164\151\137\x6d\145\164\x61\x5f\x6b\145\x79", "\166\141\154\x33"); $object->save(); $order = new WC_Order($object->get_id()); $metas = $order->get_meta_data(); $metas[0]->value = "\165\x70\x64\141\x74\145\144\40\x76\x61\154\x75\x65"; $order->save(); $order = new WC_Order($object->get_id()); $metas = $order->get_meta_data(); $this->assertEquals("\x75\160\x64\x61\x74\x65\144\40\166\141\154\x75\145", $metas[0]->value); } public function test_get_meta() { $object = $this->create_test_post(); $object_id = $object->get_id(); $object->add_meta_data("\164\x65\x73\x74\137\155\145\x74\x61\x5f\x6b\x65\x79", "\x76\141\x6c\x31", true); $object->add_meta_data("\164\145\x73\164\x5f\155\x75\154\x74\151\137\155\x65\164\141\x5f\x6b\145\171", "\x76\141\x6c\x32"); $object->add_meta_data("\x74\145\163\164\x5f\x6d\165\154\164\151\137\x6d\145\x74\x61\x5f\x6b\x65\x79", "\x76\x61\x6c\x33"); $object->save_meta_data(); $object = new WC_Mock_WC_Data($object_id); $single_meta = $object->get_meta("\x74\x65\x73\164\x5f\155\145\164\x61\x5f\x6b\x65\x79"); $this->assertEquals("\166\141\x6c\x31", $single_meta); $meta = $object->get_meta("\164\145\163\164\137\x6d\x75\x6c\x74\x69\x5f\x6d\x65\x74\141\x5f\x6b\145\171", false); $i = 2; foreach ($meta as $data) { $this->assertEquals("\164\x65\x73\164\137\155\165\x6c\x74\x69\x5f\x6d\145\x74\x61\x5f\153\145\171", $data->key); $this->assertEquals("\x76\x61\x6c{$i}", $data->value); $i++; } } public function test_has_meta() { $object = $this->create_test_post(); $object_id = $object->get_id(); $object->add_meta_data("\164\x65\163\x74\x5f\x6d\145\164\x61\x5f\153\x65\171", "\166\x61\154\61", true); $object->add_meta_data("\164\145\163\x74\x5f\x6d\165\154\164\151\137\155\x65\164\141\x5f\x6b\x65\x79", "\166\x61\x6c\x32"); $object->add_meta_data("\x74\x65\163\x74\x5f\155\165\154\164\151\137\x6d\x65\164\141\x5f\153\x65\171", "\166\141\154\63"); $object->save_meta_data(); $object = new WC_Mock_WC_Data($object_id); $this->assertTrue($object->meta_exists("\x74\145\x73\164\137\155\145\x74\141\x5f\153\x65\171")); $this->assertTrue($object->meta_exists("\164\x65\x73\x74\x5f\155\165\154\164\x69\x5f\x6d\x65\x74\141\x5f\153\x65\171")); $this->assertFalse($object->meta_exists("\x74\x68\x69\x73\x6b\x65\171\151\x73\156\x6f\x74\150\145\x72\145")); } public function test_get_meta_no_meta() { $object = $this->create_test_post(); $object_id = $object->get_id(); $object = new WC_Mock_WC_Data($object_id); $single_on = $object->get_meta("\x64\157\145\x73\x6e\164\x2d\x65\170\151\x73\x74", true); $single_off = $object->get_meta("\141\x6c\x73\157\x2d\144\x6f\x65\163\156\164\55\x65\x78\x69\x73\164", false); $this->assertEquals('', $single_on); $this->assertEquals(array(), $single_off); } public function test_set_meta_data() { global $wpdb; $object = $this->create_test_post(); $object_id = $object->get_id(); add_metadata("\x70\157\163\164", $object_id, "\164\x65\x73\x74\137\x6d\145\x74\x61\137\153\x65\x79", "\166\141\154\x31", true); add_metadata("\160\x6f\x73\164", $object_id, "\164\145\163\164\137\x6d\x65\x74\141\x5f\x6b\x65\171\137\62", "\166\x61\154\62", true); $object = new WC_Mock_WC_Data($object_id); $metadata = array(); $raw_metadata = $wpdb->get_results($wpdb->prepare("\xa\x9\11\x9\123\x45\114\105\103\124\x20\x6d\145\x74\x61\x5f\x69\x64\x2c\40\155\145\164\x61\x5f\153\145\x79\54\x20\155\145\164\x61\x5f\166\141\x6c\165\145\xa\11\x9\11\106\x52\117\x4d\40{$wpdb->prefix}\x70\x6f\163\164\155\145\164\141\xa\x9\11\11\127\110\x45\122\x45\40\x70\x6f\163\x74\x5f\151\x64\40\x3d\40\x25\144\40\117\122\x44\105\x52\x20\102\x59\x20\155\145\x74\141\137\x69\144\xa\x9\x9", $object_id)); foreach ($raw_metadata as $meta) { $metadata[] = (object) array("\151\144" => $meta->meta_id, "\x6b\x65\x79" => $meta->meta_key, "\x76\x61\x6c\165\145" => $meta->meta_value); } $object = new WC_Mock_WC_Data(); $object->set_meta_data($metadata); foreach ($object->get_meta_data() as $id => $meta) { $this->assertEquals($metadata[$id]->id, $meta->id); $this->assertEquals($metadata[$id]->key, $meta->key); $this->assertEquals($metadata[$id]->value, $meta->value); } } public function test_add_meta_data() { $object = $this->create_test_post(); $object_id = $object->get_id(); $data = "\141\144\x64\x5f\x6d\145\x74\x61\x5f\144\141\164\141\137" . time(); $object->add_meta_data("\x74\x65\x73\x74\137\x6e\x65\167\x5f\146\x69\x65\x6c\x64", $data); $meta = $object->get_meta("\x74\145\163\164\137\x6e\145\x77\137\x66\x69\x65\x6c\144"); $this->assertEquals($data, $meta); } public function test_update_meta_data() { global $wpdb; $object = $this->create_test_post(); $object_id = $object->get_id(); add_metadata("\x70\x6f\163\x74", $object_id, "\x74\145\163\164\137\x6d\x65\164\x61\x5f\153\145\171", "\x76\141\154\x31", true); $object = new WC_Mock_WC_Data($object_id); $this->assertEquals("\166\x61\x6c\61", $object->get_meta("\x74\145\x73\164\x5f\x6d\x65\164\141\137\153\145\171")); $metadata = array(); $meta_id = $wpdb->get_var($wpdb->prepare("\xa\11\x9\11\123\105\x4c\x45\x43\124\40\155\145\x74\x61\x5f\151\x64\xa\11\x9\11\x46\x52\117\115\x20{$wpdb->prefix}\x70\x6f\163\164\x6d\x65\x74\x61\xa\11\x9\11\x57\x48\105\x52\105\x20\160\x6f\163\164\137\151\144\40\x3d\x20\x25\144\x20\x4c\x49\115\111\x54\40\x31\12\x9\x9", $object_id)); $object->update_meta_data("\164\x65\163\164\137\x6d\x65\164\x61\137\x6b\145\171", "\x75\x70\x64\x61\164\x65\x64\x5f\166\x61\x6c\165\x65", $meta_id); $this->assertEquals("\165\x70\x64\141\x74\x65\x64\137\166\141\x6c\x75\145", $object->get_meta("\164\145\x73\x74\x5f\155\145\164\141\137\153\145\x79")); } public function test_delete_meta_data() { $object = $this->create_test_post(); $object_id = $object->get_id(); add_metadata("\160\157\163\x74", $object_id, "\164\145\163\164\137\155\x65\164\x61\x5f\x6b\145\171", "\x76\141\154\61", true); $object = new WC_Mock_WC_Data($object_id); $this->assertEquals("\x76\141\154\x31", $object->get_meta("\164\145\x73\x74\137\x6d\145\x74\141\137\153\145\171")); $object->delete_meta_data("\164\145\163\164\x5f\x6d\x65\x74\141\x5f\x6b\145\171"); $this->assertEmpty($object->get_meta("\164\145\x73\x74\137\155\145\x74\141\137\153\145\171")); } public function test_delete_meta_data_value() { $object = $this->create_test_post(); $object_id = $object->get_id(); add_metadata("\160\157\x73\x74", $object_id, "\164\145\x73\x74\137\155\145\x74\141\x5f\x6b\x65\171", "\x76\141\154\x31"); add_metadata("\x70\157\x73\164", $object_id, "\x74\x65\163\x74\137\155\145\x74\x61\x5f\x6b\145\x79", "\x76\x61\x6c\x32"); add_metadata("\x70\x6f\163\164", $object_id, "\164\x65\x73\x74\137\x6d\x65\164\x61\137\x6b\x65\x79", array("\x66\157\157", "\x62\141\x72")); $object = new WC_Mock_WC_Data($object_id); $this->assertCount(3, $object->get_meta("\164\145\x73\x74\137\x6d\145\164\x61\x5f\x6b\145\171", false)); $object->delete_meta_data_value("\164\x65\163\x74\x5f\155\x65\x74\141\x5f\x6b\x65\171", "\166\141\154\x31"); $this->assertCount(2, $object->get_meta("\164\145\x73\164\x5f\x6d\x65\x74\141\137\153\145\x79", false)); $object->delete_meta_data_value("\x74\145\x73\164\x5f\x6d\145\x74\x61\x5f\x6b\x65\171", array("\x62\x61\162", "\142\141\172")); $this->assertCount(2, $object->get_meta("\164\145\163\x74\x5f\x6d\145\164\141\x5f\x6b\145\171", false)); $object->delete_meta_data_value("\x74\x65\x73\164\x5f\155\x65\x74\x61\x5f\x6b\145\x79", array("\146\157\157", "\142\141\x72")); $this->assertCount(1, $object->get_meta("\164\145\x73\x74\x5f\x6d\145\164\141\137\153\145\x79", false)); $this->assertEquals("\x76\141\x6c\x32", $object->get_meta("\164\x65\163\164\x5f\x6d\x65\164\x61\137\153\x65\171")); } public function test_save_meta_data() { global $wpdb; $object = $this->create_test_post(); $object_id = $object->get_id(); $object->add_meta_data("\164\x65\163\164\137\155\145\164\141\x5f\x6b\145\x79", "\x76\141\x6c\61", true); $object->add_meta_data("\164\145\x73\164\x5f\x6d\x65\164\141\x5f\153\x65\x79\x5f\62", "\x76\141\154\62", true); $object->save_meta_data(); $object = new WC_Mock_WC_Data($object_id); $raw_metadata = $wpdb->get_results($wpdb->prepare("\12\11\11\x9\123\105\x4c\105\x43\x54\x20\x6d\145\164\141\x5f\x69\x64\54\x20\155\x65\x74\141\137\x6b\x65\x79\x2c\40\x6d\145\x74\x61\x5f\166\141\154\165\x65\12\x9\11\x9\x46\x52\117\x4d\40{$wpdb->prefix}\160\157\x73\x74\155\145\164\x61\xa\x9\11\11\x57\110\105\122\105\x20\x70\157\163\164\x5f\151\144\x20\x3d\40\45\144\40\x4f\x52\x44\x45\x52\x20\x42\131\40\x6d\x65\164\141\137\x69\x64\xa\x9\x9", $object_id)); $object->delete_meta_data("\x74\145\x73\x74\x5f\x6d\x65\x74\141\137\153\145\x79"); $object->update_meta_data("\x74\x65\163\164\x5f\155\x65\x74\x61\137\153\145\x79\137\62", "\165\160\144\x61\164\x65\x64\137\166\141\154\165\x65", $raw_metadata[1]->meta_id); $object->save(); $object = new WC_Mock_WC_Data($object_id); $this->assertEmpty($object->get_meta("\x74\x65\163\164\x5f\155\145\x74\141\137\x6b\x65\171")); $this->assertEquals("\165\x70\x64\141\164\x65\144\137\166\x61\154\165\145", $object->get_meta("\164\145\163\x74\x5f\155\x65\164\x61\x5f\x6b\x65\x79\137\62")); } public function test_usermeta() { $object = $this->create_test_user(); $object_id = $object->get_id(); $object->add_meta_data("\x74\145\163\x74\x5f\155\x65\x74\x61\x5f\153\x65\171", "\166\141\x6c\61", true); $object->add_meta_data("\x74\x65\x73\x74\x5f\155\145\x74\141\137\x6b\145\171\137\62", "\x76\x61\154\x32", true); $object->save_meta_data(); $this->assertEquals("\x76\141\154\x31", $object->get_meta("\x74\145\x73\164\x5f\155\x65\x74\x61\x5f\153\x65\171")); $this->assertEquals("\166\141\x6c\x32", $object->get_meta("\164\145\163\x74\x5f\x6d\145\x74\141\137\x6b\145\171\137\62")); } public function test_add_meta_data_overwrite_before_save() { $object = new WC_Mock_WC_Data(); $object->add_meta_data("\x74\145\163\164\x5f\x66\151\145\x6c\144\x5f\60", "\141\156\157\164\x68\145\162\40\x66\151\145\x6c\x64", true); $object->add_meta_data("\x74\145\x73\x74\137\146\151\145\x6c\x64\x5f\x31", "\141\x6e\x6f\x74\150\x65\x72\x20\146\x69\145\x6c\144", true); $object->add_meta_data("\164\x65\163\x74\x5f\146\x69\145\154\x64\137\62", "\x76\141\154\x31", true); $object->update_meta_data("\x74\145\x73\164\x5f\x66\x69\145\154\x64\137\60", "\x61\x6e\x6f\x74\x68\x65\162\40\146\x69\145\154\144\40\62"); $this->assertEquals("\x76\141\x6c\61", $object->get_meta("\164\145\x73\164\x5f\x66\151\145\x6c\144\x5f\x32")); } public function set_date_prop_gmt_offset($timezone = "\125\124\x43") { date_default_timezone_set($timezone); $object = new WC_Order(); update_option("\x67\x6d\164\x5f\157\146\x66\163\x65\x74", -4); $object->set_date_created(1488979186); $this->assertEquals(1488979186, $object->get_date_created()->getTimestamp()); $object->set_date_created("\x32\60\x31\x37\55\60\61\55\60\62"); $this->assertEquals(-14400, $object->get_date_created()->getOffset()); $this->assertEquals("\62\x30\x31\x37\55\60\61\55\x30\x32\40\60\x30\x3a\x30\60\x3a\60\60", $object->get_date_created()->date("\131\55\x6d\55\144\x20\x48\72\151\72\x73")); $this->assertEquals(1483315200 - $object->get_date_created()->getOffset(), $object->get_date_created()->getTimestamp()); $this->assertEquals(1483315200, $object->get_date_created()->getOffsetTimestamp()); $object->set_date_created("\62\x30\x31\67\x2d\x30\61\x2d\60\62\124\x30\x30\x3a\60\x30"); $this->assertEquals(1483315200 - $object->get_date_created()->getOffset(), $object->get_date_created()->getTimestamp()); $this->assertEquals(1483315200, $object->get_date_created()->getOffsetTimestamp()); $this->assertEquals("\x32\60\x31\67\x2d\x30\61\x2d\60\x32\40\60\60\72\x30\x30\x3a\x30\60", $object->get_date_created()->date("\x59\x2d\x6d\55\144\40\110\x3a\151\x3a\163")); $object->set_date_created("\62\x30\x31\67\55\x30\61\x2d\x30\61\x54\x32\60\72\x30\60\72\60\60\x2d\x30\x34\x3a\x30\x30"); $this->assertEquals(1483315200, $object->get_date_created()->getTimestamp()); $this->assertEquals("\62\60\61\x37\55\60\x31\x2d\60\61\40\62\x30\x3a\60\x30\x3a\60\60", $object->get_date_created()->date("\x59\55\155\55\x64\40\110\72\x69\x3a\x73")); $object->set_date_created("\62\60\x31\x37\55\x30\61\55\x30\x31\x54\61\66\x3a\x30\x30\72\x30\x30\x2d\x30\70\x3a\60\x30"); $this->assertEquals(1483315200, $object->get_date_created()->getTimestamp()); $this->assertEquals("\62\60\x31\x37\55\60\x31\x2d\60\61\x20\62\60\72\60\60\x3a\60\x30", $object->get_date_created()->date("\131\55\x6d\55\144\x20\x48\x3a\x69\x3a\163")); $object->set_date_created("\62\60\x31\67\x2d\x30\61\55\x30\x32\124\x30\x30\72\60\60\x3a\60\x30\53\60\60\72\x30\60"); $this->assertEquals(1483315200, $object->get_date_created()->getTimestamp()); $this->assertEquals("\x32\60\61\x37\55\60\61\55\x30\x31\x20\62\x30\x3a\60\x30\72\x30\60", $object->get_date_created()->date("\131\55\x6d\55\144\40\x48\72\x69\72\x73")); update_option("\147\x6d\x74\137\157\146\146\x73\145\164", 0); date_default_timezone_set("\125\x54\103"); } public function set_date_prop_timezone_string($timezone = "\x55\124\103") { date_default_timezone_set($timezone); $object = new WC_Order(); update_option("\x74\x69\155\x65\172\x6f\x6e\145\137\x73\x74\x72\x69\x6e\147", "\101\155\145\x72\151\143\141\x2f\x4e\x65\x77\137\131\x6f\162\x6b"); $object->set_date_created(1488979186); $this->assertEquals(1488979186, $object->get_date_created()->getTimestamp()); $object->set_date_created("\x32\x30\x31\67\55\x30\61\x2d\60\62"); $this->assertEquals(1483315200 - $object->get_date_created()->getOffset(), $object->get_date_created()->getTimestamp()); $this->assertEquals(1483315200, $object->get_date_created()->getOffsetTimestamp()); $this->assertEquals("\62\x30\61\67\x2d\x30\61\x2d\x30\62\x20\60\60\x3a\60\60\72\x30\60", $object->get_date_created()->date("\x59\x2d\x6d\55\x64\x20\110\72\x69\x3a\x73")); $object->set_date_created("\x32\60\x31\67\55\60\61\x2d\60\62\124\60\x30\x3a\x30\60"); $this->assertEquals(1483315200 - $object->get_date_created()->getOffset(), $object->get_date_created()->getTimestamp()); $this->assertEquals(1483315200, $object->get_date_created()->getOffsetTimestamp()); $this->assertEquals("\62\x30\x31\67\x2d\60\61\55\60\62\40\60\x30\x3a\60\x30\72\x30\60", $object->get_date_created()->date("\131\x2d\155\x2d\144\x20\x48\x3a\151\72\x73")); $object->set_date_created("\62\x30\x31\67\x2d\60\61\x2d\x30\x31\x54\61\71\72\60\x30\x3a\x30\x30\x2d\60\65\x3a\x30\60"); $this->assertEquals(1483315200, $object->get_date_created()->getTimestamp()); $this->assertEquals("\x32\x30\x31\x37\x2d\60\x31\55\x30\x31\x20\61\x39\x3a\x30\60\x3a\60\60", $object->get_date_created()->date("\131\x2d\x6d\55\x64\x20\x48\72\x69\72\163")); $object->set_date_created("\x32\x30\x31\67\x2d\60\x31\x2d\x30\x31\124\x31\x36\x3a\60\x30\72\60\x30\55\x30\70\72\60\60"); $this->assertEquals(1483315200, $object->get_date_created()->getTimestamp()); $this->assertEquals("\x32\x30\61\67\55\60\61\x2d\x30\61\40\61\x39\72\60\x30\x3a\x30\60", $object->get_date_created()->date("\131\x2d\x6d\x2d\x64\40\x48\72\x69\x3a\x73")); $object->set_date_created("\62\60\x31\67\x2d\x30\x31\55\x30\x32\124\60\x30\x3a\x30\x30\72\x30\60\x2b\60\60\x3a\x30\x30"); $this->assertEquals(1483315200, $object->get_date_created()->getTimestamp()); $this->assertEquals("\62\x30\x31\x37\55\x30\x31\x2d\x30\x31\40\61\71\72\60\x30\72\60\60", $object->get_date_created()->date("\x59\x2d\155\x2d\144\x20\x48\72\x69\72\163")); update_option("\164\151\x6d\x65\x7a\x6f\156\x65\x5f\163\x74\162\151\x6e\147", ''); date_default_timezone_set("\x55\124\x43"); } public function test_set_date_prop_server_timezone() { $this->set_date_prop_gmt_offset(); $this->set_date_prop_timezone_string(); $this->set_date_prop_gmt_offset("\120\141\143\151\x66\151\x63\x2f\x46\x69\x6a\151"); $this->set_date_prop_timezone_string("\x50\141\x63\x69\x66\151\x63\x2f\x46\151\x6a\x69"); $this->set_date_prop_gmt_offset("\120\141\143\x69\146\x69\143\x2f\124\141\x68\x69\164\151"); $this->set_date_prop_timezone_string("\120\x61\x63\151\146\151\143\x2f\x54\141\x68\x69\x74\x69"); } public function test_apply_changes() { $data = array("\x70\x72\157\x70\x31" => "\166\141\x6c\165\145\x31", "\x70\162\x6f\160\62" => "\166\141\x6c\x75\145\62"); $changes = array("\x70\162\157\160\x31" => "\156\145\167\137\x76\141\154\x75\x65\x31", "\x70\x72\x6f\x70\x33" => "\166\x61\154\165\145\x33"); $object = new WC_Mock_WC_Data(); $object->set_data($data); $object->set_changes($changes); $object->apply_changes(); $new_data = $object->get_data(); $new_changes = $object->get_changes(); $this->assertEquals("\x6e\145\167\137\x76\x61\154\x75\x65\61", $new_data["\x70\x72\x6f\x70\x31"]); $this->assertEquals("\x76\x61\x6c\165\145\x32", $new_data["\x70\162\157\160\x32"]); $this->assertEquals("\x76\x61\x6c\x75\x65\x33", $new_data["\x70\x72\157\160\x33"]); $this->assertEmpty($new_changes); } public function test_apply_changes_nested() { $data = array("\x70\162\x6f\160\61" => "\x76\141\x6c\165\x65\61", "\160\x72\x6f\160\x32" => array("\163\165\142\x70\162\x6f\160\61" => 1, "\x73\165\142\160\162\x6f\x70\x32" => 2)); $changes = array("\x70\x72\157\x70\62" => array("\163\165\x62\160\162\157\x70\61" => 1000, "\x73\165\x62\160\162\157\160\x33" => 3)); $object = new WC_Mock_WC_Data(); $object->set_data($data); $object->set_changes($changes); $object->apply_changes(); $new_data = $object->get_data(); $this->assertEquals("\166\141\x6c\165\145\61", $new_data["\160\x72\157\160\x31"]); $this->assertEquals(1000, $new_data["\160\162\157\x70\x32"]["\x73\x75\x62\x70\x72\x6f\x70\x31"]); $this->assertEquals(2, $new_data["\x70\162\157\160\62"]["\163\165\x62\160\162\157\160\62"]); $this->assertEquals(3, $new_data["\x70\162\x6f\160\x32"]["\163\x75\x62\x70\162\157\x70\63"]); } }
Function Calls
None |
Stats
MD5 | f5e97e6e7d67c726cb9e0ea9df68776a |
Eval Count | 0 |
Decode Time | 121 ms |