]> gitweb.factorcode.org Git - factor.git/blob - extra/id3/id3-tests.factor
Merge git://github.com/inforichland/factor-id3 into inforichland
[factor.git] / extra / id3 / id3-tests.factor
1 ! Copyright (C) 2009 Tim Wawrzynczak
2 ! See http://factorcode.org/license.txt for BSD license.
3 USING: tools.test id3 ;
4 IN: id3.tests
5
6 [ T{ mp3v2-file
7      { header  T{ header f t 0 502 } }
8      { frames
9        {
10            T{ frame
11               { frame-id "COMM" }
12               { flags B{ 0 0 } }
13               { size 19 }
14               { data "eng, AG# 08E1C12E" }
15            }
16            T{ frame
17               { frame-id "TIT2" }
18               { flags B{ 0 0 } }
19               { size 15 }
20               { data "Stormy Weather" }
21            }
22            T{ frame
23               { frame-id "TRCK" }
24               { flags B{ 0 0 } }
25               { size 3 }
26               { data "32" }
27            }
28            T{ frame
29               { frame-id "TCON" }
30               { flags B{ 0 0 } }
31               { size 5 }
32               { data "(96)" }
33            }
34            T{ frame
35               { frame-id "TALB" }
36               { flags B{ 0 0 } }
37               { size 28 }
38               { data "Night and Day Frank Sinatra" }
39            }
40            T{ frame
41               { frame-id "PRIV" }
42               { flags B{ 0 0 } }
43               { size 39 }
44               { data "WM/MediaClassPrimaryID�}`�#��K�H�*(D" }
45            }
46            T{ frame
47               { frame-id "PRIV" }
48               { flags B{ 0 0 } }
49               { size 41 }
50               { data "WM/MediaClassSecondaryID" }
51            }
52            T{ frame
53               { frame-id "TPE1" }
54               { flags B{ 0 0 } }
55               { size 14 }
56               { data "Frank Sinatra" }
57            }
58        }
59      }
60 }
61 ] [ "resource:extra/id3/tests/blah3.mp3" id3-parse-mp3-file ] unit-test
62
63 [
64     T{ mp3v2-file
65     { header
66         T{ header { version t } { flags 0 } { size 1405 } }
67     }
68     { frames
69         {
70             T{ frame
71                 { frame-id "TIT2" }
72                 { flags B{ 0 0 } }
73                 { size 22 }
74                 { data "Anthem of the Trinity" }
75             }
76             T{ frame
77                 { frame-id "TPE1" }
78                 { flags B{ 0 0 } }
79                 { size 12 }
80                 { data "Terry Riley" }
81             }
82             T{ frame
83                 { frame-id "TALB" }
84                 { flags B{ 0 0 } }
85                 { size 11 }
86                 { data "Shri Camel" }
87             }
88             T{ frame
89                 { frame-id "TCON" }
90                 { flags B{ 0 0 } }
91                 { size 10 }
92                 { data "Classical" }
93             }
94             T{ frame
95                 { frame-id "UFID" }
96                 { flags B{ 0 0 } }
97                 { size 23 }
98                 { data "http://musicbrainz.org" }
99             }
100             T{ frame
101                 { frame-id "TXXX" }
102                 { flags B{ 0 0 } }
103                 { size 23 }
104                 { data "MusicBrainz Artist Id" }
105             }
106             T{ frame
107                 { frame-id "TXXX" }
108                 { flags B{ 0 0 } }
109                 { size 22 }
110                 { data "musicbrainz_artistid" }
111             }
112             T{ frame
113                 { frame-id "TRCK" }
114                 { flags B{ 0 0 } }
115                 { size 2 }
116                 { data "1" }
117             }
118             T{ frame
119                 { frame-id "TXXX" }
120                 { flags B{ 0 0 } }
121                 { size 22 }
122                 { data "MusicBrainz Album Id" }
123             }
124             T{ frame
125                 { frame-id "TXXX" }
126                 { flags B{ 0 0 } }
127                 { size 21 }
128                 { data "musicbrainz_albumid" }
129             }
130             T{ frame
131                 { frame-id "TXXX" }
132                 { flags B{ 0 0 } }
133                 { size 29 }
134                 { data "MusicBrainz Album Artist Id" }
135             }
136             T{ frame
137                 { frame-id "TXXX" }
138                 { flags B{ 0 0 } }
139                 { size 27 }
140                 { data "musicbrainz_albumartistid" }
141             }
142             T{ frame
143                 { frame-id "TPOS" }
144                 { flags B{ 0 0 } }
145                 { size 2 }
146                 { data "1" }
147             }
148             T{ frame
149                 { frame-id "TSOP" }
150                 { flags B{ 0 0 } }
151                 { size 1 }
152             }
153             T{ frame
154                 { frame-id "TMED" }
155                 { flags B{ 0 0 } }
156                 { size 4 }
157                 { data "DIG" }
158             }
159         }
160     }
161 }
162 ] [ "resource:extra/id3/tests/blah2.mp3" id3-parse-mp3-file ] unit-test
163
164 [    
165   T{ mp3v1-file
166      { title
167        "BLAH\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
168      }
169      { artist
170        "ARTIST\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
171      }
172      { album
173        "ALBUM\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
174      }
175      { year "2009" }
176      { comment
177        "COMMENT\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
178      }
179      { genre 89 }
180   }
181 ] [ "resource:extra/id3/tests/blah.mp3" id3-parse-mp3-file ] unit-test
182