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

« back to all changes in this revision

Viewing changes to srctest/org/jaudiotagger/tag/id3/FrameTIPLTest.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.*;
6
 
import org.jaudiotagger.tag.id3.valuepair.TextEncoding;
7
 
 
8
 
import java.io.File;
9
 
import java.util.Iterator;
10
 
 
11
 
/**
12
 
 * Test TIPL Frame
13
 
 */
14
 
public class FrameTIPLTest extends AbstractTestCase
15
 
{
16
 
    public static ID3v24Frame getInitialisedFrame()
17
 
    {
18
 
        ID3v24Frame frame = new ID3v24Frame(ID3v24Frames.FRAME_ID_INVOLVED_PEOPLE);
19
 
        FrameBodyTIPL fb = FrameBodyTIPLTest.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_IPLS);
27
 
        FrameBodyTIPL fb = FrameBodyTIPLTest.getInitialisedBody();
28
 
        frame.setBody(fb);
29
 
        return frame;
30
 
    }
31
 
 
32
 
    public void testCreateID3v24Frame()
33
 
    {
34
 
        Exception exceptionCaught = null;
35
 
        ID3v24Frame frame = null;
36
 
        FrameBodyTIPL fb = null;
37
 
        try
38
 
        {
39
 
            frame = new ID3v24Frame(ID3v24Frames.FRAME_ID_INVOLVED_PEOPLE);
40
 
            fb = FrameBodyTIPLTest.getInitialisedBody();
41
 
            frame.setBody(fb);
42
 
        }
43
 
        catch (Exception e)
44
 
        {
45
 
            exceptionCaught = e;
46
 
        }
47
 
 
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());
54
 
 
55
 
    }
56
 
 
57
 
    public void testCreateID3v23Frame()
58
 
    {
59
 
        Exception exceptionCaught = null;
60
 
        ID3v23Frame frame = null;
61
 
        FrameBodyTIPL fb = null;
62
 
        try
63
 
        {
64
 
            frame = new ID3v23Frame(ID3v23Frames.FRAME_ID_V3_IPLS);
65
 
            fb = FrameBodyTIPLTest.getInitialisedBody();
66
 
            frame.setBody(fb);
67
 
        }
68
 
        catch (Exception e)
69
 
        {
70
 
            exceptionCaught = e;
71
 
        }
72
 
 
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());
79
 
    }
80
 
 
81
 
    public void testSaveToFile() throws Exception
82
 
    {
83
 
        File testFile = AbstractTestCase.copyAudioToTmp("testV1.mp3",new File("test1016.mp3"));
84
 
        MP3File mp3File = new MP3File(testFile);
85
 
 
86
 
        //Create and Save
87
 
        ID3v24Tag tag = new ID3v24Tag();
88
 
        tag.setFrame(FrameTIPLTest.getInitialisedFrame());
89
 
        mp3File.setID3v2Tag(tag);
90
 
        mp3File.save();
91
 
 
92
 
        //Reload
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());
97
 
    }
98
 
 
99
 
    public void testSaveEmptyFrameToFile() throws Exception
100
 
    {
101
 
        File testFile = AbstractTestCase.copyAudioToTmp("testV1.mp3",new File("test1004.mp3"));
102
 
        MP3File mp3File = new MP3File(testFile);
103
 
 
104
 
        ID3v24Frame frame = new ID3v24Frame(ID3v24Frames.FRAME_ID_INVOLVED_PEOPLE);
105
 
        frame.setBody(new FrameBodyTIPL());
106
 
 
107
 
        //Create and Save
108
 
        ID3v24Tag tag = new ID3v24Tag();
109
 
        tag.setFrame(frame);
110
 
        mp3File.setID3v2Tag(tag);
111
 
        mp3File.save();
112
 
 
113
 
        //Reload
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());
118
 
    }
119
 
 
120
 
    public void testConvertV24ToV23() throws Exception
121
 
    {
122
 
        File testFile = AbstractTestCase.copyAudioToTmp("testV1.mp3",new File("test1005.mp3"));
123
 
        MP3File mp3File = new MP3File(testFile);
124
 
 
125
 
        //Create and Save
126
 
        ID3v24Tag tag = new ID3v24Tag();
127
 
        tag.setFrame(FrameTIPLTest.getInitialisedFrame());
128
 
 
129
 
        mp3File.setID3v2Tag(tag);
130
 
        mp3File.save();
131
 
 
132
 
        //Reload and convert to v23 and save
133
 
        mp3File = new MP3File(testFile);
134
 
        ID3v23Tag v23Tag = new ID3v23Tag(mp3File.getID3v2TagAsv24());
135
 
        mp3File.setID3v2TagOnly(v23Tag);
136
 
 
137
 
        Iterator i = v23Tag.getFields();
138
 
        while(i.hasNext())
139
 
        {
140
 
            System.out.println(((ID3v23Frame)i.next()).getIdentifier());
141
 
        }
142
 
        mp3File.save();
143
 
 
144
 
        //Reload
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));
150
 
    }
 
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.*;
 
6
import org.jaudiotagger.tag.id3.valuepair.TextEncoding;
 
7
 
 
8
import java.io.File;
 
9
import java.util.Iterator;
 
10
 
 
11
/**
 
12
 * Test TIPL Frame
 
13
 */
 
14
public class FrameTIPLTest extends AbstractTestCase
 
