@@ -952,6 +952,71 @@ class AIFFTest(ReadWriteTestBase, unittest.TestCase):
952952 }
953953
954954
955+ class WAVETest (ReadWriteTestBase , unittest .TestCase ):
956+ extension = 'wav'
957+ audio_properties = {
958+ 'length' : 1.0 ,
959+ 'bitrate' : 88200 ,
960+ 'format' : u'WAVE' ,
961+ 'samplerate' : 44100 ,
962+ 'bitdepth' : 16 ,
963+ 'channels' : 1 ,
964+ }
965+
966+ full_initial_tags = {
967+ 'title' : u'full' ,
968+ 'artist' : u'the artist' ,
969+ 'album' : u'the album' ,
970+ 'genre' : u'the genre' ,
971+ 'track' : 2 ,
972+ 'tracktotal' : 3 ,
973+ }
974+
975+ tag_fields = [
976+ 'title' ,
977+ 'artist' ,
978+ 'album' ,
979+ 'genre' ,
980+ 'track' ,
981+ 'original_year' ,
982+ 'original_month' ,
983+ 'original_day' ,
984+ 'original_date' ,
985+ ]
986+
987+ # Only a small subset of fields are supported by LIST/INFO
988+ # metadata format in WAVE, so some fields have been removed
989+ # from the inherited test cases below. Concerned fields are
990+ # commented above each test case.
991+
992+ # Missing fields: disc, disctotal
993+ def test_write_counters_without_total (self ):
994+ mediafile = self ._mediafile_fixture ('full' )
995+ self .assertEqual (mediafile .track , 2 )
996+ self .assertEqual (mediafile .tracktotal , 3 )
997+
998+ # Missing fields: date, year
999+ def test_delete_year (self ):
1000+ mediafile = self ._mediafile_fixture ('full' )
1001+
1002+ self .assertIsNotNone (mediafile .original_year )
1003+
1004+ delattr (mediafile , 'original_year' )
1005+ mediafile .save ()
1006+ mediafile = MediaFile (mediafile .filename )
1007+ self .assertIsNone (mediafile .original_year )
1008+
1009+ # Missing fields: disctotal
1010+ def test_delete_packed_total (self ):
1011+ mediafile = self ._mediafile_fixture ('full' )
1012+
1013+ delattr (mediafile , 'tracktotal' )
1014+
1015+ mediafile .save ()
1016+ mediafile = MediaFile (mediafile .filename )
1017+ self .assertEqual (mediafile .track , self .full_initial_tags ['track' ])
1018+
1019+
9551020# Check whether we have a Mutagen version with DSF support. We can
9561021# remove this once we require a version that includes the feature.
9571022try :
0 commit comments