~ubuntu-branches/ubuntu/utopic/libjaudiotagger-java/utopic

« back to all changes in this revision

Viewing changes to srctest/org/jaudiotagger/tag/id3/FrameTSOCTest.java

  • Committer: Bazaar Package Importer
  • Author(s): Damien Raude-Morvan
  • Date: 2011-04-28 23:52:43 UTC
  • mfrom: (3.1.4 sid)
  • Revision ID: james.westby@ubuntu.com-20110428235243-pzalvw6lncis3ukf
Tags: 2.0.3-1
* d/control: Drop Depends on default-jre per Debian Java Policy as its
  a library package.
* d/watch: Fix to directly monitor SVN tags.
* Switch to 3.0 (quilt) format.
* Bump Standards-Version to 3.9.2 (no changes needed).

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
package org.jaudiotagger.tag.id3;
2
 
 
3
 
import org.jaudiotagger.AbstractTestCase;
4
 
import org.jaudiotagger.audio.mp3.MP3File;
5
 
import org.jaudiotagger.tag.id3.framebody.FrameBodyTSOC;
6
 
import org.jaudiotagger.tag.id3.framebody.FrameBodyTSOCTest;
7
 
import org.jaudiotagger.tag.id3.valuepair.TextEncoding;
8
 
 
9
 
import java.io.File;
10
 
 
11
 
/**
12
 
 * Test TSOC  Frame
13
 
 */
14
 
public class FrameTSOCTest extends AbstractTestCase
15
 
