diff options
author | Sergey Poznyakoff <gray@gnu.org.ua> | 2011-07-29 14:33:27 +0300 |
---|---|---|
committer | Sergey Poznyakoff <gray@gnu.org.ua> | 2011-07-29 14:33:27 +0300 |
commit | 8006a1de47d492a2fc15e314a3851fb40e6622bd (patch) | |
tree | 2d28aa3e671e5b5ccecc4ef0f2f60020d47e20e3 /tests | |
parent | 07e8fc8a6afe790f7e225601392cf6d17b6a3591 (diff) | |
download | idest-8006a1de47d492a2fc15e314a3851fb40e6622bd.tar.gz idest-8006a1de47d492a2fc15e314a3851fb40e6622bd.tar.bz2 |
Add more tests.
* src/idest.h (source_vopt): New extern.
(guess_file_tag_options): New proto.
* src/idop.c (parse_ed_items): Use only commas as
separators.
(set_tag_options,guess_file_tag_options): New function.
(find_matching_frame): Use the above functions.
(del_tags): make sure tag version remains unchanged,
unless requested so on the command line.
* src/main.c (source_vopt): New variable.
(main): Set source_vopt.
* tests/Makefile.am: Add new testcases.
* tests/testsuite.at: Add new testcases.
* tests/copy-v1-00.at: New testcase.
* tests/copy-v12-00.at: New testcase.
* tests/copy-v2-00.at: New testcase.
* tests/del-all-v1.at: New testcase.
* tests/del-all-v12.at: New testcase.
* tests/del-all-v2.at: New testcase.
* tests/del-frame-v1.at: New testcase.
* tests/del-frame-v2.at: New testcase.
* tests/set-v1-01.at: New testcase.
* tests/set-v2-01.at: New testcase.
Diffstat (limited to 'tests')
-rw-r--r-- | tests/Makefile.am | 10 | ||||
-rw-r--r-- | tests/copy-v1-00.at | 54 | ||||
-rw-r--r-- | tests/copy-v12-00.at | 74 | ||||
-rw-r--r-- | tests/copy-v2-00.at | 72 | ||||
-rw-r--r-- | tests/del-all-v1.at | 50 | ||||
-rw-r--r-- | tests/del-all-v12.at | 42 | ||||
-rw-r--r-- | tests/del-all-v2.at | 42 | ||||
-rw-r--r-- | tests/del-frame-v1.at | 52 | ||||
-rw-r--r-- | tests/del-frame-v2.at | 70 | ||||
-rw-r--r-- | tests/set-v1-01.at | 52 | ||||
-rw-r--r-- | tests/set-v2-01.at | 70 | ||||
-rw-r--r-- | tests/testsuite.at | 14 |
12 files changed, 602 insertions, 0 deletions
diff --git a/tests/Makefile.am b/tests/Makefile.am index 4463d13..7b4f48e 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am | |||
@@ -48,13 +48,23 @@ $(srcdir)/package.m4: $(top_srcdir)/configure.ac $(srcdir)/Makefile | |||
48 | ## ------------ ## | 48 | ## ------------ ## |
49 | 49 | ||
50 | TESTSUITE_AT = \ | 50 | TESTSUITE_AT = \ |
51 | copy-v1-00.at\ | ||
52 | copy-v2-00.at\ | ||
53 | copy-v12-00.at\ | ||
54 | del-all-v1.at\ | ||
55 | del-all-v2.at\ | ||
56 | del-all-v12.at\ | ||
57 | del-frame-v1.at\ | ||
58 | del-frame-v2.at\ | ||
51 | testsuite.at\ | 59 | testsuite.at\ |
52 | version.at\ | 60 | version.at\ |
53 | info-v1-00.at\ | 61 | info-v1-00.at\ |
54 | info-v2-00.at\ | 62 | info-v2-00.at\ |
55 | info-v12-00.at\ | 63 | info-v12-00.at\ |
56 | set-v1-00.at\ | 64 | set-v1-00.at\ |
65 | set-v1-01.at\ | ||
57 | set-v2-00.at\ | 66 | set-v2-00.at\ |
67 | set-v2-01.at\ | ||
58 | query-v1-00.at\ | 68 | query-v1-00.at\ |
59 | query-v1-01.at\ | 69 | query-v1-01.at\ |
60 | query-v2-00.at\ | 70 | query-v2-00.at\ |
diff --git a/tests/copy-v1-00.at b/tests/copy-v1-00.at new file mode 100644 index 0000000..66f3a2f --- /dev/null +++ b/tests/copy-v1-00.at | |||
@@ -0,0 +1,54 @@ | |||
1 | # This file is part of idest -*- autotest -*- | ||
2 | # Copyright (C) 2011 Sergey Poznyakoff | ||
3 | # | ||
4 | # Idest is free software; you can redistribute it and/or modify | ||
5 | # it under the terms of the GNU General Public License as published by | ||
6 | # the Free Software Foundation; either version 3, or (at your option) | ||
7 | # any later version. | ||
8 | # | ||
9 | # Idest is distributed in the hope that it will be useful, | ||
10 | # but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
11 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
12 | # GNU General Public License for more details. | ||
13 | # | ||
14 | # You should have received a copy of the GNU General Public License | ||
15 | # along with idest. If not, see <http://www.gnu.org/licenses/>. | ||
16 | |||
17 | AT_SETUP([copy tags (v1)]) | ||
18 | AT_KEYWORDS([copy v1 copy-v1-00]) | ||
19 | |||
20 | AT_CHECK([ | ||
21 | genfile -f file 10k | ||
22 | cp file file.orig | ||
23 | echo copy | ||
24 | idest -c $abs_srcdir/id3v1 file | ||
25 | echo structure | ||
26 | idest -i file | ||
27 | echo tags | ||
28 | idest file | ||
29 | echo file data | ||
30 | dd if=file of=file.mod bs=1024 count=10 2>/dev/null | ||
31 | cmp file.mod file.orig | ||
32 | ], | ||
33 | [0], | ||
34 | [copy | ||
35 | structure | ||
36 | file: file | ||
37 | ntags: 1 | ||
38 | version: 1.1 | ||
39 | offset: 10240 | ||
40 | length: 128 | ||
41 | tags | ||
42 | title: File | ||
43 | album: Idest Test Suite | ||
44 | track: 1 | ||
45 | comment:XXX:: Sample ID3 headers for idest | ||
46 | artist: Sergey Poznyakoff | ||
47 | year: 2011 | ||
48 | genre: Other | ||
49 | file data | ||
50 | ]) | ||
51 | |||
52 | AT_CLEANUP | ||
53 | |||
54 | |||
diff --git a/tests/copy-v12-00.at b/tests/copy-v12-00.at new file mode 100644 index 0000000..5d04c8c --- /dev/null +++ b/tests/copy-v12-00.at | |||
@@ -0,0 +1,74 @@ | |||
1 | # This file is part of idest -*- autotest -*- | ||
2 | # Copyright (C) 2011 Sergey Poznyakoff | ||
3 | # | ||
4 | # Idest is free software; you can redistribute it and/or modify | ||
5 | # it under the terms of the GNU General Public License as published by | ||
6 | # the Free Software Foundation; either version 3, or (at your option) | ||
7 | # any later version. | ||
8 | # | ||
9 | # Idest is distributed in the hope that it will be useful, | ||
10 | # but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
11 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
12 | # GNU General Public License for more details. | ||
13 | # | ||
14 | # You should have received a copy of the GNU General Public License | ||
15 | # along with idest. If not, see <http://www.gnu.org/licenses/>. | ||
16 | |||
17 | AT_SETUP([copy tags (v1-2)]) | ||
18 | AT_KEYWORDS([copy v1-2 copy-v12-00]) | ||
19 | |||
20 | AT_CHECK([ | ||
21 | genfile -f file 10k | ||
22 | cp file file.orig | ||
23 | echo copy | ||
24 | idest -c $abs_srcdir/id3v1-2 file | ||
25 | echo structure | ||
26 | idest -i file > struct | ||
27 | off=`idest -i file | sed -n '/^length/{s/length: //p;q}'` | ||
28 | sed 's/length: .*/length: X/;s/offset: .*/offset: X/' struct | ||
29 | echo all tags | ||
30 | idest -a file | sed 's/ *$//' | ||
31 | echo file data | ||
32 | dd if=file of=file.mod bs=1 skip=$off count=10240 2>/dev/null | ||
33 | cmp file.mod file.orig | ||
34 | ], | ||
35 | [0], | ||
36 | [copy | ||
37 | structure | ||
38 | file: file | ||
39 | ntags: 2 | ||
40 | version: 2.4.0 | ||
41 | offset: X | ||
42 | length: X | ||
43 | version: 1.1 | ||
44 | offset: X | ||
45 | length: X | ||
46 | all tags | ||
47 | TIT2: File | ||
48 | TALB: Idest Test Suite | ||
49 | TRCK: 1 | ||
50 | COMM:eng:: Sample ID3 headers for idest testsuite | ||
51 | TPE1: Sergey Poznyakoff | ||
52 | TDRC: 2011 | ||
53 | TCON: Sample headers | ||
54 | TCOP: This file is part of Idest Copyright (C) 2009-2011 Sergey Poznyakoff Idest is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. Idest is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with Idest. If not, see <http://www.gnu.org/licenses/>. | ||
55 | TENC: Idest | ||
56 | USLT:eng:: IdEst is an ID3 Edit and Scripting Tool, a command line utility for | ||
57 | manipulating ID3 tags. ID3 tag is a metadata container which supplies | ||
58 | related information for a MP3 audio file. It allows information such | ||
59 | as the title, artist, album, track number, etc. to be stored in the file | ||
60 | itself. | ||
61 | |||
62 | The idest utility allows to create new tags, and to view, | ||
63 | modify or delete the existing ones. When compiled with Guile, | ||
64 | IdEst allows you to write programs of arbitrary complexity for | ||
65 | manipulating ID3 tags and to apply them to any number of files. | ||
66 | WPUB: http://www.gnu.org.ua/software/idest | ||
67 | WXXX:documentation: http://www.gnu.org.ua/software/idest/manual | ||
68 | WXXX:author: http://gray.gnu.org.ua | ||
69 | APIC:image/png:5:32x32 sample image: 89504E470D0A1A0A0000000D4948445200000020000000200806000000737A7AF4000000017352474200AECE1CE900000006624B474400FF00FF00FFA0BDA793000000097048597300000B1300000B1301009A9C180000000774494D4507DB071C093A2D7365CBF80000001974455874436F6D6D656E74004372656174656420776974682047494D5057810E17000000954944415458C3ED56D10A002108D3E8FF7F79F7D421125D696107FA16452E5D6E0C00141885826309003313339BF7AFAC40F55EB0FAE2AD1568C9019095CBFF226102D0D1FA6EF97E2F8F72122680049000AE96E3DE749B9D5B5229DD7EE0E4B07419125D21A90DF2CCE801653691169C911991EBE32D98EDF5F65FA0135AE5D8ED07BC04ADAB64EB116DD4822F12A6214900E1001E26BD48441311DC6B0000000049454E44AE426082 | ||
70 | APIC:image/png:0:68x68 sample image: 89504E470D0A1A0A0000000D4948445200000044000000440806000000381393B2000000017352474200AECE1CE900000006624B474400FF00FF00FFA0BDA793000000097048597300000B1300000B1301009A9C180000000774494D4507DB071C0A0032D982A62D0000001974455874436F6D6D656E74004372656174656420776974682047494D5057810E17000000FE4944415478DAEDDADB0E82300C005047F8FF5FAE6F8410196C949B397D3266A9DDB1EB345A22223E628A0101102040800001020408102040800001020408100104081020408000B923C6EC84A594E9F11B7F141CFF7573BDB53B32404E9C21F3B63C7AACF6E65AAEFBB57EB9A6A5CE316B03B5625BF3CC9FAF6DF4311DB2267EB4E0963CB5773922EE1BAAF3176B3D326B455FDD15A77E0EC93C8257CDAFD7DE32B54D6775D2F886CDD6D6651FA921B3D55B8BDB9A15A59443F92FEB90E514CF2A744F9E8CABBDD68D43668BF70CB688D8BC427B72F40ED9E27FAABECB0001020408102040800001020408102040800820408000010204081020401E1F5F46586895430352C20000000049454E44AE426082 | ||
71 | file data | ||
72 | ]) | ||
73 | |||
74 | AT_CLEANUP | ||
diff --git a/tests/copy-v2-00.at b/tests/copy-v2-00.at new file mode 100644 index 0000000..936b101 --- /dev/null +++ b/tests/copy-v2-00.at | |||
@@ -0,0 +1,72 @@ | |||
1 | # This file is part of idest -*- autotest -*- | ||
2 | # Copyright (C) 2011 Sergey Poznyakoff | ||
3 | # | ||
4 | # Idest is free software; you can redistribute it and/or modify | ||
5 | # it under the terms of the GNU General Public License as published by | ||
6 | # the Free Software Foundation; either version 3, or (at your option) | ||
7 | # any later version. | ||
8 | # | ||
9 | # Idest is distributed in the hope that it will be useful, | ||
10 | # but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
11 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
12 | # GNU General Public License for more details. | ||
13 | # | ||
14 | # You should have received a copy of the GNU General Public License | ||
15 | # along with idest. If not, see <http://www.gnu.org/licenses/>. | ||
16 | |||
17 | AT_SETUP([copy tags (v2)]) | ||
18 | AT_KEYWORDS([copy v2 copy-v2-00]) | ||
19 | |||
20 | AT_CHECK([ | ||
21 | genfile -f file 10k | ||
22 | cp file file.orig | ||
23 | echo copy | ||
24 | idest -c $abs_srcdir/id3v2 file | ||
25 | echo structure | ||
26 | idest -i file > struct | ||
27 | off=`sed -n 's/length: //p' struct` | ||
28 | sed 's/length: .*/length: X/' struct | ||
29 | echo all tags | ||
30 | idest -a file | sed 's/ *$//' | ||
31 | echo file data | ||
32 | dd if=file of=file.mod bs=1 skip=$off 2>/dev/null | ||
33 | cmp file.mod file.orig | ||
34 | ], | ||
35 | [0], | ||
36 | [copy | ||
37 | structure | ||
38 | file: file | ||
39 | ntags: 1 | ||
40 | version: 2.4.0 | ||
41 | offset: 0 | ||
42 | length: X | ||
43 | all tags | ||
44 | TIT2: File | ||
45 | TALB: Idest Test Suite | ||
46 | TRCK: 1 | ||
47 | COMM:eng:: Sample ID3 headers for idest testsuite | ||
48 | TPE1: Sergey Poznyakoff | ||
49 | TDRC: 2011 | ||
50 | TCON: Sample headers | ||