siteTransient.php 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. <?php
  2. /**
  3. * @group option
  4. */
  5. class Tests_Option_SiteTransient extends WP_UnitTestCase {
  6. public function setUp() {
  7. parent::setUp();
  8. if ( wp_using_ext_object_cache() ) {
  9. $this->markTestSkipped( 'Not testable with an external object cache.' );
  10. }
  11. }
  12. function test_the_basics() {
  13. $key = 'key1';
  14. $value = 'value1';
  15. $value2 = 'value2';
  16. $this->assertFalse( get_site_transient( 'doesnotexist' ) );
  17. $this->assertTrue( set_site_transient( $key, $value ) );
  18. $this->assertSame( $value, get_site_transient( $key ) );
  19. $this->assertFalse( set_site_transient( $key, $value ) );
  20. $this->assertTrue( set_site_transient( $key, $value2 ) );
  21. $this->assertSame( $value2, get_site_transient( $key ) );
  22. $this->assertTrue( delete_site_transient( $key ) );
  23. $this->assertFalse( get_site_transient( $key ) );
  24. $this->assertFalse( delete_site_transient( $key ) );
  25. }
  26. function test_serialized_data() {
  27. $key = __FUNCTION__;
  28. $value = array(
  29. 'foo' => true,
  30. 'bar' => true,
  31. );
  32. $this->assertTrue( set_site_transient( $key, $value ) );
  33. $this->assertSame( $value, get_site_transient( $key ) );
  34. $value = (object) $value;
  35. $this->assertTrue( set_site_transient( $key, $value ) );
  36. $this->assertEquals( $value, get_site_transient( $key ) );
  37. $this->assertTrue( delete_site_transient( $key ) );
  38. }
  39. /**
  40. * @ticket 22846
  41. * @group ms-excluded
  42. */
  43. public function test_set_site_transient_is_not_stored_as_autoload_option() {
  44. $key = 'not_autoloaded';
  45. set_site_transient( $key, 'Not an autoload option' );
  46. $options = wp_load_alloptions();
  47. $this->assertFalse( isset( $options[ '_site_transient_' . $key ] ) );
  48. }
  49. }