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
lyrics_pages.py Remove dead chartlyrics 2025-05-31 19:17:43 +01:00
test_acousticbrainz.py
test_advancedrewrite.py
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
test_autobpm.py
test_bareasc.py
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
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
test_filefilter.py
test_ftintitle.py
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
test_ipfs.py Say bye to util._fsencoding 2025-04-21 12:41:57 +01:00
test_keyfinder.py
test_lastgenre.py Use BeetsTestCase for lastgenre tests, re-use the defined config 2025-05-26 13:05:40 +01:00
test_limit.py
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
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
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
test_plugin_mediafield.py Reformat the codebase 2024-09-21 11:57:48 +01:00
test_random.py
test_replace.py Feat: Add replace plugin (#5644) 2025-05-27 00:17:52 +02:00
test_replaygain.py
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
test_zero.py