Commit Graph

20 Commits

Author SHA1 Message Date
Martchus 5ad00a083c Adapt to changes in c++utilities 2019-06-10 23:11:39 +02:00
Martchus 5114a3ea08 Treat differently encoded values not necessarily as different
That an automatic conversion happens for different types but not
for different encodings was always a bit odd.

This makes writing tests easier and comparing values within the
tag editor does not rely on choosing a particular encoding.
2019-06-01 23:01:53 +02:00
Martchus f042d216fd Do not completely refuse on UTF-8 in ID3v1
since it is apparently used by some software.

But
* Write at least a BOM so it can be interpreted later
  correctly as UTF-8
* Print a warning
* Keep proposing Latin-1

The tag editor should allow to configure which encoding
is used and whether the BOM is used and which encoding is
assumed when parsing a file.
2019-06-01 22:53:59 +02:00
Martchus 7efa7a0d5a Adapt to c++utilities v5 2019-05-04 16:04:21 +02:00
Martchus 13bccb12f0 Enable all tests under Windows
Since workingCopyPath() has now been implemented under
Windows it is possible to enable the entire testsuite.
2018-10-07 21:58:15 +02:00
Martchus e75a8d25c5 Adjust values()/setValues() to handle multiple values per text frame
See https://github.com/Martchus/tagparser/issues/10
2018-07-12 12:34:38 +02:00
Martchus 1a97d91b27 Preserve multiple strings in ID3v2 text frames 2018-07-12 12:34:38 +02:00
Martchus 5b8ce47270 Use CPPUNIT_ASSERT_EQUAL in OverallTests::checkMp3TestMetaData() 2018-07-01 22:20:44 +02:00
Martchus d64084ec78 Refactor formatting list of values 2018-07-01 22:11:34 +02:00
Martchus 943123afa1 Warn about ID3v2 text frame with multiple strings
First step to support multiple strings within ID3v2 text
frame.

See
* https://github.com/Martchus/tagparser/issues/10
* https://github.com/Martchus/tageditor/issues/38
2018-07-01 02:04:29 +02:00
Martchus b58eac9302 Use CPPUNIT_ASSERT_EQUAL in tests where possible 2018-04-30 19:00:22 +02:00
Martchus d856fb4c75 Use std::numeric_limits 2018-03-21 20:40:51 +01:00
Martchus c0336ed4bb Apply clang-format 2018-03-07 01:17:50 +01:00
Martchus 36511fcc13 Add progress feedback and diagnostics replacing status provider 2018-03-06 22:44:01 +01:00
Martchus 6eb8eaab11 tests: Check whether no cricical notifications or warnings occurred 2017-09-14 18:16:00 +02:00
Martchus b03273da44 Allow setting track meta-data
Currently applying is only implemented for
MP4 tracks (only ID, name and language).
2017-06-06 23:26:20 +02:00
Martchus cbc32890fa Test conversion to ID3v2.4 2017-05-21 00:09:09 +02:00
Martchus 44de1e6b7a tests: Move format specific flags from header 2017-05-20 23:37:33 +02:00
Martchus e925e15533 Improve handling of Unicode and BOM in ID3v2
* Convert UTF-8 text fields automatically to UTF-16
  when version is ID3v2.3 or below
  -> so conversion from ID3v2.4 to ID3v2.3 or below
     doesn't require manual conversion of possibly
     UTF-8 encoded fields
* Don't use magic numbers for ID3v2 encoding byte
* Don't warn about UTF-16 Big Endian with BOM
2017-05-20 23:34:45 +02:00
Martchus 2ed7ea800d Improve overall tests
* Move code for each format in an own file
* Use enum for test mode flags instead of magic
  numbers
2017-05-20 21:19:55 +02:00