15
{
 
16
    public static ID3v24Frame getInitialisedFrame()
 
17
    {
 
18
        ID3v24Frame frame = new ID3v24Frame(ID3v24Frames.FRAME_ID_INVOLVED_PEOPLE);
 
19
        FrameBodyTIPL fb = FrameBodyTIPLTest.getInitialisedBody();
 
20
        frame.setBody(fb);
 
21
        return frame;
 
22
    }
 
23
 
 
24
     public static ID3v24Frame getInitialisedFrameOdd()
 
25
    {
 
26
        ID3v24Frame frame = new ID3v24Frame(ID3v24Frames.FRAME_ID_INVOLVED_PEOPLE);
 
27
        FrameBodyTIPL fb = FrameBodyTIPLTest.getInitialisedBodyOdd();
 
28
        frame.setBody(fb);
 
29
        return frame;
 
30
    }
 
31
 
 
32
    public static ID3v23Frame getV23InitialisedFrame()
 
33
    {
 
34
        ID3v23Frame frame = new ID3v23Frame(ID3v23Frames.FRAME_ID_V3_IPLS);
 
35
        FrameBodyTIPL fb = FrameBodyTIPLTest.getInitialisedBody();
 
36
        frame.setBody(fb);
 
37
        return frame;
 
38
    }
 
39
 
 
40
    public void testCreateID3v24Frame()
 
41
    {
 
42
        Exception exceptionCaught = null;
 
43
        ID3v24Frame frame = null;
 
44
        FrameBodyTIPL fb = null;
 
45
        try
 
46
        {
 
47
            frame = new ID3v24Frame(ID3v24Frames.FRAME_ID_INVOLVED_PEOPLE);
 
48
            fb = FrameBodyTIPLTest.getInitialisedBody();
 
49
            frame.setBody(fb);
 
50
        }
 
51
        catch (Exception e)
 
52
        {
 
53
            exceptionCaught = e;
 
54
        }
 
55
 
 
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());
 
62
 
 
63
    }
 
64
 
 
65
    public void testCreateID3v23Frame()
 
66
    {
 
67
        Exception exceptionCaught = null;
 
68
        ID3v23Frame frame = null;
 
69
        FrameBodyTIPL fb = null;
 
70
        try
 
71
        {
 
72
            frame = new ID3v23Frame(ID3v23Frames.FRAME_ID_V3_IPLS);
 
73
            fb = FrameBodyTIPLTest.getInitialisedBody();
 
74
            frame.setBody(fb);
 
75
        }
 
76
        catch (Exception e)
 
77
        {
 
78
            exceptionCaught = e;
 
79
        }
 
80
 
 
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());
 
87
    }
 
88
 
 
89
    public void testSaveToFile() throws Exception
 
90
    {
 
91
        File testFile = AbstractTestCase.copyAudioToTmp("testV1.mp3",new File("test1016.mp3"));
 
92
        MP3File mp3File = new MP3File(testFile);
 
93
 
 
94
        //Create and Save
 
95
        ID3v24Tag tag = new ID3v24Tag();
 
96
        tag.setFrame(FrameTIPLTest.getInitialisedFrame());
 
97
        mp3File.setID3v2Tag(tag);
 
98
        mp3File.save();
 
99
 
 
100
        //Reload
 
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());
 
105
    }
 
106
 
 
107
    public void testSaveToFileOdd() throws Exception
 
108
    {
 
109
        File testFile = AbstractTestCase.copyAudioToTmp("testV1.mp3",new File("test1016.mp3"));
 
110
        MP3File mp3File = new MP3File(testFile);
 
111
 
 
112
        //Create and Save
 
113
        ID3v24Tag tag = new ID3v24Tag();
 
114
        tag.setFrame(FrameTIPLTest.getInitialisedFrameOdd());
 
115
        mp3File.setID3v2Tag(tag);
 
116
        mp3File.save();
 
117
 
 
118
        //Reload
 
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());
 
123
    }
 
124
 
 
125
    public void testSaveEmptyFrameToFile() throws Exception
 
126
    {
 
127
        File testFile = AbstractTestCase.copyAudioToTmp("testV1.mp3",new File("test1004.mp3"));
 
128
        MP3File mp3File = new MP3File(testFile);
 
129
 
 
130
        ID3v24Frame frame = new ID3v24Frame(ID3v24Frames.FRAME_ID_INVOLVED_PEOPLE);
 
131
        frame.setBody(new FrameBodyTIPL());
 
132
 
 
133
        //Create and Save
 
134
        ID3v24Tag tag = new ID3v24Tag();
 
135
        tag.setFrame(frame);
 
136
        mp3File.setID3v2Tag(tag);
 
137
        mp3File.save();
 
138
 
 
139
        //Reload
 
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());
 
144
    }
 
145
 
 
146
    public void testConvertV24ToV23() throws Exception
 
147
    {
 
148
        File testFile = AbstractTestCase.copyAudioToTmp("testV1.mp3",new File("test1005.mp3"));
 
149
        MP3File mp3File = new MP3File(testFile);
 
150
 
 
151
        //Create and Save
 
152
        ID3v24Tag tag = new ID3v24Tag();
 
153
        tag.setFrame(FrameTIPLTest.getInitialisedFrame());
 
154
 
 
155
        mp3File.setID3v2Tag(tag);
 
156
        mp3File.save();
 
157
 
 
158
        //Reload and convert to v23 and save
 
159
        mp3File = new MP3File(testFile);
 
160
        ID3v23Tag v23Tag = new ID3v23Tag(mp3File.getID3v2TagAsv24());
 
161
        mp3File.setID3v2TagOnly(v23Tag);
 
162
 
 
163
        assertTrue(v23Tag.hasFrame("IPLS"));
 
164
        mp3File.save();
 
165
 
 
166
        //Reload
 
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));
 
174
    }
151
175
}
 
 
b'\\ No newline at end of file'