{
16
 
    public static ID3v24Frame getV24InitialisedFrame()
17
 
    {
18
 
        ID3v24Frame frame = new ID3v24Frame(ID3v24Frames.FRAME_ID_COMPOSER_SORT_ORDER_ITUNES);
19
 
        FrameBodyTSOC fb = FrameBodyTSOCTest.getInitialisedBody();
20
 
        frame.setBody(fb);
21
 
        return frame;
22
 
    }
23
 
 
24
 
    public static ID3v23Frame getV23InitialisedFrame()
25
 
    {
26
 
        ID3v23Frame frame = new ID3v23Frame(ID3v23Frames.FRAME_ID_V3_COMPOSER_SORT_ORDER_ITUNES);
27
 
        FrameBodyTSOC fb = FrameBodyTSOCTest.getInitialisedBody();
28
 
        frame.setBody(fb);
29
 
        return frame;
30
 
    }
31
 
 
32
 
    public static ID3v22Frame getV22InitialisedFrame()
33
 
    {
34
 
        ID3v22Frame frame = new ID3v22Frame(ID3v22Frames.FRAME_ID_V2_COMPOSER_SORT_ORDER_ITUNES);
35
 
        FrameBodyTSOC fb = FrameBodyTSOCTest.getInitialisedBody();
36
 
        frame.setBody(fb);
37
 
        return frame;
38
 
    }
39
 
 
40
 
    public void testCreateID3v24Frame()
41
 
    {
42
 
        Exception exceptionCaught = null;
43
 
        ID3v24Frame frame = null;
44
 
        try
45
 
        {
46
 
            frame = getV24InitialisedFrame();
47
 
        }
48
 
        catch (Exception e)
49
 
        {
50
 
            exceptionCaught = e;
51
 
        }
52
 
 
53
 
        assertNull(exceptionCaught);
54
 
        assertEquals(ID3v24Frames.FRAME_ID_COMPOSER_SORT_ORDER_ITUNES, frame.getIdentifier());
55
 
        assertEquals(TextEncoding.ISO_8859_1, frame.getBody().getTextEncoding());
56
 
        assertTrue(ID3v24Frames.getInstanceOf().isExtensionFrames(frame.getIdentifier()));
57
 
        assertFalse(ID3v24Frames.getInstanceOf().isSupportedFrames(frame.getIdentifier()));
58
 
        assertEquals(FrameBodyTSOCTest.COMPOSER_SORT, ((FrameBodyTSOC) frame.getBody()).getText());
59
 
 
60
 
    }
61
 
 
62
 
 
63
 
    public void testCreateID3v23Frame()
64
 
    {
65
 
        Exception exceptionCaught = null;
66
 
        ID3v23Frame frame = null;
67
 
 
68
 
        try
69
 
        {
70
 
            frame = getV23InitialisedFrame();
71
 
        }
72
 
        catch (Exception e)
73
 
        {
74
 
            exceptionCaught = e;
75
 
        }
76
 
 
77
 
        assertNull(exceptionCaught);
78
 
        assertEquals(ID3v23Frames.FRAME_ID_V3_COMPOSER_SORT_ORDER_ITUNES, frame.getIdentifier());
79
 
        assertEquals(TextEncoding.ISO_8859_1, frame.getBody().getTextEncoding());
80
 
        assertTrue(ID3v23Frames.getInstanceOf().isExtensionFrames(frame.getIdentifier()));
81
 
        assertFalse(ID3v23Frames.getInstanceOf().isSupportedFrames(frame.getIdentifier()));
82
 
        assertEquals(FrameBodyTSOCTest.COMPOSER_SORT, ((FrameBodyTSOC) frame.getBody()).getText());
83
 
 
84
 
    }
85
 
 
86
 
    public void testCreateID3v22Frame()
87
 
    {
88
 
        Exception exceptionCaught = null;
89
 
        ID3v22Frame frame = null;
90
 
 
91
 
        try
92
 
        {
93
 
            frame = getV22InitialisedFrame();
94
 
        }
95
 
        catch (Exception e)
96
 
        {
97
 
            exceptionCaught = e;
98
 
        }
99
 
 
100
 
        assertNull(exceptionCaught);
101
 
        assertEquals(ID3v22Frames.FRAME_ID_V2_COMPOSER_SORT_ORDER_ITUNES, frame.getIdentifier());
102
 
        assertEquals(TextEncoding.ISO_8859_1, frame.getBody().getTextEncoding());
103
 
        assertTrue(ID3v22Frames.getInstanceOf().isExtensionFrames(frame.getIdentifier()));
104
 
        assertFalse(ID3v22Frames.getInstanceOf().isSupportedFrames(frame.getIdentifier()));
105
 
        assertEquals(FrameBodyTSOCTest.COMPOSER_SORT, ((FrameBodyTSOC) frame.getBody()).getText());
106
 
 
107
 
 
108
 
    }
109
 
 
110
 
    public void testSaveToFile() throws Exception
111
 
    {
112
 
        File testFile = AbstractTestCase.copyAudioToTmp("testV1.mp3");
113
 
        MP3File mp3File = new MP3File(testFile);
114
 
 
115
 
        //Create and Save
116
 
        ID3v24Tag tag = new ID3v24Tag();
117
 
        tag.setFrame(getV24InitialisedFrame());
118
 
        mp3File.setID3v2Tag(tag);
119
 
        mp3File.save();
120
 
 
121
 
        //Reload
122
 
        mp3File = new MP3File(testFile);
123
 
        ID3v24Frame frame = (ID3v24Frame) mp3File.getID3v2Tag().getFrame(ID3v24Frames.FRAME_ID_COMPOSER_SORT_ORDER_ITUNES);
124
 
        FrameBodyTSOC body = (FrameBodyTSOC) frame.getBody();
125
 
        assertEquals(TextEncoding.ISO_8859_1, body.getTextEncoding());
126
 
    }
127
 
 
128
 
 
129
 
    public void testConvertV24ToV23() throws Exception
130
 
    {
131
 
        File testFile = AbstractTestCase.copyAudioToTmp("testV1.mp3");
132
 
        MP3File mp3File = new MP3File(testFile);
133
 
 
134
 
        //Create and Save
135
 
        ID3v24Tag tag = new ID3v24Tag();
136
 
        tag.setFrame(getV24InitialisedFrame());
137
 
 
138
 
        mp3File.setID3v2Tag(tag);
139
 
        mp3File.save();
140
 
 
141
 
        //Reload and convert to v23 and save
142
 
        mp3File = new MP3File(testFile);
143
 
        mp3File.setID3v2TagOnly(new ID3v23Tag(mp3File.getID3v2TagAsv24()));
144
 
        mp3File.save();
145
 
 
146
 
        //Reload
147
 
        mp3File = new MP3File(testFile);
148
 
        ID3v23Frame frame = (ID3v23Frame) mp3File.getID3v2Tag().getFrame(ID3v23Frames.FRAME_ID_V3_COMPOSER_SORT_ORDER_ITUNES);
149
 
        FrameBodyTSOC body = (FrameBodyTSOC) frame.getBody();
150
 
        assertEquals(TextEncoding.ISO_8859_1, body.getTextEncoding());
151
 
        assertEquals(FrameBodyTSOCTest.COMPOSER_SORT, body.getText());
152
 
    }
153
 
 
154
 
    public void testConvertV24ToV22() throws Exception
155
 
    {
156
 
        File testFile = AbstractTestCase.copyAudioToTmp("testV1.mp3");
157
 
        MP3File mp3File = new MP3File(testFile);
158
 
 
159
 
        //Create and Save
160
 
        ID3v24Tag tag = new ID3v24Tag();
161
 
        tag.setFrame(FrameTSOCTest.getV24InitialisedFrame());
162
 
 
163
 
        mp3File.setID3v2Tag(tag);
164
 
        mp3File.save();
165
 
 
166
 
        //Reload and convert to v22 and save
167
 
        mp3File = new MP3File(testFile);
168
 
        mp3File.setID3v2TagOnly(new ID3v22Tag(mp3File.getID3v2TagAsv24()));
169
 
        mp3File.save();
170
 
 
171
 
        //Reload
172
 
        mp3File = new MP3File(testFile);
173
 
        ID3v22Frame frame = (ID3v22Frame) mp3File.getID3v2Tag().getFrame(ID3v22Frames.FRAME_ID_V2_COMPOSER_SORT_ORDER_ITUNES);
174
 
        FrameBodyTSOC body = (FrameBodyTSOC) frame.getBody();
175
 
        assertEquals(TextEncoding.ISO_8859_1, body.getTextEncoding());
176
 
        assertEquals(FrameBodyTSOCTest.COMPOSER_SORT, body.getText());
177
 
    }
178
 
 
179
 
    public void testConvertV23ToV22() throws Exception
180
 
    {
181
 
        File testFile = AbstractTestCase.copyAudioToTmp("testV1.mp3");
182
 
        MP3File mp3File = new MP3File(testFile);
183
 
 
184
 
        //Create and Save
185
 
        ID3v23Tag tag = new ID3v23Tag();
186
 
        tag.setFrame(FrameTSOCTest.getV23InitialisedFrame());
187
 
 
188
 
        mp3File.setID3v2TagOnly((ID3v23Tag) tag);
189
 
        mp3File.save();
190
 
 
191
 
        //Reload and convert from v23 to v22 and save
192
 
        mp3File = new MP3File(testFile);
193
 
        mp3File.setID3v2TagOnly(new ID3v22Tag(mp3File.getID3v2Tag()));
194
 
        mp3File.save();
195
 
 
196
 
        //Reload
197
 
        mp3File = new MP3File(testFile);
198
 
        ID3v22Frame frame = (ID3v22Frame) mp3File.getID3v2Tag().getFrame(ID3v22Frames.FRAME_ID_V2_COMPOSER_SORT_ORDER_ITUNES);
199
 
        FrameBodyTSOC body = (FrameBodyTSOC) frame.getBody();
200
 
        assertEquals(TextEncoding.ISO_8859_1, body.getTextEncoding());
201
 
        assertEquals(FrameBodyTSOCTest.COMPOSER_SORT, body.getText());
202
 
    }
203
 
 
204
 
 
205
 
    public void testConvertV22ToV24() throws Exception
206
 
    {
207
 
        File testFile = AbstractTestCase.copyAudioToTmp("testV1.mp3");
208
 
        MP3File mp3File = new MP3File(testFile);
209
 
 
210
 
        //Create and Save
211
 
        ID3v22Tag tag = new ID3v22Tag();
212
 
 
213
 
        //..Notes (uses v22Frame but frame body will be the v23/24 version)
214
 
        ID3v22Frame id3v22frame = new ID3v22Frame(ID3v22Frames.FRAME_ID_V2_COMPOSER_SORT_ORDER_ITUNES);
215
 
        ((FrameBodyTSOC) id3v22frame.getBody()).setText(FrameBodyTSOCTest.COMPOSER_SORT);
216
 
        tag.setFrame(id3v22frame);
217
 
 
218
 
        mp3File.setID3v2TagOnly((ID3v22Tag) tag);
219
 
        mp3File.save();
220
 
 
221
 
        //Reload and convert from v22 to v24 and save
222
 
        mp3File = new MP3File(testFile);
223
 
        mp3File.setID3v2TagOnly(new ID3v24Tag(mp3File.getID3v2Tag()));
224
 
        mp3File.save();
225
 
 
226
 
        //Reload
227
 
        mp3File = new MP3File(testFile);
228
 
        ID3v24Frame frame = (ID3v24Frame) mp3File.getID3v2Tag().getFrame(ID3v24Frames.FRAME_ID_COMPOSER_SORT_ORDER_ITUNES);
229
 
        FrameBodyTSOC body = (FrameBodyTSOC) frame.getBody();
230
 
        assertEquals(TextEncoding.ISO_8859_1, body.getTextEncoding());
231
 
        assertEquals(FrameBodyTSOCTest.COMPOSER_SORT, body.getText());
232
 
    }
233
 
}
 
