Automatically save unknown/invalid fields to Extra in non-strict mode
This is a prerequisite for starting to use new fields in translators, since otherwise switching from, say, storing originalDate in Extra to using an originalDate field would cause the value to be lost in clients without the newer schema. Closes #1504
This commit is contained in:
parent
55c88dc91c
commit
3de54455f6
4 changed files with 104 additions and 24 deletions
|
@ -253,7 +253,7 @@ describe("Zotero.Utilities.Internal", function () {
|
|||
fieldMap.set('originalDate', originalDate);
|
||||
fieldMap.set('publicationPlace', publicationPlace);
|
||||
fieldMap.set('DOI', doi);
|
||||
var fieldStr = `DOI: ${doi}\noriginalDate: ${originalDate}\npublicationPlace: ${publicationPlace}`;
|
||||
var fieldStr = `DOI: ${doi}\nOriginal Date: ${originalDate}\nPublication Place: ${publicationPlace}`;
|
||||
|
||||
it("should create 'field: value' pairs from field map", function () {
|
||||
var extra = "";
|
||||
|
@ -272,7 +272,7 @@ describe("Zotero.Utilities.Internal", function () {
|
|||
var newExtra = ZUI.combineExtraFields(extra, fieldMap);
|
||||
assert.equal(
|
||||
newExtra,
|
||||
fieldStr.split(/\n/).filter(x => !x.startsWith('originalDate')).join("\n")
|
||||
fieldStr.split(/\n/).filter(x => !x.startsWith('Original Date')).join("\n")
|
||||
+ "\nThis is a note.\nOriginal Date: 1887\nFoo: Bar"
|
||||
);
|
||||
});
|
||||
|
@ -386,6 +386,21 @@ describe("Zotero.Utilities.Internal", function () {
|
|||
});
|
||||
});
|
||||
|
||||
describe("#camelToTitleCase()", function () {
|
||||
it("should convert 'fooBar' to 'Foo Bar'", function () {
|
||||
assert.equal(Zotero.Utilities.Internal.camelToTitleCase('fooBar'), 'Foo Bar');
|
||||
});
|
||||
|
||||
it("should keep all-caps strings intact", function () {
|
||||
assert.equal(Zotero.Utilities.Internal.camelToTitleCase('DOI'), 'DOI');
|
||||
});
|
||||
|
||||
it("should convert 'fooBAR' to 'Foo BAR'", function () {
|
||||
assert.equal(Zotero.Utilities.Internal.camelToTitleCase('fooBAR'), 'Foo BAR');
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
describe("#getNextName()", function () {
|
||||
it("should get the next available numbered name", function () {
|
||||
var existing = ['Name', 'Name 1', 'Name 3'];
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue