Commit Graph

84 Commits

Author SHA1 Message Date
Scott Taylor
fabd554bb2 Merge the Responsive Images feature plugin into core, initial commit. See: https://github.com/ResponsiveImagesCG/wp-tevko-responsive-images/
New functions in `media.php`:
* `wp_get_attachment_image_srcset_array()` - Returns an array of image candidate string data used to build a `srcset` value for an attachment given an `$attachement_id` and `$size`.
* `wp_get_attachment_image_srcset()` - Returns the `srcset` value for an attachment given an `$attachement_id` and `$size`.
* `wp_get_attachment_image_sizes()` - Returns the `sizes` value for an attachment given an `$attachement_id` and `$size` and optional arguments used to alter its output.
* `wp_make_content_images_responsive()` - A display filter for adding `srcset` and `sizes` to images embedded in content.
* `wp_img_add_srcset_and_sizes()` - A utility function used by `wp_make_content_images_responsive()` to add `srcset` and `sizes` to a single `<img>` element.

Modifies existing core functions:
* Modify `wp_get_attachment_image()` so the HTML returned for an image includes `srcset` and `sizes`.
* Modify `get_media_embedded_in_content()` (sup, 3.6 leftover) by adding `<img>` to the list of accepted tags that can be matched in content. This is used in `wp_make_content_images_responsive()` to find all of the images embedded in content before passing them off to `wp_img_add_srcset_and_sizes()`.

Tests:
* Add a new factory method to `WP_UnitTest_Factory_For_Attachment` named `create_upload_object()`
* Adds unit tests
* Updates unit tests

Props joemcgill, tevko, jaspermdegroot, mdmcginn, barryceelen, peterwilsoncc, fsylum, wonderboymusic, chriscoyier, benjaminpick, jrfnl, #12kingkool68, janhenckens, ryanmarkel, side777, ryelle, wturrell, micahmills, mattbagwell, coliff, DrewAPicture.
See #33641.


git-svn-id: https://develop.svn.wordpress.org/trunk@34855 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-06 04:58:21 +00:00
Aaron Jorbin
f765605336 Cleanup image size in unit tests
This helps prevent test leakage that can cause Tests_Media::test_add_image_size to break.

See #33968



git-svn-id: https://develop.svn.wordpress.org/trunk@34694 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-29 17:47:24 +00:00
Scott Taylor
3c0ecff16e Media: Add a new function, wp_get_attachment_image_url(), which is a shortcut for wp_get_attachment_image_src() - same function signature, but returns just the URL based on $size.
Adds unit test.

Props dipesh.kakadiya, swissspidy, sebastian.pisula.
Fixes #33878.


git-svn-id: https://develop.svn.wordpress.org/trunk@34372 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-22 04:12:44 +00:00
Scott Taylor
a70e0183e5 Ensure that attachment_url_to_postid() matches cross-scheme when front-end and back-end schemes are different.
Adds unit test.

Props welcher.
Fixes #33109.


git-svn-id: https://develop.svn.wordpress.org/trunk@33705 602fd350-edb4-49c9-b593-d223f7449a82
2015-08-22 16:38:09 +00:00
Helen Hou-Sandi
1768c8c85a Fix a unit test failure after [33489].
see #33179.


git-svn-id: https://develop.svn.wordpress.org/trunk@33506 602fd350-edb4-49c9-b593-d223f7449a82
2015-07-29 22:14:33 +00:00
Andrew Ozz
35acd9abf8 Use the embed_maybe_make_link filter to test WP_Embed::autoembed().
See #33106.

git-svn-id: https://develop.svn.wordpress.org/trunk@33470 602fd350-edb4-49c9-b593-d223f7449a82
2015-07-29 00:01:22 +00:00
Scott Taylor
4f814ec9ae Protect newlines inside of CDATA. This was breaking things, notably inline JS that used comments for HTML standards compat.
* Tokenize newlines in `WP_Embed::autoembed()` before running `->autoembed_callback()`
* Tokenize newlines with placeholders in `wpautop()` 
* Introduce `wp_html_split()` to DRY the RegEx from `wp_replace_in_html_tags()` and `do_shortcodes_in_html_tags()`

Adds unit tests.

Props miqrogroove, kitchin, azaozz.
Fixes #33106.


git-svn-id: https://develop.svn.wordpress.org/trunk@33469 602fd350-edb4-49c9-b593-d223f7449a82
2015-07-28 23:02:04 +00:00
Scott Taylor
ac63fb4dc3 YouTube oEmbed parsing: support the m subdomain.
Adds unit tests.

Props Toru, johnbillion.
Fixes #32714.


git-svn-id: https://develop.svn.wordpress.org/trunk@32930 602fd350-edb4-49c9-b593-d223f7449a82
2015-06-24 21:05:59 +00:00
Boone Gorges
8235387ee4 Clean up uploaded file after test_media_handle_upload_sets_post_excerpt().
Props McGuive7.
Fixes #32534.

