diff options
| author | Miquel Sabaté Solà <mssola@mssola.com> | 2026-06-26 19:28:57 +0200 |
|---|---|---|
| committer | Miquel Sabaté Solà <mssola@mssola.com> | 2026-06-26 19:28:57 +0200 |
| commit | bc62b98e2ae5b3d2d3efda24101590dd802d2a26 (patch) | |
| tree | 5471ce6cd13729a5088ca5009744a5054847f2ba /test/lib | |
| parent | d96b0bb6288ae17b7d7f21392180d1ac0c2270de (diff) | |
| download | operum-bc62b98e2ae5b3d2d3efda24101590dd802d2a26.tar.gz operum-bc62b98e2ae5b3d2d3efda24101590dd802d2a26.zip | |
exporter: handle names surrounded with underscores
Handle underscores which surround the full name, not just a part of
it. In this case, then the whole thing should be considered as the name,
and the last name should be left nil.
Signed-off-by: Miquel Sabaté Solà <mssola@mssola.com>
Diffstat (limited to 'test/lib')
| -rw-r--r-- | test/lib/base_exporter_test.rb | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/test/lib/base_exporter_test.rb b/test/lib/base_exporter_test.rb new file mode 100644 index 0000000..752445b --- /dev/null +++ b/test/lib/base_exporter_test.rb @@ -0,0 +1,27 @@ +# frozen_string_literal: true + +require 'application_system_test_case' + +class BaseExporterTest < ApplicationSystemTestCase + test 'parse authors works' do + instance = BaseExporter.new(things: []) + + [ + ['Name Surname', %w[Name Surname]], + ['Name', ['Name', nil]], + ['Compound Name Surname', ['Compound Name', 'Surname']], + ['Name _Underscored Surname_', ['Name', 'Underscored Surname']], + ['_Name in underscores_', ['Name in underscores', nil]] + ].each do |row| + got = instance.send(:parse_author, author: row[0]) + + assert_equal got[0], row[1][0] + + if row[1][1] + assert_equal got[1], row[1][1] + else + assert_nil got[1] + end + end + end +end |
