1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
|
// Copyright Frerich Raabe <raabe@kde.org>.
// This notice was added by Michael Pyne <michael.pyne@kdemail.net>
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
//
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. Redistributions in binary form must reproduce the above copyright
// notice, this list of conditions and the following disclaimer in the
// documentation and/or other materials provided with the distribution.
//
// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#include "tagguesser.h"
#include <tdeaboutdata.h>
#include <tdecmdlineargs.h>
#include <tdeapplication.h>
#include <tqdir.h>
#include <iostream>
#include <stdlib.h>
using std::cout;
using std::endl;
void check( const TQString &filename, const TQString &title,
const TQString &artist, const TQString &track,
const TQString &comment, const TQString &album = TQString() )
{
cout << "Checking " << filename.latin1() << "...";
TagGuesser guesser( filename );
if ( guesser.title() != title ) {
cout << "Error: In filename " << filename.latin1() << ", expected title " << title.latin1() << ", got title " << guesser.title().latin1() << endl;
exit( 1 );
}
if ( guesser.artist() != artist ) {
cout << "Error: In filename " << filename.latin1() << ", expected artist " << artist.latin1() << ", got artist " << guesser.artist().latin1() << endl;
exit( 1 );
}
if ( guesser.track() != track ) {
cout << "Error: In filename " << filename.latin1() << ", expected track " << track.latin1() << ", got track " << guesser.track().latin1() << endl;
exit( 1 );
}
if ( guesser.comment() != comment ) {
cout << "Error: In filename " << filename.latin1() << ", expected comment " << comment.latin1() << ", got comment " << guesser.comment().latin1() << endl;
exit( 1 );
}
if ( guesser.album() != album ) {
cout << "Error: In filename " << filename.latin1() << ", expected album " << album.latin1() << ", got album " << guesser.album().latin1() << endl;
exit( 1 );
}
cout << "OK" << endl;
}
int main( int argc, char **argv )
{
TDEAboutData aboutData("tagguessertest", "tagguessertest", "0.1");
TDECmdLineArgs::init(argc, argv, &aboutData);
TDEApplication app;
check( "/home/frerich/Chemical Brothers - (01) - Block rockin' beats [Live].mp3",
"Block Rockin' Beats", "Chemical Brothers", "01", "Live" );
check( "/home/frerich/Chemical Brothers - (01) - Block rockin' beats (Live).mp3",
"Block Rockin' Beats", "Chemical Brothers", "01", "Live" );
check( "/home/frerich/Chemical Brothers - (01) - Block rockin' beats.mp3",
"Block Rockin' Beats", "Chemical Brothers", "01", TQString() );
check( "/home/frerich/Chemical Brothers - [01] - Block rockin' beats [Live].mp3",
"Block Rockin' Beats", "Chemical Brothers", "01", "Live" );
check( "/home/frerich/Chemical Brothers - [01] - Block rockin' beats (Live).mp3",
"Block Rockin' Beats", "Chemical Brothers", "01", "Live" );
check( "/home/frerich/Chemical Brothers - [01] - Block rockin' beats.mp3",
"Block Rockin' Beats", "Chemical Brothers", "01", TQString() );
check( "/home/frerich/Chemical Brothers - 01 - Block rockin' beats [Live].mp3",
"Block Rockin' Beats", "Chemical Brothers", "01", "Live" );
check( "/home/frerich/Chemical Brothers - 01 - Block rockin' beats (Live).mp3",
"Block Rockin' Beats", "Chemical Brothers", "01", "Live" );
check( "/home/frerich/Chemical Brothers - 01 - Block rockin' beats.mp3",
"Block Rockin' Beats", "Chemical Brothers", "01", TQString() );
check( "/home/frerich/(01) Chemical Brothers - Block rockin' beats [Live].mp3",
"Block Rockin' Beats", "Chemical Brothers", "01", "Live" );
check( "/home/frerich/(01) Chemical Brothers - Block rockin' beats (Live).mp3",
"Block Rockin' Beats", "Chemical Brothers", "01", "Live" );
check( "/home/frerich/(01) Chemical Brothers - Block rockin' beats.mp3",
"Block Rockin' Beats", "Chemical Brothers", "01", TQString() );
check( "/home/frerich/[01] Chemical Brothers - Block rockin' beats [Live].mp3",
"Block Rockin' Beats", "Chemical Brothers", "01", "Live" );
check( "/home/frerich/[01] Chemical Brothers - Block rockin' beats (Live).mp3",
"Block Rockin' Beats", "Chemical Brothers", "01", "Live" );
check( "/home/frerich/[01] Chemical Brothers - Block rockin' beats.mp3",
"Block Rockin' Beats", "Chemical Brothers", "01", TQString() );
check( "/home/frerich/01 Chemical Brothers - Block rockin' beats [Live].mp3",
"Block Rockin' Beats", "Chemical Brothers", "01", "Live" );
check( "/home/frerich/01 Chemical Brothers - Block rockin' beats (Live).mp3",
"Block Rockin' Beats", "Chemical Brothers", "01", "Live" );
check( "/home/frerich/01 Chemical Brothers - Block rockin' beats.mp3",
"Block Rockin' Beats", "Chemical Brothers", "01", TQString() );
check( "/home/frerich/(Chemical Brothers) Block rockin' beats [Live].mp3",
"Block Rockin' Beats", "Chemical Brothers", TQString(), "Live" );
check( "/home/frerich/(Chemical Brothers) Block rockin' beats (Live).mp3",
"Block Rockin' Beats", "Chemical Brothers", TQString(), "Live" );
check( "/home/frerich/(Chemical Brothers) Block rockin' beats.mp3",
"Block Rockin' Beats", "Chemical Brothers", TQString(), TQString() );
check( "/home/frerich/Chemical Brothers - Block rockin' beats [Live].mp3",
"Block Rockin' Beats", "Chemical Brothers", TQString(), "Live" );
check( "/home/frerich/Chemical Brothers - Block rockin' beats (Live).mp3",
"Block Rockin' Beats", "Chemical Brothers", TQString(), "Live" );
check( "/home/frerich/Chemical Brothers - Block rockin' beats.mp3",
"Block Rockin' Beats", "Chemical Brothers", TQString(), TQString() );
check( "/home/frerich/mp3/Chemical Brothers/Dig your own hole/[01] Block rockin' beats.mp3",
"Block Rockin' Beats", "Chemical Brothers", "01", TQString(), "Dig Your Own Hole");
check( TQDir::homeDirPath() + "/[01] Randy - Religion, religion.mp3",
"Religion, Religion", "Randy", "01", TQString(), TQString() );
check( TQDir::homeDirPath() + "/(3) Mr. Doe - Punk.mp3",
"Punk", "Mr. Doe", "3", TQString(), TQString() );
check( "c:\\music\\mp3s\\(3) Mr. Doe - Punk.mp3",
"Punk", "Mr. Doe", "3", TQString(), TQString() );
cout << "All OK" << endl;
return 0;
}
|