beets/test/plugins
Šarūnas Nejus 3be4a89aee
refactor: convert _types from class attributes to cached properties
Convert static _types dictionaries to dynamic cached class properties to
enable proper plugin type inheritance and avoid mutating shared state.

Key changes:
- Replace static _types dicts with @cached_classproperty decorators
- Update cached_classproperty to support proper caching with class names
- Remove manual _types mutation in plugin loading/unloading
- Add pluginload event and cache clearing for proper plugin integration
- Fix test to trigger type checking during item creation

This ensures plugin types are properly inherited through the class
hierarchy and eliminates issues with shared mutable state between
test runs.
2025-07-16 14:45:25 +01:00
..
__init__.py Correctly refactor tests 2023-10-17 19:39:03 +10:00
lyrics_pages.py Remove dead chartlyrics 2025-05-31 19:17:43 +01:00
test_acousticbrainz.py Reformat the codebase 2024-09-21 11:57:48 +01:00
test_advancedrewrite.py Update CI config, minimum ruff version, docs and add changelog note 2024-12-10 06:10:03 +00:00
test_albumtypes.py musicbrainz: synchronise plugin import path 2025-05-17 03:31:58 +01:00
test_art.py Replace _assert_image_operated 2025-07-09 09:21:52 +01:00
test_aura.py Use PEP585 lowercase collections typing annotations 2024-12-10 06:10:03 +00:00
test_autobpm.py Skip autobpm tests if librosa isn't available 2024-11-30 09:32:08 -04:00
test_bareasc.py Reformat the codebase 2024-09-21 11:57:48 +01:00
test_beatport.py Use unittest.TestCase for tests that don't require the dir setup 2025-05-26 12:40:38 +01:00
test_bpd.py Rename test_player -> test_bpd 2025-07-16 14:06:35 +01:00
test_bucket.py Future proof BucketPluginTest.test_year_single_year_last_folder 2024-12-27 16:28:38 -04:00
test_convert.py Replace assertFileTag and assertNoFileTag 2025-07-09 09:21:50 +01:00
test_discogs.py discogs: cache TRACK_INDEX_RE 2025-05-19 09:43:03 +01:00
test_edit.py Replace assertCount 2025-07-09 09:21:51 +01:00
test_embedart.py Replace assertExists and assertNotExist 2025-07-09 09:21:49 +01:00
test_embyupdate.py Fix formatting 2025-05-07 10:41:01 +01:00
test_export.py Reformat the codebase 2024-09-21 11:57:48 +01:00
test_fetchart.py Replace assertEqual 2024-08-12 08:43:42 +01:00
test_filefilter.py Reformat the codebase 2024-09-21 11:57:48 +01:00
test_ftintitle.py Remove redundant unit tests for ftintitle plugin 2024-10-01 15:55:38 -05:00
test_hook.py Introduce TestHelper.temp_dir_path 2025-07-09 09:17:14 +01:00
test_ihate.py Replace assertFalse 2024-08-12 08:43:41 +01:00
test_importadded.py Replace assertAlbumImport 2025-07-09 09:21:51 +01:00
test_importfeeds.py Introduce TestHelper.temp_dir_path 2025-07-09 09:17:14 +01:00
test_info.py Replace assertEqual 2024-08-12 08:43:42 +01:00
test_ipfs.py Say bye to util._fsencoding 2025-04-21 12:41:57 +01:00
test_keyfinder.py Replace assertEqual 2024-08-12 08:43:42 +01:00
test_lastgenre.py Use BeetsTestCase for lastgenre tests, re-use the defined config 2025-05-26 13:05:40 +01:00
test_limit.py Reformat the codebase 2024-09-21 11:57:48 +01:00
test_lyrics.py fix local langdetect test failures 2025-05-31 18:56:21 -04:00
test_mbsubmit.py Centralize AutotagStub test setup into AutotagImportTestCase 2025-05-17 03:31:58 +01:00
test_mbsync.py Fixed imports for all tests and added a bit of stricter type checking. 2025-07-15 15:03:14 +02:00
test_mpdstats.py Replace assertEqual 2024-08-12 08:43:42 +01:00
test_musicbrainz.py Fix the MusicBrainz search not taking into account the album/recording aliases 2025-06-15 21:33:20 +01:00
test_parentwork.py Introduce integration_test marker and update testing docs 2024-09-21 13:26:05 +01:00
test_permissions.py Replace assertPrem 2025-07-09 09:21:52 +01:00
test_play.py Fix formatting 2025-05-07 10:41:01 +01:00
test_playlist.py Introduce TestHelper.temp_dir_path 2025-07-09 09:17:14 +01:00
test_plexupdate.py Replace assertEqual 2024-08-12 08:43:42 +01:00
test_plugin_mediafield.py Reformat the codebase 2024-09-21 11:57:48 +01:00
test_random.py Reformat the codebase 2024-09-21 11:57:48 +01:00
test_replace.py Feat: Add replace plugin (#5644) 2025-05-27 00:17:52 +02:00
test_replaygain.py Replace assertAlmostEqual 2024-08-12 08:49:30 +01:00
test_scrub.py Move scrub test to a separate file 2025-05-17 03:32:00 +01:00
test_smartplaylist.py Use pathlib.Path in test_smartplaylist.py 2025-07-09 09:17:14 +01:00
test_spotify.py Fix: Spotify plugin unable to recognize Chinese and Japanese albums. (#5705) 2025-07-01 11:08:54 +02:00
test_subsonicupdate.py Use unittest.TestCase for tests that don't require the dir setup 2025-05-26 12:40:38 +01:00
test_substitute.py Apply substitute rules in sequence 2024-10-16 16:36:36 +02:00
test_the.py Use unittest.TestCase for tests that don't require the dir setup 2025-05-26 12:40:38 +01:00
test_thumbnails.py Remove no-op decargs 2025-07-08 11:37:33 +01:00
test_types_plugin.py refactor: convert _types from class attributes to cached properties 2025-07-16 14:45:25 +01:00
test_web.py Replace assertCountEqual 2024-08-12 08:43:43 +01:00
test_zero.py Update CI config, minimum ruff version, docs and add changelog note 2024-12-10 06:10:03 +00:00