diff options
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 ## ------------ ## TESTSUITE_AT = \ + copy-v1-00.at\ + copy-v2-00.at\ + copy-v12-00.at\ + del-all-v1.at\ + del-all-v2.at\ + del-all-v12.at\ + del-frame-v1.at\ + del-frame-v2.at\ testsuite.at\ version.at\ info-v1-00.at\ info-v2-00.at\ info-v12-00.at\ set-v1-00.at\ + set-v1-01.at\ set-v2-00.at\ + set-v2-01.at\ query-v1-00.at\ query-v1-01.at\ 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 @@ +# This file is part of idest -*- autotest -*- +# Copyright (C) 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/>. + +AT_SETUP([copy tags (v1)]) +AT_KEYWORDS([copy v1 copy-v1-00]) + +AT_CHECK([ +genfile -f file 10k +cp file file.orig +echo copy +idest -c $abs_srcdir/id3v1 file +echo structure +idest -i file +echo tags +idest file +echo file data +dd if=file of=file.mod bs=1024 count=10 2>/dev/null +cmp file.mod file.orig +], +[0], +[copy +structure +file: file +ntags: 1 +version: 1.1 +offset: 10240 +length: 128 +tags +title: File +album: Idest Test Suite +track: 1 +comment:XXX:: Sample ID3 headers for idest +artist: Sergey Poznyakoff +year: 2011 +genre: Other +file data +]) + +AT_CLEANUP + + 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 @@ +# This file is part of idest -*- autotest -*- +# Copyright (C) 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/>. + +AT_SETUP([copy tags (v1-2)]) +AT_KEYWORDS([copy v1-2 copy-v12-00]) + +AT_CHECK([ +genfile -f file 10k +cp file file.orig +echo copy +idest -c $abs_srcdir/id3v1-2 file +echo structure +idest -i file > struct +off=`idest -i file | sed -n '/^length/{s/length: //p;q}'` +sed 's/length: .*/length: X/;s/offset: .*/offset: X/' struct +echo all tags +idest -a file | sed 's/ *$//' +echo file data +dd if=file of=file.mod bs=1 skip=$off count=10240 2>/dev/null +cmp file.mod file.orig +], +[0], +[copy +structure +file: file +ntags: 2 +version: 2.4.0 +offset: X +length: X +version: 1.1 +offset: X +length: X +all tags +TIT2: File +TALB: Idest Test Suite +TRCK: 1 +COMM:eng:: Sample ID3 headers for idest testsuite +TPE1: Sergey Poznyakoff +TDRC: 2011 +TCON: Sample headers +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/>. +TENC: Idest +USLT:eng:: IdEst is an ID3 Edit and Scripting Tool, a command line utility for +manipulating ID3 tags. ID3 tag is a metadata container which supplies +related information for a MP3 audio file. It allows information such +as the title, artist, album, track number, etc. to be stored in the file +itself. + +The idest utility allows to create new tags, and to view, +modify or delete the existing ones. When compiled with Guile, +IdEst allows you to write programs of arbitrary complexity for +manipulating ID3 tags and to apply them to any number of files. +WPUB: http://www.gnu.org.ua/software/idest +WXXX:documentation: http://www.gnu.org.ua/software/idest/manual +WXXX:author: http://gray.gnu.org.ua +APIC:image/png:5:32x32 sample image: 89504E470D0A1A0A0000000D4948445200000020000000200806000000737A7AF4000000017352474200AECE1CE900000006624B474400FF00FF00FFA0BDA793000000097048597300000B1300000B1301009A9C180000000774494D4507DB071C093A2D7365CBF80000001974455874436F6D6D656E74004372656174656420776974682047494D5057810E17000000954944415458C3ED56D10A002108D3E8FF7F79F7D421125D696107FA16452E5D6E0C00141885826309003313339BF7AFAC40F55EB0FAE2AD1568C9019095CBFF226102D0D1FA6EF97E2F8F72122680049000AE96E3DE749B9D5B5229DD7EE0E4B07419125D21A90DF2CCE801653691169C911991EBE32D98EDF5F65FA0135AE5D8ED07BC04ADAB64EB116DD4822F12A6214900E1001E26BD48441311DC6B0000000049454E44AE426082 +APIC:image/png:0:68x68 sample image: 89504E470D0A1A0A0000000D4948445200000044000000440806000000381393B2000000017352474200AECE1CE900000006624B474400FF00FF00FFA0BDA793000000097048597300000B1300000B1301009A9C180000000774494D4507DB071C0A0032D982A62D0000001974455874436F6D6D656E74004372656174656420776974682047494D5057810E17000000FE4944415478DAEDDADB0E82300C005047F8FF5FAE6F8410196C949B397D3266A9DDB1EB345A22223E628A0101102040800001020408102040800001020408100104081020408000B923C6EC84A594E9F11B7F141CFF7573BDB53B32404E9C21F3B63C7AACF6E65AAEFBB57EB9A6A5CE316B03B5625BF3CC9FAF6DF4311DB2267EB4E0963CB5773922EE1BAAF3176B3D326B455FDD15A77E0EC93C8257CDAFD7DE32B54D6775D2F886CDD6D6651FA921B3D55B8BDB9A15A59443F92FEB90E514CF2A744F9E8CABBDD68D43668BF70CB688D8BC427B72F40ED9E27FAABECB0001020408102040800001020408102040800820408000010204081020401E1F5F46586895430352C20000000049454E44AE426082 +file data +]) + +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 @@ +# This file is part of idest -*- autotest -*- +# Copyright (C) 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/>. + +AT_SETUP([copy tags (v2)]) +AT_KEYWORDS([copy v2 copy-v2-00]) + +AT_CHECK([ +genfile -f file 10k +cp file file.orig +echo copy +idest -c $abs_srcdir/id3v2 file +echo structure +idest -i file > struct +off=`sed -n 's/length: //p' struct` +sed 's/length: .*/length: X/' struct +echo all tags +idest -a file | sed 's/ *$//' +echo file data +dd if=file of=file.mod bs=1 skip=$off 2>/dev/null +cmp file.mod file.orig +], +[0], +[copy +structure +file: file +ntags: 1 +version: 2.4.0 +offset: 0 +length: X +all tags +TIT2: File +TALB: Idest Test Suite +TRCK: 1 +COMM:eng:: Sample ID3 headers for idest testsuite +TPE1: Sergey Poznyakoff +TDRC: 2011 +TCON: Sample headers +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/>. +TENC: Idest +USLT:eng:: IdEst is an ID3 Edit and Scripting Tool, a command line utility for +manipulating ID3 tags. ID3 tag is a metadata container which supplies +related information for a MP3 audio file. It allows information such +as the title, artist, album, track number, etc. to be stored in the file +itself. + +The idest utility allows to create new tags, and to view, +modify or delete the existing ones. When compiled with Guile, +IdEst allows you to write programs of arbitrary complexity for +manipulating ID3 tags and to apply them to any number of files. +WPUB: http://www.gnu.org.ua/software/idest +WXXX:documentation: http://www.gnu.org.ua/software/idest/manual +WXXX:author: http://gray.gnu.org.ua +APIC:image/png:5:32x32 sample image: 89504E470D0A1A0A0000000D4948445200000020000000200806000000737A7AF4000000017352474200AECE1CE900000006624B474400FF00FF00FFA0BDA793000000097048597300000B1300000B1301009A9C180000000774494D4507DB071C093A2D7365CBF80000001974455874436F6D6D656E74004372656174656420776974682047494D5057810E17000000954944415458C3ED56D10A002108D3E8FF7F79F7D421125D696107FA16452E5D6E0C00141885826309003313339BF7AFAC40F55EB0FAE2AD1568C9019095CBFF226102D0D1FA6EF97E2F8F72122680049000AE96E3DE749B9D5B5229DD7EE0E4B07419125D21A90DF2CCE801653691169C911991EBE32D98EDF5F65FA0135AE5D8ED07BC04ADAB64EB116DD4822F12A6214900E1001E26BD48441311DC6B0000000049454E44AE426082 +APIC:image/png:0:68x68 sample image: 89504E470D0A1A0A0000000D4948445200000044000000440806000000381393B2000000017352474200AECE1CE900000006624B474400FF00FF00FFA0BDA793000000097048597300000B1300000B1301009A9C180000000774494D4507DB071C0A0032D982A62D0000001974455874436F6D6D656E74004372656174656420776974682047494D5057810E17000000FE4944415478DAEDDADB0E82300C005047F8FF5FAE6F8410196C949B397D3266A9DDB1EB345A22223E628A0101102040800001020408102040800001020408100104081020408000B923C6EC84A594E9F11B7F141CFF7573BDB53B32404E9C21F3B63C7AACF6E65AAEFBB57EB9A6A5CE316B03B5625BF3CC9FAF6DF4311DB2267EB4E0963CB5773922EE1BAAF3176B3D326B455FDD15A77E0EC93C8257CDAFD7DE32B54D6775D2F886CDD6D6651FA921B3D55B8BDB9A15A59443F92FEB90E514CF2A744F9E8CABBDD68D43668BF70CB688D8BC427B72F40ED9E27FAABECB0001020408102040800001020408102040800820408000010204081020401E1F5F46586895430352C20000000049454E44AE426082 +file data +]) + +AT_CLEANUP + diff --git a/tests/del-all-v1.at b/tests/del-all-v1.at new file mode 100644 index 0000000..c668f67 --- /dev/null +++ b/tests/del-all-v1.at @@ -0,0 +1,50 @@ +# This file is part of idest -*- autotest -*- +# Copyright (C) 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/>. + +AT_SETUP([delete all tags (v1)]) +AT_KEYWORDS([delete v1 del-all del-all-v1]) + +AT_CHECK([ +genfile -f file -s $abs_srcdir/id3v1 10k +dd if=file of=file.orig bs=1024 count=10 2>/dev/null +echo delete +idest -d file +echo structure +idest -i file +echo tags +idest file | sed 's/ *$//' +echo file data +cmp file file.orig +], +[0], +[delete +structure +file: file +ntags: 0 +tags +title: +album: +track: +comment: +artist: +year: +genre: +file data +]) + +AT_CLEANUP + + diff --git a/tests/del-all-v12.at b/tests/del-all-v12.at new file mode 100644 index 0000000..0538413 --- /dev/null +++ b/tests/del-all-v12.at @@ -0,0 +1,42 @@ +# This file is part of idest -*- autotest -*- +# Copyright (C) 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/>. + +AT_SETUP([delete all tags (v1-2)]) +AT_KEYWORDS([delete v1-2 del-all del-all-v12]) + +AT_CHECK([ +genfile -f file -p $abs_srcdir/id3v2 -s $abs_srcdir/id3v1 10k +off=`idest -i file | sed -n '/^length/{s/length: //p;q}'` +dd if=file of=file.orig bs=1 count=10240 skip=$off 2>/dev/null +echo delete +idest -d file +echo structure +idest -i file +echo tags +idest -a file | sed 's/ *$//' +echo file data +cmp file file.orig +], +[0], +[delete +structure +file: file +ntags: 0 +tags +file data +]) + +AT_CLEANUP diff --git a/tests/del-all-v2.at b/tests/del-all-v2.at new file mode 100644 index 0000000..125eb3c --- /dev/null +++ b/tests/del-all-v2.at @@ -0,0 +1,42 @@ +# This file is part of idest -*- autotest -*- +# Copyright (C) 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/>. + +AT_SETUP([delete all tags (v2)]) +AT_KEYWORDS([delete v2 del-all del-all-v2]) + +AT_CHECK([ +genfile -f file -p $abs_srcdir/id3v2 10k +off=`idest -i file | sed -n 's/length: //p'` +dd if=file of=file.orig bs=1 skip=$off 2>/dev/null +echo delete +idest -d file +echo structure +idest -i file +echo tags +idest -a file | sed 's/ *$//' +echo file data +cmp file file.orig +], +[0], +[delete +structure +file: file +ntags: 0 +tags +file data +]) + +AT_CLEANUP diff --git a/tests/del-frame-v1.at b/tests/del-frame-v1.at new file mode 100644 index 0000000..755913d --- /dev/null +++ b/tests/del-frame-v1.at @@ -0,0 +1,52 @@ +# This file is part of idest -*- autotest -*- +# Copyright (C) 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/>. + +AT_SETUP([delete frame tags (v1)]) +AT_KEYWORDS([delete v1 del-frame del-frame-v1]) + +AT_CHECK([ +genfile -f file -s $abs_srcdir/id3v1 10k +dd if=file of=file.orig bs=1024 count=10 2>/dev/null +echo delete +idest -d -F comment,track file +echo structure +idest -i file +echo tags +idest file | sed 's/ *$//' +echo file data +dd if=file of=file.mod bs=1024 count=10 2>/dev/null +cmp file.mod file.orig +], +[0], +[delete +structure +file: file +ntags: 1 +version: 1.0 +offset: 10240 +length: 128 +tags +title: File +album: Idest Test Suite +track: +comment: +artist: Sergey Poznyakoff +year: 2011 +genre: Other +file data +]) + +AT_CLEANUP diff --git a/tests/del-frame-v2.at b/tests/del-frame-v2.at new file mode 100644 index 0000000..49a5d0b --- /dev/null +++ b/tests/del-frame-v2.at @@ -0,0 +1,70 @@ +# This file is part of idest -*- autotest -*- +# Copyright (C) 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/>. + +AT_SETUP([delete frame tags (v2)]) +AT_KEYWORDS([delete v2 del-frame del-frame-v2]) + +AT_CHECK([ +genfile -f file -p $abs_srcdir/id3v2 10k +off=`idest -i file | sed -n 's/length: //p'` +dd if=file of=file.orig bs=1 skip=$off 2>/dev/null +echo delete +idest -d -F TRCK,comment,WXXX:author,APIC:::'68x68 sample image' file +echo structure +idest -i file > struct +off=`sed -n 's/length: //p' struct` +sed 's/length: .*/length: X/' struct +echo all tags +idest -a file | sed 's/ *$//' +echo file data +dd if=file of=file.mod bs=1 skip=$off 2>/dev/null +cmp file.mod file.orig +], +[0], +[delete +structure +file: file +ntags: 1 +version: 2.4.0 +offset: 0 +length: X +all tags +TIT2: File +TALB: Idest Test Suite +TPE1: Sergey Poznyakoff +TDRC: 2011 +TCON: Sample headers +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/>. +TENC: Idest +USLT:eng:: IdEst is an ID3 Edit and Scripting Tool, a command line utility for +manipulating ID3 tags. ID3 tag is a metadata container which supplies +related information for a MP3 audio file. It allows information such +as the title, artist, album, track number, etc. to be stored in the file +itself. + +The idest utility allows to create new tags, and to view, +modify or delete the existing ones. When compiled with Guile, +IdEst allows you to write programs of arbitrary complexity for +manipulating ID3 tags and to apply them to any number of files. +WPUB: http://www.gnu.org.ua/software/idest +WXXX:documentation: http://www.gnu.org.ua/software/idest/manual +APIC:image/png:5:32x32 sample image: 89504E470D0A1A0A0000000D4948445200000020000000200806000000737A7AF4000000017352474200AECE1CE900000006624B474400FF00FF00FFA0BDA793000000097048597300000B1300000B1301009A9C180000000774494D4507DB071C093A2D7365CBF80000001974455874436F6D6D656E74004372656174656420776974682047494D5057810E17000000954944415458C3ED56D10A002108D3E8FF7F79F7D421125D696107FA16452E5D6E0C00141885826309003313339BF7AFAC40F55EB0FAE2AD1568C9019095CBFF226102D0D1FA6EF97E2F8F72122680049000AE96E3DE749B9D5B5229DD7EE0E4B07419125D21A90DF2CCE801653691169C911991EBE32D98EDF5F65FA0135AE5D8ED07BC04ADAB64EB116DD4822F12A6214900E1001E26BD48441311DC6B0000000049454E44AE426082 +file data +]) + +AT_CLEANUP + + diff --git a/tests/set-v1-01.at b/tests/set-v1-01.at new file mode 100644 index 0000000..1471759 --- /dev/null +++ b/tests/set-v1-01.at @@ -0,0 +1,52 @@ +# This file is part of idest -*- autotest -*- +# Copyright (C) 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/>. + +AT_SETUP([update existing fields (v1)]) +AT_KEYWORDS([set v1 update set-v1-01]) + +AT_CHECK([ +genfile -f file -s $abs_srcdir/id3v1 10k +cp file file.bak +idest --set title='Something' album='set v1 01' \ + comment='Update test' file || exit 1 +echo structure +idest -i file +echo tags +idest file +echo file data +dd if=file of=file.mod bs=1024 count=10 2>/dev/null +dd if=file.bak of=file.orig bs=1024 count=10 2>/dev/null +cmp file.mod file.orig +], +[0], +[structure +file: file +ntags: 1 +version: 1.1 +offset: 10240 +length: 128 +tags +title: Something +album: set v1 01 +track: 1 +comment:XXX:: Update test +artist: Sergey Poznyakoff +year: 2011 +genre: Other +file data +]) + +AT_CLEANUP diff --git a/tests/set-v2-01.at b/tests/set-v2-01.at new file mode 100644 index 0000000..b3eae02 --- /dev/null +++ b/tests/set-v2-01.at @@ -0,0 +1,70 @@ +# This file is part of idest -*- autotest -*- +# Copyright (C) 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/>. + +AT_SETUP([update existing fields (v2)]) +AT_KEYWORDS([set v2 update set-v2-01]) + +AT_CHECK([ +genfile -f file -p $abs_srcdir/id3v2 10k +off=`idest -i file | sed -n 's/length: //p'` +dd if=file of=file.orig bs=1 skip=$off 2>/dev/null +idest --set title='set v2 01' comment:eng:='Update test' file || exit 1 +echo structure +idest -i file > struct +off=`sed -n 's/length: //p' struct` +sed 's/length: .*/length: X/' struct +echo all tags +idest -a file | sed 's/ *$//' +echo file data +dd if=file of=file.mod bs=1 skip=$off 2>/dev/null +cmp file.mod file.orig +], +[0], +[structure +file: file +ntags: 1 +version: 2.4.0 +offset: 0 +length: X +all tags +TIT2: set v2 01 +TALB: Idest Test Suite +TRCK: 1 +COMM:eng:: Update test +TPE1: Sergey Poznyakoff +TDRC: 2011 +TCON: Sample headers +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/>. +TENC: Idest +USLT:eng:: IdEst is an ID3 Edit and Scripting Tool, a command line utility for +manipulating ID3 tags. ID3 tag is a metadata container which supplies +related information for a MP3 audio file. It allows information such +as the title, artist, album, track number, etc. to be stored in the file +itself. + +The idest utility allows to create new tags, and to view, +modify or delete the existing ones. When compiled with Guile, +IdEst allows you to write programs of arbitrary complexity for +manipulating ID3 tags and to apply them to any number of files. +WPUB: http://www.gnu.org.ua/software/idest +WXXX:documentation: http://www.gnu.org.ua/software/idest/manual +WXXX:author: http://gray.gnu.org.ua +APIC:image/png:5:32x32 sample image: 89504E470D0A1A0A0000000D4948445200000020000000200806000000737A7AF4000000017352474200AECE1CE900000006624B474400FF00FF00FFA0BDA793000000097048597300000B1300000B1301009A9C180000000774494D4507DB071C093A2D7365CBF80000001974455874436F6D6D656E74004372656174656420776974682047494D5057810E17000000954944415458C3ED56D10A002108D3E8FF7F79F7D421125D696107FA16452E5D6E0C00141885826309003313339BF7AFAC40F55EB0FAE2AD1568C9019095CBFF226102D0D1FA6EF97E2F8F72122680049000AE96E3DE749B9D5B5229DD7EE0E4B07419125D21A90DF2CCE801653691169C911991EBE32D98EDF5F65FA0135AE5D8ED07BC04ADAB64EB116DD4822F12A6214900E1001E26BD48441311DC6B0000000049454E44AE426082 +APIC:image/png:0:68x68 sample image: 89504E470D0A1A0A0000000D4948445200000044000000440806000000381393B2000000017352474200AECE1CE900000006624B474400FF00FF00FFA0BDA793000000097048597300000B1300000B1301009A9C180000000774494D4507DB071C0A0032D982A62D0000001974455874436F6D6D656E74004372656174656420776974682047494D5057810E17000000FE4944415478DAEDDADB0E82300C005047F8FF5FAE6F8410196C949B397D3266A9DDB1EB345A22223E628A0101102040800001020408102040800001020408100104081020408000B923C6EC84A594E9F11B7F141CFF7573BDB53B32404E9C21F3B63C7AACF6E65AAEFBB57EB9A6A5CE316B03B5625BF3CC9FAF6DF4311DB2267EB4E0963CB5773922EE1BAAF3176B3D326B455FDD15A77E0EC93C8257CDAFD7DE32B54D6775D2F886CDD6D6651FA921B3D55B8BDB9A15A59443F92FEB90E514CF2A744F9E8CABBDD68D43668BF70CB688D8BC427B72F40ED9E27FAABECB0001020408102040800001020408102040800820408000010204081020401E1F5F46586895430352C20000000049454E44AE426082 +file data +]) + +AT_CLEANUP diff --git a/tests/testsuite.at b/tests/testsuite.at index f00c5b2..9860967 100644 --- a/tests/testsuite.at +++ b/tests/testsuite.at @@ -37,6 +37,20 @@ m4_include([info-v2-00.at]) m4_include([info-v12-00.at]) m4_include([set-v1-00.at]) +m4_include([set-v1-01.at]) m4_include([set-v2-00.at]) +m4_include([set-v2-01.at]) + +m4_include([del-all-v1.at]) +m4_include([del-all-v2.at]) +m4_include([del-all-v12.at]) + +m4_include([del-frame-v1.at]) +m4_include([del-frame-v2.at]) + +m4_include([copy-v1-00.at]) +m4_include([copy-v2-00.at]) +m4_include([copy-v12-00.at]) + # End of testsuite.at |