mirror of
https://github.com/Jermolene/TiddlyWiki5
synced 2025-01-11 18:00:26 +00:00
Fix problem with parsing text references
This commit is contained in:
parent
b882a0dff1
commit
1f82ebc7c3
@ -461,7 +461,7 @@ Returns an object with the following fields, all optional:
|
||||
*/
|
||||
exports.parseTextReference = function(textRef) {
|
||||
// Separate out the title, field name and/or JSON indices
|
||||
var reTextRef = /^\s*([^!#]+)?(?:(?:!!([^\s]+))|(?:##(.+)))?\s*/mg,
|
||||
var reTextRef = /(?:(.*?)!!(.+))|(?:(.*?)##(.+))|(.*)/mg,
|
||||
match = reTextRef.exec(textRef),
|
||||
result = {};
|
||||
if(match && reTextRef.lastIndex === textRef.length) {
|
||||
@ -473,7 +473,13 @@ exports.parseTextReference = function(textRef) {
|
||||
result.field = match[2];
|
||||
}
|
||||
if(match[3]) {
|
||||
result.index = match[3];
|
||||
result.title = match[3];
|
||||
}
|
||||
if(match[4]) {
|
||||
result.index = match[4];
|
||||
}
|
||||
if(match[5]) {
|
||||
result.title = match[5];
|
||||
}
|
||||
} else {
|
||||
// If we couldn't parse it
|
||||
|
@ -39,8 +39,11 @@ describe("Utility tests", function() {
|
||||
expect(ptr("ti#tle##index")).toEqual(
|
||||
{ title : 'ti#tle', index : 'index' }
|
||||
);
|
||||
expect(ptr("ti!tle!!field")).toEqual(
|
||||
{ title : 'ti!tle', field : 'field' }
|
||||
);
|
||||
expect(ptr("title##index!!field")).toEqual(
|
||||
{ title : 'title', index : 'index!!field' }
|
||||
{ title : 'title##index', field : 'field' }
|
||||
);
|
||||
expect(ptr("title!!field##index")).toEqual(
|
||||
{ title : 'title', field : 'field##index' }
|
||||
|
Loading…
Reference in New Issue
Block a user