diff --git a/strictdoc/backend/reqif/p01_sdoc/sdoc_to_reqif_converter.py b/strictdoc/backend/reqif/p01_sdoc/sdoc_to_reqif_converter.py index ccd729324..7fc6c5222 100644 --- a/strictdoc/backend/reqif/p01_sdoc/sdoc_to_reqif_converter.py +++ b/strictdoc/backend/reqif/p01_sdoc/sdoc_to_reqif_converter.py @@ -47,7 +47,6 @@ GrammarElementFieldString, ReferenceType, ) -from strictdoc.backend.sdoc.writer import SDWriter from strictdoc.core.document_iterator import DocumentCachingIterator from strictdoc.core.document_tree import DocumentTree from strictdoc.helpers.cast import assert_cast @@ -234,29 +233,7 @@ def convert_document_tree( ) current_hierarchy = root_hierarchy - if len(document.free_texts) > 0: - # fmt: off - document_free_text_spec_object = ( - P01_SDocToReqIFObjectConverter - ._convert_document_free_text_to_spec_object( - document, - context=context, - ) - ) - # fmt: on - spec_objects.append(document_free_text_spec_object) - hierarchy = ReqIFSpecHierarchy( - xml_node=None, - is_self_closed=False, - identifier=generate_unique_identifier("SPEC-HIERARCHY"), - last_change=None, - long_name=None, - spec_object=document_free_text_spec_object.identifier, - children=[], - ref_then_children_order=True, - level=document.ng_level + 1, - ) - current_hierarchy.add_child(hierarchy) + # FIXME: ReqIF must export complete documents including fragments. for node in document_iterator.all_content( print_fragments=False, print_fragments_from_files=False @@ -421,44 +398,6 @@ def convert_document_tree( ) return reqif_bundle - @classmethod - def _convert_document_free_text_to_spec_object( - cls, - document: SDocDocument, - context: P01_SDocToReqIFBuildContext, - ) -> ReqIFSpecObject: - assert isinstance(document, SDocDocument) - assert len(document.free_texts) > 0 - attributes = [] - free_text_value = ( - SDWriter.print_free_text_content(document.free_texts[0]) - ).rstrip() - if context.multiline_is_xhtml: - attribute_type = SpecObjectAttributeType.XHTML - else: - attribute_type = SpecObjectAttributeType.STRING - free_text_value = escape(free_text_value) - - free_text_attribute = SpecObjectAttribute( - xml_node=None, - attribute_type=attribute_type, - definition_ref=ReqIFChapterField.TEXT, - value=free_text_value, - ) - attributes.append(free_text_attribute) - spec_object = ReqIFSpecObject( - xml_node=None, - description=None, - identifier=generate_unique_identifier("DOCUMENT_FREETEXT"), - last_change=None, - long_name=None, - spec_object_type=context.map_grammar_node_tags_to_spec_object_type[ - document - ]["FREETEXT"].identifier, - attributes=attributes, - ) - return spec_object - @classmethod def _convert_section_to_spec_object( cls, @@ -475,23 +414,6 @@ def _convert_section_to_spec_object( value=section.title, ) attributes.append(title_attribute) - if len(section.free_texts) > 0: - free_text_value = ( - SDWriter.print_free_text_content(section.free_texts[0]) - ).rstrip() - if context.multiline_is_xhtml: - attribute_type = SpecObjectAttributeType.XHTML - else: - attribute_type = SpecObjectAttributeType.STRING - free_text_value = escape(free_text_value) - - free_text_attribute = SpecObjectAttribute( - xml_node=None, - attribute_type=attribute_type, - definition_ref=ReqIFChapterField.TEXT, - value=free_text_value, - ) - attributes.append(free_text_attribute) """ If MIDs is enabled and this section has an MID, use it for @@ -742,15 +664,6 @@ def _convert_document_grammar_to_spec_types( "SECTION" ] = section_spec_type spec_object_types.append(section_spec_type) - free_text_spec_type = ( - P01_SDocToReqIFObjectConverter._create_free_text_spec_object_type( - context - ) - ) - context.map_grammar_node_tags_to_spec_object_type[grammar.parent][ - "FREETEXT" - ] = free_text_spec_type - spec_object_types.append(free_text_spec_type) return spec_object_types @@ -774,27 +687,3 @@ def _create_section_spec_object_type( attribute_definitions=attribute_definitions, ) return spec_object_type - - @classmethod - def _create_free_text_spec_object_type( - cls, - context: P01_SDocToReqIFBuildContext, - ): - attribute_definitions = [] - chapter_name_attribute = SpecAttributeDefinition.create( - attribute_type=SpecObjectAttributeType.XHTML - if context.multiline_is_xhtml - else SpecObjectAttributeType.STRING, - identifier=ReqIFChapterField.TEXT, - datatype_definition=StrictDocReqIFTypes.MULTI_LINE_STRING.value, - long_name=ReqIFChapterField.TEXT, - ) - attribute_definitions.append(chapter_name_attribute) - - spec_object_type_identifier = "FREE_TEXT_" + uuid.uuid4().hex - spec_object_type = ReqIFSpecObjectType.create( - identifier=spec_object_type_identifier, - long_name="FREETEXT", - attribute_definitions=attribute_definitions, - ) - return spec_object_type diff --git a/strictdoc/backend/sdoc/models/document.py b/strictdoc/backend/sdoc/models/document.py index 066586ab6..9501265f4 100644 --- a/strictdoc/backend/sdoc/models/document.py +++ b/strictdoc/backend/sdoc/models/document.py @@ -41,7 +41,6 @@ def __init__( view if view is not None else DocumentView.create_default(self) ) self.grammar: Optional[DocumentGrammar] = grammar - self.free_texts: List[FreeText] = free_texts self.section_contents: List = section_contents # FIXME: Plain list of all fragments found in the document. @@ -173,9 +172,3 @@ def enumerate_custom_content_field_titles( yield from self.grammar.elements[ 0 ].enumerate_custom_content_field_titles() - - def set_freetext(self, freetext: Optional[FreeText]) -> None: - if freetext is None: - self.free_texts = [] - return - self.free_texts = [freetext] diff --git a/strictdoc/backend/sdoc/writer.py b/strictdoc/backend/sdoc/writer.py index ac5842d4e..dda1d4b3b 100644 --- a/strictdoc/backend/sdoc/writer.py +++ b/strictdoc/backend/sdoc/writer.py @@ -232,10 +232,6 @@ def write_with_fragments( if element_relation.relation_role is not None: output += f" ROLE: {element_relation.relation_role}\n" - for free_text in document.free_texts: - output += "\n" - output += self._print_free_text(free_text) - output += "\n" output += self._print_node(document, document, document_iterator) diff --git a/strictdoc/core/traceability_index_builder.py b/strictdoc/core/traceability_index_builder.py index 13de71a9f..2e1101b27 100644 --- a/strictdoc/core/traceability_index_builder.py +++ b/strictdoc/core/traceability_index_builder.py @@ -339,20 +339,6 @@ def create_from_document_tree( rhs_node=document_tags, ) - for free_text in document.free_texts: - for part in free_text.parts: - if isinstance(part, Anchor): - graph_database.create_link( - link_type=GraphLinkType.MID_TO_NODE, - lhs_node=part.mid, - rhs_node=part, - ) - graph_database.create_link( - link_type=GraphLinkType.UID_TO_NODE, - lhs_node=part.value, - rhs_node=part, - ) - document_iterator = DocumentCachingIterator(document) d_01_document_iterators[document] = document_iterator @@ -485,27 +471,6 @@ def create_from_document_tree( # Now iterate over the requirements again to build an in-depth map of # parents and children. for document in document_tree.document_list: - if len(document.free_texts) > 0: - for part in document.free_texts[0].parts: - if isinstance(part, InlineLink): - # FIXME: Ensure that the section UIDs are written to UID_TO_NODE, - # remove the second check of UID_TO_REQUIREMENT_CONNECTIONS. - if not traceability_index.graph_database.has_link( - link_type=GraphLinkType.UID_TO_REQUIREMENT_CONNECTIONS, - lhs_node=part.link, - ) and not graph_database.has_link( - link_type=GraphLinkType.UID_TO_NODE, - lhs_node=part.link, - ): - raise StrictDocException( - "DocumentIndex: " - "the inline link references an " - "object with an UID " - "that does not exist: " - f"{part.link}." - ) - traceability_index.create_inline_link(part) - document_iterator = d_01_document_iterators[document] for node in document_iterator.all_content( diff --git a/strictdoc/export/json/json_generator.py b/strictdoc/export/json/json_generator.py index 353f707b8..bc20ddd15 100644 --- a/strictdoc/export/json/json_generator.py +++ b/strictdoc/export/json/json_generator.py @@ -175,9 +175,6 @@ def _write_document(cls, document: SDocDocument) -> Dict: document_dict[JSONKey.GRAMMAR]["ELEMENTS"].append(element_dict) - for free_text in document.free_texts: - document_dict["FREETEXT"] = cls._write_free_text_content(free_text) - node_dict = JSONGenerator._write_node(document, document, ()) document_dict[JSONKey.NODES] = node_dict[JSONKey.NODES] diff --git a/strictdoc/export/rst/writer.py b/strictdoc/export/rst/writer.py index 6ff0d598e..b61a79b41 100644 --- a/strictdoc/export/rst/writer.py +++ b/strictdoc/export/rst/writer.py @@ -34,9 +34,6 @@ def write(self, document: SDocDocument, single_document: bool) -> str: document.title, 0, reference_uid=document_uid ) - for free_text in document.free_texts: - output += self._print_free_text(free_text) - for content_node in document_iterator.all_content(): if isinstance(content_node, SDocSection): output += self._print_rst_header( diff --git a/strictdoc/git/change.py b/strictdoc/git/change.py index db83ee92e..e8c4ad6ee 100644 --- a/strictdoc/git/change.py +++ b/strictdoc/git/change.py @@ -36,11 +36,8 @@ def __init__( rhs_document: Optional[SDocDocument], uid_modified: bool, title_modified: bool, - free_text_modified: bool, lhs_colored_title_diff: Optional[str], rhs_colored_title_diff: Optional[str], - lhs_colored_free_text_diff: Optional[str], - rhs_colored_free_text_diff: Optional[str], ): assert lhs_document is not None or rhs_document is not None if matched_uid is not None: @@ -48,15 +45,8 @@ def __init__( self.matched_uid: Optional[str] = matched_uid self.uid_modified: bool = uid_modified self.title_modified: bool = title_modified - self.free_text_modified: bool = free_text_modified self.lhs_colored_title_diff: Optional[str] = lhs_colored_title_diff self.rhs_colored_title_diff: Optional[str] = rhs_colored_title_diff - self.lhs_colored_free_text_diff: Optional[str] = ( - lhs_colored_free_text_diff - ) - self.rhs_colored_free_text_diff: Optional[str] = ( - rhs_colored_free_text_diff - ) self.lhs_document: Optional[SDocDocument] = lhs_document self.rhs_document: Optional[SDocDocument] = rhs_document @@ -71,15 +61,6 @@ def get_colored_title_diff(self, side: str) -> Optional[str]: return self.rhs_colored_title_diff raise AssertionError(f"Must not reach here: {side}") - def get_colored_free_text_diff(self, side: str) -> Optional[str]: - if not self.free_text_modified: - return None - if side == "left": - return self.lhs_colored_free_text_diff - if side == "right": - return self.rhs_colored_free_text_diff - raise AssertionError(f"Must not reach here: {side}") - @auto_described class SectionChange: @@ -93,11 +74,8 @@ def __init__( rhs_section: Optional[SDocSection], uid_modified: bool, title_modified: bool, - free_text_modified: bool, lhs_colored_title_diff: Optional[str], rhs_colored_title_diff: Optional[str], - lhs_colored_free_text_diff: Optional[str], - rhs_colored_free_text_diff: Optional[str], ): assert lhs_section is not None or rhs_section is not None if matched_uid is not None: @@ -107,15 +85,8 @@ def __init__( self.section_token: Optional[str] = section_token self.uid_modified: bool = uid_modified self.title_modified: bool = title_modified - self.free_text_modified: bool = free_text_modified self.lhs_colored_title_diff: Optional[str] = lhs_colored_title_diff self.rhs_colored_title_diff: Optional[str] = rhs_colored_title_diff - self.lhs_colored_free_text_diff: Optional[str] = ( - lhs_colored_free_text_diff - ) - self.rhs_colored_free_text_diff: Optional[str] = ( - rhs_colored_free_text_diff - ) self.lhs_section: Optional[SDocSection] = lhs_section self.rhs_section: Optional[SDocSection] = rhs_section @@ -145,13 +116,6 @@ def get_colored_title_diff(self, side: str) -> Optional[str]: return self.rhs_colored_title_diff raise AssertionError(f"Must not reach here: {side}") - def get_colored_free_text_diff(self, side: str) -> Optional[str]: - if side == "left": - return self.lhs_colored_free_text_diff - if side == "right": - return self.rhs_colored_free_text_diff - raise AssertionError(f"Must not reach here: {side}") - @auto_described class RequirementFieldChange: diff --git a/strictdoc/git/project_diff_analyzer.py b/strictdoc/git/project_diff_analyzer.py index 45b29b999..342cc228c 100644 --- a/strictdoc/git/project_diff_analyzer.py +++ b/strictdoc/git/project_diff_analyzer.py @@ -25,7 +25,6 @@ ) from strictdoc.helpers.cast import assert_cast, assert_optional_cast from strictdoc.helpers.diff import get_colored_diff_string, similar -from strictdoc.helpers.md5 import get_md5 from strictdoc.helpers.mid import MID @@ -56,7 +55,6 @@ class ProjectTreeDiffStats: document_md5_hashes: Set[str] = field(default_factory=set) requirement_md5_hashes: Set[str] = field(default_factory=set) section_md5_hashes: Set[str] = field(default_factory=set) - free_text_md5_hashes: Set[str] = field(default_factory=set) map_nodes_to_hashes: Dict[Any, str] = field(default_factory=dict) map_mid_to_nodes: Dict[MID, Any] = field(default_factory=dict) map_uid_to_nodes: Dict[str, Any] = field(default_factory=dict) @@ -74,9 +72,6 @@ def get_md5_by_node(self, node) -> str: def contains_requirement_md5(self, requirement_md5: str) -> bool: return requirement_md5 in self.requirement_md5_hashes - def contains_free_text_md5(self, free_text_md5: str) -> bool: - return free_text_md5 in self.free_text_md5_hashes - def contains_section_md5(self, section_md5: str) -> bool: return section_md5 in self.section_md5_hashes @@ -125,110 +120,6 @@ def get_identical_requirement_field( return field_ return None - def get_diffed_free_text( - self, node: Union[SDocSection, SDocDocument], side: str - ): - assert isinstance(node, (SDocSection, SDocDocument)) - assert side in ("left", "right") - - if isinstance(node, SDocDocument): - document: SDocDocument = assert_cast(node, SDocDocument) - - other_document_or_none: Optional[SDocDocument] = None - - if ( - document.mid_permanent - and document.reserved_mid in self.map_mid_to_nodes - ): - other_document_or_none = self.map_mid_to_nodes[ - document.reserved_mid - ] - else: - other_document_or_none = self.map_rel_paths_to_docs.get( - document.meta.input_doc_rel_path.relative_path - ) - if other_document_or_none is None: - return None - other_document: SDocDocument = assert_cast( - other_document_or_none, SDocDocument - ) - if len(other_document.free_texts) == 0: - return None - document_free_text = document.free_texts[0] - other_document_free_text = other_document.free_texts[0] - document_free_text_parts = ( - document_free_text.get_parts_as_text_escaped() - ) - other_document_free_text_parts = ( - other_document_free_text.get_parts_as_text_escaped() - ) - if side == "left": - return get_colored_diff_string( - document_free_text_parts, - other_document_free_text_parts, - side, - ) - else: - return get_colored_diff_string( - other_document_free_text_parts, - document_free_text_parts, - side, - ) - - if isinstance(node, SDocSection): - section: SDocSection = assert_cast(node, SDocSection) - section_free_text = section.free_texts[0] - section_free_text_parts = ( - section_free_text.get_parts_as_text_escaped() - ) - - if section.reserved_uid is not None: - other_section_or_none: Optional[SDocSection] = ( - self.map_uid_to_nodes.get(section.reserved_uid) - ) - if other_section_or_none is not None: - other_section: SDocSection = assert_cast( - other_section_or_none, SDocSection - ) - - if len(other_section.free_texts) > 0: - other_section_free_text = other_section.free_texts[0] - other_section_free_text_parts = ( - other_section_free_text.get_parts_as_text_escaped() - ) - - if side == "left": - return get_colored_diff_string( - section_free_text_parts, - other_section_free_text_parts, - side, - ) - else: - return get_colored_diff_string( - other_section_free_text_parts, - section_free_text_parts, - side, - ) - else: - if side == "left": - return get_colored_diff_string( - section_free_text_parts, "", side - ) - else: - return get_colored_diff_string( - "", section_free_text_parts, side - ) - else: - return None - - # Section does not have a UID. We can still try to find a section - # with the same title if it still exists in the same parent - # section/document scope. - else: - pass - - return None - def contains_requirement_relations( self, requirement: SDocNode, @@ -458,9 +349,6 @@ def _iterate_one_index( title_modified: bool = False lhs_colored_title_diff: Optional[str] = None rhs_colored_title_diff: Optional[str] = None - free_text_modified: bool = False - lhs_colored_free_text_diff: Optional[str] = None - rhs_colored_free_text_diff: Optional[str] = None # If there is another section and the UIDs are not the # same, consider the UID modified. @@ -491,26 +379,7 @@ def _iterate_one_index( else: title_modified = True - if len(document.free_texts) > 0: - free_text = document.free_texts[0] - free_text_md5 = self_stats.get_md5_by_node(free_text) - free_text_modified = not other_stats.contains_free_text_md5( - free_text_md5 - ) - if ( - free_text_modified - and other_document_or_none is not None - and len(other_document_or_none.free_texts) > 0 - ): - lhs_colored_free_text_diff = ( - other_stats.get_diffed_free_text(document, "left") - ) - rhs_colored_free_text_diff = ( - self_stats.get_diffed_free_text( - other_document_or_none, "right" - ) - ) - if uid_modified or title_modified or free_text_modified: + if uid_modified or title_modified: lhs_document: Optional[SDocDocument] rhs_document: Optional[SDocDocument] if side == "left": @@ -526,11 +395,8 @@ def _iterate_one_index( rhs_document=rhs_document, uid_modified=uid_modified, title_modified=title_modified, - free_text_modified=free_text_modified, lhs_colored_title_diff=lhs_colored_title_diff, rhs_colored_title_diff=rhs_colored_title_diff, - lhs_colored_free_text_diff=lhs_colored_free_text_diff, - rhs_colored_free_text_diff=rhs_colored_free_text_diff, ) change_stats.map_nodes_to_changes[document] = ( document_change @@ -597,9 +463,6 @@ def _iterate_one_index( title_modified: bool = False lhs_colored_title_diff: Optional[str] = None rhs_colored_title_diff: Optional[str] = None - free_text_modified: bool = False - lhs_colored_free_text_diff: Optional[str] = None - rhs_colored_free_text_diff: Optional[str] = None # If there is another section and the UIDs are not the # same, consider the UID modified. @@ -634,34 +497,6 @@ def _iterate_one_index( else: title_modified = True - if len(node.free_texts) > 0: - free_text = node.free_texts[0] - free_text_md5 = self_stats.get_md5_by_node( - free_text - ) - free_text_modified = ( - not other_stats.contains_free_text_md5( - free_text_md5 - ) - ) - if other_section_or_none is not None: - if len(other_section_or_none.free_texts) > 0: - lhs_colored_free_text_diff = ( - other_stats.get_diffed_free_text( - node, "left" - ) - ) - - rhs_colored_free_text_diff = ( - self_stats.get_diffed_free_text( - other_section_or_none, "right" - ) - ) - else: - if other_section_or_none is not None: - if len(other_section_or_none.free_texts) > 0: - free_text_modified = True - """ Step: Create a section token that is used by JS to match the LHS nodes with RHS nodes. @@ -687,11 +522,8 @@ def _iterate_one_index( rhs_section=rhs_section, uid_modified=uid_modified, title_modified=title_modified, - free_text_modified=free_text_modified, lhs_colored_title_diff=lhs_colored_title_diff, rhs_colored_title_diff=rhs_colored_title_diff, - lhs_colored_free_text_diff=lhs_colored_free_text_diff, - rhs_colored_free_text_diff=rhs_colored_free_text_diff, ) change_stats.map_nodes_to_changes[node] = section_change @@ -1106,17 +938,6 @@ def analyze_document( map_nodes_to_hashers[document].update(document.title.encode("utf-8")) - # Document's top level free text. - if len(document.free_texts) > 0: - free_text = document.free_texts[0] - free_text_text = document.free_texts[0].get_parts_as_text() - free_text_md5 = get_md5(free_text_text) - map_nodes_to_hashers[document].update( - free_text_text.encode("utf-8") - ) - document_tree_stats.free_text_md5_hashes.add(free_text_md5) - document_tree_stats.map_nodes_to_hashes[free_text] = free_text_md5 - for node in document_iterator.all_content( print_fragments=True, print_fragments_from_files=False ): @@ -1130,16 +951,6 @@ def analyze_document( ) hasher = hashlib.md5() hasher.update(node.title.encode("utf-8")) - if len(node.free_texts) > 0: - free_text = node.free_texts[0] - free_text_text = node.free_texts[0].get_parts_as_text() - free_text_md5 = get_md5(free_text_text) - document_tree_stats.free_text_md5_hashes.add(free_text_md5) - document_tree_stats.map_nodes_to_hashes[free_text] = ( - free_text_md5 - ) - - hasher.update(free_text_text.encode("utf-8")) map_nodes_to_hashers[node] = hasher elif isinstance(node, SDocNode): diff --git a/tests/end2end/__init__.py b/tests/end2end/__init__.py index 4e2048858..1df4b49af 100644 --- a/tests/end2end/__init__.py +++ b/tests/end2end/__init__.py @@ -1 +1 @@ -# Dummy comment to trigger CI. +# Dummy comment to trigger CI diff --git a/tests/integration/backend/reqif/profiles/p01_sdoc/end_to_end/--reqif-multiline-is-xhtml/01_cli_option/test.itest b/tests/integration/backend/reqif/profiles/p01_sdoc/end_to_end/--reqif-multiline-is-xhtml/01_cli_option/test.itest index 27e85fef7..664313426 100644 --- a/tests/integration/backend/reqif/profiles/p01_sdoc/end_to_end/--reqif-multiline-is-xhtml/01_cli_option/test.itest +++ b/tests/integration/backend/reqif/profiles/p01_sdoc/end_to_end/--reqif-multiline-is-xhtml/01_cli_option/test.itest @@ -6,16 +6,6 @@ RUN: %cat %S/output/reqif/output.reqif | filecheck %s --check-prefix CHECK-EXPOR CHECK-EXPORTED-REQIF: CHECK-EXPORTED-REQIF: -CHECK-EXPORTED-REQIF: -CHECK-EXPORTED-REQIF-NEXT: -CHECK-EXPORTED-REQIF-NEXT: -CHECK-EXPORTED-REQIF-NEXT: -CHECK-EXPORTED-REQIF-NEXT: SDOC_DATATYPE_MULTI_LINE_STRING -CHECK-EXPORTED-REQIF-NEXT: -CHECK-EXPORTED-REQIF-NEXT: -CHECK-EXPORTED-REQIF-NEXT: -CHECK-EXPORTED-REQIF-NEXT: - CHECK-EXPORTED-REQIF: CHECK-EXPORTED-REQIF: CHECK-EXPORTED-REQIF: ReqIF.Text diff --git a/tests/integration/backend/reqif/profiles/p01_sdoc/end_to_end/--reqif-multiline-is-xhtml/02_toml_option/test.itest b/tests/integration/backend/reqif/profiles/p01_sdoc/end_to_end/--reqif-multiline-is-xhtml/02_toml_option/test.itest index 0f1d3d4c1..6992a378e 100644 --- a/tests/integration/backend/reqif/profiles/p01_sdoc/end_to_end/--reqif-multiline-is-xhtml/02_toml_option/test.itest +++ b/tests/integration/backend/reqif/profiles/p01_sdoc/end_to_end/--reqif-multiline-is-xhtml/02_toml_option/test.itest @@ -6,16 +6,6 @@ RUN: %cat %S/output/reqif/output.reqif | filecheck %s --check-prefix CHECK-EXPOR CHECK-EXPORTED-REQIF: CHECK-EXPORTED-REQIF: -# Make sure the free text spec object type has its text as an XHTML attribute. -CHECK-EXPORTED-REQIF: -CHECK-EXPORTED-REQIF-NEXT: -CHECK-EXPORTED-REQIF-NEXT: -CHECK-EXPORTED-REQIF-NEXT: -CHECK-EXPORTED-REQIF-NEXT: SDOC_DATATYPE_MULTI_LINE_STRING -CHECK-EXPORTED-REQIF-NEXT: -CHECK-EXPORTED-REQIF-NEXT: -CHECK-EXPORTED-REQIF-NEXT: - CHECK-EXPORTED-REQIF:Document free text. CHECK-EXPORTED-REQIF:Section free text. CHECK-EXPORTED-REQIF: diff --git a/tests/integration/features/diff/80__documents__changed_free_text/test.itest b/tests/integration/features/diff/80__documents__changed_free_text/test.itest index 0e45065eb..b3d5dcac3 100644 --- a/tests/integration/features/diff/80__documents__changed_free_text/test.itest +++ b/tests/integration/features/diff/80__documents__changed_free_text/test.itest @@ -1,22 +1,19 @@ -# FIXME -UNSUPPORTED: true - RUN: %strictdoc diff %S/lhs %S/rhs --output-dir Output RUN: cat %S/Output/changelog.html | filecheck %s --dump-input=fail --check-prefix=CHECK-CHANGELOG CHECK-CHANGELOG:
Nodes modified
-CHECK-CHANGELOG:
1
+CHECK-CHANGELOG:
2
CHECK-CHANGELOG:
Documents modified
-CHECK-CHANGELOG:
1
+CHECK-CHANGELOG:
No documents were modified.
CHECK-CHANGELOG:
Sections modified
CHECK-CHANGELOG:
No sections were modified.
CHECK-CHANGELOG:
Requirements modified
-CHECK-CHANGELOG:
No requirements were modified.
+CHECK-CHANGELOG:
2 (1 removed, 1 added)
NOTE: This ensures that red-green diff is explained correctly. -CHECK-CHANGELOG:This is a free text. -CHECK-CHANGELOG-NEXT: +CHECK-CHANGELOG:This is a free text. +CHECK-CHANGELOG:It is a MODIFIED free text.