diff --git a/app/assets/javascripts/task_list.coffee b/app/assets/javascripts/task_list.coffee index d7b76c0..8996cab 100644 --- a/app/assets/javascripts/task_list.coffee +++ b/app/assets/javascripts/task_list.coffee @@ -115,11 +115,11 @@ completePattern = /// # Useful when you need iterate over all items. itemPattern = /// ^ - (?: # optional prefix, consisting of + (?: # prefix, consisting of \s* # optional leading whitespace (?:>\s*)* # zero or more blockquotes (?:[-+*]|(?:\d+\.)) # list item indicator - )? + ) \s* # optional whitespace prefix ( # checkbox #{escapePattern(complete)}| diff --git a/test/unit/test_updates.coffee b/test/unit/test_updates.coffee index 4c653a0..1f7c595 100644 --- a/test/unit/test_updates.coffee +++ b/test/unit/test_updates.coffee @@ -28,7 +28,7 @@ module "TaskList updates", class: 'task-list-item-checkbox' disabled: true checked: false - + @blockquote = $ '
' @quotedList = $ '', class: 'task-list' @@ -46,7 +46,7 @@ module "TaskList updates", class: 'task-list-item-checkbox' disabled: true checked: false - + @innerBlockquote = $ '
' @innerList = $ '', class: 'task-list' @@ -232,7 +232,7 @@ module "TaskList updates", @blockquote.append @innerBlockquote - @container.append @blockquote + @container.append @blockquote @orderedCompleteItem.append @orderedCompleteCheckbox @orderedList.append @orderedCompleteItem @@ -241,9 +241,9 @@ module "TaskList updates", @orderedIncompleteItem.append @orderedIncompleteCheckbox @orderedList.append @orderedIncompleteItem @orderedIncompleteItem.expectedIndex = 9 - + @container.append @orderedList - + @blockquote.append @field $('#qunit-fixture').append(@container) @@ -379,3 +379,64 @@ asyncTest "updates the source of an ordered list item, marking the complete item @orderedCompleteCheckbox.click() +asyncTest "update ignores items that look like Task List items but lack list prefix", -> + expect 3 + + $('#qunit-fixture').empty() + + container = $ '
', class: 'js-task-list-container' + + list = $ '', class: 'task-list' + + item1 = $ '
- ', class: 'task-list-item' + item1Checkbox = $ '', + type: 'checkbox' + class: 'task-list-item-checkbox' + disabled: true + checked: false + + item2 = $ '
- ', class: 'task-list-item' + item2Checkbox = $ '', + type: 'checkbox' + class: 'task-list-item-checkbox' + disabled: true + checked: false + + field = $ '