mirror of
https://github.com/vale981/releases
synced 2025-03-04 17:21:43 -05:00
Update construct_releases() to yield its LineManager too
Then expose that in util.parse_changelog()
This commit is contained in:
parent
71d213ef4f
commit
856d91e0f5
6 changed files with 16 additions and 10 deletions
|
@ -35,9 +35,10 @@ class get_doctree_(Spec):
|
|||
|
||||
|
||||
class parse_changelog_(Spec):
|
||||
def yields_releases_dict_from_changelog_path(self):
|
||||
releases = parse_changelog(vanilla)
|
||||
def yields_releases_dict_and_manager_from_changelog_path(self):
|
||||
releases, manager = parse_changelog(vanilla)
|
||||
ok_(releases)
|
||||
ok_(manager)
|
||||
ok_(isinstance(releases, dict))
|
||||
eq_(
|
||||
set(releases.keys()),
|
||||
|
@ -51,3 +52,7 @@ class parse_changelog_(Spec):
|
|||
issue = releases['1.0.1'][0]
|
||||
eq_(issue.type, 'bug')
|
||||
eq_(issue.number, '1')
|
||||
eq_(manager.keys(), [1])
|
||||
buckets = manager[1]
|
||||
eq_(len(buckets), 3)
|
||||
eq_(buckets['1.0'], []) # emptied into 1.0.1
|
||||
|
|
|
@ -529,7 +529,7 @@ def construct_releases(entries, app):
|
|||
|
||||
reorder_release_entries(releases)
|
||||
|
||||
return releases
|
||||
return releases, manager
|
||||
|
||||
|
||||
def construct_nodes(releases):
|
||||
|
@ -588,7 +588,7 @@ class BulletListVisitor(nodes.NodeVisitor):
|
|||
if not self.found_changelog:
|
||||
self.found_changelog = True
|
||||
# Walk + parse into release mapping
|
||||
releases = construct_releases(node.children, self.app)
|
||||
releases, _ = construct_releases(node.children, self.app)
|
||||
# Construct new set of nodes to replace the old, and we're done
|
||||
node.replace_self(construct_nodes(releases))
|
||||
|
||||
|
|
|
@ -43,7 +43,8 @@ def parse_changelog(path):
|
|||
if isinstance(node, bullet_list):
|
||||
first_list = node
|
||||
break
|
||||
return changelog2dict(construct_releases(first_list.children, app))
|
||||
releases, manager = construct_releases(first_list.children, app)
|
||||
return changelog2dict(releases), manager
|
||||
|
||||
|
||||
def get_doctree(path):
|
||||
|
|
|
@ -87,7 +87,7 @@ def release_list(*entries, **kwargs):
|
|||
|
||||
def releases(*entries, **kwargs):
|
||||
app = kwargs.pop('app', None) or make_app()
|
||||
return construct_releases(release_list(*entries, **kwargs), app)
|
||||
return construct_releases(release_list(*entries, **kwargs), app)[0]
|
||||
|
||||
def setup_issues(self):
|
||||
self.f = f(12)
|
||||
|
|
|
@ -159,7 +159,7 @@ class organization(Spec):
|
|||
)
|
||||
# Modify 1.0.1 release to be speshul
|
||||
changelog[0][0].append(Text("2, 3"))
|
||||
rendered = construct_releases(changelog, make_app())
|
||||
rendered, _ = construct_releases(changelog, make_app())
|
||||
# 1.0.1 includes just 2 and 3, not bug 1
|
||||
one_0_1 = rendered[3]['entries']
|
||||
one_1_1 = rendered[2]['entries']
|
||||
|
@ -184,7 +184,7 @@ class organization(Spec):
|
|||
changelog = release_list('1.1.0', f1, f2)
|
||||
# Ensure that 1.1.0 specifies feature 2
|
||||
changelog[0][0].append(Text("2"))
|
||||
rendered = changelog2dict(construct_releases(changelog, make_app()))
|
||||
rendered = changelog2dict(construct_releases(changelog, make_app())[0])
|
||||
# 1.1.0 should have feature 2 only
|
||||
assert f2 in rendered['1.1.0']
|
||||
assert f1 not in rendered['1.1.0']
|
||||
|
@ -199,7 +199,7 @@ class organization(Spec):
|
|||
changelog = release_list('1.0.1', b1, b2)
|
||||
# Ensure that 1.0.1 specifies bug 2
|
||||
changelog[0][0].append(Text('2'))
|
||||
rendered = construct_releases(changelog, make_app())
|
||||
rendered, _ = construct_releases(changelog, make_app())
|
||||
# 1.0.1 should have bug 2 only
|
||||
assert b2 in rendered[1]['entries']
|
||||
assert b1 not in rendered[1]['entries']
|
||||
|
|
|
@ -49,7 +49,7 @@ class presentation(Spec):
|
|||
release('1.0.2', app=app),
|
||||
entry(b(15, app=app)),
|
||||
release('1.0.0'),
|
||||
], app=app))
|
||||
], app=app)[0])
|
||||
# Shorthand for "I'll do my own asserts"
|
||||
if expected is None:
|
||||
return nodes
|
||||
|
|
Loading…
Add table
Reference in a new issue