zotero/test/tests/citeTest.js
Dan Stillman 1f320e1f5d Be more lenient about Extra field values than citeproc-js
Allow fields like "Original Date: 2018" and convert them to
"original-date: 2018" when sending to citeproc-js.

For reference:

http://citeproc-js.readthedocs.io/en/latest/csl-json/markup.html#cheater-syntax-for-odd-fields
2018-03-01 17:05:24 -05:00

25 lines
1 KiB
JavaScript

describe("Zotero.Cite", function () {
describe("#extraToCSL()", function () {
it("should convert Extra field values to the more restrictive citeproc-js cheater syntax", function () {
var str1 = 'Original Date: 2017\n' // uppercase/spaces converted to lowercase/hyphens
+ 'Archive-Place: New York\n' // allow hyphen even with title case
+ 'Container title: Title\n' // mixed case
+ 'DOI: 10.0/abc\n' // certain fields are uppercase
+ 'Archive Location: Foo\n' // requires an underscore
+ 'Original Publisher Place: London, UK\n' // extra space OK
+ '\n\n'
+ "Ignore other strings: they're not fields\n"
+ 'This is just some text.'
var str2 = 'original-date: 2017\n'
+ 'archive-place: New York\n'
+ 'container-title: Title\n'
+ 'DOI: 10.0/abc\n'
+ 'archive_location: Foo\n'
+ 'original-publisher-place: London, UK\n'
+ '\n\n'
+ "Ignore other strings: they're not fields\n"
+ 'This is just some text.';
assert.equal(Zotero.Cite.extraToCSL(str1), str2);
});
});
});