Added tightLists option to copy_as_gfm markdown serializer

This removes extraneous newlines when copying comments
with an ordered list.
This commit is contained in:
Constance Okoghenun 2019-03-05 18:08:39 +00:00 committed by Filipa Lacerda
parent 4cfbe050a8
commit e3eb241f5d
4 changed files with 10 additions and 14 deletions

View file

@ -173,7 +173,9 @@ export class CopyAsGFM {
wrapEl.appendChild(node.cloneNode(true));
const doc = DOMParser.fromSchema(schema.default).parse(wrapEl);
const res = markdownSerializer.default.serialize(doc);
const res = markdownSerializer.default.serialize(doc, {
tightLists: true,
});
return res;
})
.catch(() => {});

View file

@ -0,0 +1,5 @@
---
title: Fixed "Copying comment with ordered list includes extraneous newlines"
merge_request: 25695
author:
type: fixed

View file

@ -55,15 +55,10 @@ describe 'Copy as GFM', :js do
To see how GitLab looks please see the [features page on our website](https://about.gitlab.com/features/).
* Manage Git repositories with fine grained access controls that keep your code secure
* Perform code reviews and enhance collaboration with merge requests
* Complete continuous integration (CI) and CD pipelines to builds, test, and deploy your applications
* Each project can also have an issue tracker, issue board, and a wiki
* Used by more than 100,000 organizations, GitLab is the most popular solution to manage Git repositories on-premises
* Completely free and open source (MIT Expat license)
GFM
)
@ -116,13 +111,11 @@ describe 'Copy as GFM', :js do
<<~GFM,
* [ ] Unchecked task
* [x] Checked task
GFM
<<~GFM
1. [ ] Unchecked ordered task
1. [x] Checked ordered task
GFM
)
@ -551,7 +544,6 @@ describe 'Copy as GFM', :js do
<<~GFM,
* List item
* List item 2
GFM
@ -565,7 +557,6 @@ describe 'Copy as GFM', :js do
# nested lists
<<~GFM,
* Nested
* Lists
GFM
@ -578,7 +569,6 @@ describe 'Copy as GFM', :js do
<<~GFM,
1. Ordered list item
1. Ordered list item 2
GFM
@ -592,7 +582,6 @@ describe 'Copy as GFM', :js do
# nested ordered list
<<~GFM,
1. Nested
1. Ordered lists
GFM

View file

@ -100,7 +100,7 @@ describe('CopyAsGFM', () => {
simulateCopy();
setTimeout(() => {
const expectedGFM = '* List Item1\n\n* List Item2';
const expectedGFM = '* List Item1\n* List Item2';
expect(clipboardData.setData).toHaveBeenCalledWith('text/x-gfm', expectedGFM);
done();
@ -114,7 +114,7 @@ describe('CopyAsGFM', () => {
simulateCopy();
setTimeout(() => {
const expectedGFM = '1. List Item1\n\n1. List Item2';
const expectedGFM = '1. List Item1\n1. List Item2';
expect(clipboardData.setData).toHaveBeenCalledWith('text/x-gfm', expectedGFM);
done();