summaryrefslogtreecommitdiff
path: root/spec/features/task_lists_spec.rb
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2019-12-21 15:07:56 +0000
committerGitLab Bot <gitlab-bot@gitlab.com>2019-12-21 15:07:56 +0000
commit73edea02d353e8ed503922650a35f4a4e93fffdf (patch)
tree77b491d539ee14e6f49f25a41aa6c0f5acabaea5 /spec/features/task_lists_spec.rb
parentab72cfc3b323f2a34bd4426b9a42c13cd345b284 (diff)
downloadgitlab-ce-73edea02d353e8ed503922650a35f4a4e93fffdf.tar.gz
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'spec/features/task_lists_spec.rb')
-rw-r--r--spec/features/task_lists_spec.rb69
1 files changed, 69 insertions, 0 deletions
diff --git a/spec/features/task_lists_spec.rb b/spec/features/task_lists_spec.rb
index 11429f16f42..bcd894a0d20 100644
--- a/spec/features/task_lists_spec.rb
+++ b/spec/features/task_lists_spec.rb
@@ -51,6 +51,27 @@ describe 'Task Lists' do
EOT
end
+ let(:commented_tasks_markdown) do
+ <<-EOT.strip_heredoc
+ <!--
+ - [ ] a
+ -->
+
+ - [ ] b
+ EOT
+ end
+
+ let(:summary_no_blank_line_markdown) do
+ <<-EOT.strip_heredoc
+ <details>
+ <summary>No blank line after summary element breaks task list</summary>
+ 1. [ ] People Ops: do such and such
+ </details>
+
+ * [ ] Task 1
+ EOT
+ end
+
before do
Warden.test_mode!
@@ -291,4 +312,52 @@ describe 'Task Lists' do
end
end
end
+
+ describe 'markdown task edge cases' do
+ describe 'commented tasks', :js do
+ let!(:issue) { create(:issue, description: commented_tasks_markdown, author: user, project: project) }
+
+ it 'renders' do
+ visit_issue(project, issue)
+ wait_for_requests
+
+ expect(page).to have_selector('ul.task-list', count: 1)
+ expect(page).to have_selector('li.task-list-item', count: 1)
+ expect(page).to have_selector('ul input[checked]', count: 0)
+
+ find('.task-list-item-checkbox').click
+ wait_for_requests
+
+ visit_issue(project, issue)
+ wait_for_requests
+
+ expect(page).to have_selector('ul.task-list', count: 1)
+ expect(page).to have_selector('li.task-list-item', count: 1)
+ expect(page).to have_selector('ul input[checked]', count: 1)
+ end
+ end
+
+ describe 'summary with no blank line', :js do
+ let!(:issue) { create(:issue, description: summary_no_blank_line_markdown, author: user, project: project) }
+
+ it 'renders' do
+ visit_issue(project, issue)
+ wait_for_requests
+
+ expect(page).to have_selector('ul.task-list', count: 1)
+ expect(page).to have_selector('li.task-list-item', count: 1)
+ expect(page).to have_selector('ul input[checked]', count: 0)
+
+ find('.task-list-item-checkbox').click
+ wait_for_requests
+
+ visit_issue(project, issue)
+ wait_for_requests
+
+ expect(page).to have_selector('ul.task-list', count: 1)
+ expect(page).to have_selector('li.task-list-item', count: 1)
+ expect(page).to have_selector('ul input[checked]', count: 1)
+ end
+ end
+ end
end