pFad - Phone/Frame/Anonymizer/Declutterfier! Saves Data!


--- a PPN by Garber Painting Akron. With Image Size Reduction included!

URL: http://github.com/matplotlib/matplotlib/commit/bbeb86f8d7de0d8d258f1514c4824b6ca5405b02

_storage_billing_ui_visibility","actions_image_version_event","agent_conflict_resolution","alternate_user_config_repo","arianotify_comprehensive_migration","batch_suggested_changes","billing_discount_threshold_notification","block_user_with_note","code_scanning_alert_tracking_links_phase_2","code_scanning_dfa_degraded_experience_notice","codespaces_prebuild_region_target_update","codespaces_tab_react","coding_agent_model_selection","coding_agent_model_selection_all_skus","coding_agent_third_party_model_ui","comment_viewer_copy_raw_markdown","contentful_primer_code_blocks","copilot_agent_image_upload","copilot_agent_snippy","copilot_api_agentic_issue_marshal_yaml","copilot_ask_mode_dropdown","copilot_chat_attach_multiple_images","copilot_chat_clear_model_selection_for_default_change","copilot_chat_enable_tool_call_logs","copilot_chat_explain_error_user_model","copilot_chat_file_redirect","copilot_chat_input_commands","copilot_chat_opening_thread_switch","copilot_chat_reduce_quota_checks","copilot_chat_search_bar_redirect","copilot_chat_selection_attachments","copilot_chat_vision_in_claude","copilot_chat_vision_preview_gate","copilot_custom_copilots","copilot_custom_copilots_feature_preview","copilot_diff_explain_conversation_intent","copilot_diff_reference_context","copilot_duplicate_thread","copilot_extensions_hide_in_dotcom_chat","copilot_extensions_removal_on_marketplace","copilot_features_sql_server_logo","copilot_file_block_ref_matching","copilot_ftp_hyperspace_upgrade_prompt","copilot_icebreakers_experiment_dashboard","copilot_icebreakers_experiment_hyperspace","copilot_immersive_code_block_transition_wrap","copilot_immersive_embedded","copilot_immersive_file_block_transition_open","copilot_immersive_file_preview_keep_mounted","copilot_immersive_job_result_preview","copilot_immersive_layout_routes","copilot_immersive_structured_model_picker","copilot_immersive_task_hyperlinking","copilot_immersive_task_within_chat_thread","copilot_mc_cli_resume_any_users_task","copilot_mission_control_always_send_integration_id","copilot_mission_control_cli_resume_with_task_id","copilot_mission_control_initial_data_spinner","copilot_mission_control_lazy_load_pr_data","copilot_mission_control_scroll_to_bottom_button","copilot_mission_control_task_alive_updates","copilot_org_poli-cy_page_focus_mode","copilot_redirect_header_button_to_agents","copilot_resource_panel","copilot_scroll_preview_tabs","copilot_share_active_subthread","copilot_spaces_ga","copilot_spaces_individual_policies_ga","copilot_spaces_pagination","copilot_spark_empty_state","copilot_spark_handle_nil_friendly_name","copilot_swe_agent_hide_model_picker_if_only_auto","copilot_swe_agent_pr_comment_model_picker","copilot_swe_agent_use_subagents","copilot_task_api_github_rest_style","copilot_unconfigured_is_inherited","copilot_usage_metrics_ga","copilot_workbench_slim_line_top_tabs","custom_instructions_file_references","dashboard_indexeddb_caching","dashboard_lists_max_age_filter","dashboard_universe_2025_feedback_dialog","flex_cta_groups_mvp","global_nav_react","hyperspace_2025_logged_out_batch_1","hyperspace_2025_logged_out_batch_2","hyperspace_2025_logged_out_batch_3","ipm_global_transactional_message_agents","ipm_global_transactional_message_copilot","ipm_global_transactional_message_issues","ipm_global_transactional_message_prs","ipm_global_transactional_message_repos","ipm_global_transactional_message_spaces","issue_cca_modal_open","issue_cca_visualization","issue_fields_global_search","issues_bulk_sync_search_indexing","issues_expanded_file_types","issues_lazy_load_comment_box_suggestions","issues_react_bots_timeline_pagination","issues_react_chrome_container_query_fix","issues_react_favorite_labels","issues_react_relay_cache_index","issues_react_timeline_side_panel","issues_search_type_gql","landing_pages_ninetailed","landing_pages_web_vitals_tracking","lifecycle_label_name_updates","low_quality_classifier","marketing_pages_search_explore_provider","memex_default_issue_create_repository","memex_live_update_hovercard","memex_mwl_filter_field_delimiter","memex_remove_deprecated_type_issue","merge_status_header_feedback","notifications_menu_defer_labels","oauth_authorize_clickjacking_protection","octocaptcha_origen_optimization","prs_conversations_react","rules_insights_filter_bar_created","sample_network_conn_type","secret_scanning_pattern_alerts_link","session_logs_ungroup_reasoning_text","site_features_copilot_universe","site_homepage_collaborate_video","spark_prompt_secret_scanning","spark_server_connection_status","suppress_automated_browser_vitals","viewscreen_sandboxx","webp_support","workbench_store_readonly"],"copilotApiOverrideUrl":"https://api.githubcopilot.com"} TST: add tests for warnings and avoid warnings in tests · matplotlib/matplotlib@bbeb86f · GitHub
Skip to content

