Skip to content

Commit

Permalink
Merge pull request #214 from michaelnt/reformat
Browse files Browse the repository at this point in the history
Text is no longer re-wrapped at sentence boundaries
  • Loading branch information
jacebrowning committed Jan 18, 2017
2 parents 1caf917 + 67c88ea commit 40f9fad
Show file tree
Hide file tree
Showing 32 changed files with 132 additions and 160 deletions.
2 changes: 1 addition & 1 deletion doorstop/core/test/docs/LLT001.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ active: true
derived: false
level: 1.1
links:
- REQ003: 64964eaf0252a2fc0bf1509f1bcd4b09
- REQ003: 1f33605bbc5d1a39c9a6441b91389e88
normative: true
ref: Verify an item can be added to a document.
reviewed: c87f21066512a269d35f83944607893c
Expand Down
6 changes: 3 additions & 3 deletions doorstop/core/test/docs/LLT007.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,15 @@ active: true
derived: false
level: 2.1
links:
- REQ009: 2bc459e9afb3ac656fb94ba680b799ff
- REQ009: 6c23761dd907de37c62614155cca22cc
- REQ011: e58a22974b6610a0698866fce6c1ad14
- REQ012: 456cf6a9040c790588ca8c78e1ed350f
- REQ013: 349b2ab15cc29256da564fd7b4fac3a4
- REQ013: 3dce36a426be6e9901feac6de75c1d71
- REQ014: 634e782d9c7ec27a279e4fd303afe05f
- REQ015: 5057c48dd88b53fe5e639e1e33126714
normative: true
ref: ''
reviewed: caef4185ae89672f87a9daa3815feaf6
reviewed: e865230b7f344df2b0122ca90e278fce
text: |
These checks ensure the version control system (VCS) meets the needs of
requirements management:
Expand Down
2 changes: 1 addition & 1 deletion doorstop/core/test/docs/LLT008.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ links:
- REQ015: 5057c48dd88b53fe5e639e1e33126714
normative: true
ref: ''
reviewed: 4d93196743f8385e752efddd8ca6e672
reviewed: 05bcc369bcf9b1869049674546b41dba
text: |
These checks ensure the Python package is distributed properly:
Expand Down
9 changes: 8 additions & 1 deletion doorstop/core/test/files/exported.csv
Original file line number Diff line number Diff line change
@@ -1,5 +1,12 @@
uid,level,text,ref,links,active,derived,normative,reviewed
REQ001,1.2.3,"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.",,"SYS001
REQ001,1.2.3,"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod
tempor incididunt ut labore et dolore magna aliqua.
Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut
aliquip ex ea commodo consequat.
Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore
eu fugiat nulla pariatur.
Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia
deserunt mollit anim id est laborum.",,"SYS001
SYS002:abc123",True,False,True,
REQ003,1.4,Unicode: -40° ±1%,REF123,REQ001,True,False,True,
REQ004,1.6,"Hello, world!",,,True,False,True,
Expand Down
9 changes: 8 additions & 1 deletion doorstop/core/test/files/exported.tsv
Original file line number Diff line number Diff line change
@@ -1,5 +1,12 @@
uid level text ref links active derived normative reviewed
REQ001 1.2.3 Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. "SYS001
REQ001 1.2.3 "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod
tempor incididunt ut labore et dolore magna aliqua.
Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut
aliquip ex ea commodo consequat.
Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore
eu fugiat nulla pariatur.
Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia
deserunt mollit anim id est laborum." "SYS001
SYS002:abc123" True False True
REQ003 1.4 Unicode: -40° ±1% REF123 REQ001 True False True
REQ004 1.6 Hello, world! True False True
Expand Down
Binary file modified doorstop/core/test/files/exported.xlsx
Binary file not shown.
2 changes: 1 addition & 1 deletion doorstop/core/test/files/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -130,8 +130,8 @@ <h3>Published Documents:</h3>
<p>
<ul>
<li> <a href="index2.html">index2</a> </li>
<li> <a href="published.html">published</a> </li>
<li> <a href="published2.html">published2</a> </li>
<li> <a href="published.html">published</a> </li>
</ul>
</p>

Expand Down
2 changes: 1 addition & 1 deletion doorstop/core/test/files/index2.html
Original file line number Diff line number Diff line change
Expand Up @@ -135,8 +135,8 @@ <h3>Published Documents:</h3>
<p>
<ul>
<li> <a href="index2.html">index2</a> </li>
<li> <a href="published.html">published</a> </li>
<li> <a href="published2.html">published2</a> </li>
<li> <a href="published.html">published</a> </li>
</ul>
</p>