git-svn-id: https://develop.svn.wordpress.org/trunk@32794 602fd350-edb4-49c9-b593-d223f7449a82
2015-06-16 12:37:30 +00:00
Scott Taylor
7dd8a1364a In the youtube_embed_url embed handler, make embed a non-capturing group that alternately matches for v - YouTube supports both URL paths.
Add unit test cases.

Props dmchale for some patch work.
Fixes #32161.


git-svn-id: https://develop.svn.wordpress.org/trunk@32787 602fd350-edb4-49c9-b593-d223f7449a82
2015-06-16 00:34:06 +00:00
Boone Gorges
70f530e238 youtube.com oEmbed test should always expect HTTPS.
YouTube recently changed its oEmbed endpoint so that the iframe markup always
contains an HTTPS URL, regardless of the scheme of the video URL originally
requested. This changeset fixes the corresponding unit test.

Fixes #32260.

git-svn-id: https://develop.svn.wordpress.org/trunk@32358 602fd350-edb4-49c9-b593-d223f7449a82
2015-05-05 21:30:57 +00:00
Gary Pendergast
332750a40d Revert [30640], as it was incorrectly checking some filenames.
git-svn-id: https://develop.svn.wordpress.org/trunk@32171 602fd350-edb4-49c9-b593-d223f7449a82
2015-04-20 06:38:08 +00:00
Sergey Biryukov
5fe8182c7f EXIF/IPTC captions should populate Caption (post_excerpt) on upload, not Description (post_content).
Make sure the caption is always set if found. Previously, if the caption was less than 80 characters, only the Title field would be set.

props beaulebens, ericlewis, bendoh, SergeyBiryukov.
fixes #22768.

git-svn-id: https://develop.svn.wordpress.org/trunk@31694 602fd350-edb4-49c9-b593-d223f7449a82
2015-03-10 05:06:39 +00:00
Scott Taylor
65c58832cb Improve get_media_embedded_in_content() so that it returns the media it finds in the same order that it appears in the content.
Adds unit test, updates another.

Props kopepasah.
See #26675.


git-svn-id: https://develop.svn.wordpress.org/trunk@31574 602fd350-edb4-49c9-b593-d223f7449a82
2015-02-27 16:11:00 +00:00
Sergey Biryukov
a036114a4d attachment_url_to_postid() should always return an integer.
props nathan_dawson, ashfame.
fixes #31044.

git-svn-id: https://develop.svn.wordpress.org/trunk@31239 602fd350-edb4-49c9-b593-d223f7449a82
2015-01-18 20:32:50 +00:00
Sergey Biryukov
4fdc7c7a0b Don't force newlines around URLs in WP_Embed::autoembed().
props chipx86, sgrant.
fixes #23776.

git-svn-id: https://develop.svn.wordpress.org/trunk@31066 602fd350-edb4-49c9-b593-d223f7449a82
2015-01-07 07:50:58 +00:00
Scott Taylor
a411918199 Adjust the RegEx in wp_check_filetype() to be aware that query strings are thing that exist sometimes in URLs.
Adds unit tests.

Props voldemortensen.
Fixes #30377.


git-svn-id: https://develop.svn.wordpress.org/trunk@30640 602fd350-edb4-49c9-b593-d223f7449a82
2014-11-30 06:32:16 +00:00
Sergey Biryukov
917a469052 Replace invalid use of ltrim() in attachment_url_to_postid() with substr().
props bradyvercher.
fixes #30346.

git-svn-id: https://develop.svn.wordpress.org/trunk@30501 602fd350-edb4-49c9-b593-d223f7449a82
2014-11-21 06:34:23 +00:00
Scott Taylor
ef23aee2a6 Fix unit test for video shortcode after [30082].
Fixes #30078.


git-svn-id: https://develop.svn.wordpress.org/trunk@30132 602fd350-edb4-49c9-b593-d223f7449a82
2014-11-01 00:48:32 +00:00
Sergey Biryukov
34a58febd8 Ensure themes don't have to call add_image_size() to be used in unit tests.
props mboynes.
fixes #29924.

git-svn-id: https://develop.svn.wordpress.org/trunk@29874 602fd350-edb4-49c9-b593-d223f7449a82
2014-10-11 04:22:11 +00:00
Dominik Schilling (ocean90)
1ba2f5c853 Fix expected value in Tests_Media::test_video_shortcode_body().
Since [29457] the `.wp-video` wrapper for a video has a height set.

fixes #29110.

git-svn-id: https://develop.svn.wordpress.org/trunk@29515 602fd350-edb4-49c9-b593-d223f7449a82
2014-08-17 11:48:03 +00:00
Scott Taylor
a7c1728f2e Reinstate the changes from [28579] with some adjustments:
* Check `! empty( $postarr['file'] )` before calling `update_attached_file()`
* Add a unit test: `test_update_attachment_fields()`
* Run the same logic for empty `guid` for attachments that always ran in `wp_insert_post()`, as per #18310. This fixes a unit test that would have broken when this ticket was marked closed.
* Updated the unit test in `Tests_Media::test_wp_prepare_attachment_for_js()` to account for `url` no longer being empty

Props kovshenin, wonderboymusic.
See #21963.


git-svn-id: https://develop.svn.wordpress.org/trunk@28788 602fd350-edb4-49c9-b593-d223f7449a82
2014-06-20 18:26:17 +00:00
Helen Hou-Sandi
ccc5f363c0 Use Dashicon-style images for mime type icons. Actually moving to Dashicons via the font can be explored later, but has theme/plugin implications and requires too many changes to make it for 3.9. props melchoyce for the icons. fixes #26650.
git-svn-id: https://develop.svn.wordpress.org/trunk@27726 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-25 21:09:34 +00:00
Scott Taylor
651b4a5f5b Fix the video shortcode unit test after [27519].
git-svn-id: https://develop.svn.wordpress.org/trunk@27685 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-24 17:13:48 +00:00
Andrew Nacin
baeadcfedc Add remove_image_size() and tests for it and has_image_size(), added in [27128].
props mordauk, markoheijnen.
fixes #26768. see #26951.


git-svn-id: https://develop.svn.wordpress.org/trunk@27129 602fd350-edb4-49c9-b593-d223f7449a82
2014-02-08 00:40:15 +00:00
Scott Taylor
9b85472ac9 The unit test for the video shortcode needs to mimic the default params for width and post ID.
See #26628.



git-svn-id: https://develop.svn.wordpress.org/trunk@27100 602fd350-edb4-49c9-b593-d223f7449a82
2014-02-05 05:16:22 +00:00
wonderboymusic
71947f18d3 When a video shortcode has content in its body, append it as inner HTML in the resulting <video>.
Reverts [27096].
Fixes #26628.
See #27016.



git-svn-id: https://develop.svn.wordpress.org/trunk@27097 602fd350-edb4-49c9-b593-d223f7449a82
2014-02-05 01:42:02 +00:00
Scott Taylor
3ccf9e9d29 The video shortcode unit test shouldn't be expected to maintain HTML comments.
See #26864.



git-svn-id: https://develop.svn.wordpress.org/trunk@27096 602fd350-edb4-49c9-b593-d223f7449a82
2014-02-05 01:24:58 +00:00
Andrew Ozz
6a0251847b Consolidate handling of <object>, <audio> and <video> in wpautop() and add unit tests for them. Part props wonderboymusic, see #26864
git-svn-id: https://develop.svn.wordpress.org/trunk@27094 602fd350-edb4-49c9-b593-d223f7449a82
2014-02-05 00:45:53 +00:00
Andrew Nacin
d0bb9e8f86 Ensure that SSL YouTube URLs receive SSL embeds.
props adamsilverstein, Otto42, JayCC.
fixes #23149.


git-svn-id: https://develop.svn.wordpress.org/trunk@26978 602fd350-edb4-49c9-b593-d223f7449a82
2014-01-17 19:45:51 +00:00
Andrew Nacin
4c8f1e263a Use @expectedDeprecated. see #25282, [25408].
git-svn-id: https://develop.svn.wordpress.org/trunk@25409 602fd350-edb4-49c9-b593-d223f7449a82
2013-09-12 18:37:32 +00:00
Scott Taylor
654d07ebf9 There was way too much duplicated code in my notice cleanup, it built up over time, and there's definitely a need to standardize.
* Remove duplicated code for deprecated function notice suppression
* Add support in `WP_UnitTestCase` setUp/tearDown methods for `$deprecated_functions` fixture if the extending class has added it
* Add a `$deprecated_functions` fixture to each extending class that needs it

To use this fixture, add something to your Test Case class like so:
`protected $deprecated_functions = array( 'get_theme', 'get_themes', 'get_theme_data', 'get_current_theme' );`

See #25282.



git-svn-id: https://develop.svn.wordpress.org/trunk@25402 602fd350-edb4-49c9-b593-d223f7449a82
2013-09-12 14:47:58 +00:00
Scott Taylor
9cb4234c3f * Fix the horrendous whitespace in tests/media.php
* Suppress the deprecated function notice for `wp_convert_bytes_to_hr()`
* Add assertions for `size_format()`

See #25282.




git-svn-id: https://develop.svn.wordpress.org/trunk@25382 602fd350-edb4-49c9-b593-d223f7449a82
2013-09-12 04:55:24 +00:00
Andrew Nacin
8045afd81b Move PHPUnit tests into a tests/phpunit directory.
wp-tests-config.php can/should reside in the root of a develop checkout. `phpunit` should be run from the root.

see #25088.


git-svn-id: https://develop.svn.wordpress.org/trunk@25165 602fd350-edb4-49c9-b593-d223f7449a82
2013-08-29 18:39:34 +00:00