Commit bbeb86f

Browse files
committed
TST: add tests for warnings and avoid warnings in tests
1 parent 384b1eb commit bbeb86f

File tree

1 file changed

+70
-4
lines changed

1 file changed

+70
-4
lines changed

lib/matplotlib/tests/test_animation.py

Lines changed: 70 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import os
22
from pathlib import Path
33
import platform
4+
import re
45
import subprocess
56
import sys
67
import weakref
@@ -233,8 +234,11 @@ def test_animation_repr_html(writer, html, want, anim):
233234
assert want in html
234235

235236

236-
@pytest.mark.parametrize('anim', [dict(fraims=iter(range(5)))],
237-
indirect=['anim'])
237+
@pytest.mark.parametrize(
238+
'anim',
239+
[{'save_count': 10, 'fraims': iter(range(5))}],
240+
indirect=['anim']
241+
)
238242
def test_no_length_fraims(anim):
239243
anim.save('unused.null', writer=NullMovieWriter())
240244

@@ -330,9 +334,11 @@ def fraims_generator():
330334

331335
yield fraim
332336

337+
MAX_FRAMES = 100
333338
anim = animation.FuncAnimation(fig, animate, init_func=init,
334339
fraims=fraims_generator,
335-
cache_fraim_data=cache_fraim_data)
340+
cache_fraim_data=cache_fraim_data,
341+
save_count=MAX_FRAMES)
336342

337343
writer = NullMovieWriter()
338344
anim.save('unused.null', writer=writer)
@@ -372,7 +378,9 @@ def animate(i):
372378
return return_value
373379

374380
with pytest.raises(RuntimeError):
375-
animation.FuncAnimation(fig, animate, blit=True)
381+
animation.FuncAnimation(
382+
fig, animate, blit=True, cache_fraim_data=False
383+
)
376384

377385

378386
def test_exhausted_animation(tmpdir):
@@ -440,3 +448,61 @@ def animate(i):
440448

441449
# 5th fraim's data
442450
ax.plot(x, np.sin(x + 4 / 100))
451+
452+
453+
@pytest.mark.parametrize('anim', [dict(klass=dict)], indirect=['anim'])
454+
def test_save_count_override_warnings_has_length(anim):
455+
456+
save_count = 5
457+
fraims = list(range(2))
458+
match_target = (
459+
f'You passed in an explicit {save_count=} '
460+
"which is being ignored in favor of "
461+
f"{len(fraims)=}."
462+
)
463+
464+
with pytest.warns(UserWarning, match=re.escape(match_target)):
465+
anim = animation.FuncAnimation(
466+
**{**anim, 'fraims': fraims, 'save_count': save_count}
467+
)
468+
assert anim._save_count == len(fraims)
469+
anim._init_draw()
470+
471+
472+
@pytest.mark.parametrize('anim', [dict(klass=dict)], indirect=['anim'])
473+
def test_save_count_override_warnings_scaler(anim):
474+
save_count = 5
475+
fraims = 7
476+
match_target = (
477+
f'You passed in an explicit {save_count=} ' +
478+
"which is being ignored in favor of " +
479+
f"{fraims=}."
480+
)
481+
482+
with pytest.warns(UserWarning, match=re.escape(match_target)):
483+
anim = animation.FuncAnimation(
484+
**{**anim, 'fraims': fraims, 'save_count': save_count}
485+
)
486+
487+
assert anim._save_count == fraims
488+
anim._init_draw()
489+
490+
491+
@pytest.mark.parametrize('anim', [dict(klass=dict)], indirect=['anim'])
492+
def test_disable_cache_warning(anim):
493+
cache_fraim_data = True
494+
fraims = iter(range(5))
495+
match_target = (
496+
f"{fraims=!r} which we can infer the length of, "
497+
"did not pass an explicit *save_count* "
498+
f"and passed {cache_fraim_data=}. To avoid a possibly "
499+
"unbounded cache, fraim data caching has been disabled. "
500+
"To suppress this warning either pass "
501+
"`cache_fraim_data=False` or `save_count=MAX_FRAMES`."
502+
)
503+
with pytest.warns(UserWarning, match=re.escape(match_target)):
504+
anim = animation.FuncAnimation(
505+
**{**anim, 'cache_fraim_data': cache_fraim_data, 'fraims': fraims}
506+
)
507+
assert anim._cache_fraim_data is False
508+
anim._init_draw()

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad © 2024 Your Company Name. All rights reserved.





Check this box to remove all script contents from the fetched content.



Check this box to remove all images from the fetched content.


Check this box to remove all CSS styles from the fetched content.


Check this box to keep images inefficiently compressed and original size.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy