From eaa5f679f6150cfb0ca1763ca73d42b960f5c96a Mon Sep 17 00:00:00 2001 From: Chris Sewell Date: Wed, 21 Feb 2024 08:22:49 +0000 Subject: [PATCH] =?UTF-8?q?=F0=9F=94=A7=20Move=20dead=20link=20need=20fiel?= =?UTF-8?q?ds=20to=20internals=20(#1119)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Currently, `has_dead_links` and `has_forbidden_dead_links` are set as default "extra options". This means they are set to default `""` and, in principle, the user can set them to something else. This commit changes them to be "internal" fields, since this is an internal consistency check: - when initialised they should always be set to `False` (ignoring any previous value, if they are from an external source) - In the `check_links` post-processing of the needs, they are then set to `True`, if required --- sphinx_needs/api/need.py | 2 + sphinx_needs/data.py | 11 +- sphinx_needs/layout.py | 2 +- sphinx_needs/needs.py | 2 - sphinx_needs/utils.py | 6 +- tests/__snapshots__/test_basic_doc.ambr | 9 +- tests/__snapshots__/test_export_id.ambr | 33 ++- tests/__snapshots__/test_external.ambr | 21 +- tests/__snapshots__/test_import.ambr | 265 +++++++++--------- .../__snapshots__/test_need_constraints.ambr | 33 ++- tests/__snapshots__/test_needextend.ambr | 41 ++- tests/__snapshots__/test_needs_builder.ambr | 24 +- .../__snapshots__/test_needs_id_builder.ambr | 13 +- tests/__snapshots__/test_needuml.ambr | 37 ++- tests/__snapshots__/test_service_github.ambr | 16 +- 15 files changed, 257 insertions(+), 258 deletions(-) diff --git a/sphinx_needs/api/need.py b/sphinx_needs/api/need.py index 139432ca5..c3d46aa90 100644 --- a/sphinx_needs/api/need.py +++ b/sphinx_needs/api/need.py @@ -354,6 +354,8 @@ def run(): "external_css": external_css or "external_link", "is_modified": False, # needed by needextend "modifications": 0, # needed by needextend + "has_dead_links": False, + "has_forbidden_dead_links": False, # these are set later in the analyse_need_locations transform "sections": [], "section_name": "", diff --git a/sphinx_needs/data.py b/sphinx_needs/data.py index 9c98bd88c..c29d21ca7 100644 --- a/sphinx_needs/data.py +++ b/sphinx_needs/data.py @@ -136,6 +136,14 @@ class NeedsInfoType(TypedDict): # these all have value type `list[str]` # back links are all set in process_need_nodes (-> create_back_links) transform + # these default to False and are updated in check_links post-process + has_dead_links: bool + """True if any links reference need ids that are not found in the need list.""" + has_forbidden_dead_links: bool + """True if any links reference need ids that are not found in the need list, + and the link type does not allow dead links. + """ + # constraints information constraints: list[str] """List of constraint names, which are defined for this need.""" @@ -173,9 +181,6 @@ class NeedsInfoType(TypedDict): duration: str completion: str # constraints: str # this is already set in create_need - # these are updated in process_need_nodes (-> check_links) transform - has_dead_links: str | bool - has_forbidden_dead_links: str | bool # options from `BaseService.options` get added to every need, # via `ServiceManager.register`, which adds them to `extra_options`` # GithubService diff --git a/sphinx_needs/layout.py b/sphinx_needs/layout.py index e7cc60e35..a4d14b58b 100644 --- a/sphinx_needs/layout.py +++ b/sphinx_needs/layout.py @@ -728,7 +728,7 @@ def meta_all( :param show_empty: If true, also need data with no value will be printed. Mostly useful for debugging. :return: docutils nodes """ - default_excludes = INTERNALS.copy() + default_excludes = list(INTERNALS) if exclude is None or not isinstance(exclude, list): if defaults: diff --git a/sphinx_needs/needs.py b/sphinx_needs/needs.py index 4d99df291..3cfdc9f46 100644 --- a/sphinx_needs/needs.py +++ b/sphinx_needs/needs.py @@ -517,8 +517,6 @@ def prepare_env(app: Sphinx, env: BuildEnvironment, _docname: str) -> None: "hidden", "duration", "completion", - "has_dead_links", - "has_forbidden_dead_links", "constraints", ]: # Check if not already set by user diff --git a/sphinx_needs/utils.py b/sphinx_needs/utils.py index 4476c9bb9..502c9d734 100644 --- a/sphinx_needs/utils.py +++ b/sphinx_needs/utils.py @@ -41,7 +41,7 @@ class NeedFunctionsType(TypedDict): NEEDS_FUNCTIONS: dict[str, NeedFunctionsType] = {} # List of internal need option names. They should not be used by or presented to user. -INTERNALS = [ +INTERNALS = ( "docname", "doctype", "lineno", @@ -82,7 +82,9 @@ class NeedFunctionsType(TypedDict): "constraints_results", "arch", "target_id", -] + "has_dead_links", + "has_forbidden_dead_links", +) MONTH_NAMES = [ "January", diff --git a/tests/__snapshots__/test_basic_doc.ambr b/tests/__snapshots__/test_basic_doc.ambr index cecb75dc6..545c59cb8 100644 --- a/tests/__snapshots__/test_basic_doc.ambr +++ b/tests/__snapshots__/test_basic_doc.ambr @@ -1,4 +1,3 @@ -# serializer version: 1 # name: test_build_needs[test_app0] dict({ 'current_version': '', @@ -30,8 +29,8 @@ 'external_css': 'external_link', 'external_url': None, 'full_title': 'Test story', - 'has_dead_links': '', - 'has_forbidden_dead_links': '', + 'has_dead_links': False, + 'has_forbidden_dead_links': False, 'hidden': '', 'id': 'ST_001', 'id_prefix': '', @@ -98,8 +97,8 @@ 'external_css': 'external_link', 'external_url': None, 'full_title': 'No ID', - 'has_dead_links': '', - 'has_forbidden_dead_links': '', + 'has_dead_links': False, + 'has_forbidden_dead_links': False, 'hidden': '', 'id': 'US_38823', 'id_prefix': '', diff --git a/tests/__snapshots__/test_export_id.ambr b/tests/__snapshots__/test_export_id.ambr index 21855b287..0c62e16ae 100644 --- a/tests/__snapshots__/test_export_id.ambr +++ b/tests/__snapshots__/test_export_id.ambr @@ -1,4 +1,3 @@ -# serializer version: 1 # name: test_export_id[test_app0] dict({ 'current_version': '1.0', @@ -136,8 +135,8 @@ 'external_css': 'external_link', 'external_url': None, 'full_title': 'My requirement', - 'has_dead_links': '', - 'has_forbidden_dead_links': '', + 'has_dead_links': False, + 'has_forbidden_dead_links': False, 'hidden': '', 'id': 'REQ_001', 'id_prefix': '', @@ -212,8 +211,8 @@ 'external_css': 'external_link', 'external_url': None, 'full_title': 'My requirement 2', - 'has_dead_links': '', - 'has_forbidden_dead_links': '', + 'has_dead_links': False, + 'has_forbidden_dead_links': False, 'hidden': '', 'id': 'REQ_002', 'id_prefix': '', @@ -285,8 +284,8 @@ 'external_css': 'external_link', 'external_url': None, 'full_title': 'My requirement 3', - 'has_dead_links': '', - 'has_forbidden_dead_links': '', + 'has_dead_links': False, + 'has_forbidden_dead_links': False, 'hidden': '', 'id': 'REQ_003', 'id_prefix': '', @@ -358,8 +357,8 @@ 'external_css': 'external_link', 'external_url': None, 'full_title': 'My requirement 4', - 'has_dead_links': '', - 'has_forbidden_dead_links': '', + 'has_dead_links': False, + 'has_forbidden_dead_links': False, 'hidden': '', 'id': 'REQ_004', 'id_prefix': '', @@ -436,8 +435,8 @@ 'external_css': 'external_link', 'external_url': None, 'full_title': 'Req 5', - 'has_dead_links': '', - 'has_forbidden_dead_links': '', + 'has_dead_links': False, + 'has_forbidden_dead_links': False, 'hidden': '', 'id': 'REQ_005', 'id_prefix': '', @@ -540,8 +539,8 @@ 'external_css': 'external_link', 'external_url': None, 'full_title': 'Test of requirements', - 'has_dead_links': '', - 'has_forbidden_dead_links': '', + 'has_dead_links': False, + 'has_forbidden_dead_links': False, 'hidden': '', 'id': 'TEST_001', 'id_prefix': '', @@ -615,8 +614,8 @@ 'external_css': 'external_link', 'external_url': None, 'full_title': 'Test of requirements2', - 'has_dead_links': '', - 'has_forbidden_dead_links': '', + 'has_dead_links': False, + 'has_forbidden_dead_links': False, 'hidden': '', 'id': 'TEST_002', 'id_prefix': '', @@ -690,8 +689,8 @@ 'external_css': 'external_link', 'external_url': None, 'full_title': 'Test of requirements 5', - 'has_dead_links': '', - 'has_forbidden_dead_links': '', + 'has_dead_links': False, + 'has_forbidden_dead_links': False, 'hidden': '', 'id': 'TEST_003', 'id_prefix': '', diff --git a/tests/__snapshots__/test_external.ambr b/tests/__snapshots__/test_external.ambr index 1f65036ef..558593df2 100644 --- a/tests/__snapshots__/test_external.ambr +++ b/tests/__snapshots__/test_external.ambr @@ -1,4 +1,3 @@ -# serializer version: 1 # name: test_external_json[test_app0] dict({ 'current_version': '1.0', @@ -30,8 +29,8 @@ 'external_css': 'external_link', 'external_url': 'http://my_company.com/docs/v1/index.html#TEST_01', 'full_title': 'TEST_01 DESCRIPTION', - 'has_dead_links': '', - 'has_forbidden_dead_links': '', + 'has_dead_links': False, + 'has_forbidden_dead_links': False, 'hidden': '', 'id': 'EXT_TEST_01', 'id_prefix': '', @@ -98,8 +97,8 @@ 'external_css': 'external_link', 'external_url': 'http://my_company.com/docs/v1/index.html#TEST_02', 'full_title': 'TEST_02 DESCRIPTION', - 'has_dead_links': '', - 'has_forbidden_dead_links': '', + 'has_dead_links': False, + 'has_forbidden_dead_links': False, 'hidden': '', 'id': 'EXT_TEST_02', 'id_prefix': '', @@ -169,8 +168,8 @@ 'external_css': 'external_link', 'external_url': None, 'full_title': 'Test requirement 1', - 'has_dead_links': '', - 'has_forbidden_dead_links': '', + 'has_dead_links': False, + 'has_forbidden_dead_links': False, 'hidden': '', 'id': 'REQ_1', 'id_prefix': '', @@ -237,8 +236,8 @@ 'external_css': 'external_link', 'external_url': None, 'full_title': 'Test specification 1', - 'has_dead_links': '', - 'has_forbidden_dead_links': '', + 'has_dead_links': False, + 'has_forbidden_dead_links': False, 'hidden': '', 'id': 'SPEC_1', 'id_prefix': '', @@ -307,8 +306,8 @@ 'external_css': 'external_link', 'external_url': None, 'full_title': 'Sub-Req', - 'has_dead_links': '', - 'has_forbidden_dead_links': '', + 'has_dead_links': False, + 'has_forbidden_dead_links': False, 'hidden': '', 'id': 'SUB_002', 'id_prefix': '', diff --git a/tests/__snapshots__/test_import.ambr b/tests/__snapshots__/test_import.ambr index 16ec802b5..b1de86adc 100644 --- a/tests/__snapshots__/test_import.ambr +++ b/tests/__snapshots__/test_import.ambr @@ -1,4 +1,3 @@ -# serializer version: 1 # name: test_import_builder[test_app0] dict({ 'current_version': '1.0', @@ -30,8 +29,8 @@ 'external_css': 'external_link', 'external_url': None, 'full_title': 'Implementation for specification', - 'has_dead_links': '', - 'has_forbidden_dead_links': '', + 'has_dead_links': False, + 'has_forbidden_dead_links': False, 'hidden': '', 'id': 'IMPL_01', 'id_prefix': '', @@ -99,8 +98,8 @@ 'external_css': 'external_link', 'external_url': None, 'full_title': 'Specification of a requirement', - 'has_dead_links': '', - 'has_forbidden_dead_links': '', + 'has_dead_links': False, + 'has_forbidden_dead_links': False, 'hidden': '', 'id': 'OWN_ID_123', 'id_prefix': '', @@ -171,8 +170,8 @@ 'external_css': 'external_link', 'external_url': None, 'full_title': 'My first requirement', - 'has_dead_links': '', - 'has_forbidden_dead_links': '', + 'has_dead_links': False, + 'has_forbidden_dead_links': False, 'hidden': '', 'id': 'REQ_001', 'id_prefix': '', @@ -240,8 +239,8 @@ 'external_css': 'external_link', 'external_url': None, 'full_title': 'Test requirement 1', - 'has_dead_links': '', - 'has_forbidden_dead_links': '', + 'has_dead_links': False, + 'has_forbidden_dead_links': False, 'hidden': '', 'id': 'REQ_1', 'id_prefix': '', @@ -309,8 +308,8 @@ 'external_css': 'external_link', 'external_url': None, 'full_title': 'Sliced Bread', - 'has_dead_links': '', - 'has_forbidden_dead_links': '', + 'has_dead_links': False, + 'has_forbidden_dead_links': False, 'hidden': '', 'id': 'ROLES_REQ_1', 'id_prefix': '', @@ -377,8 +376,8 @@ 'external_css': 'external_link', 'external_url': None, 'full_title': 'Butter on Bread', - 'has_dead_links': '', - 'has_forbidden_dead_links': '', + 'has_dead_links': False, + 'has_forbidden_dead_links': False, 'hidden': '', 'id': 'ROLES_REQ_2', 'id_prefix': '', @@ -446,8 +445,8 @@ 'external_css': 'external_link', 'external_url': None, 'full_title': 'Requirement B', - 'has_dead_links': '', - 'has_forbidden_dead_links': '', + 'has_dead_links': False, + 'has_forbidden_dead_links': False, 'hidden': '', 'id': 'R_22EB2', 'id_prefix': '', @@ -516,8 +515,8 @@ 'external_css': 'external_link', 'external_url': None, 'full_title': 'Requirement A', - 'has_dead_links': '', - 'has_forbidden_dead_links': '', + 'has_dead_links': False, + 'has_forbidden_dead_links': False, 'hidden': '', 'id': 'R_2A9D0', 'id_prefix': '', @@ -590,8 +589,8 @@ 'external_css': 'external_link', 'external_url': None, 'full_title': 'My first requirement', - 'has_dead_links': '', - 'has_forbidden_dead_links': '', + 'has_dead_links': False, + 'has_forbidden_dead_links': False, 'hidden': '', 'id': 'R_F4722', 'id_prefix': '', @@ -661,8 +660,8 @@ 'external_css': 'external_link', 'external_url': None, 'full_title': 'Test specification 1', - 'has_dead_links': '', - 'has_forbidden_dead_links': '', + 'has_dead_links': False, + 'has_forbidden_dead_links': False, 'hidden': '', 'id': 'SPEC_1', 'id_prefix': '', @@ -730,8 +729,8 @@ 'external_css': 'external_link', 'external_url': None, 'full_title': 'Specification B', - 'has_dead_links': '', - 'has_forbidden_dead_links': '', + 'has_dead_links': False, + 'has_forbidden_dead_links': False, 'hidden': '', 'id': 'S_01A67', 'id_prefix': '', @@ -806,8 +805,8 @@ 'external_css': 'external_link', 'external_url': None, 'full_title': 'Spec for a requirement', - 'has_dead_links': '', - 'has_forbidden_dead_links': '', + 'has_dead_links': False, + 'has_forbidden_dead_links': False, 'hidden': '', 'id': 'S_503A1', 'id_prefix': '', @@ -877,8 +876,8 @@ 'external_css': 'external_link', 'external_url': None, 'full_title': 'Specification A', - 'has_dead_links': '', - 'has_forbidden_dead_links': '', + 'has_dead_links': False, + 'has_forbidden_dead_links': False, 'hidden': '', 'id': 'S_D70B0', 'id_prefix': '', @@ -947,8 +946,8 @@ 'external_css': 'external_link', 'external_url': None, 'full_title': 'TEST IMPORT DESCRIPTION', - 'has_dead_links': '', - 'has_forbidden_dead_links': '', + 'has_dead_links': False, + 'has_forbidden_dead_links': False, 'hidden': '', 'id': 'TEST_01', 'id_prefix': '', @@ -1015,8 +1014,8 @@ 'external_css': 'external_link', 'external_url': None, 'full_title': 'Test 1', - 'has_dead_links': '', - 'has_forbidden_dead_links': '', + 'has_dead_links': False, + 'has_forbidden_dead_links': False, 'hidden': '', 'id': 'T_5CCAA', 'id_prefix': '', @@ -1088,8 +1087,8 @@ 'external_css': 'external_link', 'external_url': None, 'full_title': 'Test for XY', - 'has_dead_links': '', - 'has_forbidden_dead_links': '', + 'has_dead_links': False, + 'has_forbidden_dead_links': False, 'hidden': '', 'id': 'T_C3893', 'id_prefix': '', @@ -1162,8 +1161,8 @@ 'external_css': 'external_link', 'external_url': None, 'full_title': 'Implementation for specification', - 'has_dead_links': '', - 'has_forbidden_dead_links': '', + 'has_dead_links': False, + 'has_forbidden_dead_links': False, 'hidden': '', 'id': 'collapsed_IMPL_01', 'id_prefix': '', @@ -1235,8 +1234,8 @@ 'external_css': 'external_link', 'external_url': None, 'full_title': 'Specification of a requirement', - 'has_dead_links': '', - 'has_forbidden_dead_links': '', + 'has_dead_links': False, + 'has_forbidden_dead_links': False, 'hidden': '', 'id': 'collapsed_OWN_ID_123', 'id_prefix': '', @@ -1311,8 +1310,8 @@ 'external_css': 'external_link', 'external_url': None, 'full_title': 'My first requirement', - 'has_dead_links': '', - 'has_forbidden_dead_links': '', + 'has_dead_links': False, + 'has_forbidden_dead_links': False, 'hidden': '', 'id': 'collapsed_REQ_001', 'id_prefix': '', @@ -1384,8 +1383,8 @@ 'external_css': 'external_link', 'external_url': None, 'full_title': 'Sliced Bread', - 'has_dead_links': '', - 'has_forbidden_dead_links': '', + 'has_dead_links': False, + 'has_forbidden_dead_links': False, 'hidden': '', 'id': 'collapsed_ROLES_REQ_1', 'id_prefix': '', @@ -1456,8 +1455,8 @@ 'external_css': 'external_link', 'external_url': None, 'full_title': 'Butter on Bread', - 'has_dead_links': '', - 'has_forbidden_dead_links': '', + 'has_dead_links': False, + 'has_forbidden_dead_links': False, 'hidden': '', 'id': 'collapsed_ROLES_REQ_2', 'id_prefix': '', @@ -1529,8 +1528,8 @@ 'external_css': 'external_link', 'external_url': None, 'full_title': 'Requirement B', - 'has_dead_links': '', - 'has_forbidden_dead_links': '', + 'has_dead_links': False, + 'has_forbidden_dead_links': False, 'hidden': '', 'id': 'collapsed_R_22EB2', 'id_prefix': '', @@ -1603,8 +1602,8 @@ 'external_css': 'external_link', 'external_url': None, 'full_title': 'Requirement A', - 'has_dead_links': '', - 'has_forbidden_dead_links': '', + 'has_dead_links': False, + 'has_forbidden_dead_links': False, 'hidden': '', 'id': 'collapsed_R_2A9D0', 'id_prefix': '', @@ -1681,8 +1680,8 @@ 'external_css': 'external_link', 'external_url': None, 'full_title': 'My first requirement', - 'has_dead_links': '', - 'has_forbidden_dead_links': '', + 'has_dead_links': False, + 'has_forbidden_dead_links': False, 'hidden': '', 'id': 'collapsed_R_F4722', 'id_prefix': '', @@ -1756,8 +1755,8 @@ 'external_css': 'external_link', 'external_url': None, 'full_title': 'Specification B', - 'has_dead_links': '', - 'has_forbidden_dead_links': '', + 'has_dead_links': False, + 'has_forbidden_dead_links': False, 'hidden': '', 'id': 'collapsed_S_01A67', 'id_prefix': '', @@ -1836,8 +1835,8 @@ 'external_css': 'external_link', 'external_url': None, 'full_title': 'Spec for a requirement', - 'has_dead_links': '', - 'has_forbidden_dead_links': '', + 'has_dead_links': False, + 'has_forbidden_dead_links': False, 'hidden': '', 'id': 'collapsed_S_503A1', 'id_prefix': '', @@ -1911,8 +1910,8 @@ 'external_css': 'external_link', 'external_url': None, 'full_title': 'Specification A', - 'has_dead_links': '', - 'has_forbidden_dead_links': '', + 'has_dead_links': False, + 'has_forbidden_dead_links': False, 'hidden': '', 'id': 'collapsed_S_D70B0', 'id_prefix': '', @@ -1985,8 +1984,8 @@ 'external_css': 'external_link', 'external_url': None, 'full_title': 'TEST IMPORT DESCRIPTION', - 'has_dead_links': '', - 'has_forbidden_dead_links': '', + 'has_dead_links': False, + 'has_forbidden_dead_links': False, 'hidden': '', 'id': 'collapsed_TEST_01', 'id_prefix': '', @@ -2057,8 +2056,8 @@ 'external_css': 'external_link', 'external_url': None, 'full_title': 'Test 1', - 'has_dead_links': '', - 'has_forbidden_dead_links': '', + 'has_dead_links': False, + 'has_forbidden_dead_links': False, 'hidden': '', 'id': 'collapsed_T_5CCAA', 'id_prefix': '', @@ -2134,8 +2133,8 @@ 'external_css': 'external_link', 'external_url': None, 'full_title': 'Test for XY', - 'has_dead_links': '', - 'has_forbidden_dead_links': '', + 'has_dead_links': False, + 'has_forbidden_dead_links': False, 'hidden': '', 'id': 'collapsed_T_C3893', 'id_prefix': '', @@ -2212,8 +2211,8 @@ 'external_css': 'external_link', 'external_url': None, 'full_title': 'Implementation for specification', - 'has_dead_links': '', - 'has_forbidden_dead_links': '', + 'has_dead_links': False, + 'has_forbidden_dead_links': False, 'hidden': '', 'id': 'hidden_IMPL_01', 'id_prefix': '', @@ -2284,8 +2283,8 @@ 'external_css': 'external_link', 'external_url': None, 'full_title': 'Specification of a requirement', - 'has_dead_links': '', - 'has_forbidden_dead_links': '', + 'has_dead_links': False, + 'has_forbidden_dead_links': False, 'hidden': '', 'id': 'hidden_OWN_ID_123', 'id_prefix': '', @@ -2359,8 +2358,8 @@ 'external_css': 'external_link', 'external_url': None, 'full_title': 'My first requirement', - 'has_dead_links': '', - 'has_forbidden_dead_links': '', + 'has_dead_links': False, + 'has_forbidden_dead_links': False, 'hidden': '', 'id': 'hidden_REQ_001', 'id_prefix': '', @@ -2431,8 +2430,8 @@ 'external_css': 'external_link', 'external_url': None, 'full_title': 'Sliced Bread', - 'has_dead_links': '', - 'has_forbidden_dead_links': '', + 'has_dead_links': False, + 'has_forbidden_dead_links': False, 'hidden': '', 'id': 'hidden_ROLES_REQ_1', 'id_prefix': '', @@ -2502,8 +2501,8 @@ 'external_css': 'external_link', 'external_url': None, 'full_title': 'Butter on Bread', - 'has_dead_links': '', - 'has_forbidden_dead_links': '', + 'has_dead_links': False, + 'has_forbidden_dead_links': False, 'hidden': '', 'id': 'hidden_ROLES_REQ_2', 'id_prefix': '', @@ -2574,8 +2573,8 @@ 'external_css': 'external_link', 'external_url': None, 'full_title': 'Requirement B', - 'has_dead_links': '', - 'has_forbidden_dead_links': '', + 'has_dead_links': False, + 'has_forbidden_dead_links': False, 'hidden': '', 'id': 'hidden_R_22EB2', 'id_prefix': '', @@ -2647,8 +2646,8 @@ 'external_css': 'external_link', 'external_url': None, 'full_title': 'Requirement A', - 'has_dead_links': '', - 'has_forbidden_dead_links': '', + 'has_dead_links': False, + 'has_forbidden_dead_links': False, 'hidden': '', 'id': 'hidden_R_2A9D0', 'id_prefix': '', @@ -2724,8 +2723,8 @@ 'external_css': 'external_link', 'external_url': None, 'full_title': 'My first requirement', - 'has_dead_links': '', - 'has_forbidden_dead_links': '', + 'has_dead_links': False, + 'has_forbidden_dead_links': False, 'hidden': '', 'id': 'hidden_R_F4722', 'id_prefix': '', @@ -2798,8 +2797,8 @@ 'external_css': 'external_link', 'external_url': None, 'full_title': 'Specification B', - 'has_dead_links': '', - 'has_forbidden_dead_links': '', + 'has_dead_links': False, + 'has_forbidden_dead_links': False, 'hidden': '', 'id': 'hidden_S_01A67', 'id_prefix': '', @@ -2877,8 +2876,8 @@ 'external_css': 'external_link', 'external_url': None, 'full_title': 'Spec for a requirement', - 'has_dead_links': '', - 'has_forbidden_dead_links': '', + 'has_dead_links': False, + 'has_forbidden_dead_links': False, 'hidden': '', 'id': 'hidden_S_503A1', 'id_prefix': '', @@ -2951,8 +2950,8 @@ 'external_css': 'external_link', 'external_url': None, 'full_title': 'Specification A', - 'has_dead_links': '', - 'has_forbidden_dead_links': '', + 'has_dead_links': False, + 'has_forbidden_dead_links': False, 'hidden': '', 'id': 'hidden_S_D70B0', 'id_prefix': '', @@ -3024,8 +3023,8 @@ 'external_css': 'external_link', 'external_url': None, 'full_title': 'TEST IMPORT DESCRIPTION', - 'has_dead_links': '', - 'has_forbidden_dead_links': '', + 'has_dead_links': False, + 'has_forbidden_dead_links': False, 'hidden': '', 'id': 'hidden_TEST_01', 'id_prefix': '', @@ -3094,8 +3093,8 @@ 'external_css': 'external_link', 'external_url': None, 'full_title': 'Test 1', - 'has_dead_links': '', - 'has_forbidden_dead_links': '', + 'has_dead_links': False, + 'has_forbidden_dead_links': False, 'hidden': '', 'id': 'hidden_T_5CCAA', 'id_prefix': '', @@ -3170,8 +3169,8 @@ 'external_css': 'external_link', 'external_url': None, 'full_title': 'Test for XY', - 'has_dead_links': '', - 'has_forbidden_dead_links': '', + 'has_dead_links': False, + 'has_forbidden_dead_links': False, 'hidden': '', 'id': 'hidden_T_C3893', 'id_prefix': '', @@ -3246,8 +3245,8 @@ 'external_css': 'external_link', 'external_url': None, 'full_title': 'AAA', - 'has_dead_links': '', - 'has_forbidden_dead_links': '', + 'has_dead_links': False, + 'has_forbidden_dead_links': False, 'hidden': '', 'id': 'small2_TEST_03', 'id_prefix': '', @@ -3314,8 +3313,8 @@ 'external_css': 'external_link', 'external_url': None, 'full_title': 'TEST_02 DESCRIPTION', - 'has_dead_links': '', - 'has_forbidden_dead_links': '', + 'has_dead_links': False, + 'has_forbidden_dead_links': False, 'hidden': '', 'id': 'small_TEST_02', 'id_prefix': '', @@ -3384,8 +3383,8 @@ 'external_css': 'external_link', 'external_url': None, 'full_title': 'TEST_02 DESCRIPTION', - 'has_dead_links': '', - 'has_forbidden_dead_links': '', + 'has_dead_links': False, + 'has_forbidden_dead_links': False, 'hidden': '', 'id': 'small_abs_path_TEST_02', 'id_prefix': '', @@ -3454,8 +3453,8 @@ 'external_css': 'external_link', 'external_url': None, 'full_title': 'TEST_01 DESCRIPTION', - 'has_dead_links': '', - 'has_forbidden_dead_links': '', + 'has_dead_links': False, + 'has_forbidden_dead_links': False, 'hidden': '', 'id': 'small_depr_rel_path_TEST_01', 'id_prefix': '', @@ -3522,8 +3521,8 @@ 'external_css': 'external_link', 'external_url': None, 'full_title': 'TEST_01 DESCRIPTION', - 'has_dead_links': '', - 'has_forbidden_dead_links': '', + 'has_dead_links': False, + 'has_forbidden_dead_links': False, 'hidden': '', 'id': 'small_rel_path_TEST_01', 'id_prefix': '', @@ -3590,8 +3589,8 @@ 'external_css': 'external_link', 'external_url': None, 'full_title': 'Implementation for specification', - 'has_dead_links': '', - 'has_forbidden_dead_links': '', + 'has_dead_links': False, + 'has_forbidden_dead_links': False, 'hidden': '', 'id': 'test_IMPL_01', 'id_prefix': '', @@ -3662,8 +3661,8 @@ 'external_css': 'external_link', 'external_url': None, 'full_title': 'Specification of a requirement', - 'has_dead_links': '', - 'has_forbidden_dead_links': '', + 'has_dead_links': False, + 'has_forbidden_dead_links': False, 'hidden': '', 'id': 'test_OWN_ID_123', 'id_prefix': '', @@ -3737,8 +3736,8 @@ 'external_css': 'external_link', 'external_url': None, 'full_title': 'My first requirement', - 'has_dead_links': '', - 'has_forbidden_dead_links': '', + 'has_dead_links': False, + 'has_forbidden_dead_links': False, 'hidden': '', 'id': 'test_REQ_001', 'id_prefix': '', @@ -3809,8 +3808,8 @@ 'external_css': 'external_link', 'external_url': None, 'full_title': 'Sliced Bread', - 'has_dead_links': '', - 'has_forbidden_dead_links': '', + 'has_dead_links': False, + 'has_forbidden_dead_links': False, 'hidden': '', 'id': 'test_ROLES_REQ_1', 'id_prefix': '', @@ -3880,8 +3879,8 @@ 'external_css': 'external_link', 'external_url': None, 'full_title': 'Butter on Bread', - 'has_dead_links': '', - 'has_forbidden_dead_links': '', + 'has_dead_links': False, + 'has_forbidden_dead_links': False, 'hidden': '', 'id': 'test_ROLES_REQ_2', 'id_prefix': '', @@ -3952,8 +3951,8 @@ 'external_css': 'external_link', 'external_url': None, 'full_title': 'Requirement B', - 'has_dead_links': '', - 'has_forbidden_dead_links': '', + 'has_dead_links': False, + 'has_forbidden_dead_links': False, 'hidden': '', 'id': 'test_R_22EB2', 'id_prefix': '', @@ -4025,8 +4024,8 @@ 'external_css': 'external_link', 'external_url': None, 'full_title': 'Requirement A', - 'has_dead_links': '', - 'has_forbidden_dead_links': '', + 'has_dead_links': False, + 'has_forbidden_dead_links': False, 'hidden': '', 'id': 'test_R_2A9D0', 'id_prefix': '', @@ -4102,8 +4101,8 @@ 'external_css': 'external_link', 'external_url': None, 'full_title': 'My first requirement', - 'has_dead_links': '', - 'has_forbidden_dead_links': '', + 'has_dead_links': False, + 'has_forbidden_dead_links': False, 'hidden': '', 'id': 'test_R_F4722', 'id_prefix': '', @@ -4176,8 +4175,8 @@ 'external_css': 'external_link', 'external_url': None, 'full_title': 'Specification B', - 'has_dead_links': '', - 'has_forbidden_dead_links': '', + 'has_dead_links': False, + 'has_forbidden_dead_links': False, 'hidden': '', 'id': 'test_S_01A67', 'id_prefix': '', @@ -4255,8 +4254,8 @@ 'external_css': 'external_link', 'external_url': None, 'full_title': 'Spec for a requirement', - 'has_dead_links': '', - 'has_forbidden_dead_links': '', + 'has_dead_links': False, + 'has_forbidden_dead_links': False, 'hidden': '', 'id': 'test_S_503A1', 'id_prefix': '', @@ -4329,8 +4328,8 @@ 'external_css': 'external_link', 'external_url': None, 'full_title': 'Specification A', - 'has_dead_links': '', - 'has_forbidden_dead_links': '', + 'has_dead_links': False, + 'has_forbidden_dead_links': False, 'hidden': '', 'id': 'test_S_D70B0', 'id_prefix': '', @@ -4402,8 +4401,8 @@ 'external_css': 'external_link', 'external_url': None, 'full_title': 'TEST IMPORT DESCRIPTION', - 'has_dead_links': '', - 'has_forbidden_dead_links': '', + 'has_dead_links': False, + 'has_forbidden_dead_links': False, 'hidden': '', 'id': 'test_TEST_01', 'id_prefix': '', @@ -4473,8 +4472,8 @@ 'external_css': 'external_link', 'external_url': None, 'full_title': 'Test 1', - 'has_dead_links': '', - 'has_forbidden_dead_links': '', + 'has_dead_links': False, + 'has_forbidden_dead_links': False, 'hidden': '', 'id': 'test_T_5CCAA', 'id_prefix': '', @@ -4549,8 +4548,8 @@ 'external_css': 'external_link', 'external_url': None, 'full_title': 'Test for XY', - 'has_dead_links': '', - 'has_forbidden_dead_links': '', + 'has_dead_links': False, + 'has_forbidden_dead_links': False, 'hidden': '', 'id': 'test_T_C3893', 'id_prefix': '', @@ -4635,8 +4634,8 @@ 'external_css': 'external_link', 'external_url': None, 'full_title': 'TEST_101 TITLE', - 'has_dead_links': '', - 'has_forbidden_dead_links': '', + 'has_dead_links': False, + 'has_forbidden_dead_links': False, 'hidden': '', 'hide': False, 'id': 'IMP_TEST_101', @@ -4714,8 +4713,8 @@ 'external_css': 'external_link', 'external_url': None, 'full_title': 'A Spec', - 'has_dead_links': '', - 'has_forbidden_dead_links': '', + 'has_dead_links': False, + 'has_forbidden_dead_links': False, 'hidden': '', 'hide': False, 'id': 'SPEC_1', @@ -4792,8 +4791,8 @@ 'external_css': 'external_link', 'external_url': None, 'full_title': 'A story', - 'has_dead_links': '', - 'has_forbidden_dead_links': '', + 'has_dead_links': False, + 'has_forbidden_dead_links': False, 'hidden': '', 'hide': False, 'id': 'STORY_1', diff --git a/tests/__snapshots__/test_need_constraints.ambr b/tests/__snapshots__/test_need_constraints.ambr index 291821d6e..76a68ebe6 100644 --- a/tests/__snapshots__/test_need_constraints.ambr +++ b/tests/__snapshots__/test_need_constraints.ambr @@ -1,4 +1,3 @@ -# serializer version: 1 # name: test_need_constraints[test_app0] dict({ 'current_version': '', @@ -30,8 +29,8 @@ 'external_css': 'external_link', 'external_url': None, 'full_title': 'test1', - 'has_dead_links': '', - 'has_forbidden_dead_links': '', + 'has_dead_links': False, + 'has_forbidden_dead_links': False, 'hidden': '', 'id': 'SECURITY_REQ', 'id_prefix': '', @@ -102,8 +101,8 @@ 'external_css': 'external_link', 'external_url': None, 'full_title': 'test2', - 'has_dead_links': '', - 'has_forbidden_dead_links': '', + 'has_dead_links': False, + 'has_forbidden_dead_links': False, 'hidden': '', 'id': 'SP_109F4', 'id_prefix': '', @@ -177,8 +176,8 @@ 'external_css': 'external_link', 'external_url': None, 'full_title': 'test3', - 'has_dead_links': '', - 'has_forbidden_dead_links': '', + 'has_dead_links': False, + 'has_forbidden_dead_links': False, 'hidden': '', 'id': 'SP_3EBFA', 'id_prefix': '', @@ -250,8 +249,8 @@ 'external_css': 'external_link', 'external_url': None, 'full_title': 'FAIL_01', - 'has_dead_links': '', - 'has_forbidden_dead_links': '', + 'has_dead_links': False, + 'has_forbidden_dead_links': False, 'hidden': '', 'id': 'SP_CA3FB', 'id_prefix': '', @@ -318,8 +317,8 @@ 'external_css': 'external_link', 'external_url': None, 'full_title': 'Command line interface', - 'has_dead_links': '', - 'has_forbidden_dead_links': '', + 'has_dead_links': False, + 'has_forbidden_dead_links': False, 'hidden': '', 'id': 'SP_TOO_001', 'id_prefix': '', @@ -393,8 +392,8 @@ 'external_css': 'external_link', 'external_url': None, 'full_title': 'CLI', - 'has_dead_links': '', - 'has_forbidden_dead_links': '', + 'has_dead_links': False, + 'has_forbidden_dead_links': False, 'hidden': '', 'id': 'SP_TOO_002', 'id_prefix': '', @@ -468,8 +467,8 @@ 'external_css': 'external_link', 'external_url': None, 'full_title': 'CLI', - 'has_dead_links': '', - 'has_forbidden_dead_links': '', + 'has_dead_links': False, + 'has_forbidden_dead_links': False, 'hidden': '', 'id': 'TEST_STYLE', 'id_prefix': '', @@ -540,8 +539,8 @@ 'external_css': 'external_link', 'external_url': None, 'full_title': 'CLI2', - 'has_dead_links': '', - 'has_forbidden_dead_links': '', + 'has_dead_links': False, + 'has_forbidden_dead_links': False, 'hidden': '', 'id': 'TEST_STYLE2', 'id_prefix': '', diff --git a/tests/__snapshots__/test_needextend.ambr b/tests/__snapshots__/test_needextend.ambr index 5568efe93..6ef1d8f6f 100644 --- a/tests/__snapshots__/test_needextend.ambr +++ b/tests/__snapshots__/test_needextend.ambr @@ -1,4 +1,3 @@ -# serializer version: 1 # name: test_doc_needextend_dynamic[test_app0] dict({ 'current_version': '', @@ -30,8 +29,8 @@ 'external_css': 'external_link', 'external_url': None, 'full_title': 'Requirement 1', - 'has_dead_links': '', - 'has_forbidden_dead_links': '', + 'has_dead_links': False, + 'has_forbidden_dead_links': False, 'hidden': '', 'id': 'REQ_1', 'id_prefix': '', @@ -100,8 +99,8 @@ 'external_css': 'external_link', 'external_url': None, 'full_title': 'Requirement A 1', - 'has_dead_links': '', - 'has_forbidden_dead_links': '', + 'has_dead_links': False, + 'has_forbidden_dead_links': False, 'hidden': '', 'id': 'REQ_A_1', 'id_prefix': '', @@ -168,8 +167,8 @@ 'external_css': 'external_link', 'external_url': None, 'full_title': 'Requirement B 1', - 'has_dead_links': '', - 'has_forbidden_dead_links': '', + 'has_dead_links': False, + 'has_forbidden_dead_links': False, 'hidden': '', 'id': 'REQ_B_1', 'id_prefix': '', @@ -236,8 +235,8 @@ 'external_css': 'external_link', 'external_url': None, 'full_title': 'Requirement C 1', - 'has_dead_links': '', - 'has_forbidden_dead_links': '', + 'has_dead_links': False, + 'has_forbidden_dead_links': False, 'hidden': '', 'id': 'REQ_C_1', 'id_prefix': '', @@ -323,8 +322,8 @@ 'external_css': 'external_link', 'external_url': None, 'full_title': 'needextend Example 3', - 'has_dead_links': '', - 'has_forbidden_dead_links': '', + 'has_dead_links': False, + 'has_forbidden_dead_links': False, 'hidden': '', 'id': 'extend_test_003', 'id_prefix': '', @@ -395,8 +394,8 @@ 'external_css': 'external_link', 'external_url': None, 'full_title': 'needextend Example 4', - 'has_dead_links': '', - 'has_forbidden_dead_links': '', + 'has_dead_links': False, + 'has_forbidden_dead_links': False, 'hidden': '', 'id': 'extend_test_004', 'id_prefix': '', @@ -466,8 +465,8 @@ 'external_css': 'external_link', 'external_url': None, 'full_title': 'needextend Example 5', - 'has_dead_links': '', - 'has_forbidden_dead_links': '', + 'has_dead_links': False, + 'has_forbidden_dead_links': False, 'hidden': '', 'id': 'extend_test_005', 'id_prefix': '', @@ -534,8 +533,8 @@ 'external_css': 'external_link', 'external_url': None, 'full_title': 'needextend Example 6', - 'has_dead_links': '', - 'has_forbidden_dead_links': '', + 'has_dead_links': False, + 'has_forbidden_dead_links': False, 'hidden': '', 'id': 'extend_test_006', 'id_prefix': '', @@ -604,8 +603,8 @@ 'external_css': 'external_link', 'external_url': None, 'full_title': 'needextend Example 7', - 'has_dead_links': '', - 'has_forbidden_dead_links': '', + 'has_dead_links': False, + 'has_forbidden_dead_links': False, 'hidden': '', 'id': 'extend_test_007', 'id_prefix': '', @@ -675,8 +674,8 @@ 'external_css': 'external_link', 'external_url': None, 'full_title': 'needextend different pages test', - 'has_dead_links': '', - 'has_forbidden_dead_links': '', + 'has_dead_links': False, + 'has_forbidden_dead_links': False, 'hidden': '', 'id': 'extend_test_page', 'id_prefix': '', diff --git a/tests/__snapshots__/test_needs_builder.ambr b/tests/__snapshots__/test_needs_builder.ambr index 948139ce4..e8ea71c72 100644 --- a/tests/__snapshots__/test_needs_builder.ambr +++ b/tests/__snapshots__/test_needs_builder.ambr @@ -29,8 +29,8 @@ 'external_css': 'external_link', 'external_url': None, 'full_title': 'Test example', - 'has_dead_links': '', - 'has_forbidden_dead_links': '', + 'has_dead_links': False, + 'has_forbidden_dead_links': False, 'hidden': '', 'id': 'TC_001', 'id_prefix': '', @@ -97,8 +97,8 @@ 'external_css': 'external_link', 'external_url': None, 'full_title': 'Negative test example', - 'has_dead_links': '', - 'has_forbidden_dead_links': '', + 'has_dead_links': False, + 'has_forbidden_dead_links': False, 'hidden': '', 'id': 'TC_NEG_001', 'id_prefix': '', @@ -165,8 +165,8 @@ 'external_css': 'external_link', 'external_url': None, 'full_title': 'A story', - 'has_dead_links': '', - 'has_forbidden_dead_links': '', + 'has_dead_links': False, + 'has_forbidden_dead_links': False, 'hidden': '', 'id': 'US_63252', 'id_prefix': '', @@ -419,8 +419,8 @@ 'external_css': 'external_link', 'external_url': None, 'full_title': 'Test example', - 'has_dead_links': '', - 'has_forbidden_dead_links': '', + 'has_dead_links': False, + 'has_forbidden_dead_links': False, 'hidden': '', 'id': 'TC_001', 'id_prefix': '', @@ -487,8 +487,8 @@ 'external_css': 'external_link', 'external_url': None, 'full_title': 'Negative test example', - 'has_dead_links': '', - 'has_forbidden_dead_links': '', + 'has_dead_links': False, + 'has_forbidden_dead_links': False, 'hidden': '', 'id': 'TC_NEG_001', 'id_prefix': '', @@ -555,8 +555,8 @@ 'external_css': 'external_link', 'external_url': None, 'full_title': 'A story', - 'has_dead_links': '', - 'has_forbidden_dead_links': '', + 'has_dead_links': False, + 'has_forbidden_dead_links': False, 'hidden': '', 'id': 'US_63252', 'id_prefix': '', diff --git a/tests/__snapshots__/test_needs_id_builder.ambr b/tests/__snapshots__/test_needs_id_builder.ambr index 9e45b666d..8eaa30b1f 100644 --- a/tests/__snapshots__/test_needs_id_builder.ambr +++ b/tests/__snapshots__/test_needs_id_builder.ambr @@ -1,4 +1,3 @@ -# serializer version: 1 # name: test_doc_needs_id_builder[test_app0] dict({ 'TC_001.json': dict({ @@ -31,8 +30,8 @@ 'external_css': 'external_link', 'external_url': None, 'full_title': 'Test example', - 'has_dead_links': '', - 'has_forbidden_dead_links': '', + 'has_dead_links': False, + 'has_forbidden_dead_links': False, 'hidden': '', 'id': 'TC_001', 'id_prefix': '', @@ -113,8 +112,8 @@ 'external_css': 'external_link', 'external_url': None, 'full_title': 'Negative test example', - 'has_dead_links': '', - 'has_forbidden_dead_links': '', + 'has_dead_links': False, + 'has_forbidden_dead_links': False, 'hidden': '', 'id': 'TC_NEG_001', 'id_prefix': '', @@ -195,8 +194,8 @@ 'external_css': 'external_link', 'external_url': None, 'full_title': 'A story', - 'has_dead_links': '', - 'has_forbidden_dead_links': '', + 'has_dead_links': False, + 'has_forbidden_dead_links': False, 'hidden': '', 'id': 'US_63252', 'id_prefix': '', diff --git a/tests/__snapshots__/test_needuml.ambr b/tests/__snapshots__/test_needuml.ambr index a17713037..d18ba08a9 100644 --- a/tests/__snapshots__/test_needuml.ambr +++ b/tests/__snapshots__/test_needuml.ambr @@ -1,4 +1,3 @@ -# serializer version: 1 # name: test_doc_build_html[test_app0] dict({ 'COMP_001': dict({ @@ -33,8 +32,8 @@ 'external_css': 'external_link', 'external_url': None, 'full_title': 'Test component', - 'has_dead_links': '', - 'has_forbidden_dead_links': '', + 'has_dead_links': False, + 'has_forbidden_dead_links': False, 'hidden': '', 'hide': False, 'id': 'COMP_001', @@ -113,8 +112,8 @@ 'external_css': 'external_link', 'external_url': None, 'full_title': 'Test interface', - 'has_dead_links': '', - 'has_forbidden_dead_links': '', + 'has_dead_links': False, + 'has_forbidden_dead_links': False, 'hidden': '', 'hide': False, 'id': 'INT_001', @@ -226,8 +225,8 @@ 'external_css': 'external_link', 'external_url': None, 'full_title': 'Test interface2', - 'has_dead_links': '', - 'has_forbidden_dead_links': '', + 'has_dead_links': False, + 'has_forbidden_dead_links': False, 'hidden': '', 'hide': False, 'id': 'INT_002', @@ -338,8 +337,8 @@ 'external_css': 'external_link', 'external_url': None, 'full_title': 'Test interface3', - 'has_dead_links': '', - 'has_forbidden_dead_links': '', + 'has_dead_links': False, + 'has_forbidden_dead_links': False, 'hidden': '', 'hide': False, 'id': 'INT_003', @@ -465,8 +464,8 @@ 'external_css': 'external_link', 'external_url': None, 'full_title': 'Test interface4', - 'has_dead_links': '', - 'has_forbidden_dead_links': '', + 'has_dead_links': False, + 'has_forbidden_dead_links': False, 'hidden': '', 'hide': False, 'id': 'INT_004', @@ -551,8 +550,8 @@ 'external_css': 'external_link', 'external_url': None, 'full_title': 'Test Product', - 'has_dead_links': '', - 'has_forbidden_dead_links': '', + 'has_dead_links': False, + 'has_forbidden_dead_links': False, 'hidden': '', 'hide': False, 'id': 'PROD_001', @@ -631,8 +630,8 @@ 'external_css': 'external_link', 'external_url': None, 'full_title': 'Test story', - 'has_dead_links': '', - 'has_forbidden_dead_links': '', + 'has_dead_links': False, + 'has_forbidden_dead_links': False, 'hidden': '', 'hide': False, 'id': 'ST_001', @@ -711,8 +710,8 @@ 'external_css': 'external_link', 'external_url': None, 'full_title': 'Test story2', - 'has_dead_links': '', - 'has_forbidden_dead_links': '', + 'has_dead_links': False, + 'has_forbidden_dead_links': False, 'hidden': '', 'hide': False, 'id': 'ST_002', @@ -800,8 +799,8 @@ 'external_css': 'external_link', 'external_url': None, 'full_title': 'Test System', - 'has_dead_links': '', - 'has_forbidden_dead_links': '', + 'has_dead_links': False, + 'has_forbidden_dead_links': False, 'hidden': '', 'hide': False, 'id': 'SYS_001', diff --git a/tests/__snapshots__/test_service_github.ambr b/tests/__snapshots__/test_service_github.ambr index afb6ca7a0..1dbcffc06 100644 --- a/tests/__snapshots__/test_service_github.ambr +++ b/tests/__snapshots__/test_service_github.ambr @@ -32,8 +32,8 @@ 'external_css': 'external_link', 'external_url': None, 'full_title': 'Bump actions/cache from 3 to 4 (#1092)', - 'has_dead_links': '', - 'has_forbidden_dead_links': '', + 'has_dead_links': False, + 'has_forbidden_dead_links': False, 'hidden': '', 'id': 'GITHUB_050bec', 'id_prefix': '', @@ -107,8 +107,8 @@ 'external_css': 'external_link', 'external_url': None, 'full_title': 'needreport usage should count needs in post-process', - 'has_dead_links': '', - 'has_forbidden_dead_links': '', + 'has_dead_links': False, + 'has_forbidden_dead_links': False, 'hidden': '', 'id': 'GITHUB_1110', 'id_prefix': '', @@ -205,8 +205,8 @@ 'external_css': 'external_link', 'external_url': None, 'full_title': '๐Ÿ‘Œ Capture `only` expressions for each need', - 'has_dead_links': '', - 'has_forbidden_dead_links': '', + 'has_dead_links': False, + 'has_forbidden_dead_links': False, 'hidden': '', 'id': 'GITHUB_1112', 'id_prefix': '', @@ -287,8 +287,8 @@ 'external_css': 'external_link', 'external_url': None, 'full_title': '๐Ÿงช Add test for `needreport` directive (#1105)', - 'has_dead_links': '', - 'has_forbidden_dead_links': '', + 'has_dead_links': False, + 'has_forbidden_dead_links': False, 'hidden': '', 'id': 'GITHUB_6abd38', 'id_prefix': '',