1
package org.jaudiotagger.tag.id3;
 
2
 
 
3
import org.jaudiotagger.AbstractTestCase;
 
4
import org.jaudiotagger.audio.mp3.MP3File;
 
5
import org.jaudiotagger.tag.id3.framebody.FrameBodyTSOC;
 
6
import org.jaudiotagger.tag.id3.framebody.FrameBodyTSOCTest;
 
7
import org.jaudiotagger.tag.id3.valuepair.TextEncoding;
 
8
 
 
9
import java.io.File;
 
10
 
 
11
/**
 
12
 * Test TSOC  Frame
 
13
 */
 
14
public class FrameTSOCTest extends AbstractTestCase
 
15
{
 
16
    public static ID3v24Frame getV24InitialisedFrame()
 
17
    {
 
18
        ID3v24Frame frame = new ID3v24Frame(ID3v24Frames.FRAME_ID_COMPOSER_SORT_ORDER_ITUNES);
 
19
        FrameBodyTSOC fb = FrameBodyTSOCTest.getInitialisedBody();
 
20
        frame.setBody(fb);
 
21
        return frame;
 
22
    }
 
23
 
 
24
    public static ID3v23Frame getV23InitialisedFrame()
 
25
    {
 
26
        ID3v23Frame frame = new ID3v23Frame(ID3v23Frames.FRAME_ID_V3_COMPOSER_SORT_ORDER_ITUNES);
 
27
        FrameBodyTSOC fb = FrameBodyTSOCTest.getInitialisedBody();
 
28
        frame.setBody(fb);
 
29
        return frame;
 
30
    }
 
31
 
 
32
    public static ID3v22Frame getV22InitialisedFrame()
 
33
    {
 
34
        ID3v22Frame frame = new ID3v22Frame(ID3v22Frames.FRAME_ID_V2_COMPOSER_SORT_ORDER_ITUNES);
 
35
        FrameBodyTSOC fb = FrameBodyTSOCTest.getInitialisedBody();
 
36
        frame.setBody(fb);
 
37
        return frame;
 
38
    }
 
39
 
 
40
    public void testCreateID3v24Frame()
 
41
    {
 
42
        Exception exceptionCaught = null;
 
43
        ID3v24Frame frame = null;
 
44
        try
 
45
        {
 
46
            frame = getV24InitialisedFrame();
 
47
        }
 
48
        catch (Exception e)
 
49
        {
 
50
            exceptionCaught = e;
 
51
        }
 
52
 
 
53
        assertNull(exceptionCaught);
 
54
        assertEquals(ID3v24Frames.FRAME_ID_COMPOSER_SORT_ORDER_ITUNES, frame.getIdentifier());
 
55
        assertEquals(TextEncoding.ISO_8859_1, frame.getBody().getTextEncoding());
 
56
        assertTrue(ID3v24Frames.getInstanceOf().isExtensionFrames(frame.getIdentifier()));
 
57
        assertFalse(ID3v24Frames.getInstanceOf().isSupportedFrames(frame.getIdentifier()));
 
58
        assertEquals(FrameBodyTSOCTest.COMPOSER_SORT, ((FrameBodyTSOC) frame.getBody()).getText());
 
59
 
 
60
    }
 
61
 
 
62
 
 
63
    public void testCreateID3v23Frame()
 
64
    {
 
65
        Exception exceptionCaught = null;
 
66
        ID3v23Frame frame = null;
 
67
 
 
68
        try
 
69
        {
 
70
            frame = getV23InitialisedFrame();
 
71
        }
 
72
        catch (Exception e)
 
73
        {
 
74
            exceptionCaught = e;
 
75
        }
 
76
 
 
77
        assertNull(exceptionCaught);
 
78
        assertEquals(ID3v23Frames.FRAME_ID_V3_COMPOSER_SORT_ORDER_ITUNES, frame.getIdentifier());
 
79
        assertEquals(TextEncoding.ISO_8859_1, frame.getBody().getTextEncoding());
 
80
        assertTrue(ID3v23Frames.getInstanceOf().isExtensionFrames(frame.getIdentifier()));
 
81
        assertFalse(ID3v23Frames.getInstanceOf().isSupportedFrames(frame.getIdentifier()));
 
82
        assertEquals(FrameBodyTSOCTest.COMPOSER_SORT, ((FrameBodyTSOC) frame.getBody()).getText());
 
83
 
 
84
    }
 
85
 
 
86
    public void testCreateID3v22Frame()
 
87
    {
 
88
        Exception exceptionCaught = null;
 
89
        ID3v22Frame frame = null;
 
90
 
 
91
        try
 
92
        {
 
93
            frame = getV22InitialisedFrame();
 
94
        }
 
95
        catch (Exception e)
 
96
        {
 
97
            exceptionCaught = e;
 
98
        }
 
99
 
 
100
        assertNull(exceptionCaught);
 
101
        assertEquals(ID3v22Frames.FRAME_ID_V2_COMPOSER_SORT_ORDER_ITUNES, frame.getIdentifier());
 
102
        assertEquals(TextEncoding.ISO_8859_1, frame.getBody().getTextEncoding());
 
103
        assertTrue(ID3v22Frames.getInstanceOf().isExtensionFrames(frame.getIdentifier()));
 
104
        assertFalse(ID3v22Frames.getInstanceOf().isSupportedFrames(frame.getIdentifier()));
 
105
        assertEquals(FrameBodyTSOCTest.COMPOSER_SORT, ((FrameBodyTSOC) frame.getBody()).getText());
 
106
 
 
107
 
 
108
    }
 
109
 
 
110
    public void testSaveToFile() throws Exception
 
111
    {
 
112
        File testFile = AbstractTestCase.copyAudioToTmp("testV1.mp3");
 
113
        MP3File mp3File = new MP3File(testFile);
 
114
 
 
115
        //Create and Save
 
116
        ID3v24Tag tag = new ID3v24Tag();
 
117
        tag.setFrame(getV24InitialisedFrame());
 
118
        mp3File.setID3v2Tag(tag);
 
119
        mp3File.save();
 
120
 
 
121
        //Reload
 
122
        mp3File = new MP3File(testFile);
 
123
        ID3v24Frame frame = (ID3v24Frame) mp3File.getID3v2Tag().getFrame(ID3v24Frames.FRAME_ID_COMPOSER_SORT_ORDER_ITUNES);
 
124
        FrameBodyTSOC body = (FrameBodyTSOC) frame.getBody();
 
125
        assertEquals(TextEncoding.ISO_8859_1, body.getTextEncoding());
 
126
    }
 
127
 
 
128
 
 
129
    public void testConvertV24ToV23() throws Exception
 
130
    {
 
131
        File testFile = AbstractTestCase.copyAudioToTmp("testV1.mp3");
 
132
        MP3File mp3File = new MP3File(testFile);
 
133
 
 
134
        //Create and Save
 
135
        ID3v24Tag tag = new ID3v24Tag();
 
136
        tag.setFrame(getV24InitialisedFrame());
 
137
 
 
138
        mp3File.setID3v2Tag(tag);
 
139
        mp3File.save();
 
140
 
 
141
        //Reload and convert to v23 and save
 
142
        mp3File = new MP3File(testFile);
 
143
        mp3File.setID3v2TagOnly(new ID3v23Tag(mp3File.getID3v2TagAsv24()));
 
144
        mp3File.save();
 
145
 
 
146
        //Reload
 
147
        mp3File = new MP3File(testFile);
 
148
        ID3v23Frame frame = (ID3v23Frame) mp3File.getID3v2Tag().getFrame(ID3v23Frames.FRAME_ID_V3_COMPOSER_SORT_ORDER_ITUNES);
 
149
        FrameBodyTSOC body = (FrameBodyTSOC) frame.getBody();
 
150
        assertEquals(TextEncoding.ISO_8859_1, body.getTextEncoding());
 
151
        assertEquals(FrameBodyTSOCTest.COMPOSER_SORT, body.getText());
 
152
    }
 
153
 
 
154
    public void testConvertV24ToV22() throws Exception
 
155
    {
 
156
        File testFile = AbstractTestCase.copyAudioToTmp("testV1.mp3");
 
157
        MP3File mp3File = new MP3File(testFile);
 
158
 
 
159
        //Create and Save
 
160
        ID3v24Tag tag = new ID3v24Tag();
 
161
        tag.setFrame(FrameTSOCTest.getV24InitialisedFrame());
 
162
 
 
163
        mp3File.setID3v2Tag(tag);
 
164
        mp3File.save();
 
165
 
 
166
        //Reload and convert to v22 and save
 
167
        mp3File = new MP3File(testFile);
 
168
        mp3File.setID3v2TagOnly(new ID3v22Tag(mp3File.getID3v2TagAsv24()));
 
169
        mp3File.save();
 
170
 
 
171
        //Reload
 
172
        mp3File = new MP3File(testFile);
 
173
        ID3v22Frame frame = (ID3v22Frame) mp3File.getID3v2Tag().getFrame(ID3v22Frames.FRAME_ID_V2_COMPOSER_SORT_ORDER_ITUNES);
 
174
        FrameBodyTSOC body = (FrameBodyTSOC) frame.getBody();
 
175
        assertEquals(TextEncoding.ISO_8859_1, body.getTextEncoding());
 
176
        assertEquals(FrameBodyTSOCTest.COMPOSER_SORT, body.getText());
 
177
    }
 
178
 
 
179
    public void testConvertV23ToV22() throws Exception
 
180
    {
 
181
        File testFile = AbstractTestCase.copyAudioToTmp("testV1.mp3");
 
182
        MP3File mp3File = new MP3File(testFile);
 
183
 
 
184
        //Create and Save
 
185
        ID3v23Tag tag = new ID3v23Tag();
 
186
        tag.setFrame(FrameTSOCTest.getV23InitialisedFrame());
 
187
 
 
188
        mp3File.setID3v2TagOnly((ID3v23Tag) tag);
 
189
        mp3File.save();
 
190
 
 
191
        //Reload and convert from v23 to v22 and save
 
192
        mp3File = new MP3File(testFile);
 
193
        mp3File.setID3v2TagOnly(new ID3v22Tag(mp3File.getID3v2Tag()));
 
194
        mp3File.save();
 
195
 
 
196
        //Reload
 
197
        mp3File = new MP3File(testFile);
 
198
        ID3v22Frame frame = (ID3v22Frame) mp3File.getID3v2Tag().getFrame(ID3v22Frames.FRAME_ID_V2_COMPOSER_SORT_ORDER_ITUNES);
 
199
        FrameBodyTSOC body = (FrameBodyTSOC) frame.getBody();
 
200
        assertEquals(TextEncoding.ISO_8859_1, body.getTextEncoding());
 
201
        assertEquals(FrameBodyTSOCTest.COMPOSER_SORT, body.getText());
 
202
    }
 
203
 
 
204
 
 
205
    public void testConvertV22ToV24() throws Exception
 
206
    {
 
207
        File testFile = AbstractTestCase.copyAudioToTmp("testV1.mp3");
 
208
        MP3File mp3File = new MP3File(testFile);
 
209
 
 
210
        //Create and Save
 
211
        ID3v22Tag tag = new ID3v22Tag();
 
212
 
 
213
        //..Notes (uses v22Frame but frame body will be the v23/24 version)
 
214
        ID3v22Frame id3v22frame = new ID3v22Frame(ID3v22Frames.FRAME_ID_V2_COMPOSER_SORT_ORDER_ITUNES);
 
215
        ((FrameBodyTSOC) id3v22frame.getBody()).setText(FrameBodyTSOCTest.COMPOSER_SORT);
 
216
        tag.setFrame(id3v22frame);
 
217
 
 
218
        mp3File.setID3v2TagOnly((ID3v22Tag) tag);
 
219
        mp3File.save();
 
220
 
 
221
        //Reload and convert from v22 to v24 and save
 
222
        mp3File = new MP3File(testFile);
 
223
        mp3File.setID3v2TagOnly(new ID3v24Tag(mp3File.getID3v2Tag()));
 
224
        mp3File.save();
 
225
 
 
226
        //Reload
 
227
        mp3File = new MP3File(testFile);
 
228
        ID3v24Frame frame = (ID3v24Frame) mp3File.getID3v2Tag().getFrame(ID3v24Frames.FRAME_ID_COMPOSER_SORT_ORDER_ITUNES);
 
229
        FrameBodyTSOC body = (FrameBodyTSOC) frame.getBody();
 
230
        assertEquals(TextEncoding.ISO_8859_1, body.getTextEncoding());
 
231
        assertEquals(FrameBodyTSOCTest.COMPOSER_SORT, body.getText());
 
232
    }
 
233
}