From b3f36c63834707827fb58ed281dd95c9585b5047 Mon Sep 17 00:00:00 2001 From: Chris Sewell Date: Wed, 19 Feb 2025 06:44:07 +0100 Subject: [PATCH] =?UTF-8?q?=E2=99=BB=EF=B8=8F=20Remove=20`full=5Ftitle`=20?= =?UTF-8?q?need=20field=20and=20only=20trim=20generated=20titles?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit In the documentation for `needs_max_title_length`, it states: > This option is used in conjunction with auto-generated titles as controlled by `needs_title_from_content` However, this was not the case; it was being trimmed for all titles, irrespective of if they were auto-generated. Trimming is now only applied to auto-generated titles (an the untrimmed title is still used for ID generation), The existence of both `title` and `full_title` is confusing and unnecessary and so `full_title` is removed. --- sphinx_needs/api/need.py | 28 +++---- sphinx_needs/data.py | 11 +-- sphinx_needs/directives/need.py | 21 +++-- sphinx_needs/directives/needimport.py | 6 +- sphinx_needs/external_needs.py | 5 +- sphinx_needs/layout.py | 2 +- .../__snapshots__/test_add_sections_sigs.ambr | 3 - tests/__snapshots__/test_basic_doc.ambr | 10 +-- tests/__snapshots__/test_external.ambr | 23 +----- tests/__snapshots__/test_extra_options.ambr | 10 +-- tests/__snapshots__/test_list2need.ambr | 16 ---- .../__snapshots__/test_need_constraints.ambr | 16 +--- tests/__snapshots__/test_need_parts.ambr | 2 - tests/__snapshots__/test_needextend.ambr | 27 +------ tests/__snapshots__/test_needimport.ambr | 78 +------------------ tests/__snapshots__/test_needs_builder.ambr | 33 +------- tests/__snapshots__/test_needs_from_toml.ambr | 1 - .../__snapshots__/test_needs_id_builder.ambr | 3 - tests/__snapshots__/test_needuml.ambr | 9 --- tests/__snapshots__/test_service_github.ambr | 12 +-- 20 files changed, 50 insertions(+), 266 deletions(-) diff --git a/sphinx_needs/api/need.py b/sphinx_needs/api/need.py index 506baaf75..78e3a9614 100644 --- a/sphinx_needs/api/need.py +++ b/sphinx_needs/api/need.py @@ -68,6 +68,7 @@ def generate_need( is_external: bool = False, external_url: str | None = None, external_css: str = "external_link", + full_title: str | None = None, **kwargs: str, ) -> NeedsInfoType: """Creates a validated need data entry, without adding it to the project. @@ -103,6 +104,8 @@ def generate_need( :param state: Current state object. :param need_type: Name of the need type to create. :param title: String as title. + :param full_title: This is given, if an auto-generated title was trimmed. + It is used to auto-generate the ID, if required. :param id: ID as string. If not given, an id will get generated. :param content: Content of the need :param status: Status as string. @@ -143,7 +146,12 @@ def generate_need( "missing_id", "No ID defined, but 'needs_id_required' is set to True." ) need_id = ( - _make_hashed_id(need_type_data["prefix"], title, content, needs_config) + _make_hashed_id( + need_type_data["prefix"], + title if full_title is None else full_title, + content, + needs_config, + ) if id is None else id ) @@ -182,15 +190,6 @@ def generate_need( f"Constraints {unknown_constraints!r} not in 'needs_constraints'.", ) - # Trim title if it is too long - max_length = needs_config.max_title_length - if max_length == -1 or len(title) <= max_length: - trimmed_title = title - elif max_length <= 3: - trimmed_title = title[:max_length] - else: - trimmed_title = title[: max_length - 3] + "..." - # Add the need and all needed information needs_info: NeedsInfoType = { "docname": docname, @@ -209,8 +208,7 @@ def generate_need( "constraints_passed": True, "constraints_results": {}, "id": need_id, - "title": trimmed_title, - "full_title": title, + "title": title, "collapse": collapse or False, "arch": arch or {}, "style": style, @@ -347,6 +345,7 @@ def add_need( is_external: bool = False, external_url: str | None = None, external_css: str = "external_link", + full_title: str | None = None, **kwargs: Any, ) -> list[nodes.Node]: """ @@ -384,6 +383,8 @@ def add_need( :param state: Current state object. :param need_type: Name of the need type to create. :param title: String as title. + :param full_title: This is given, if an auto-generated title was trimmed. + It is used to auto-generate the ID, if required. :param id: ID as string. If not given, an id will get generated. :param content: Content of the need, either as a ``str`` or a ``StringList`` (a string with mapping to the source text). @@ -415,6 +416,7 @@ def add_need( needs_config=NeedsSphinxConfig(app.config), need_type=need_type, title=title, + full_title=full_title, docname=docname, lineno=lineno, id=id, @@ -446,7 +448,7 @@ def add_need( if SphinxNeedsData(app.env).has_need(needs_info["id"]): if id is None: # this is a generated ID - message = f"Unique ID could not be generated for need with title {needs_info['full_title']!r}." + message = f"Unique ID could not be generated for need with title {needs_info['title']!r}." else: message = f"A need with ID {needs_info['id']!r} already exists." raise InvalidNeedException("duplicate_id", message) diff --git a/sphinx_needs/data.py b/sphinx_needs/data.py index 5d7d5f059..44df692a3 100644 --- a/sphinx_needs/data.py +++ b/sphinx_needs/data.py @@ -95,13 +95,8 @@ class CoreFieldParameters(TypedDict): "exclude_external": True, "exclude_import": True, }, - "full_title": { - "description": "Title of the need, of unlimited length.", - "schema": {"type": "string", "default": ""}, - "allow_df": True, - }, "title": { - "description": "Title of the need, trimmed to a maximum length.", + "description": "Title of the need.", "schema": {"type": "string"}, "allow_df": True, }, @@ -374,10 +369,8 @@ class NeedsInfoType(TypedDict, total=False): """Line number on which the need content starts (None if external).""" # meta information - full_title: Required[str] - """Title of the need, of unlimited length.""" title: Required[str] - """Title of the need, trimmed to a maximum length.""" + """Title of the need.""" status: Required[None | str] tags: Required[list[str]] diff --git a/sphinx_needs/directives/need.py b/sphinx_needs/directives/need.py index 0b6b0afe3..3bef759dc 100644 --- a/sphinx_needs/directives/need.py +++ b/sphinx_needs/directives/need.py @@ -75,7 +75,7 @@ def run(self) -> Sequence[nodes.Node]: post_template = self.options.get("post_template") constraints = self.options.get("constraints", []) - title = self._get_title(needs_config) + title, full_title = self._get_title(needs_config) need_extra_options = {} for extra_link in needs_config.extra_links: @@ -94,6 +94,7 @@ def run(self) -> Sequence[nodes.Node]: self.lineno, need_type=self.name, title=title, + full_title=full_title, id=id, content=self.content, lineno_content=self.content_offset + 1, @@ -121,10 +122,12 @@ def run(self) -> Sequence[nodes.Node]: add_doc(self.env, self.env.docname) return need_nodes - def _get_title(self, config: NeedsSphinxConfig) -> str: + def _get_title(self, config: NeedsSphinxConfig) -> tuple[str, str | None]: """Determines the title for the need in order of precedence: directive argument, first sentence of requirement (if `:title_from_content:` was set, and '' if no title is to be derived). + + :return: The title and the full title (if title was trimmed) """ if len(self.arguments) > 0: # a title was passed if "title_from_content" in self.options: @@ -134,7 +137,7 @@ def _get_title(self, config: NeedsSphinxConfig) -> str: "title", location=self.get_location(), ) - return self.arguments[0] # type: ignore[no-any-return] + return self.arguments[0], None elif "title_from_content" in self.options or config.title_from_content: first_sentence = re.split(r"[.\n]", "\n".join(self.content))[0] if not first_sentence: @@ -144,9 +147,17 @@ def _get_title(self, config: NeedsSphinxConfig) -> str: "title", location=self.get_location(), ) - return first_sentence or "" + title = first_sentence or "" + # Trim title if it is too long + max_length = config.max_title_length + if max_length == -1 or len(title) <= max_length: + return title, None + elif max_length <= 3: + return title[:max_length], title + else: + return title[: max_length - 3] + "...", title else: - return "" + return "", None def get_sections_and_signature_and_needs( diff --git a/sphinx_needs/directives/needimport.py b/sphinx_needs/directives/needimport.py index f19a76062..c4c881298 100644 --- a/sphinx_needs/directives/needimport.py +++ b/sphinx_needs/directives/needimport.py @@ -202,6 +202,7 @@ def run(self) -> Sequence[nodes.Node]: # all known need fields in the project known_keys = { + "full_title", # legacy *NeedsCoreFields, *(x["option"] for x in needs_config.extra_links), *(x["option"] + "_back" for x in needs_config.extra_links), @@ -209,6 +210,7 @@ def run(self) -> Sequence[nodes.Node]: } # all keys that should not be imported from external needs omitted_keys = { + "full_title", # legacy *(k for k, v in NeedsCoreFields.items() if v.get("exclude_import")), *(x["option"] + "_back" for x in needs_config.extra_links), } @@ -255,10 +257,6 @@ def run(self) -> Sequence[nodes.Node]: # These keys need to be different for add_need() api call. need_params["need_type"] = need_params.pop("type", "") # type: ignore[misc,typeddict-unknown-key] - need_params["title"] = need_params.pop( - "full_title", # type: ignore[misc] - need_params.get("title", ""), - ) # Replace id, to get unique ids need_id = need_params["id"] = id_prefix + need_params["id"] diff --git a/sphinx_needs/external_needs.py b/sphinx_needs/external_needs.py index 9aa2e014d..43b346310 100644 --- a/sphinx_needs/external_needs.py +++ b/sphinx_needs/external_needs.py @@ -121,6 +121,7 @@ def load_external_needs( # all known need fields in the project known_keys = { + "full_title", # legacy *NeedsCoreFields, *(x["option"] for x in needs_config.extra_links), *(x["option"] + "_back" for x in needs_config.extra_links), @@ -128,6 +129,7 @@ def load_external_needs( } # all keys that should not be imported from external needs omitted_keys = { + "full_title", # legacy *(k for k, v in NeedsCoreFields.items() if v.get("exclude_external")), *(x["option"] + "_back" for x in needs_config.extra_links), } @@ -158,9 +160,6 @@ def load_external_needs( # These keys need to be different for add_need() api call. need_params["need_type"] = need_params.pop("type", "") - need_params["title"] = need_params.pop( - "full_title", need_params.get("title", "") - ) # Replace id, to get unique ids need_params["id"] = id_prefix + need["id"] diff --git a/sphinx_needs/layout.py b/sphinx_needs/layout.py index d3652c2d5..1009ccad9 100644 --- a/sphinx_needs/layout.py +++ b/sphinx_needs/layout.py @@ -598,7 +598,7 @@ def meta_all( """ ``meta_all()`` excludes by default the output of: ``docname``, ``lineno``, ``refid``, ``content``, ``collapse``, ``parts``, ``id_parent``, - ``id_complete``, ``title``, ``full_title``, ``is_part``, ``is_need``, + ``id_complete``, ``title``, ``is_part``, ``is_need``, ``type_prefix``, ``type_color``, ``type_style``, ``type``, ``type_name``, ``id``, ``hide``, ``sections``, ``section_name``. diff --git a/tests/__snapshots__/test_add_sections_sigs.ambr b/tests/__snapshots__/test_add_sections_sigs.ambr index 592e41aba..9512a8d3a 100644 --- a/tests/__snapshots__/test_add_sections_sigs.ambr +++ b/tests/__snapshots__/test_add_sections_sigs.ambr @@ -5,7 +5,6 @@ 'content': 'The Tool **shall** have a command line interface.', 'docname': 'index', 'external_css': 'external_link', - 'full_title': 'Command line interface', 'id': 'R_12345', 'impacts': 'component_a', 'introduced': '1.0.0', @@ -29,7 +28,6 @@ 'content': 'The Tool **shall** have a command line interface.', 'docname': 'index', 'external_css': 'external_link', - 'full_title': 'Another Requirement', 'id': 'R_12346', 'impacts': 'component_b', 'introduced': '1.1.1', @@ -52,7 +50,6 @@ 'T_001': dict({ 'docname': 'index', 'external_css': 'external_link', - 'full_title': 'test method', 'id': 'T_001', 'layout': '', 'lineno': 40, diff --git a/tests/__snapshots__/test_basic_doc.ambr b/tests/__snapshots__/test_basic_doc.ambr index cc30f060d..ce6a9aba7 100644 --- a/tests/__snapshots__/test_basic_doc.ambr +++ b/tests/__snapshots__/test_basic_doc.ambr @@ -23,7 +23,6 @@ 'duration': '', 'external_css': 'external_link', 'external_url': None, - 'full_title': 'Test story', 'has_dead_links': False, 'has_forbidden_dead_links': False, 'id': 'ST_001', @@ -92,7 +91,6 @@ 'duration': '', 'external_css': 'external_link', 'external_url': None, - 'full_title': 'No ID', 'has_dead_links': False, 'has_forbidden_dead_links': False, 'id': 'US_38823', @@ -256,12 +254,6 @@ 'null', ]), }), - 'full_title': dict({ - 'default': '', - 'description': 'Title of the need, of unlimited length.', - 'field_type': 'core', - 'type': 'string', - }), 'has_dead_links': dict({ 'default': False, 'description': 'True if any links reference need ids that are not found in the need list.', @@ -527,7 +519,7 @@ ]), }), 'title': dict({ - 'description': 'Title of the need, trimmed to a maximum length.', + 'description': 'Title of the need.', 'field_type': 'core', 'type': 'string', }), diff --git a/tests/__snapshots__/test_external.ambr b/tests/__snapshots__/test_external.ambr index 32f701227..8c3a22990 100644 --- a/tests/__snapshots__/test_external.ambr +++ b/tests/__snapshots__/test_external.ambr @@ -8,7 +8,6 @@ 'EXT_REQ_01': dict({ 'external_css': 'external_link', 'external_url': 'http://my_company.com/docs/v1/index.html#REQ_01', - 'full_title': 'REQ_01', 'id': 'EXT_REQ_01', 'is_external': True, 'section_name': 'Title', @@ -22,7 +21,6 @@ 'IMP_REQ_01': dict({ 'docname': 'index', 'external_css': 'external_link', - 'full_title': 'REQ_01', 'id': 'IMP_REQ_01', 'layout': '', 'lineno': 4, @@ -148,12 +146,6 @@ 'null', ]), }), - 'full_title': dict({ - 'default': '', - 'description': 'Title of the need, of unlimited length.', - 'field_type': 'core', - 'type': 'string', - }), 'has_dead_links': dict({ 'default': False, 'description': 'True if any links reference need ids that are not found in the need list.', @@ -419,7 +411,7 @@ ]), }), 'title': dict({ - 'description': 'Title of the need, trimmed to a maximum length.', + 'description': 'Title of the need.', 'field_type': 'core', 'type': 'string', }), @@ -479,7 +471,6 @@ 'external_url': 'http://my_company.com/docs/v1/index.html#TEST_01', 'extra1': 'value1', 'extra2': '1', - 'full_title': 'TEST_01 DESCRIPTION', 'id': 'EXT_TEST_01', 'is_external': True, 'links': list([ @@ -501,7 +492,6 @@ 'doctype': '', 'external_css': 'external_link', 'external_url': 'http://my_company.com/docs/v1/index.html#TEST_02', - 'full_title': 'TEST_02 DESCRIPTION', 'id': 'EXT_TEST_02', 'is_external': True, 'links': list([ @@ -530,7 +520,6 @@ 'REQ_1': dict({ 'docname': 'index', 'external_css': 'external_link', - 'full_title': 'Test requirement 1', 'id': 'REQ_1', 'layout': '', 'lineno': 9, @@ -549,7 +538,6 @@ 'SPEC_1': dict({ 'docname': 'index', 'external_css': 'external_link', - 'full_title': 'Test specification 1', 'id': 'SPEC_1', 'layout': '', 'lineno': 12, @@ -571,7 +559,6 @@ 'SUB_002': dict({ 'docname': 'subfolder_a/subfolder_b/subpage', 'external_css': 'external_link', - 'full_title': 'Sub-Req', 'id': 'SUB_002', 'layout': '', 'lineno': 4, @@ -709,12 +696,6 @@ 'field_type': 'extra', 'type': 'string', }), - 'full_title': dict({ - 'default': '', - 'description': 'Title of the need, of unlimited length.', - 'field_type': 'core', - 'type': 'string', - }), 'has_dead_links': dict({ 'default': False, 'description': 'True if any links reference need ids that are not found in the need list.', @@ -980,7 +961,7 @@ ]), }), 'title': dict({ - 'description': 'Title of the need, trimmed to a maximum length.', + 'description': 'Title of the need.', 'field_type': 'core', 'type': 'string', }), diff --git a/tests/__snapshots__/test_extra_options.ambr b/tests/__snapshots__/test_extra_options.ambr index 6a02976a6..a8c092967 100644 --- a/tests/__snapshots__/test_extra_options.ambr +++ b/tests/__snapshots__/test_extra_options.ambr @@ -9,7 +9,6 @@ 'content': 'The Tool **shall** have a command line interface.', 'docname': 'index', 'external_css': 'external_link', - 'full_title': 'Command line interface', 'id': 'R_12345', 'impacts': 'component_a', 'introduced': '1.0.0', @@ -33,7 +32,6 @@ 'content': 'The Tool **shall** have a command line interface.', 'docname': 'index', 'external_css': 'external_link', - 'full_title': 'Another Requirement', 'id': 'R_12346', 'impacts': 'component_b', 'introduced': '1.1.1', @@ -167,12 +165,6 @@ 'null', ]), }), - 'full_title': dict({ - 'default': '', - 'description': 'Title of the need, of unlimited length.', - 'field_type': 'core', - 'type': 'string', - }), 'has_dead_links': dict({ 'default': False, 'description': 'True if any links reference need ids that are not found in the need list.', @@ -456,7 +448,7 @@ ]), }), 'title': dict({ - 'description': 'Title of the need, trimmed to a maximum length.', + 'description': 'Title of the need.', 'field_type': 'core', 'type': 'string', }), diff --git a/tests/__snapshots__/test_list2need.ambr b/tests/__snapshots__/test_list2need.ambr index 7b0334f7d..2c61f3364 100644 --- a/tests/__snapshots__/test_list2need.ambr +++ b/tests/__snapshots__/test_list2need.ambr @@ -44,7 +44,6 @@ 'duration': '', 'external_css': 'external_link', 'external_url': None, - 'full_title': 'Another Need example on level 1 with a given ID', 'has_dead_links': False, 'has_forbidden_dead_links': False, 'hide': False, @@ -131,7 +130,6 @@ 'duration': '', 'external_css': 'external_link', 'external_url': None, - 'full_title': 'Sub-Need on level 2', 'has_dead_links': False, 'has_forbidden_dead_links': False, 'hide': False, @@ -217,7 +215,6 @@ 'duration': '', 'external_css': 'external_link', 'external_url': None, - 'full_title': 'Need example on level 1 ', 'has_dead_links': False, 'has_forbidden_dead_links': False, 'hide': False, @@ -303,7 +300,6 @@ 'duration': '', 'external_css': 'external_link', 'external_url': None, - 'full_title': 'Need example on level 1 ', 'has_dead_links': False, 'has_forbidden_dead_links': False, 'hide': False, @@ -392,7 +388,6 @@ 'duration': '', 'external_css': 'external_link', 'external_url': None, - 'full_title': 'Link example ', 'has_dead_links': False, 'has_forbidden_dead_links': False, 'hide': False, @@ -481,7 +476,6 @@ 'duration': '', 'external_css': 'external_link', 'external_url': None, - 'full_title': 'New line example', 'has_dead_links': False, 'has_forbidden_dead_links': False, 'hide': False, @@ -568,7 +562,6 @@ 'duration': '', 'external_css': 'external_link', 'external_url': None, - 'full_title': 'Need example on level 1', 'has_dead_links': False, 'has_forbidden_dead_links': False, 'hide': False, @@ -654,7 +647,6 @@ 'duration': '', 'external_css': 'external_link', 'external_url': None, - 'full_title': 'Need example on level 2', 'has_dead_links': False, 'has_forbidden_dead_links': False, 'hide': False, @@ -740,7 +732,6 @@ 'duration': '', 'external_css': 'external_link', 'external_url': None, - 'full_title': 'Need example on level 3', 'has_dead_links': False, 'has_forbidden_dead_links': False, 'hide': False, @@ -826,7 +817,6 @@ 'duration': '', 'external_css': 'external_link', 'external_url': None, - 'full_title': 'Need example on level 1 ', 'has_dead_links': False, 'has_forbidden_dead_links': False, 'hide': False, @@ -915,7 +905,6 @@ 'duration': '', 'external_css': 'external_link', 'external_url': None, - 'full_title': 'Need example on level 1 ', 'has_dead_links': False, 'has_forbidden_dead_links': False, 'hide': False, @@ -1006,7 +995,6 @@ 'duration': '', 'external_css': 'external_link', 'external_url': None, - 'full_title': 'Link example ', 'has_dead_links': False, 'has_forbidden_dead_links': False, 'hide': False, @@ -1097,7 +1085,6 @@ 'duration': '', 'external_css': 'external_link', 'external_url': None, - 'full_title': 'New line example', 'has_dead_links': False, 'has_forbidden_dead_links': False, 'hide': False, @@ -1196,7 +1183,6 @@ 'duration': '', 'external_css': 'external_link', 'external_url': None, - 'full_title': 'Another Sub-Need on level 2', 'has_dead_links': False, 'has_forbidden_dead_links': False, 'hide': False, @@ -1286,7 +1272,6 @@ 'duration': '', 'external_css': 'external_link', 'external_url': None, - 'full_title': 'Sub-Need on level 3', 'has_dead_links': False, 'has_forbidden_dead_links': False, 'hide': False, @@ -1372,7 +1357,6 @@ 'duration': '', 'external_css': 'external_link', 'external_url': None, - 'full_title': 'Need example on level 1', 'has_dead_links': False, 'has_forbidden_dead_links': False, 'hide': False, diff --git a/tests/__snapshots__/test_need_constraints.ambr b/tests/__snapshots__/test_need_constraints.ambr index 2c17b932d..ca7f2d82f 100644 --- a/tests/__snapshots__/test_need_constraints.ambr +++ b/tests/__snapshots__/test_need_constraints.ambr @@ -23,7 +23,6 @@ 'duration': '', 'external_css': 'external_link', 'external_url': None, - 'full_title': 'test1', 'has_dead_links': False, 'has_forbidden_dead_links': False, 'id': 'SECURITY_REQ', @@ -98,7 +97,6 @@ 'duration': '', 'external_css': 'external_link', 'external_url': None, - 'full_title': 'test2', 'has_dead_links': False, 'has_forbidden_dead_links': False, 'id': 'SP_109F4', @@ -174,7 +172,6 @@ 'duration': '', 'external_css': 'external_link', 'external_url': None, - 'full_title': 'test3', 'has_dead_links': False, 'has_forbidden_dead_links': False, 'id': 'SP_3EBFA', @@ -248,7 +245,6 @@ 'duration': '', 'external_css': 'external_link', 'external_url': None, - 'full_title': 'FAIL_01', 'has_dead_links': False, 'has_forbidden_dead_links': False, 'id': 'SP_CA3FB', @@ -317,7 +313,6 @@ 'duration': '', 'external_css': 'external_link', 'external_url': None, - 'full_title': 'Command line interface', 'has_dead_links': False, 'has_forbidden_dead_links': False, 'id': 'SP_TOO_001', @@ -393,7 +388,6 @@ 'duration': '', 'external_css': 'external_link', 'external_url': None, - 'full_title': 'CLI', 'has_dead_links': False, 'has_forbidden_dead_links': False, 'id': 'SP_TOO_002', @@ -469,7 +463,6 @@ 'duration': '', 'external_css': 'external_link', 'external_url': None, - 'full_title': 'CLI', 'has_dead_links': False, 'has_forbidden_dead_links': False, 'id': 'TEST_STYLE', @@ -542,7 +535,6 @@ 'duration': '', 'external_css': 'external_link', 'external_url': None, - 'full_title': 'CLI2', 'has_dead_links': False, 'has_forbidden_dead_links': False, 'id': 'TEST_STYLE2', @@ -706,12 +698,6 @@ 'null', ]), }), - 'full_title': dict({ - 'default': '', - 'description': 'Title of the need, of unlimited length.', - 'field_type': 'core', - 'type': 'string', - }), 'has_dead_links': dict({ 'default': False, 'description': 'True if any links reference need ids that are not found in the need list.', @@ -977,7 +963,7 @@ ]), }), 'title': dict({ - 'description': 'Title of the need, trimmed to a maximum length.', + 'description': 'Title of the need.', 'field_type': 'core', 'type': 'string', }), diff --git a/tests/__snapshots__/test_need_parts.ambr b/tests/__snapshots__/test_need_parts.ambr index 1af968471..a0ca41409 100644 --- a/tests/__snapshots__/test_need_parts.ambr +++ b/tests/__snapshots__/test_need_parts.ambr @@ -22,7 +22,6 @@ ''', 'docname': 'index', 'external_css': 'external_link', - 'full_title': 'Command line interface', 'id': 'SP_TOO_001', 'layout': '', 'lineno': 4, @@ -99,7 +98,6 @@ 'content': 'Part in nested need: :need_part:`(nested_id)something`', 'docname': 'index', 'external_css': 'external_link', - 'full_title': 'TEST_2', 'id': 'TEST_2', 'layout': '', 'lineno': 21, diff --git a/tests/__snapshots__/test_needextend.ambr b/tests/__snapshots__/test_needextend.ambr index bcbd9d8f4..6ee3cbce2 100644 --- a/tests/__snapshots__/test_needextend.ambr +++ b/tests/__snapshots__/test_needextend.ambr @@ -23,7 +23,6 @@ 'duration': '', 'external_css': 'external_link', 'external_url': None, - 'full_title': 'Requirement 1', 'has_dead_links': False, 'has_forbidden_dead_links': False, 'id': 'REQ_1', @@ -95,7 +94,6 @@ 'duration': '', 'external_css': 'external_link', 'external_url': None, - 'full_title': 'Requirement A 1', 'has_dead_links': False, 'has_forbidden_dead_links': False, 'id': 'REQ_A_1', @@ -165,7 +163,6 @@ 'duration': '', 'external_css': 'external_link', 'external_url': None, - 'full_title': 'Requirement B 1', 'has_dead_links': False, 'has_forbidden_dead_links': False, 'id': 'REQ_B_1', @@ -235,7 +232,6 @@ 'duration': '', 'external_css': 'external_link', 'external_url': None, - 'full_title': 'Requirement C 1', 'has_dead_links': False, 'has_forbidden_dead_links': False, 'id': 'REQ_C_1', @@ -304,7 +300,6 @@ 'duration': '', 'external_css': 'external_link', 'external_url': None, - 'full_title': 'Requirement D 1', 'has_dead_links': False, 'has_forbidden_dead_links': False, 'id': 'REQ_D_1', @@ -469,12 +464,6 @@ 'null', ]), }), - 'full_title': dict({ - 'default': '', - 'description': 'Title of the need, of unlimited length.', - 'field_type': 'core', - 'type': 'string', - }), 'has_dead_links': dict({ 'default': False, 'description': 'True if any links reference need ids that are not found in the need list.', @@ -740,7 +729,7 @@ ]), }), 'title': dict({ - 'description': 'Title of the need, trimmed to a maximum length.', + 'description': 'Title of the need.', 'field_type': 'core', 'type': 'string', }), @@ -814,7 +803,6 @@ 'duration': '', 'external_css': 'external_link', 'external_url': None, - 'full_title': 'needextend Example 3', 'has_dead_links': False, 'has_forbidden_dead_links': False, 'id': 'extend_test_003', @@ -889,7 +877,6 @@ 'duration': '', 'external_css': 'external_link', 'external_url': None, - 'full_title': 'needextend Example 4', 'has_dead_links': False, 'has_forbidden_dead_links': False, 'id': 'extend_test_004', @@ -964,7 +951,6 @@ 'duration': '', 'external_css': 'external_link', 'external_url': None, - 'full_title': 'needextend Example 5', 'has_dead_links': False, 'has_forbidden_dead_links': False, 'id': 'extend_test_005', @@ -1034,7 +1020,6 @@ 'duration': '', 'external_css': 'external_link', 'external_url': None, - 'full_title': 'needextend Example 6', 'has_dead_links': False, 'has_forbidden_dead_links': False, 'id': 'extend_test_006', @@ -1105,7 +1090,6 @@ 'duration': '', 'external_css': 'external_link', 'external_url': None, - 'full_title': 'needextend Example 7', 'has_dead_links': False, 'has_forbidden_dead_links': False, 'id': 'extend_test_007', @@ -1177,7 +1161,6 @@ 'duration': '', 'external_css': 'external_link', 'external_url': None, - 'full_title': 'needextend different pages test', 'has_dead_links': False, 'has_forbidden_dead_links': False, 'id': 'extend_test_page', @@ -1344,12 +1327,6 @@ 'null', ]), }), - 'full_title': dict({ - 'default': '', - 'description': 'Title of the need, of unlimited length.', - 'field_type': 'core', - 'type': 'string', - }), 'has_dead_links': dict({ 'default': False, 'description': 'True if any links reference need ids that are not found in the need list.', @@ -1615,7 +1592,7 @@ ]), }), 'title': dict({ - 'description': 'Title of the need, trimmed to a maximum length.', + 'description': 'Title of the need.', 'field_type': 'core', 'type': 'string', }), diff --git a/tests/__snapshots__/test_needimport.ambr b/tests/__snapshots__/test_needimport.ambr index 97afe72f5..010d6374a 100644 --- a/tests/__snapshots__/test_needimport.ambr +++ b/tests/__snapshots__/test_needimport.ambr @@ -9,7 +9,6 @@ 'content': 'Incoming links of this spec: :need_incoming:`IMPL_01`.', 'docname': 'index', 'external_css': 'external_link', - 'full_title': 'Implementation for specification', 'id': 'IMPL_01', 'lineno': 4, 'links': list([ @@ -30,7 +29,6 @@ 'content': 'Outgoing links of this spec: :need_outgoing:`OWN_ID_123`.', 'docname': 'index', 'external_css': 'external_link', - 'full_title': 'Specification of a requirement', 'id': 'OWN_ID_123', 'lineno': 4, 'links': list([ @@ -56,7 +54,6 @@ ''', 'docname': 'index', 'external_css': 'external_link', - 'full_title': 'My first requirement', 'id': 'REQ_001', 'lineno': 4, 'links_back': list([ @@ -76,7 +73,6 @@ 'REQ_1': dict({ 'docname': 'index', 'external_css': 'external_link', - 'full_title': 'Test requirement 1', 'id': 'REQ_1', 'layout': '', 'lineno': 48, @@ -92,7 +88,6 @@ 'ROLES_REQ_1': dict({ 'docname': 'index', 'external_css': 'external_link', - 'full_title': 'Sliced Bread', 'id': 'ROLES_REQ_1', 'lineno': 4, 'links_back': list([ @@ -109,7 +104,6 @@ 'ROLES_REQ_2': dict({ 'docname': 'index', 'external_css': 'external_link', - 'full_title': 'Butter on Bread', 'id': 'ROLES_REQ_2', 'lineno': 4, 'links': list([ @@ -126,7 +120,6 @@ 'R_22EB2': dict({ 'docname': 'index', 'external_css': 'external_link', - 'full_title': 'Requirement B', 'id': 'R_22EB2', 'lineno': 4, 'section_name': 'TEST DOCUMENT IMPORT', @@ -145,7 +138,6 @@ 'R_2A9D0': dict({ 'docname': 'index', 'external_css': 'external_link', - 'full_title': 'Requirement A', 'id': 'R_2A9D0', 'lineno': 4, 'section_name': 'TEST DOCUMENT IMPORT', @@ -169,7 +161,6 @@ ''', 'docname': 'index', 'external_css': 'external_link', - 'full_title': 'My first requirement', 'id': 'R_F4722', 'lineno': 4, 'links_back': list([ @@ -192,7 +183,6 @@ 'SPEC_1': dict({ 'docname': 'index', 'external_css': 'external_link', - 'full_title': 'Test specification 1', 'id': 'SPEC_1', 'layout': '', 'lineno': 51, @@ -208,7 +198,6 @@ 'S_01A67': dict({ 'docname': 'index', 'external_css': 'external_link', - 'full_title': 'Specification B', 'id': 'S_01A67', 'lineno': 4, 'section_name': 'TEST DOCUMENT IMPORT', @@ -234,7 +223,6 @@ ''', 'docname': 'index', 'external_css': 'external_link', - 'full_title': 'Spec for a requirement', 'id': 'S_503A1', 'lineno': 4, 'links': list([ @@ -256,7 +244,6 @@ 'S_D70B0': dict({ 'docname': 'index', 'external_css': 'external_link', - 'full_title': 'Specification A', 'id': 'S_D70B0', 'lineno': 4, 'section_name': 'TEST DOCUMENT IMPORT', @@ -276,7 +263,6 @@ 'content': 'TEST IMPORT TITLE', 'docname': 'index', 'external_css': 'external_link', - 'full_title': 'TEST IMPORT DESCRIPTION', 'id': 'TEST_01', 'lineno': 4, 'section_name': 'TEST DOCUMENT IMPORT', @@ -290,7 +276,6 @@ 'T_5CCAA': dict({ 'docname': 'index', 'external_css': 'external_link', - 'full_title': 'Test 1', 'id': 'T_5CCAA', 'lineno': 4, 'parent_needs_back': list([ @@ -315,7 +300,6 @@ ''', 'docname': 'index', 'external_css': 'external_link', - 'full_title': 'Test for XY', 'id': 'T_C3893', 'lineno': 4, 'links': list([ @@ -344,7 +328,6 @@ 'content': 'Incoming links of this spec: :need_incoming:`collapsed_IMPL_01`.', 'docname': 'index', 'external_css': 'external_link', - 'full_title': 'Implementation for specification', 'id': 'collapsed_IMPL_01', 'lineno': 16, 'links': list([ @@ -371,7 +354,6 @@ 'content': 'Outgoing links of this spec: :need_outgoing:`collapsed_OWN_ID_123`.', 'docname': 'index', 'external_css': 'external_link', - 'full_title': 'Specification of a requirement', 'id': 'collapsed_OWN_ID_123', 'lineno': 16, 'links': list([ @@ -402,7 +384,6 @@ ''', 'docname': 'index', 'external_css': 'external_link', - 'full_title': 'My first requirement', 'id': 'collapsed_REQ_001', 'lineno': 16, 'links_back': list([ @@ -426,7 +407,6 @@ 'collapsed_ROLES_REQ_1': dict({ 'docname': 'index', 'external_css': 'external_link', - 'full_title': 'Sliced Bread', 'id': 'collapsed_ROLES_REQ_1', 'lineno': 16, 'links_back': list([ @@ -449,7 +429,6 @@ 'collapsed_ROLES_REQ_2': dict({ 'docname': 'index', 'external_css': 'external_link', - 'full_title': 'Butter on Bread', 'id': 'collapsed_ROLES_REQ_2', 'lineno': 16, 'links': list([ @@ -472,7 +451,6 @@ 'collapsed_R_22EB2': dict({ 'docname': 'index', 'external_css': 'external_link', - 'full_title': 'Requirement B', 'id': 'collapsed_R_22EB2', 'lineno': 16, 'section_name': 'COLLAPSED', @@ -495,7 +473,6 @@ 'collapsed_R_2A9D0': dict({ 'docname': 'index', 'external_css': 'external_link', - 'full_title': 'Requirement A', 'id': 'collapsed_R_2A9D0', 'lineno': 16, 'section_name': 'COLLAPSED', @@ -523,7 +500,6 @@ ''', 'docname': 'index', 'external_css': 'external_link', - 'full_title': 'My first requirement', 'id': 'collapsed_R_F4722', 'lineno': 16, 'links_back': list([ @@ -550,7 +526,6 @@ 'collapsed_S_01A67': dict({ 'docname': 'index', 'external_css': 'external_link', - 'full_title': 'Specification B', 'id': 'collapsed_S_01A67', 'lineno': 16, 'section_name': 'COLLAPSED', @@ -580,7 +555,6 @@ ''', 'docname': 'index', 'external_css': 'external_link', - 'full_title': 'Spec for a requirement', 'id': 'collapsed_S_503A1', 'lineno': 16, 'links': list([ @@ -606,7 +580,6 @@ 'collapsed_S_D70B0': dict({ 'docname': 'index', 'external_css': 'external_link', - 'full_title': 'Specification A', 'id': 'collapsed_S_D70B0', 'lineno': 16, 'section_name': 'COLLAPSED', @@ -630,7 +603,6 @@ 'content': 'TEST IMPORT TITLE', 'docname': 'index', 'external_css': 'external_link', - 'full_title': 'TEST IMPORT DESCRIPTION', 'id': 'collapsed_TEST_01', 'lineno': 16, 'section_name': 'COLLAPSED', @@ -650,7 +622,6 @@ 'collapsed_T_5CCAA': dict({ 'docname': 'index', 'external_css': 'external_link', - 'full_title': 'Test 1', 'id': 'collapsed_T_5CCAA', 'lineno': 16, 'parent_needs_back': list([ @@ -679,7 +650,6 @@ ''', 'docname': 'index', 'external_css': 'external_link', - 'full_title': 'Test for XY', 'id': 'collapsed_T_C3893', 'lineno': 16, 'links': list([ @@ -712,7 +682,6 @@ 'content': 'Incoming links of this spec: :need_incoming:`filter_IMPL_01`.', 'docname': 'index', 'external_css': 'external_link', - 'full_title': 'Implementation for specification', 'id': 'filter_IMPL_01', 'lineno': 29, 'links': list([ @@ -734,7 +703,6 @@ 'content': 'Incoming links of this spec: :need_incoming:`hidden_IMPL_01`.', 'docname': 'index', 'external_css': 'external_link', - 'full_title': 'Implementation for specification', 'id': 'hidden_IMPL_01', 'lineno': 9, 'links': list([ @@ -766,7 +734,6 @@ 'content': 'Outgoing links of this spec: :need_outgoing:`hidden_OWN_ID_123`.', 'docname': 'index', 'external_css': 'external_link', - 'full_title': 'Specification of a requirement', 'id': 'hidden_OWN_ID_123', 'lineno': 9, 'links': list([ @@ -802,7 +769,6 @@ ''', 'docname': 'index', 'external_css': 'external_link', - 'full_title': 'My first requirement', 'id': 'hidden_REQ_001', 'lineno': 9, 'links_back': list([ @@ -831,7 +797,6 @@ 'hidden_ROLES_REQ_1': dict({ 'docname': 'index', 'external_css': 'external_link', - 'full_title': 'Sliced Bread', 'id': 'hidden_ROLES_REQ_1', 'lineno': 9, 'links_back': list([ @@ -859,7 +824,6 @@ 'hidden_ROLES_REQ_2': dict({ 'docname': 'index', 'external_css': 'external_link', - 'full_title': 'Butter on Bread', 'id': 'hidden_ROLES_REQ_2', 'lineno': 9, 'links': list([ @@ -887,7 +851,6 @@ 'hidden_R_22EB2': dict({ 'docname': 'index', 'external_css': 'external_link', - 'full_title': 'Requirement B', 'id': 'hidden_R_22EB2', 'lineno': 9, 'parent_need': 'hidden_ROLES_REQ_2', @@ -915,7 +878,6 @@ 'hidden_R_2A9D0': dict({ 'docname': 'index', 'external_css': 'external_link', - 'full_title': 'Requirement A', 'id': 'hidden_R_2A9D0', 'lineno': 9, 'parent_need': 'hidden_R_22EB2', @@ -948,7 +910,6 @@ ''', 'docname': 'index', 'external_css': 'external_link', - 'full_title': 'My first requirement', 'id': 'hidden_R_F4722', 'lineno': 9, 'links_back': list([ @@ -980,7 +941,6 @@ 'hidden_S_01A67': dict({ 'docname': 'index', 'external_css': 'external_link', - 'full_title': 'Specification B', 'id': 'hidden_S_01A67', 'lineno': 9, 'parent_need': 'hidden_R_F4722', @@ -1015,7 +975,6 @@ ''', 'docname': 'index', 'external_css': 'external_link', - 'full_title': 'Spec for a requirement', 'id': 'hidden_S_503A1', 'lineno': 9, 'links': list([ @@ -1046,7 +1005,6 @@ 'hidden_S_D70B0': dict({ 'docname': 'index', 'external_css': 'external_link', - 'full_title': 'Specification A', 'id': 'hidden_S_D70B0', 'lineno': 9, 'parent_need': 'hidden_S_503A1', @@ -1075,7 +1033,6 @@ 'content': 'TEST IMPORT TITLE', 'docname': 'index', 'external_css': 'external_link', - 'full_title': 'TEST IMPORT DESCRIPTION', 'id': 'hidden_TEST_01', 'lineno': 9, 'parent_needs_back': list([ @@ -1096,7 +1053,6 @@ 'hidden_T_5CCAA': dict({ 'docname': 'index', 'external_css': 'external_link', - 'full_title': 'Test 1', 'id': 'hidden_T_5CCAA', 'lineno': 9, 'parent_need': 'hidden_S_D70B0', @@ -1127,7 +1083,6 @@ ''', 'docname': 'index', 'external_css': 'external_link', - 'full_title': 'Test for XY', 'id': 'hidden_T_C3893', 'lineno': 9, 'links': list([ @@ -1157,7 +1112,6 @@ 'ids_ROLES_REQ_1': dict({ 'docname': 'index', 'external_css': 'external_link', - 'full_title': 'Sliced Bread', 'id': 'ids_ROLES_REQ_1', 'lineno': 34, 'links_back': list([ @@ -1178,7 +1132,6 @@ 'ids_ROLES_REQ_2': dict({ 'docname': 'index', 'external_css': 'external_link', - 'full_title': 'Butter on Bread', 'id': 'ids_ROLES_REQ_2', 'lineno': 34, 'links': list([ @@ -1200,7 +1153,6 @@ 'content': 'AAA', 'docname': 'subdoc/filter', 'external_css': 'external_link', - 'full_title': 'AAA', 'id': 'small2_TEST_03', 'lineno': 8, 'section_name': 'Filter', @@ -1216,7 +1168,6 @@ 'content': 'small_TEST_02', 'docname': 'subdoc/filter', 'external_css': 'external_link', - 'full_title': 'TEST_02 DESCRIPTION', 'id': 'small_TEST_02', 'lineno': 4, 'section_name': 'Filter', @@ -1236,7 +1187,6 @@ 'content': 'small_abs_path_TEST_02', 'docname': 'subdoc/abs_path_import', 'external_css': 'external_link', - 'full_title': 'TEST_02 DESCRIPTION', 'id': 'small_abs_path_TEST_02', 'lineno': 6, 'section_name': 'Absolute path import test', @@ -1256,7 +1206,6 @@ 'content': 'small_depr_rel_path_TEST_01', 'docname': 'subdoc/deprecated_rel_path_import', 'external_css': 'external_link', - 'full_title': 'TEST_01 DESCRIPTION', 'id': 'small_depr_rel_path_TEST_01', 'lineno': 6, 'section_name': 'Deprecated Relative path import test', @@ -1271,7 +1220,6 @@ 'content': 'small_rel_path_TEST_01', 'docname': 'subdoc/rel_path_import', 'external_css': 'external_link', - 'full_title': 'TEST_01 DESCRIPTION', 'id': 'small_rel_path_TEST_01', 'lineno': 6, 'section_name': 'Relative path import test', @@ -1286,7 +1234,6 @@ 'content': 'Incoming links of this spec: :need_incoming:`test_IMPL_01`.', 'docname': 'index', 'external_css': 'external_link', - 'full_title': 'Implementation for specification', 'id': 'test_IMPL_01', 'lineno': 23, 'links': list([ @@ -1312,7 +1259,6 @@ 'content': 'Outgoing links of this spec: :need_outgoing:`test_OWN_ID_123`.', 'docname': 'index', 'external_css': 'external_link', - 'full_title': 'Specification of a requirement', 'id': 'test_OWN_ID_123', 'lineno': 23, 'links': list([ @@ -1342,7 +1288,6 @@ ''', 'docname': 'index', 'external_css': 'external_link', - 'full_title': 'My first requirement', 'id': 'test_REQ_001', 'lineno': 23, 'links_back': list([ @@ -1365,7 +1310,6 @@ 'test_ROLES_REQ_1': dict({ 'docname': 'index', 'external_css': 'external_link', - 'full_title': 'Sliced Bread', 'id': 'test_ROLES_REQ_1', 'lineno': 23, 'links_back': list([ @@ -1387,7 +1331,6 @@ 'test_ROLES_REQ_2': dict({ 'docname': 'index', 'external_css': 'external_link', - 'full_title': 'Butter on Bread', 'id': 'test_ROLES_REQ_2', 'lineno': 23, 'links': list([ @@ -1409,7 +1352,6 @@ 'test_R_22EB2': dict({ 'docname': 'index', 'external_css': 'external_link', - 'full_title': 'Requirement B', 'id': 'test_R_22EB2', 'lineno': 23, 'section_name': 'TEST', @@ -1431,7 +1373,6 @@ 'test_R_2A9D0': dict({ 'docname': 'index', 'external_css': 'external_link', - 'full_title': 'Requirement A', 'id': 'test_R_2A9D0', 'lineno': 23, 'section_name': 'TEST', @@ -1458,7 +1399,6 @@ ''', 'docname': 'index', 'external_css': 'external_link', - 'full_title': 'My first requirement', 'id': 'test_R_F4722', 'lineno': 23, 'links_back': list([ @@ -1484,7 +1424,6 @@ 'test_S_01A67': dict({ 'docname': 'index', 'external_css': 'external_link', - 'full_title': 'Specification B', 'id': 'test_S_01A67', 'lineno': 23, 'section_name': 'TEST', @@ -1513,7 +1452,6 @@ ''', 'docname': 'index', 'external_css': 'external_link', - 'full_title': 'Spec for a requirement', 'id': 'test_S_503A1', 'lineno': 23, 'links': list([ @@ -1538,7 +1476,6 @@ 'test_S_D70B0': dict({ 'docname': 'index', 'external_css': 'external_link', - 'full_title': 'Specification A', 'id': 'test_S_D70B0', 'lineno': 23, 'section_name': 'TEST', @@ -1561,7 +1498,6 @@ 'content': 'TEST IMPORT TITLE', 'docname': 'index', 'external_css': 'external_link', - 'full_title': 'TEST IMPORT DESCRIPTION', 'id': 'test_TEST_01', 'lineno': 23, 'section_name': 'TEST', @@ -1580,7 +1516,6 @@ 'test_T_5CCAA': dict({ 'docname': 'index', 'external_css': 'external_link', - 'full_title': 'Test 1', 'id': 'test_T_5CCAA', 'lineno': 23, 'parent_needs_back': list([ @@ -1608,7 +1543,6 @@ ''', 'docname': 'index', 'external_css': 'external_link', - 'full_title': 'Test for XY', 'id': 'test_T_C3893', 'lineno': 23, 'links': list([ @@ -1750,12 +1684,6 @@ 'null', ]), }), - 'full_title': dict({ - 'default': '', - 'description': 'Title of the need, of unlimited length.', - 'field_type': 'core', - 'type': 'string', - }), 'has_dead_links': dict({ 'default': False, 'description': 'True if any links reference need ids that are not found in the need list.', @@ -2021,7 +1949,7 @@ ]), }), 'title': dict({ - 'description': 'Title of the need, trimmed to a maximum length.', + 'description': 'Title of the need.', 'field_type': 'core', 'type': 'string', }), @@ -2080,7 +2008,6 @@ 'external_css': 'external_link', 'extra1': 'value1', 'extra2': '1', - 'full_title': 'TEST IMPORT DESCRIPTION', 'id': 'TEST_01', 'lineno': 4, 'section_name': 'TEST DOCUMENT IMPORT', @@ -2119,7 +2046,6 @@ 'duration': '', 'external_css': 'external_link', 'external_url': None, - 'full_title': 'TEST_101 TITLE', 'has_dead_links': False, 'has_forbidden_dead_links': False, 'hide': False, @@ -2197,7 +2123,6 @@ 'duration': '', 'external_css': 'external_link', 'external_url': None, - 'full_title': 'A Spec', 'has_dead_links': False, 'has_forbidden_dead_links': False, 'hide': False, @@ -2274,7 +2199,6 @@ 'duration': '', 'external_css': 'external_link', 'external_url': None, - 'full_title': 'A story', 'has_dead_links': False, 'has_forbidden_dead_links': False, 'hide': False, diff --git a/tests/__snapshots__/test_needs_builder.ambr b/tests/__snapshots__/test_needs_builder.ambr index f415dc475..90147940c 100644 --- a/tests/__snapshots__/test_needs_builder.ambr +++ b/tests/__snapshots__/test_needs_builder.ambr @@ -23,7 +23,6 @@ 'duration': '', 'external_css': 'external_link', 'external_url': None, - 'full_title': 'Test example', 'has_dead_links': False, 'has_forbidden_dead_links': False, 'id': 'TC_001', @@ -92,7 +91,6 @@ 'duration': '', 'external_css': 'external_link', 'external_url': None, - 'full_title': 'Negative test example', 'has_dead_links': False, 'has_forbidden_dead_links': False, 'id': 'TC_NEG_001', @@ -161,7 +159,6 @@ 'duration': '', 'external_css': 'external_link', 'external_url': None, - 'full_title': 'A story', 'has_dead_links': False, 'has_forbidden_dead_links': False, 'id': 'US_63252', @@ -326,12 +323,6 @@ 'null', ]), }), - 'full_title': dict({ - 'default': '', - 'description': 'Title of the need, of unlimited length.', - 'field_type': 'core', - 'type': 'string', - }), 'has_dead_links': dict({ 'default': False, 'description': 'True if any links reference need ids that are not found in the need list.', @@ -597,7 +588,7 @@ ]), }), 'title': dict({ - 'description': 'Title of the need, trimmed to a maximum length.', + 'description': 'Title of the need.', 'field_type': 'core', 'type': 'string', }), @@ -819,7 +810,6 @@ 'TC_001': dict({ 'docname': 'index', 'external_css': 'external_link', - 'full_title': 'Test example', 'id': 'TC_001', 'layout': '', 'lineno': 8, @@ -835,7 +825,6 @@ 'TC_NEG_001': dict({ 'docname': 'index', 'external_css': 'external_link', - 'full_title': 'Negative test example', 'id': 'TC_NEG_001', 'layout': '', 'lineno': 12, @@ -851,7 +840,6 @@ 'US_63252': dict({ 'docname': 'index', 'external_css': 'external_link', - 'full_title': 'A story', 'id': 'US_63252', 'layout': '', 'lineno': 4, @@ -981,12 +969,6 @@ 'null', ]), }), - 'full_title': dict({ - 'default': '', - 'description': 'Title of the need, of unlimited length.', - 'field_type': 'core', - 'type': 'string', - }), 'has_dead_links': dict({ 'default': False, 'description': 'True if any links reference need ids that are not found in the need list.', @@ -1252,7 +1234,7 @@ ]), }), 'title': dict({ - 'description': 'Title of the need, trimmed to a maximum length.', + 'description': 'Title of the need.', 'field_type': 'core', 'type': 'string', }), @@ -1489,7 +1471,6 @@ 'duration': '', 'external_css': 'external_link', 'external_url': None, - 'full_title': 'Test example', 'has_dead_links': False, 'has_forbidden_dead_links': False, 'id': 'TC_001', @@ -1558,7 +1539,6 @@ 'duration': '', 'external_css': 'external_link', 'external_url': None, - 'full_title': 'Negative test example', 'has_dead_links': False, 'has_forbidden_dead_links': False, 'id': 'TC_NEG_001', @@ -1627,7 +1607,6 @@ 'duration': '', 'external_css': 'external_link', 'external_url': None, - 'full_title': 'A story', 'has_dead_links': False, 'has_forbidden_dead_links': False, 'id': 'US_63252', @@ -1792,12 +1771,6 @@ 'null', ]), }), - 'full_title': dict({ - 'default': '', - 'description': 'Title of the need, of unlimited length.', - 'field_type': 'core', - 'type': 'string', - }), 'has_dead_links': dict({ 'default': False, 'description': 'True if any links reference need ids that are not found in the need list.', @@ -2063,7 +2036,7 @@ ]), }), 'title': dict({ - 'description': 'Title of the need, trimmed to a maximum length.', + 'description': 'Title of the need.', 'field_type': 'core', 'type': 'string', }), diff --git a/tests/__snapshots__/test_needs_from_toml.ambr b/tests/__snapshots__/test_needs_from_toml.ambr index dd19fb6a2..4fb0fe8dd 100644 --- a/tests/__snapshots__/test_needs_from_toml.ambr +++ b/tests/__snapshots__/test_needs_from_toml.ambr @@ -9,7 +9,6 @@ 'custom': 'custom value', 'docname': 'index', 'external_css': 'external_link', - 'full_title': 'Test need', 'id': 'O_001', 'layout': '', 'lineno': 4, diff --git a/tests/__snapshots__/test_needs_id_builder.ambr b/tests/__snapshots__/test_needs_id_builder.ambr index 838f4b2a3..208701c6a 100644 --- a/tests/__snapshots__/test_needs_id_builder.ambr +++ b/tests/__snapshots__/test_needs_id_builder.ambr @@ -24,7 +24,6 @@ 'duration': '', 'external_css': 'external_link', 'external_url': None, - 'full_title': 'Test example', 'has_dead_links': False, 'has_forbidden_dead_links': False, 'id': 'TC_001', @@ -103,7 +102,6 @@ 'duration': '', 'external_css': 'external_link', 'external_url': None, - 'full_title': 'Negative test example', 'has_dead_links': False, 'has_forbidden_dead_links': False, 'id': 'TC_NEG_001', @@ -182,7 +180,6 @@ 'duration': '', 'external_css': 'external_link', 'external_url': None, - 'full_title': 'A story', 'has_dead_links': False, 'has_forbidden_dead_links': False, 'id': 'US_63252', diff --git a/tests/__snapshots__/test_needuml.ambr b/tests/__snapshots__/test_needuml.ambr index 0d29f86a4..cdffc90ec 100644 --- a/tests/__snapshots__/test_needuml.ambr +++ b/tests/__snapshots__/test_needuml.ambr @@ -30,7 +30,6 @@ 'duration': '', 'external_css': 'external_link', 'external_url': None, - 'full_title': 'Test component', 'has_dead_links': False, 'has_forbidden_dead_links': False, 'hide': False, @@ -107,7 +106,6 @@ 'duration': '', 'external_css': 'external_link', 'external_url': None, - 'full_title': 'Test interface', 'has_dead_links': False, 'has_forbidden_dead_links': False, 'hide': False, @@ -217,7 +215,6 @@ 'duration': '', 'external_css': 'external_link', 'external_url': None, - 'full_title': 'Test interface2', 'has_dead_links': False, 'has_forbidden_dead_links': False, 'hide': False, @@ -326,7 +323,6 @@ 'duration': '', 'external_css': 'external_link', 'external_url': None, - 'full_title': 'Test interface3', 'has_dead_links': False, 'has_forbidden_dead_links': False, 'hide': False, @@ -450,7 +446,6 @@ 'duration': '', 'external_css': 'external_link', 'external_url': None, - 'full_title': 'Test interface4', 'has_dead_links': False, 'has_forbidden_dead_links': False, 'hide': False, @@ -533,7 +528,6 @@ 'duration': '', 'external_css': 'external_link', 'external_url': None, - 'full_title': 'Test Product', 'has_dead_links': False, 'has_forbidden_dead_links': False, 'hide': False, @@ -610,7 +604,6 @@ 'duration': '', 'external_css': 'external_link', 'external_url': None, - 'full_title': 'Test story', 'has_dead_links': False, 'has_forbidden_dead_links': False, 'hide': False, @@ -687,7 +680,6 @@ 'duration': '', 'external_css': 'external_link', 'external_url': None, - 'full_title': 'Test story2', 'has_dead_links': False, 'has_forbidden_dead_links': False, 'hide': False, @@ -773,7 +765,6 @@ 'duration': '', 'external_css': 'external_link', 'external_url': None, - 'full_title': 'Test System', 'has_dead_links': False, 'has_forbidden_dead_links': False, 'hide': False, diff --git a/tests/__snapshots__/test_service_github.ambr b/tests/__snapshots__/test_service_github.ambr index 742b54b77..f2a96cda9 100644 --- a/tests/__snapshots__/test_service_github.ambr +++ b/tests/__snapshots__/test_service_github.ambr @@ -26,7 +26,6 @@ 'duration': '', 'external_css': 'external_link', 'external_url': None, - 'full_title': 'Bump actions/cache from 3 to 4 (#1092)', 'has_dead_links': False, 'has_forbidden_dead_links': False, 'id': 'GITHUB_050bec', @@ -102,7 +101,6 @@ 'duration': '', 'external_css': 'external_link', 'external_url': None, - 'full_title': 'needreport usage should count needs in post-process', 'has_dead_links': False, 'has_forbidden_dead_links': False, 'id': 'GITHUB_1110', @@ -201,7 +199,6 @@ 'duration': '', 'external_css': 'external_link', 'external_url': None, - 'full_title': '๐Ÿ‘Œ Capture `only` expressions for each need', 'has_dead_links': False, 'has_forbidden_dead_links': False, 'id': 'GITHUB_1112', @@ -284,7 +281,6 @@ 'duration': '', 'external_css': 'external_link', 'external_url': None, - 'full_title': '๐Ÿงช Add test for `needreport` directive (#1105)', 'has_dead_links': False, 'has_forbidden_dead_links': False, 'id': 'GITHUB_6abd38', @@ -442,12 +438,6 @@ 'null', ]), }), - 'full_title': dict({ - 'default': '', - 'description': 'Title of the need, of unlimited length.', - 'field_type': 'core', - 'type': 'string', - }), 'has_dead_links': dict({ 'default': False, 'description': 'True if any links reference need ids that are not found in the need list.', @@ -713,7 +703,7 @@ ]), }), 'title': dict({ - 'description': 'Title of the need, trimmed to a maximum length.', + 'description': 'Title of the need.', 'field_type': 'core', 'type': 'string', }),