Expand Down
9 changes: 8 additions & 1 deletion doorstop/core/test/files/published.html
Original file line number Diff line number Diff line change
Expand Up @@ -126,7 +126,14 @@
</head>
<body>
<h3 id="REQ001">1.2.3 REQ001</h3>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod<br />
tempor incididunt ut labore et dolore magna aliqua.<br />
Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut<br />
aliquip ex ea commodo consequat.<br />
Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore<br />
eu fugiat nulla pariatur.<br />
Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia<br />
deserunt mollit anim id est laborum.</p>
<p><em>Parent links:</em> <a href="SYS.html#SYS001">SYS001</a>, <a href="SYS.html#SYS002">SYS002</a></p>
<h2 id="REQ003">1.4 REQ003</h2>
<p>Unicode: -40° ±1%</p>
Expand Down
9 changes: 8 additions & 1 deletion doorstop/core/test/files/published.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,13 @@
### 1.2.3 REQ001

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod
tempor incididunt ut labore et dolore magna aliqua.
Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut
aliquip ex ea commodo consequat.
Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore
eu fugiat nulla pariatur.
Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia
deserunt mollit anim id est laborum.

*Parent links: SYS001, SYS002*

Expand Down
16 changes: 10 additions & 6 deletions doorstop/core/test/files/published.txt
Original file line number Diff line number Diff line change
@@ -1,12 +1,16 @@
1.2.3 REQ001

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod
tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim
veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea
commodo consequat. Duis aute irure dolor in reprehenderit in voluptate
velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint
occaecat cupidatat non proident, sunt in culpa qui officia deserunt
mollit anim id est laborum.
tempor incididunt ut labore et dolore magna aliqua.
Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi
ut
aliquip ex ea commodo consequat.
Duis aute irure dolor in reprehenderit in voluptate velit esse cillum
dolore
eu fugiat nulla pariatur.
Excepteur sint occaecat cupidatat non proident, sunt in culpa qui
officia
deserunt mollit anim id est laborum.

Parent links: SYS001, SYS002

Expand Down
9 changes: 8 additions & 1 deletion doorstop/core/test/files/published2.html
Original file line number Diff line number Diff line change
Expand Up @@ -126,7 +126,14 @@
</head>
<body>
<h3>1.2.3 REQ001</h3>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod<br />
tempor incididunt ut labore et dolore magna aliqua.<br />
Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut<br />
aliquip ex ea commodo consequat.<br />
Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore<br />
eu fugiat nulla pariatur.<br />
Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia<br />
deserunt mollit anim id est laborum.</p>
<p><em>Links: SYS001, SYS002</em></p>
<h2>1.4 REQ003</h2>
<p>Unicode: -40° ±1%</p>
Expand Down
9 changes: 8 additions & 1 deletion doorstop/core/test/files/published2.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,13 @@
### 1.2.3 REQ001

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod
tempor incididunt ut labore et dolore magna aliqua.
Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut
aliquip ex ea commodo consequat.
Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore
eu fugiat nulla pariatur.
Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia
deserunt mollit anim id est laborum.

*Links: SYS001, SYS002*

Expand Down
16 changes: 10 additions & 6 deletions doorstop/core/test/files/published2.txt
Original file line number Diff line number Diff line change
@@ -1,12 +1,16 @@
1.2.3 REQ001

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod
tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim
veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea
commodo consequat. Duis aute irure dolor in reprehenderit in voluptate
velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint
occaecat cupidatat non proident, sunt in culpa qui officia deserunt
mollit anim id est laborum.
tempor incididunt ut labore et dolore magna aliqua.
Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi
ut
aliquip ex ea commodo consequat.
Duis aute irure dolor in reprehenderit in voluptate velit esse cillum
dolore
eu fugiat nulla pariatur.
Excepteur sint occaecat cupidatat non proident, sunt in culpa qui
officia
deserunt mollit anim id est laborum.

Links: SYS001, SYS002

Expand Down
15 changes: 8 additions & 7 deletions doorstop/core/test/test_importer.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,13 +15,14 @@

from doorstop.core.test.test_document import FILES, MockItem

