diff --git a/common/lib/xmodule/xmodule/js/spec/problem/edit_spec.coffee b/common/lib/xmodule/xmodule/js/spec/problem/edit_spec.coffee index 25f862d133..3289c5fe7d 100644 --- a/common/lib/xmodule/xmodule/js/spec/problem/edit_spec.coffee +++ b/common/lib/xmodule/xmodule/js/spec/problem/edit_spec.coffee @@ -11,8 +11,8 @@ describe 'MarkdownEditingDescriptor', -> revisedSelection = MarkdownEditingDescriptor.insertMultipleChoice('a\nx b\nc\nx \nd\n x e') expect(revisedSelection).toEqual('( ) a\n(x) b\n( ) c\n( ) x \n( ) d\n(x) e\n') it 'recognizes x as a selection if it is first non whitespace and has whitespace with other non-whitespace', -> - revisedSelection = MarkdownEditingDescriptor.insertMultipleChoice(' x correct\n x \nex post facto\nb x c\nx c') - expect(revisedSelection).toEqual('(x) correct\n( ) x \n( ) ex post facto\n( ) b x c\n(x) c\n') + revisedSelection = MarkdownEditingDescriptor.insertMultipleChoice(' x correct\n x \nex post facto\nb x c\nx c\nxxp') + expect(revisedSelection).toEqual('(x) correct\n( ) x \n( ) ex post facto\n( ) b x c\n(x) c\n( ) xxp\n') it 'removes multiple newlines but not last one', -> revisedSelection = MarkdownEditingDescriptor.insertMultipleChoice('a\nx b\n\n\nc\n') expect(revisedSelection).toEqual('( ) a\n(x) b\n( ) c\n') diff --git a/common/lib/xmodule/xmodule/js/src/problem/edit.coffee b/common/lib/xmodule/xmodule/js/src/problem/edit.coffee index 73e1e407c8..7038308249 100644 --- a/common/lib/xmodule/xmodule/js/src/problem/edit.coffee +++ b/common/lib/xmodule/xmodule/js/src/problem/edit.coffee @@ -138,9 +138,9 @@ class @MarkdownEditingDescriptor extends XModule.Descriptor for line in lines revisedLines += choiceStart # a stand alone x before other text implies that this option is "correct" - if /^\s*x\s*(\S)/i.test(line) + if /^\s*x\s+(\S)/i.test(line) # Remove the x and any initial whitespace as long as there's more text on the line - line = line.replace(/^\s*x\s*(\S)/i, '$1') + line = line.replace(/^\s*x\s+(\S)/i, '$1') revisedLines += 'x' else revisedLines += ' '