- Timestamp:
- 03/26/2024 09:22:48 AM (13 months ago)
- Location:
- branches/6.5
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/6.5
-
branches/6.5/tests/phpunit/tests/fonts/font-library/wpFontsDir.php
r57539 r57879 70 70 $this->assertSame( static::$dir_defaults, $font_dir, 'The wp_get_font_dir() method should return the default values.' ); 71 71 } 72 73 /** 74 * @ticket 60652 75 */ 76 public function test_fonts_dir_filters_do_not_trigger_infinite_loop() { 77 /* 78 * Naive filtering of uploads directory to return font directory. 79 * 80 * This emulates the approach a plugin developer may take to 81 * add the filter when extending the font library functionality. 82 */ 83 add_filter( 'upload_dir', '_wp_filter_font_directory' ); 84 85 add_filter( 86 'upload_dir', 87 function ( $upload_dir ) { 88 static $count = 0; 89 ++$count; 90 // The filter may be applied a couple of times, at five iterations assume an infinite loop. 91 if ( $count >= 5 ) { 92 $this->fail( 'Filtering the uploads directory triggered an infinite loop.' ); 93 } 94 return $upload_dir; 95 }, 96 5 97 ); 98 99 /* 100 * Filter the font directory to return the uploads directory. 101 * 102 * This emulates moving font files back to the uploads directory due 103 * to file system structure. 104 */ 105 add_filter( 'font_dir', 'wp_get_upload_dir' ); 106 107 wp_get_upload_dir(); 108 109 // This will never be hit if an infinite loop is triggered. 110 $this->assertTrue( true ); 111 } 72 112 }
Note: See TracChangeset
for help on using the changeset viewer.