LOREM_IPSUM = "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed \
do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad \
minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex \
ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate \
velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat \
cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id \
est laborum."
LOREM_IPSUM = '''Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod
tempor incididunt ut labore et dolore magna aliqua.
Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut
aliquip ex ea commodo consequat.
Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore
eu fugiat nulla pariatur.
Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia
deserunt mollit anim id est laborum.'''


class TestModule(unittest.TestCase):
Expand Down
22 changes: 9 additions & 13 deletions doorstop/core/test/test_item.py
Original file line number Diff line number Diff line change
Expand Up @@ -234,15 +234,11 @@ def test_text_sbd(self):
"""Verify newlines separate sentences in an item's text."""
value = ("A sentence. Another sentence! Hello? Hi.\n"
"A new line (here). And another sentence.")
text = ("A sentence. Another sentence! Hello? Hi. "
text = ("A sentence. Another sentence! Hello? Hi.\n"
"A new line (here). And another sentence.")
yaml = ("text: |\n"
" A sentence.\n"
" Another sentence!\n"
" Hello?\n"
" Hi.\n"
" A new line (here).\n"
" And another sentence.\n")
" A sentence. Another sentence! Hello? Hi.\n"
" A new line (here). And another sentence.\n")
self.item.text = value
self.assertEqual(text, self.item.text)
self.assertIn(yaml, self.item._write.call_args[0][0])
Expand All @@ -260,9 +256,9 @@ def test_text_unordered_list(self):
self.assertEqual(expected, self.item.text)

def test_text_split_numbers(self):
"""Verify lines ending in numbers are joined correctly."""
"""Verify lines ending in numbers aren't changed."""
self.item.text = "Split at a number: 1\n42 or punctuation.\nHere."
expected = "Split at a number: 1 42 or punctuation. Here."
expected = "Split at a number: 1\n42 or punctuation.\nHere."
self.assertEqual(expected, self.item.text)

def test_text_newlines(self):
Expand All @@ -272,15 +268,15 @@ def test_text_newlines(self):
self.assertEqual(expected, self.item.text)

def test_text_formatting(self):
"""Verify newlines are removed around formatting."""
"""Verify newlines are not removed around formatting."""
self.item.text = "The thing\n**_SHALL_** do this.\n"
expected = "The thing **_SHALL_** do this."
expected = "The thing\n**_SHALL_** do this."
self.assertEqual(expected, self.item.text)

def test_text_non_heading(self):
"""Verify newlines are removed around non-headings."""
"""Verify newlines are preserved around non-headings."""
self.item.text = "break (before \n#2) symbol should not be a heading."
expected = "break (before #2) symbol should not be a heading."
expected = "break (before \n#2) symbol should not be a heading."
self.assertEqual(expected, self.item.text)

def test_text_heading(self):
Expand Down
20 changes: 16 additions & 4 deletions doorstop/core/test/test_types.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
"""Unit tests for the doorstop.core.types module."""

import unittest
import yaml

from doorstop.common import DoorstopError
from doorstop.core.types import Prefix, UID, Text, Level, Stamp, Reference
Expand Down Expand Up @@ -171,19 +172,30 @@ def test_init(self):

def test_repr(self):
"""Verify text can be represented."""
self.assertEqual("'Hello, world!'", repr(self.text))
self.assertEqual("'Hello, \\nworld!'", repr(self.text))

def test_str(self):
"""Verify text can be converted to strings."""
self.assertEqual("Hello, world!", str(self.text))
self.assertEqual("Hello, \nworld!", str(self.text))

def test_eq(self):
"""Verify text can be equated."""
self.assertEqual(Text("Hello, world!"), self.text)
self.assertEqual(Text("Hello, \nworld!"), self.text)

def test_yaml(self):
"""Verify levels can be converted to their YAML representation."""
self.assertEqual("Hello, world!\n", self.text.yaml)
self.assertEqual('Hello, \nworld!\n', self.text.yaml)

def test_dump_yaml(self):
"""Verify levels can be converted to their YAML representation."""
text = Text('Hello,\n World!\n')
self.assertEqual('|\n Hello,\n World!\n', yaml.dump(text.yaml))

def test_dump_yaml_space(self):
"""Text starting with a space is encoded to a yaml literal string
with a hint as to the indent."""
text = Text(' abc ')
self.assertEqual('|2\n abc\n', yaml.dump(text.yaml))


class TestLevel(unittest.TestCase):
Expand Down

0 comments on commit 40f9fad

Please sign in to comment.