1
package org.jaudiotagger.tag.id3;
3
import org.jaudiotagger.AbstractTestCase;
4
import org.jaudiotagger.audio.mp3.MP3File;
5
import org.jaudiotagger.tag.id3.framebody.*;
6
import org.jaudiotagger.tag.id3.valuepair.TextEncoding;
9
import java.util.Iterator;
14
public class FrameTIPLTest extends AbstractTestCase
16
public static ID3v24Frame getInitialisedFrame()
18
ID3v24Frame frame = new ID3v24Frame(ID3v24Frames.FRAME_ID_INVOLVED_PEOPLE);
19
FrameBodyTIPL fb = FrameBodyTIPLTest.getInitialisedBody();
24
public static ID3v23Frame getV23InitialisedFrame()
26
ID3v23Frame frame = new ID3v23Frame(ID3v23Frames.FRAME_ID_V3_IPLS);
27
FrameBodyTIPL fb = FrameBodyTIPLTest.getInitialisedBody();
32
public void testCreateID3v24Frame()
34
Exception exceptionCaught = null;
35
ID3v24Frame frame = null;
36
FrameBodyTIPL fb = null;
39
frame = new ID3v24Frame(ID3v24Frames.FRAME_ID_INVOLVED_PEOPLE);
40
fb = FrameBodyTIPLTest.getInitialisedBody();
48
assertNull(exceptionCaught);
49
assertEquals(ID3v24Frames.FRAME_ID_INVOLVED_PEOPLE, frame.getIdentifier());
50
assertEquals(TextEncoding.ISO_8859_1, fb.getTextEncoding());
51
assertFalse(ID3v24Frames.getInstanceOf().isExtensionFrames(frame.getIdentifier()));
52
assertTrue(ID3v24Frames.getInstanceOf().isSupportedFrames(frame.getIdentifier()));
53
assertEquals(FrameBodyTIPLTest.INVOLVED_PEOPLE, fb.getText());
57
public void testCreateID3v23Frame()
59
Exception exceptionCaught = null;
60
ID3v23Frame frame = null;
61
FrameBodyTIPL fb = null;
64
frame = new ID3v23Frame(ID3v23Frames.FRAME_ID_V3_IPLS);
65
fb = FrameBodyTIPLTest.getInitialisedBody();
73
assertNull(exceptionCaught);
74
assertEquals(ID3v23Frames.FRAME_ID_V3_IPLS, frame.getIdentifier());
75
assertEquals(TextEncoding.ISO_8859_1, fb.getTextEncoding());
76
assertFalse(ID3v23Frames.getInstanceOf().isExtensionFrames(frame.getIdentifier()));
77
assertTrue(ID3v23Frames.getInstanceOf().isSupportedFrames(frame.getIdentifier()));
78
assertEquals(FrameBodyTIPLTest.INVOLVED_PEOPLE, fb.getText());
81
public void testSaveToFile() throws Exception
83
File testFile = AbstractTestCase.copyAudioToTmp("testV1.mp3",new File("test1016.mp3"));
84
MP3File mp3File = new MP3File(testFile);
87
ID3v24Tag tag = new ID3v24Tag();
88
tag.setFrame(FrameTIPLTest.getInitialisedFrame());
89
mp3File.setID3v2Tag(tag);
93
mp3File = new MP3File(testFile);
94
ID3v24Frame frame = (ID3v24Frame) mp3File.getID3v2Tag().getFrame(ID3v24Frames.FRAME_ID_INVOLVED_PEOPLE);
95
FrameBodyTIPL body = (FrameBodyTIPL) frame.getBody();
96
assertEquals(TextEncoding.ISO_8859_1, body.getTextEncoding());
99
public void testSaveEmptyFrameToFile() throws Exception
101
File testFile = AbstractTestCase.copyAudioToTmp("testV1.mp3",new File("test1004.mp3"));
102
MP3File mp3File = new MP3File(testFile);
104
ID3v24Frame frame = new ID3v24Frame(ID3v24Frames.FRAME_ID_INVOLVED_PEOPLE);
105
frame.setBody(new FrameBodyTIPL());
108
ID3v24Tag tag = new ID3v24Tag();
110
mp3File.setID3v2Tag(tag);
114
mp3File = new MP3File(testFile);
115
frame = (ID3v24Frame) mp3File.getID3v2Tag().getFrame(ID3v24Frames.FRAME_ID_INVOLVED_PEOPLE);
116
FrameBodyTIPL body = (FrameBodyTIPL) frame.getBody();
117
assertEquals(TextEncoding.ISO_8859_1, body.getTextEncoding());
120
public void testConvertV24ToV23() throws Exception
122
File testFile = AbstractTestCase.copyAudioToTmp("testV1.mp3",new File("test1005.mp3"));
123
MP3File mp3File = new MP3File(testFile);
126
ID3v24Tag tag = new ID3v24Tag();
127
tag.setFrame(FrameTIPLTest.getInitialisedFrame());
129
mp3File.setID3v2Tag(tag);
132
//Reload and convert to v23 and save
133
mp3File = new MP3File(testFile);
134
ID3v23Tag v23Tag = new ID3v23Tag(mp3File.getID3v2TagAsv24());
135
mp3File.setID3v2TagOnly(v23Tag);
137
Iterator i = v23Tag.getFields();
140
System.out.println(((ID3v23Frame)i.next()).getIdentifier());
145
mp3File = new MP3File(testFile);
146
ID3v23Frame frame = (ID3v23Frame) mp3File.getID3v2Tag().getFrame(ID3v23Frames.FRAME_ID_V3_IPLS);
147
FrameBodyIPLS body = (FrameBodyIPLS) frame.getBody();
148
assertEquals(TextEncoding.ISO_8859_1, body.getTextEncoding());
149
assertEquals(FrameBodyTIPLTest.INVOLVED_PEOPLE, body.getValueAtIndex(0));
1
package org.jaudiotagger.tag.id3;
3
import org.jaudiotagger.AbstractTestCase;
4
import org.jaudiotagger.audio.mp3.MP3File;
5
import org.jaudiotagger.tag.id3.framebody.*;
6
import org.jaudiotagger.tag.id3.valuepair.TextEncoding;
9
import java.util.Iterator;
14
public class FrameTIPLTest extends AbstractTestCase
16
public static ID3v24Frame getInitialisedFrame()
18
ID3v24Frame frame = new ID3v24Frame(ID3v24Frames.FRAME_ID_INVOLVED_PEOPLE);
19
FrameBodyTIPL fb = FrameBodyTIPLTest.getInitialisedBody();
24
public static ID3v24Frame getInitialisedFrameOdd()
26
ID3v24Frame frame = new ID3v24Frame(ID3v24Frames.FRAME_ID_INVOLVED_PEOPLE);
27
FrameBodyTIPL fb = FrameBodyTIPLTest.getInitialisedBodyOdd();
32
public static ID3v23Frame getV23InitialisedFrame()
34
ID3v23Frame frame = new ID3v23Frame(ID3v23Frames.FRAME_ID_V3_IPLS);
35
FrameBodyTIPL fb = FrameBodyTIPLTest.getInitialisedBody();
40
public void testCreateID3v24Frame()
42
Exception exceptionCaught = null;
43
ID3v24Frame frame = null;
44
FrameBodyTIPL fb = null;
47
frame = new ID3v24Frame(ID3v24Frames.FRAME_ID_INVOLVED_PEOPLE);
48
fb = FrameBodyTIPLTest.getInitialisedBody();
56
assertNull(exceptionCaught);
57
assertEquals(ID3v24Frames.FRAME_ID_INVOLVED_PEOPLE, frame.getIdentifier());
58
assertEquals(TextEncoding.ISO_8859_1, fb.getTextEncoding());
59
assertFalse(ID3v24Frames.getInstanceOf().isExtensionFrames(frame.getIdentifier()));
60
assertTrue(ID3v24Frames.getInstanceOf().isSupportedFrames(frame.getIdentifier()));
61
assertEquals(FrameBodyTIPLTest.INVOLVED_PEOPLE, fb.getText());
65
public void testCreateID3v23Frame()
67
Exception exceptionCaught = null;
68
ID3v23Frame frame = null;
69
FrameBodyTIPL fb = null;
72
frame = new ID3v23Frame(ID3v23Frames.FRAME_ID_V3_IPLS);
73
fb = FrameBodyTIPLTest.getInitialisedBody();
81
assertNull(exceptionCaught);
82
assertEquals(ID3v23Frames.FRAME_ID_V3_IPLS, frame.getIdentifier());
83
assertEquals(TextEncoding.ISO_8859_1, fb.getTextEncoding());
84
assertFalse(ID3v23Frames.getInstanceOf().isExtensionFrames(frame.getIdentifier()));
85
assertTrue(ID3v23Frames.getInstanceOf().isSupportedFrames(frame.getIdentifier()));
86
assertEquals(FrameBodyTIPLTest.INVOLVED_PEOPLE, fb.getText());
89
public void testSaveToFile() throws Exception
91
File testFile = AbstractTestCase.copyAudioToTmp("testV1.mp3",new File("test1016.mp3"));
92
MP3File mp3File = new MP3File(testFile);
95
ID3v24Tag tag = new ID3v24Tag();
96
tag.setFrame(FrameTIPLTest.getInitialisedFrame());
97
mp3File.setID3v2Tag(tag);
101
mp3File = new MP3File(testFile);
102
ID3v24Frame frame = (ID3v24Frame) mp3File.getID3v2Tag().getFrame(ID3v24Frames.FRAME_ID_INVOLVED_PEOPLE);
103
FrameBodyTIPL body = (FrameBodyTIPL) frame.getBody();
104
assertEquals(TextEncoding.ISO_8859_1, body.getTextEncoding());
107
public void testSaveToFileOdd() throws Exception
109
File testFile = AbstractTestCase.copyAudioToTmp("testV1.mp3",new File("test1016.mp3"));
110
MP3File mp3File = new MP3File(testFile);
113
ID3v24Tag tag = new ID3v24Tag();
114
tag.setFrame(FrameTIPLTest.getInitialisedFrameOdd());
115
mp3File.setID3v2Tag(tag);
119
mp3File = new MP3File(testFile);
120
ID3v24Frame frame = (ID3v24Frame) mp3File.getID3v2Tag().getFrame(ID3v24Frames.FRAME_ID_INVOLVED_PEOPLE);
121
FrameBodyTIPL body = (FrameBodyTIPL) frame.getBody();
122
assertEquals(TextEncoding.ISO_8859_1, body.getTextEncoding());
125
public void testSaveEmptyFrameToFile() throws Exception
127
File testFile = AbstractTestCase.copyAudioToTmp("testV1.mp3",new File("test1004.mp3"));
128
MP3File mp3File = new MP3File(testFile);
130
ID3v24Frame frame = new ID3v24Frame(ID3v24Frames.FRAME_ID_INVOLVED_PEOPLE);
131
frame.setBody(new FrameBodyTIPL());
134
ID3v24Tag tag = new ID3v24Tag();
136
mp3File.setID3v2Tag(tag);
140
mp3File = new MP3File(testFile);
141
frame = (ID3v24Frame) mp3File.getID3v2Tag().getFrame(ID3v24Frames.FRAME_ID_INVOLVED_PEOPLE);
142
FrameBodyTIPL body = (FrameBodyTIPL) frame.getBody();
143
assertEquals(TextEncoding.ISO_8859_1, body.getTextEncoding());
146
public void testConvertV24ToV23() throws Exception
148
File testFile = AbstractTestCase.copyAudioToTmp("testV1.mp3",new File("test1005.mp3"));
149
MP3File mp3File = new MP3File(testFile);
152
ID3v24Tag tag = new ID3v24Tag();
153
tag.setFrame(FrameTIPLTest.getInitialisedFrame());
155
mp3File.setID3v2Tag(tag);
158
//Reload and convert to v23 and save
159
mp3File = new MP3File(testFile);
160
ID3v23Tag v23Tag = new ID3v23Tag(mp3File.getID3v2TagAsv24());
161
mp3File.setID3v2TagOnly(v23Tag);
163
assertTrue(v23Tag.hasFrame("IPLS"));
167
mp3File = new MP3File(testFile);
168
ID3v23Frame frame = (ID3v23Frame) mp3File.getID3v2Tag().getFrame(ID3v23Frames.FRAME_ID_V3_IPLS);
169
FrameBodyIPLS body = (FrameBodyIPLS) frame.getBody();
170
assertEquals(TextEncoding.ISO_8859_1, body.getTextEncoding());
171
assertEquals(FrameBodyTIPLTest.INVOLVED_PEOPLE, body.getText());
172
assertEquals("producer", body.getKeyAtIndex(0));
173
assertEquals("eno,lanois", body.getValueAtIndex(0));
b'\\ No newline at end of file'