diff --git a/formats/crossref/document.go b/formats/crossref/document.go index a5cd4074..7786791a 100644 --- a/formats/crossref/document.go +++ b/formats/crossref/document.go @@ -239,9 +239,10 @@ func (d *DateField) Date() (t time.Time, err error) { // CombinedTitle returns a longish title. func (doc *Document) CombinedTitle() string { if len(doc.Title) > 0 { - if len(doc.Subtitle) > 0 { - return strutil.UnescapeTrim(fmt.Sprintf("%s : %s", strings.Join(doc.Title, " "), strings.Join(doc.Subtitle, " "))) - } + // TODO: remove this finally; refs. #21429 + // if len(doc.Subtitle) > 0 { + // return strutil.UnescapeTrim(fmt.Sprintf("%s : %s", strings.Join(doc.Title, " "), strings.Join(doc.Subtitle, " "))) + // } return strutil.UnescapeTrim(strings.Join(doc.Title, " ")) } if len(doc.Subtitle) > 0 { diff --git a/formats/crossref/document_test.go b/formats/crossref/document_test.go new file mode 100644 index 00000000..adc3a9a0 --- /dev/null +++ b/formats/crossref/document_test.go @@ -0,0 +1,45 @@ +package crossref + +import "testing" + +func TestDocumentCombinedTitle(t *testing.T) { + var cases = []struct { + doc *Document + result string + }{ + { + doc: &Document{ + Title: nil, + Subtitle: nil, + }, + result: "", + }, + { + doc: &Document{ + Title: []string{"Hello"}, + Subtitle: nil, + }, + result: "Hello", + }, + { + doc: &Document{ + Title: []string{"Hello"}, + Subtitle: []string{"Sub"}, + }, + result: "Hello : Sub", + }, + { + doc: &Document{ + Title: []string{"Hello", "Sub"}, + Subtitle: []string{"Sub"}, + }, + result: "Hello : Sub", + }, + } + for _, c := range cases { + result := c.doc.CombinedTitle() + if result != c.result { + t.Fatalf("got %v, want %v", result, c.result) + } + } +}