Changeset 40124 for trunk/tests/phpunit/tests/functions.php
- Timestamp:
- 02/25/2017 04:07:25 PM (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/tests/phpunit/tests/functions.php
r40044 r40124 915 915 $this->assertEquals( $uuids, $unique_uuids ); 916 916 } 917 918 /** 919 * @ticket 39550 920 * @dataProvider _wp_check_filetype_and_ext_data 921 */ 922 function test_wp_check_filetype_and_ext( $file, $filename, $expected ) { 923 if ( ! extension_loaded( 'fileinfo' ) ) { 924 $this->markTestSkipped( 'The fileinfo PHP extension is not loaded.' ); 925 } 926 927 $this->assertEquals( $expected, wp_check_filetype_and_ext( $file, $filename ) ); 928 } 929 930 /** 931 * @ticket 39550 932 */ 933 function test_wp_check_filetype_and_ext_with_filtered_svg() { 934 $file = DIR_TESTDATA . '/uploads/video-play.svg'; 935 $filename = 'video-play.svg'; 936 937 $expected = array( 938 'ext' => 'svg', 939 'type' => 'image/svg+xml', 940 'proper_filename' => false, 941 ); 942 943 add_filter( 'upload_mimes', array( $this, '_filter_mime_types_svg' ) ); 944 $this->assertEquals( $expected, wp_check_filetype_and_ext( $file, $filename ) ); 945 946 // Cleanup. 947 remove_filter( 'upload_mimes', array( $this, '_test_add_mime_types_svg' ) ); 948 } 949 950 /** 951 * @ticket 39550 952 */ 953 function test_wp_check_filetype_and_ext_with_filtered_woff() { 954 $file = DIR_TESTDATA . '/uploads/dashicons.woff'; 955 $filename = 'dashicons.woff'; 956 957 $expected = array( 958 'ext' => 'woff', 959 'type' => 'application/font-woff', 960 'proper_filename' => false, 961 ); 962 963 add_filter( 'upload_mimes', array( $this, '_filter_mime_types_woff' ) ); 964 $this->assertEquals( $expected, wp_check_filetype_and_ext( $file, $filename ) ); 965 966 // Cleanup. 967 remove_filter( 'upload_mimes', array( $this, '_test_add_mime_types_woff' ) ); 968 } 969 970 public function _filter_mime_types_svg( $mimes ) { 971 $mimes['svg'] = 'image/svg+xml'; 972 return $mimes; 973 } 974 975 public function _filter_mime_types_woff( $mimes ) { 976 $mimes['woff'] = 'application/font-woff'; 977 return $mimes; 978 } 979 980 public function _wp_check_filetype_and_ext_data() { 981 return array( 982 // Standard image. 983 array( 984 DIR_TESTDATA . '/images/canola.jpg', 985 'canola.jpg', 986 array( 987 'ext' => 'jpg', 988 'type' => 'image/jpeg', 989 'proper_filename' => false, 990 ), 991 ), 992 // Image with wrong extension. 993 array( 994 DIR_TESTDATA . '/images/test-image-mime-jpg.png', 995 'test-image-mime-jpg.png', 996 array( 997 'ext' => 'jpg', 998 'type' => 'image/jpeg', 999 'proper_filename' => 'test-image-mime-jpg.jpg', 1000 ), 1001 ), 1002 // Image without extension. 1003 array( 1004 DIR_TESTDATA . '/images/test-image-no-extension', 1005 'test-image-no-extension', 1006 array( 1007 'ext' => false, 1008 'type' => false, 1009 'proper_filename' => false, 1010 ), 1011 ), 1012 // Valid non-image file with an image extension. 1013 array( 1014 DIR_TESTDATA . '/formatting/big5.txt', 1015 'big5.jpg', 1016 array( 1017 'ext' => 'jpg', 1018 'type' => 'image/jpeg', 1019 'proper_filename' => false, 1020 ), 1021 ), 1022 // Standard non-image file. 1023 array( 1024 DIR_TESTDATA . '/formatting/big5.txt', 1025 'big5.txt', 1026 array( 1027 'ext' => 'txt', 1028 'type' => 'text/plain', 1029 'proper_filename' => false, 1030 ), 1031 ), 1032 // Non-image file with wrong sub-type. 1033 array( 1034 DIR_TESTDATA . '/uploads/pages-to-word.docx', 1035 'pages-to-word.docx', 1036 array( 1037 'ext' => 'docx', 1038 'type' => 'application/vnd.openxmlformats-officedocument.wordprocessingml.document', 1039 'proper_filename' => false, 1040 ), 1041 ), 1042 // Non-image file not allowed. 1043 array( 1044 DIR_TESTDATA . '/export/crazy-cdata.xml', 1045 'crazy-cdata.xml', 1046 array( 1047 'ext' => false, 1048 'type' => false, 1049 'proper_filename' => false, 1050 ), 1051 ), 1052 ); 1053 } 917 1054 }
Note: See TracChangeset
for help on using the changeset viewer.