defmastership 1.0.5 → 1.0.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
 - data/.rubocop.yml +1 -1
 - data/bin/defmastership +21 -15
 - data/cucumber.yml +1 -1
 - data/defmastership.gemspec +12 -6
 - data/features/changeref.feature +82 -129
 - data/features/export.feature +88 -34
 - data/features/modify.feature +143 -0
 - data/features/rename_included_files.feature +121 -0
 - data/lib/defmastership.rb +11 -3
 - data/lib/defmastership/batch_modifier.rb +33 -0
 - data/lib/defmastership/{ref_changer.rb → change_ref_line_modifier.rb} +18 -35
 - data/lib/defmastership/change_ref_modifier.rb +15 -0
 - data/lib/defmastership/constants.rb +14 -1
 - data/lib/defmastership/csv_formatter.rb +15 -16
 - data/lib/defmastership/csv_formatter_body.rb +11 -6
 - data/lib/defmastership/csv_formatter_header.rb +11 -10
 - data/lib/defmastership/definition.rb +11 -0
 - data/lib/defmastership/definition_parser.rb +46 -0
 - data/lib/defmastership/document.rb +43 -75
 - data/lib/defmastership/filters.rb +30 -0
 - data/lib/defmastership/line_modifier_base.rb +29 -0
 - data/lib/defmastership/modifier_base.rb +29 -0
 - data/lib/defmastership/rename_included_files_line_modifier.rb +126 -0
 - data/lib/defmastership/rename_included_files_modifier.rb +30 -0
 - data/lib/defmastership/version.rb +1 -1
 - data/spec/spec_helper.rb +1 -0
 - data/spec/unit/defmastership/batch_modifier_spec.rb +115 -0
 - data/spec/unit/defmastership/{ref_changer_spec.rb → change_ref_line_modifier_spec.rb} +48 -26
 - data/spec/unit/defmastership/change_ref_modifier_spec.rb +76 -0
 - data/spec/unit/defmastership/comment_filter_spec.rb +8 -4
 - data/spec/unit/defmastership/csv_formatter_body_spec.rb +61 -37
 - data/spec/unit/defmastership/csv_formatter_header_spec.rb +46 -22
 - data/spec/unit/defmastership/csv_formatter_spec.rb +65 -104
 - data/spec/unit/defmastership/definition_parser_spec.rb +63 -0
 - data/spec/unit/defmastership/definition_spec.rb +30 -4
 - data/spec/unit/defmastership/document_spec.rb +112 -35
 - data/spec/unit/defmastership/rename_included_files_line_modifier_spec.rb +203 -0
 - data/spec/unit/defmastership/rename_included_files_modifier_spec.rb +67 -0
 - metadata +34 -9
 - data/lib/defmastership/batch_changer.rb +0 -41
 - data/lib/defmastership/project_ref_changer.rb +0 -28
 - data/spec/unit/defmastership/batch_changer_spec.rb +0 -109
 - data/spec/unit/defmastership/project_ref_changer_spec.rb +0 -80
 
    
        data/features/export.feature
    CHANGED
    
    | 
         @@ -12,12 +12,65 @@ Feature: The extract command 
     | 
|
| 
       12 
12 
     | 
    
         
             
                Second line.
         
     | 
| 
       13 
13 
     | 
    
         
             
                --
         
     | 
| 
       14 
14 
     | 
    
         
             
                """
         
     | 
| 
       15 
     | 
    
         
            -
                When I run `defmastership export toto.adoc`
         
     | 
| 
      
 15 
     | 
    
         
            +
                When I successfully run `defmastership export toto.adoc`
         
     | 
| 
       16 
16 
     | 
    
         
             
                Then the file "toto.csv" should contain:
         
     | 
| 
       17 
17 
     | 
    
         
             
                """
         
     | 
| 
       18 
     | 
    
         
            -
                Type,Reference,Value
         
     | 
| 
      
 18 
     | 
    
         
            +
                Type,Reference,Value,sha256
         
     | 
| 
       19 
19 
     | 
    
         
             
                requirement,TOTO-0001,"Exemple of multiline requirement.
         
     | 
| 
       20 
     | 
    
         
            -
                Second line."
         
     | 
| 
      
 20 
     | 
    
         
            +
                Second line.",b86dcbde
         
     | 
| 
      
 21 
     | 
    
         
            +
                """
         
     | 
| 
      
 22 
     | 
    
         
            +
                And the stdout should not contain anything
         
     | 
| 
      
 23 
     | 
    
         
            +
                And the stderr should not contain anything
         
     | 
| 
      
 24 
     | 
    
         
            +
             
     | 
| 
      
 25 
     | 
    
         
            +
              Scenario: Extract one definition with WRONG explicit checksum to CSV 
         
     | 
| 
      
 26 
     | 
    
         
            +
                Given a file named "toto.adoc" with:
         
     | 
| 
      
 27 
     | 
    
         
            +
                """
         
     | 
| 
      
 28 
     | 
    
         
            +
                [define, requirement, TOTO-0001(babe1234)]
         
     | 
| 
      
 29 
     | 
    
         
            +
                def one
         
     | 
| 
      
 30 
     | 
    
         
            +
                """
         
     | 
| 
      
 31 
     | 
    
         
            +
                When I successfully run `defmastership export toto.adoc`
         
     | 
| 
      
 32 
     | 
    
         
            +
                Then the file "toto.csv" should contain:
         
     | 
| 
      
 33 
     | 
    
         
            +
                """
         
     | 
| 
      
 34 
     | 
    
         
            +
                Type,Reference,Value,sha256,Wrong explicit checksum
         
     | 
| 
      
 35 
     | 
    
         
            +
                requirement,TOTO-0001,def one,d27cb5c3,babe1234
         
     | 
| 
      
 36 
     | 
    
         
            +
                """
         
     | 
| 
      
 37 
     | 
    
         
            +
                And the stdout should not contain anything
         
     | 
| 
      
 38 
     | 
    
         
            +
                And the stderr should not contain anything
         
     | 
| 
      
 39 
     | 
    
         
            +
             
     | 
| 
      
 40 
     | 
    
         
            +
              Scenario: Extract two definitions with one WRONG explicit checksum to CSV 
         
     | 
| 
      
 41 
     | 
    
         
            +
                Given a file named "toto.adoc" with:
         
     | 
| 
      
 42 
     | 
    
         
            +
                """
         
     | 
| 
      
 43 
     | 
    
         
            +
                [define, requirement, TOTO-0001(d27cb5c3)]
         
     | 
| 
      
 44 
     | 
    
         
            +
                def one
         
     | 
| 
      
 45 
     | 
    
         
            +
             
     | 
| 
      
 46 
     | 
    
         
            +
                [define, requirement, TOTO-0002(babe1234)]
         
     | 
| 
      
 47 
     | 
    
         
            +
                def two
         
     | 
| 
      
 48 
     | 
    
         
            +
                """
         
     | 
| 
      
 49 
     | 
    
         
            +
                When I successfully run `defmastership export toto.adoc`
         
     | 
| 
      
 50 
     | 
    
         
            +
                Then the file "toto.csv" should contain:
         
     | 
| 
      
 51 
     | 
    
         
            +
                """
         
     | 
| 
      
 52 
     | 
    
         
            +
                Type,Reference,Value,sha256,Wrong explicit checksum
         
     | 
| 
      
 53 
     | 
    
         
            +
                requirement,TOTO-0001,def one,d27cb5c3,\"\"
         
     | 
| 
      
 54 
     | 
    
         
            +
                requirement,TOTO-0002,def two,b80e1be5,babe1234
         
     | 
| 
      
 55 
     | 
    
         
            +
                """
         
     | 
| 
      
 56 
     | 
    
         
            +
                And the stdout should not contain anything
         
     | 
| 
      
 57 
     | 
    
         
            +
                And the stderr should not contain anything
         
     | 
| 
      
 58 
     | 
    
         
            +
             
     | 
| 
      
 59 
     | 
    
         
            +
              Scenario: Extract one definition with explicit checksum to CSV 
         
     | 
| 
      
 60 
     | 
    
         
            +
                Given a file named "toto.adoc" with:
         
     | 
| 
      
 61 
     | 
    
         
            +
                """
         
     | 
| 
      
 62 
     | 
    
         
            +
                [define, requirement, TOTO-0001(b86dcbde)]
         
     | 
| 
      
 63 
     | 
    
         
            +
                --
         
     | 
| 
      
 64 
     | 
    
         
            +
                Exemple of multiline requirement.
         
     | 
| 
      
 65 
     | 
    
         
            +
                Second line.
         
     | 
| 
      
 66 
     | 
    
         
            +
                --
         
     | 
| 
      
 67 
     | 
    
         
            +
                """
         
     | 
| 
      
 68 
     | 
    
         
            +
                When I successfully run `defmastership export toto.adoc`
         
     | 
| 
      
 69 
     | 
    
         
            +
                Then the file "toto.csv" should contain:
         
     | 
| 
      
 70 
     | 
    
         
            +
                """
         
     | 
| 
      
 71 
     | 
    
         
            +
                Type,Reference,Value,sha256
         
     | 
| 
      
 72 
     | 
    
         
            +
                requirement,TOTO-0001,"Exemple of multiline requirement.
         
     | 
| 
      
 73 
     | 
    
         
            +
                Second line.",b86dcbde
         
     | 
| 
       21 
74 
     | 
    
         
             
                """
         
     | 
| 
       22 
75 
     | 
    
         
             
                And the stdout should not contain anything
         
     | 
| 
       23 
76 
     | 
    
         
             
                And the stderr should not contain anything
         
     | 
| 
         @@ -31,12 +84,12 @@ Feature: The extract command 
     | 
|
| 
       31 
84 
     | 
    
         
             
                Second line.
         
     | 
| 
       32 
85 
     | 
    
         
             
                --
         
     | 
| 
       33 
86 
     | 
    
         
             
                """
         
     | 
| 
       34 
     | 
    
         
            -
                When I run `defmastership export --separator=';' toto.adoc`
         
     | 
| 
      
 87 
     | 
    
         
            +
                When I successfully run `defmastership export --separator=';' toto.adoc`
         
     | 
| 
       35 
88 
     | 
    
         
             
                Then the file "toto.csv" should contain:
         
     | 
| 
       36 
89 
     | 
    
         
             
                """
         
     | 
| 
       37 
     | 
    
         
            -
                Type;Reference;Value
         
     | 
| 
      
 90 
     | 
    
         
            +
                Type;Reference;Value;sha256
         
     | 
| 
       38 
91 
     | 
    
         
             
                requirement;TOTO-0001;"Exemple of multiline requirement.
         
     | 
| 
       39 
     | 
    
         
            -
                Second line."
         
     | 
| 
      
 92 
     | 
    
         
            +
                Second line.";b86dcbde
         
     | 
| 
       40 
93 
     | 
    
         
             
                """
         
     | 
| 
       41 
94 
     | 
    
         | 
| 
       42 
95 
     | 
    
         
             
              Scenario: Extract one definition with variable to CSV 
         
     | 
| 
         @@ -51,13 +104,13 @@ Feature: The extract command 
     | 
|
| 
       51 
104 
     | 
    
         
             
                Third line with {not_defined_variable}.
         
     | 
| 
       52 
105 
     | 
    
         
             
                --
         
     | 
| 
       53 
106 
     | 
    
         
             
                """
         
     | 
| 
       54 
     | 
    
         
            -
                When I run `defmastership export toto.adoc`
         
     | 
| 
      
 107 
     | 
    
         
            +
                When I successfully run `defmastership export toto.adoc`
         
     | 
| 
       55 
108 
     | 
    
         
             
                Then the file "toto.csv" should contain:
         
     | 
| 
       56 
109 
     | 
    
         
             
                """
         
     | 
| 
       57 
     | 
    
         
            -
                Type,Reference,Value
         
     | 
| 
      
 110 
     | 
    
         
            +
                Type,Reference,Value,sha256
         
     | 
| 
       58 
111 
     | 
    
         
             
                requirement,TOTO-0001,"Exemple of multiline requirement with variable: Variable content.
         
     | 
| 
       59 
112 
     | 
    
         
             
                Variable content : Variable content Toto.
         
     | 
| 
       60 
     | 
    
         
            -
                Third line with {not_defined_variable}."
         
     | 
| 
      
 113 
     | 
    
         
            +
                Third line with {not_defined_variable}.",3bf370ed
         
     | 
| 
       61 
114 
     | 
    
         
             
                """
         
     | 
| 
       62 
115 
     | 
    
         
             
                And the stdout should not contain anything
         
     | 
| 
       63 
116 
     | 
    
         
             
                And the stderr should not contain anything
         
     | 
| 
         @@ -79,13 +132,14 @@ Feature: The extract command 
     | 
|
| 
       79 
132 
     | 
    
         
             
                Second line.
         
     | 
| 
       80 
133 
     | 
    
         
             
                --
         
     | 
| 
       81 
134 
     | 
    
         
             
                """
         
     | 
| 
       82 
     | 
    
         
            -
                When I run `defmastership export toto.adoc`
         
     | 
| 
      
 135 
     | 
    
         
            +
                When I successfully run `defmastership export toto.adoc`
         
     | 
| 
       83 
136 
     | 
    
         
             
                Then the file "toto.csv" should contain:
         
     | 
| 
       84 
137 
     | 
    
         
             
                """
         
     | 
| 
       85 
     | 
    
         
            -
                Type,Reference,Value
         
     | 
| 
      
 138 
     | 
    
         
            +
                Type,Reference,Value,sha256
         
     | 
| 
       86 
139 
     | 
    
         
             
                requirement,TOTO-0001,"Exemple of multiline requirement.
         
     | 
| 
       87 
     | 
    
         
            -
                Second line."
         
     | 
| 
       88 
     | 
    
         
            -
                something_else,TOTO-0003,"only one paragraphe 
     | 
| 
      
 140 
     | 
    
         
            +
                Second line.",b86dcbde
         
     | 
| 
      
 141 
     | 
    
         
            +
                something_else,TOTO-0003,"only one paragraphe.
         
     | 
| 
      
 142 
     | 
    
         
            +
                with two sentences.",4761e172
         
     | 
| 
       89 
143 
     | 
    
         
             
                """
         
     | 
| 
       90 
144 
     | 
    
         
             
                And the file "toto.csv" should not contain:
         
     | 
| 
       91 
145 
     | 
    
         
             
                """
         
     | 
| 
         @@ -107,7 +161,7 @@ Feature: The extract command 
     | 
|
| 
       107 
161 
     | 
    
         
             
                only one line
         
     | 
| 
       108 
162 
     | 
    
         
             
                ....
         
     | 
| 
       109 
163 
     | 
    
         
             
                """
         
     | 
| 
       110 
     | 
    
         
            -
                When I run `defmastership export toto.adoc`
         
     | 
| 
      
 164 
     | 
    
         
            +
                When I successfully run `defmastership export toto.adoc`
         
     | 
| 
       111 
165 
     | 
    
         
             
                Then the file "toto.csv" should not contain:
         
     | 
| 
       112 
166 
     | 
    
         
             
                """
         
     | 
| 
       113 
167 
     | 
    
         
             
                something_else
         
     | 
| 
         @@ -128,7 +182,7 @@ Feature: The extract command 
     | 
|
| 
       128 
182 
     | 
    
         
             
                only one line
         
     | 
| 
       129 
183 
     | 
    
         
             
                ////
         
     | 
| 
       130 
184 
     | 
    
         
             
                """
         
     | 
| 
       131 
     | 
    
         
            -
                When I run `defmastership export toto.adoc`
         
     | 
| 
      
 185 
     | 
    
         
            +
                When I successfully run `defmastership export toto.adoc`
         
     | 
| 
       132 
186 
     | 
    
         
             
                Then the file "toto.csv" should not contain:
         
     | 
| 
       133 
187 
     | 
    
         
             
                """
         
     | 
| 
       134 
188 
     | 
    
         
             
                something_else
         
     | 
| 
         @@ -151,7 +205,7 @@ Feature: The extract command 
     | 
|
| 
       151 
205 
     | 
    
         
             
                ////
         
     | 
| 
       152 
206 
     | 
    
         
             
                [define, something_else, TOTO-0003]
         
     | 
| 
       153 
207 
     | 
    
         
             
                """
         
     | 
| 
       154 
     | 
    
         
            -
                When I run `defmastership export toto.adoc`
         
     | 
| 
      
 208 
     | 
    
         
            +
                When I successfully run `defmastership export toto.adoc`
         
     | 
| 
       155 
209 
     | 
    
         
             
                Then the file "toto.csv" should contain:
         
     | 
| 
       156 
210 
     | 
    
         
             
                """
         
     | 
| 
       157 
211 
     | 
    
         
             
                something_else
         
     | 
| 
         @@ -168,12 +222,12 @@ Feature: The extract command 
     | 
|
| 
       168 
222 
     | 
    
         
             
                Second line.
         
     | 
| 
       169 
223 
     | 
    
         
             
                --
         
     | 
| 
       170 
224 
     | 
    
         
             
                """
         
     | 
| 
       171 
     | 
    
         
            -
                When I run `defmastership export toto.adoc`
         
     | 
| 
      
 225 
     | 
    
         
            +
                When I successfully run `defmastership export toto.adoc`
         
     | 
| 
       172 
226 
     | 
    
         
             
                Then the file "toto.csv" should contain:
         
     | 
| 
       173 
227 
     | 
    
         
             
                """
         
     | 
| 
       174 
     | 
    
         
            -
                Type,Reference,Value,Labels
         
     | 
| 
      
 228 
     | 
    
         
            +
                Type,Reference,Value,sha256,Labels
         
     | 
| 
       175 
229 
     | 
    
         
             
                requirement,TOTO-0001,"Exemple of multiline requirement.
         
     | 
| 
       176 
     | 
    
         
            -
                Second line.","label1
         
     | 
| 
      
 230 
     | 
    
         
            +
                Second line.",b86dcbde,"label1
         
     | 
| 
       177 
231 
     | 
    
         
             
                label2"
         
     | 
| 
       178 
232 
     | 
    
         
             
                """
         
     | 
| 
       179 
233 
     | 
    
         
             
                And the stdout should not contain anything
         
     | 
| 
         @@ -191,12 +245,12 @@ Feature: The extract command 
     | 
|
| 
       191 
245 
     | 
    
         
             
                --
         
     | 
| 
       192 
246 
     | 
    
         
             
                defs:eref[implements, [SYSTEM-0012, SYSTEM-0014]]
         
     | 
| 
       193 
247 
     | 
    
         
             
                """
         
     | 
| 
       194 
     | 
    
         
            -
                When I run `defmastership export toto.adoc`
         
     | 
| 
      
 248 
     | 
    
         
            +
                When I successfully run `defmastership export toto.adoc`
         
     | 
| 
       195 
249 
     | 
    
         
             
                Then the file "toto.csv" should contain:
         
     | 
| 
       196 
250 
     | 
    
         
             
                """
         
     | 
| 
       197 
     | 
    
         
            -
                Type,Reference,Value,Participate to: 
     | 
| 
      
 251 
     | 
    
         
            +
                Type,Reference,Value,sha256,Participate to:
         
     | 
| 
       198 
252 
     | 
    
         
             
                requirement,TOTO-0001,"Exemple of multiline requirement.
         
     | 
| 
       199 
     | 
    
         
            -
                Second line.","SYSTEM-0012
         
     | 
| 
      
 253 
     | 
    
         
            +
                Second line.",b86dcbde,"SYSTEM-0012
         
     | 
| 
       200 
254 
     | 
    
         
             
                SYSTEM-0014"
         
     | 
| 
       201 
255 
     | 
    
         
             
                """
         
     | 
| 
       202 
256 
     | 
    
         
             
                And the stdout should not contain anything
         
     | 
| 
         @@ -214,12 +268,12 @@ Feature: The extract command 
     | 
|
| 
       214 
268 
     | 
    
         
             
                --
         
     | 
| 
       215 
269 
     | 
    
         
             
                defs:eref[implements, [SYSTEM-0012, SYSTEM-0014]]
         
     | 
| 
       216 
270 
     | 
    
         
             
                """
         
     | 
| 
       217 
     | 
    
         
            -
                When I run `defmastership export toto.adoc`
         
     | 
| 
      
 271 
     | 
    
         
            +
                When I successfully run `defmastership export toto.adoc`
         
     | 
| 
       218 
272 
     | 
    
         
             
                Then the file "toto.csv" should contain:
         
     | 
| 
       219 
273 
     | 
    
         
             
                """
         
     | 
| 
       220 
     | 
    
         
            -
                Type,Reference,Value,Participate to:
         
     | 
| 
      
 274 
     | 
    
         
            +
                Type,Reference,Value,sha256,Participate to:
         
     | 
| 
       221 
275 
     | 
    
         
             
                requirement,TOTO-0001,"Exemple of multiline requirement.
         
     | 
| 
       222 
     | 
    
         
            -
                Second line.","SYSTEM-0012
         
     | 
| 
      
 276 
     | 
    
         
            +
                Second line.",b86dcbde,"SYSTEM-0012
         
     | 
| 
       223 
277 
     | 
    
         
             
                SYSTEM-0014"
         
     | 
| 
       224 
278 
     | 
    
         
             
                """
         
     | 
| 
       225 
279 
     | 
    
         
             
                And the stdout should not contain anything
         
     | 
| 
         @@ -236,14 +290,14 @@ Feature: The extract command 
     | 
|
| 
       236 
290 
     | 
    
         
             
                --
         
     | 
| 
       237 
291 
     | 
    
         
             
                defs:eref[implements, [SYSTEM-0012, SYSTEM-0014]]
         
     | 
| 
       238 
292 
     | 
    
         
             
                """
         
     | 
| 
       239 
     | 
    
         
            -
                When I run `defmastership export toto.adoc`
         
     | 
| 
      
 293 
     | 
    
         
            +
                When I successfully run `defmastership export toto.adoc`
         
     | 
| 
       240 
294 
     | 
    
         
             
                Then the stdout should not contain anything
         
     | 
| 
       241 
295 
     | 
    
         
             
                And the stderr should not contain anything
         
     | 
| 
       242 
296 
     | 
    
         
             
                And the file "toto.csv" should contain:
         
     | 
| 
       243 
297 
     | 
    
         
             
                """
         
     | 
| 
       244 
     | 
    
         
            -
                Type,Reference,Value,Participate to:
         
     | 
| 
      
 298 
     | 
    
         
            +
                Type,Reference,Value,sha256,Participate to:
         
     | 
| 
       245 
299 
     | 
    
         
             
                requirement,TOTO-0001,"Exemple of multiline requirement.
         
     | 
| 
       246 
     | 
    
         
            -
                Second line.","SYSTEM-0012
         
     | 
| 
      
 300 
     | 
    
         
            +
                Second line.",b86dcbde,"SYSTEM-0012
         
     | 
| 
       247 
301 
     | 
    
         
             
                SYSTEM-0014"
         
     | 
| 
       248 
302 
     | 
    
         
             
                """
         
     | 
| 
       249 
303 
     | 
    
         | 
| 
         @@ -257,12 +311,12 @@ Feature: The extract command 
     | 
|
| 
       257 
311 
     | 
    
         
             
                --
         
     | 
| 
       258 
312 
     | 
    
         
             
                please see defs:iref[TOTO-0002]
         
     | 
| 
       259 
313 
     | 
    
         
             
                """
         
     | 
| 
       260 
     | 
    
         
            -
                When I run `defmastership export toto.adoc`
         
     | 
| 
      
 314 
     | 
    
         
            +
                When I successfully run `defmastership export toto.adoc`
         
     | 
| 
       261 
315 
     | 
    
         
             
                Then the file "toto.csv" should contain:
         
     | 
| 
       262 
316 
     | 
    
         
             
                """
         
     | 
| 
       263 
     | 
    
         
            -
                Type,Reference,Value,Internal links
         
     | 
| 
      
 317 
     | 
    
         
            +
                Type,Reference,Value,sha256,Internal links
         
     | 
| 
       264 
318 
     | 
    
         
             
                requirement,TOTO-0001,"Exemple of multiline requirement.
         
     | 
| 
       265 
     | 
    
         
            -
                Second line: defs:iref[TOTO-0001], defs:iref[TOTO-0123].","TOTO-0001
         
     | 
| 
      
 319 
     | 
    
         
            +
                Second line: defs:iref[TOTO-0001], defs:iref[TOTO-0123].",059b7188,"TOTO-0001
         
     | 
| 
       266 
320 
     | 
    
         
             
                TOTO-0123
         
     | 
| 
       267 
321 
     | 
    
         
             
                TOTO-0002"
         
     | 
| 
       268 
322 
     | 
    
         
             
                """
         
     | 
| 
         @@ -281,12 +335,12 @@ Feature: The extract command 
     | 
|
| 
       281 
335 
     | 
    
         
             
                defs:attribute[verifiedby, Beautiful Test]
         
     | 
| 
       282 
336 
     | 
    
         
             
                defs:attribute[criticity, Very cool]
         
     | 
| 
       283 
337 
     | 
    
         
             
                """
         
     | 
| 
       284 
     | 
    
         
            -
                When I run `defmastership export toto.adoc`
         
     | 
| 
      
 338 
     | 
    
         
            +
                When I successfully run `defmastership export toto.adoc`
         
     | 
| 
       285 
339 
     | 
    
         
             
                And the stdout should not contain anything
         
     | 
| 
       286 
340 
     | 
    
         
             
                Then the file "toto.csv" should contain:
         
     | 
| 
       287 
341 
     | 
    
         
             
                """
         
     | 
| 
       288 
     | 
    
         
            -
                Type,Reference,Value,Verified by:,Criticity:
         
     | 
| 
       289 
     | 
    
         
            -
                requirement,TOTO-0001,One single line.,Beautiful Test,Very cool
         
     | 
| 
      
 342 
     | 
    
         
            +
                Type,Reference,Value,sha256,Verified by:,Criticity:
         
     | 
| 
      
 343 
     | 
    
         
            +
                requirement,TOTO-0001,One single line.,554b0ff5,Beautiful Test,Very cool
         
     | 
| 
       290 
344 
     | 
    
         
             
                """
         
     | 
| 
       291 
345 
     | 
    
         
             
                And the stdout should not contain anything
         
     | 
| 
       292 
346 
     | 
    
         
             
                And the stderr should not contain anything
         
     | 
| 
         @@ -0,0 +1,143 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            Feature: The modify command
         
     | 
| 
      
 2 
     | 
    
         
            +
              As a Responsible of definitions for a given document
         
     | 
| 
      
 3 
     | 
    
         
            +
              In order to manage to applu predefined modifications
         
     | 
| 
      
 4 
     | 
    
         
            +
              I want defmastership to apply automatic modifications
         
     | 
| 
      
 5 
     | 
    
         
            +
             
     | 
| 
      
 6 
     | 
    
         
            +
              Scenario: Change one modifier
         
     | 
| 
      
 7 
     | 
    
         
            +
                Given a file named "modifications.yml" with:
         
     | 
| 
      
 8 
     | 
    
         
            +
                """
         
     | 
| 
      
 9 
     | 
    
         
            +
                ---
         
     | 
| 
      
 10 
     | 
    
         
            +
                :temp-references:
         
     | 
| 
      
 11 
     | 
    
         
            +
                  :type: change_ref
         
     | 
| 
      
 12 
     | 
    
         
            +
                  :config:
         
     | 
| 
      
 13 
     | 
    
         
            +
                    :from_regexp: TOTO-TEMP-[X\d]{4}
         
     | 
| 
      
 14 
     | 
    
         
            +
                    :to_template: TOTO-%<next_ref>04d
         
     | 
| 
      
 15 
     | 
    
         
            +
                    :next_ref: 123
         
     | 
| 
      
 16 
     | 
    
         
            +
                """
         
     | 
| 
      
 17 
     | 
    
         
            +
                And a file named "thedoc.adoc" with:
         
     | 
| 
      
 18 
     | 
    
         
            +
                """
         
     | 
| 
      
 19 
     | 
    
         
            +
                [define, requirement, TOTO-TEMP-XXX1]
         
     | 
| 
      
 20 
     | 
    
         
            +
                """
         
     | 
| 
      
 21 
     | 
    
         
            +
                When I successfully run `defmastership modify --modifications temp-references thedoc.adoc`
         
     | 
| 
      
 22 
     | 
    
         
            +
                Then the stdout should not contain anything
         
     | 
| 
      
 23 
     | 
    
         
            +
                And the stderr should not contain anything
         
     | 
| 
      
 24 
     | 
    
         
            +
                And the file "modifications.yml" should contain:
         
     | 
| 
      
 25 
     | 
    
         
            +
                """
         
     | 
| 
      
 26 
     | 
    
         
            +
                ---
         
     | 
| 
      
 27 
     | 
    
         
            +
                :temp-references:
         
     | 
| 
      
 28 
     | 
    
         
            +
                  :type: change_ref
         
     | 
| 
      
 29 
     | 
    
         
            +
                  :config:
         
     | 
| 
      
 30 
     | 
    
         
            +
                    :from_regexp: TOTO-TEMP-[X\d]{4}
         
     | 
| 
      
 31 
     | 
    
         
            +
                    :to_template: TOTO-%<next_ref>04d
         
     | 
| 
      
 32 
     | 
    
         
            +
                    :next_ref: 124
         
     | 
| 
      
 33 
     | 
    
         
            +
                """
         
     | 
| 
      
 34 
     | 
    
         
            +
                And the file "thedoc.adoc" should contain:
         
     | 
| 
      
 35 
     | 
    
         
            +
                """
         
     | 
| 
      
 36 
     | 
    
         
            +
                [define, requirement, TOTO-0123]
         
     | 
| 
      
 37 
     | 
    
         
            +
                """
         
     | 
| 
      
 38 
     | 
    
         
            +
             
     | 
| 
      
 39 
     | 
    
         
            +
              Scenario: Make modifications with yaml file parameter 
         
     | 
| 
      
 40 
     | 
    
         
            +
                Given a file named "pouet.yml" with:
         
     | 
| 
      
 41 
     | 
    
         
            +
                """
         
     | 
| 
      
 42 
     | 
    
         
            +
                ---
         
     | 
| 
      
 43 
     | 
    
         
            +
                :toto:
         
     | 
| 
      
 44 
     | 
    
         
            +
                  :type: change_ref
         
     | 
| 
      
 45 
     | 
    
         
            +
                  :config:
         
     | 
| 
      
 46 
     | 
    
         
            +
                    :from_regexp: TOTO-TEMP-[X\d]{4}
         
     | 
| 
      
 47 
     | 
    
         
            +
                    :to_template: TOTO-%<next_ref>04d
         
     | 
| 
      
 48 
     | 
    
         
            +
                    :next_ref: 123
         
     | 
| 
      
 49 
     | 
    
         
            +
                """
         
     | 
| 
      
 50 
     | 
    
         
            +
                And a file named "thedoc.adoc" with:
         
     | 
| 
      
 51 
     | 
    
         
            +
                """
         
     | 
| 
      
 52 
     | 
    
         
            +
                [define, requirement, TOTO-TEMP-XXX1]
         
     | 
| 
      
 53 
     | 
    
         
            +
                """
         
     | 
| 
      
 54 
     | 
    
         
            +
                When I successfully run `defmastership modify --modifications-file=pouet.yml --modifications toto thedoc.adoc`
         
     | 
| 
      
 55 
     | 
    
         
            +
                Then the stdout should not contain anything
         
     | 
| 
      
 56 
     | 
    
         
            +
                And the stderr should not contain anything
         
     | 
| 
      
 57 
     | 
    
         
            +
                And the file "pouet.yml" should contain:
         
     | 
| 
      
 58 
     | 
    
         
            +
                """
         
     | 
| 
      
 59 
     | 
    
         
            +
                ---
         
     | 
| 
      
 60 
     | 
    
         
            +
                :toto:
         
     | 
| 
      
 61 
     | 
    
         
            +
                  :type: change_ref
         
     | 
| 
      
 62 
     | 
    
         
            +
                  :config:
         
     | 
| 
      
 63 
     | 
    
         
            +
                    :from_regexp: TOTO-TEMP-[X\d]{4}
         
     | 
| 
      
 64 
     | 
    
         
            +
                    :to_template: TOTO-%<next_ref>04d
         
     | 
| 
      
 65 
     | 
    
         
            +
                    :next_ref: 124
         
     | 
| 
      
 66 
     | 
    
         
            +
                """
         
     | 
| 
      
 67 
     | 
    
         
            +
                And the file "thedoc.adoc" should contain:
         
     | 
| 
      
 68 
     | 
    
         
            +
                """
         
     | 
| 
      
 69 
     | 
    
         
            +
                [define, requirement, TOTO-0123]
         
     | 
| 
      
 70 
     | 
    
         
            +
                """
         
     | 
| 
      
 71 
     | 
    
         
            +
             
     | 
| 
      
 72 
     | 
    
         
            +
              Scenario: Generate a table with changes
         
     | 
| 
      
 73 
     | 
    
         
            +
                Given a file named "modifications.yml" with:
         
     | 
| 
      
 74 
     | 
    
         
            +
                """
         
     | 
| 
      
 75 
     | 
    
         
            +
                ---
         
     | 
| 
      
 76 
     | 
    
         
            +
                :temp-references:
         
     | 
| 
      
 77 
     | 
    
         
            +
                  :type: change_ref
         
     | 
| 
      
 78 
     | 
    
         
            +
                  :config:
         
     | 
| 
      
 79 
     | 
    
         
            +
                    :from_regexp: TOTO-TEMP-[X\d]{4}
         
     | 
| 
      
 80 
     | 
    
         
            +
                    :to_template: TOTO-%<next_ref>04d
         
     | 
| 
      
 81 
     | 
    
         
            +
                    :next_ref: 123
         
     | 
| 
      
 82 
     | 
    
         
            +
                """
         
     | 
| 
      
 83 
     | 
    
         
            +
                And a file named "thedoc.adoc" with:
         
     | 
| 
      
 84 
     | 
    
         
            +
                """
         
     | 
| 
      
 85 
     | 
    
         
            +
                [define, requirement, TOTO-TEMP-XXX1]
         
     | 
| 
      
 86 
     | 
    
         
            +
                [define, requirement, TOTO-TEMP-XXX2]
         
     | 
| 
      
 87 
     | 
    
         
            +
                """
         
     | 
| 
      
 88 
     | 
    
         
            +
                When I successfully run `defmastership modify --modifications temp-references --changes-summary=changes.csv thedoc.adoc`
         
     | 
| 
      
 89 
     | 
    
         
            +
                Then the stderr should not contain anything
         
     | 
| 
      
 90 
     | 
    
         
            +
                And the stdout should not contain anything
         
     | 
| 
      
 91 
     | 
    
         
            +
                And the file "changes.csv" should contain:
         
     | 
| 
      
 92 
     | 
    
         
            +
                """
         
     | 
| 
      
 93 
     | 
    
         
            +
                Modifier,Was,Becomes
         
     | 
| 
      
 94 
     | 
    
         
            +
                temp-references,TOTO-TEMP-XXX1,TOTO-0123
         
     | 
| 
      
 95 
     | 
    
         
            +
                temp-references,TOTO-TEMP-XXX2,TOTO-0124
         
     | 
| 
      
 96 
     | 
    
         
            +
                """
         
     | 
| 
      
 97 
     | 
    
         
            +
             
     | 
| 
      
 98 
     | 
    
         
            +
              Scenario: Apply two modifcations
         
     | 
| 
      
 99 
     | 
    
         
            +
                Given a file named "modifications.yml" with:
         
     | 
| 
      
 100 
     | 
    
         
            +
                """
         
     | 
| 
      
 101 
     | 
    
         
            +
                ---
         
     | 
| 
      
 102 
     | 
    
         
            +
                :temp-references:
         
     | 
| 
      
 103 
     | 
    
         
            +
                  :type: change_ref
         
     | 
| 
      
 104 
     | 
    
         
            +
                  :config:
         
     | 
| 
      
 105 
     | 
    
         
            +
                    :from_regexp: TOTO-TEMP-[X\d]{4}
         
     | 
| 
      
 106 
     | 
    
         
            +
                    :to_template: TOTO-%<next_ref>04d
         
     | 
| 
      
 107 
     | 
    
         
            +
                    :next_ref: 123
         
     | 
| 
      
 108 
     | 
    
         
            +
                :tata_or_titi:
         
     | 
| 
      
 109 
     | 
    
         
            +
                  :type: change_ref
         
     | 
| 
      
 110 
     | 
    
         
            +
                  :config:
         
     | 
| 
      
 111 
     | 
    
         
            +
                    :from_regexp: "(?<tata_or_titi>TATA|TITI)-TEMP-[X\\d]{4}"
         
     | 
| 
      
 112 
     | 
    
         
            +
                    :to_template: "%<tata_or_titi>s-%<next_ref>07d"
         
     | 
| 
      
 113 
     | 
    
         
            +
                    :next_ref: 432
         
     | 
| 
      
 114 
     | 
    
         
            +
                """
         
     | 
| 
      
 115 
     | 
    
         
            +
                And a file named "thedoc.adoc" with:
         
     | 
| 
      
 116 
     | 
    
         
            +
                """
         
     | 
| 
      
 117 
     | 
    
         
            +
                [define, requirement, TOTO-TEMP-XXX1]
         
     | 
| 
      
 118 
     | 
    
         
            +
                [define, requirement, TITI-TEMP-XXX2]
         
     | 
| 
      
 119 
     | 
    
         
            +
                """
         
     | 
| 
      
 120 
     | 
    
         
            +
                When I successfully run `defmastership modify --modifications temp-references,tata_or_titi --changes-summary=changes.csv thedoc.adoc`
         
     | 
| 
      
 121 
     | 
    
         
            +
                Then the stdout should not contain anything
         
     | 
| 
      
 122 
     | 
    
         
            +
                And the stderr should not contain anything
         
     | 
| 
      
 123 
     | 
    
         
            +
                And the file "modifications.yml" should contain:
         
     | 
| 
      
 124 
     | 
    
         
            +
                """
         
     | 
| 
      
 125 
     | 
    
         
            +
                ---
         
     | 
| 
      
 126 
     | 
    
         
            +
                :temp-references:
         
     | 
| 
      
 127 
     | 
    
         
            +
                  :type: change_ref
         
     | 
| 
      
 128 
     | 
    
         
            +
                  :config:
         
     | 
| 
      
 129 
     | 
    
         
            +
                    :from_regexp: TOTO-TEMP-[X\d]{4}
         
     | 
| 
      
 130 
     | 
    
         
            +
                    :to_template: TOTO-%<next_ref>04d
         
     | 
| 
      
 131 
     | 
    
         
            +
                    :next_ref: 124
         
     | 
| 
      
 132 
     | 
    
         
            +
                :tata_or_titi:
         
     | 
| 
      
 133 
     | 
    
         
            +
                  :type: change_ref
         
     | 
| 
      
 134 
     | 
    
         
            +
                  :config:
         
     | 
| 
      
 135 
     | 
    
         
            +
                    :from_regexp: "(?<tata_or_titi>TATA|TITI)-TEMP-[X\\d]{4}"
         
     | 
| 
      
 136 
     | 
    
         
            +
                    :to_template: "%<tata_or_titi>s-%<next_ref>07d"
         
     | 
| 
      
 137 
     | 
    
         
            +
                    :next_ref: 433
         
     | 
| 
      
 138 
     | 
    
         
            +
                """
         
     | 
| 
      
 139 
     | 
    
         
            +
                And the file "thedoc.adoc" should contain:
         
     | 
| 
      
 140 
     | 
    
         
            +
                """
         
     | 
| 
      
 141 
     | 
    
         
            +
                [define, requirement, TOTO-0123]
         
     | 
| 
      
 142 
     | 
    
         
            +
                [define, requirement, TITI-0000432]
         
     | 
| 
      
 143 
     | 
    
         
            +
                """
         
     | 
| 
         @@ -0,0 +1,121 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
             
     | 
| 
      
 2 
     | 
    
         
            +
            Feature: The rename_included_files command
         
     | 
| 
      
 3 
     | 
    
         
            +
              As a Responsible of definitions for a given document.
         
     | 
| 
      
 4 
     | 
    
         
            +
              In order to easy traceability with included files,
         
     | 
| 
      
 5 
     | 
    
         
            +
              I want defmastership to change filename of included files to reflect
         
     | 
| 
      
 6 
     | 
    
         
            +
              reference.
         
     | 
| 
      
 7 
     | 
    
         
            +
             
     | 
| 
      
 8 
     | 
    
         
            +
              Scenario: do NOT change the filename of a file NOT included in a definition
         
     | 
| 
      
 9 
     | 
    
         
            +
                Given a file named "modifications.yml" with:
         
     | 
| 
      
 10 
     | 
    
         
            +
                """
         
     | 
| 
      
 11 
     | 
    
         
            +
                ---
         
     | 
| 
      
 12 
     | 
    
         
            +
                :rename_included_png:
         
     | 
| 
      
 13 
     | 
    
         
            +
                  :type: rename_included_files
         
     | 
| 
      
 14 
     | 
    
         
            +
                  :config:
         
     | 
| 
      
 15 
     | 
    
         
            +
                    :from_regexp: (?<origin>.*\.png)
         
     | 
| 
      
 16 
     | 
    
         
            +
                    :to_template: "%<reference>s_%<origin>s"
         
     | 
| 
      
 17 
     | 
    
         
            +
                """
         
     | 
| 
      
 18 
     | 
    
         
            +
                And a file named "thedoc.adoc" with:
         
     | 
| 
      
 19 
     | 
    
         
            +
                """
         
     | 
| 
      
 20 
     | 
    
         
            +
                include::any_path/one_file.png[]
         
     | 
| 
      
 21 
     | 
    
         
            +
                """
         
     | 
| 
      
 22 
     | 
    
         
            +
                And a directory named "any_path"
         
     | 
| 
      
 23 
     | 
    
         
            +
                And an empty file named "any_path/one_file.png"
         
     | 
| 
      
 24 
     | 
    
         
            +
                When I successfully run `defmastership modify --modifications rename_included_png thedoc.adoc`
         
     | 
| 
      
 25 
     | 
    
         
            +
                Then the stdout should not contain anything
         
     | 
| 
      
 26 
     | 
    
         
            +
                And the stderr should not contain anything
         
     | 
| 
      
 27 
     | 
    
         
            +
                And the file "thedoc.adoc" should contain:
         
     | 
| 
      
 28 
     | 
    
         
            +
                """
         
     | 
| 
      
 29 
     | 
    
         
            +
                include::any_path/one_file.png[]
         
     | 
| 
      
 30 
     | 
    
         
            +
                """
         
     | 
| 
      
 31 
     | 
    
         
            +
                And the file "any_path/one_file.png" should exist
         
     | 
| 
      
 32 
     | 
    
         
            +
             
     | 
| 
      
 33 
     | 
    
         
            +
              Scenario: change the filename of a file included in a definition
         
     | 
| 
      
 34 
     | 
    
         
            +
                Given a file named "modifications.yml" with:
         
     | 
| 
      
 35 
     | 
    
         
            +
                """
         
     | 
| 
      
 36 
     | 
    
         
            +
                ---
         
     | 
| 
      
 37 
     | 
    
         
            +
                :rename_included_png:
         
     | 
| 
      
 38 
     | 
    
         
            +
                  :type: rename_included_files
         
     | 
| 
      
 39 
     | 
    
         
            +
                  :config:
         
     | 
| 
      
 40 
     | 
    
         
            +
                    :from_regexp: (?<origin>.*\.png)
         
     | 
| 
      
 41 
     | 
    
         
            +
                    :to_template: "%<reference>s_%<origin>s"
         
     | 
| 
      
 42 
     | 
    
         
            +
                """
         
     | 
| 
      
 43 
     | 
    
         
            +
                And a file named "thedoc.adoc" with:
         
     | 
| 
      
 44 
     | 
    
         
            +
                """
         
     | 
| 
      
 45 
     | 
    
         
            +
                [define, requirement, TOTO-WHATEVER-123]
         
     | 
| 
      
 46 
     | 
    
         
            +
                include::any_path/one_file.png[]
         
     | 
| 
      
 47 
     | 
    
         
            +
                """
         
     | 
| 
      
 48 
     | 
    
         
            +
                And a directory named "any_path"
         
     | 
| 
      
 49 
     | 
    
         
            +
                And an empty file named "any_path/one_file.png"
         
     | 
| 
      
 50 
     | 
    
         
            +
                When I successfully run `defmastership modify --modifications rename_included_png thedoc.adoc`
         
     | 
| 
      
 51 
     | 
    
         
            +
                Then the stdout should not contain anything
         
     | 
| 
      
 52 
     | 
    
         
            +
                And the stderr should not contain anything
         
     | 
| 
      
 53 
     | 
    
         
            +
                And the file "thedoc.adoc" should contain:
         
     | 
| 
      
 54 
     | 
    
         
            +
                """
         
     | 
| 
      
 55 
     | 
    
         
            +
                [define, requirement, TOTO-WHATEVER-123]
         
     | 
| 
      
 56 
     | 
    
         
            +
                include::any_path/TOTO-WHATEVER-123_one_file.png[]
         
     | 
| 
      
 57 
     | 
    
         
            +
                """
         
     | 
| 
      
 58 
     | 
    
         
            +
                And the file "any_path/one_file.png" should not exist
         
     | 
| 
      
 59 
     | 
    
         
            +
                And the file "any_path/TOTO-WHATEVER-123_one_file.png" should exist
         
     | 
| 
      
 60 
     | 
    
         
            +
             
     | 
| 
      
 61 
     | 
    
         
            +
              Scenario: change the filename with variable in path
         
     | 
| 
      
 62 
     | 
    
         
            +
                Given a file named "modifications.yml" with:
         
     | 
| 
      
 63 
     | 
    
         
            +
                """
         
     | 
| 
      
 64 
     | 
    
         
            +
                ---
         
     | 
| 
      
 65 
     | 
    
         
            +
                :rename_included_png:
         
     | 
| 
      
 66 
     | 
    
         
            +
                  :type: rename_included_files
         
     | 
| 
      
 67 
     | 
    
         
            +
                  :config:
         
     | 
| 
      
 68 
     | 
    
         
            +
                    :from_regexp: (?<origin>.*\.png)
         
     | 
| 
      
 69 
     | 
    
         
            +
                    :to_template: "%<reference>s_%<origin>s"
         
     | 
| 
      
 70 
     | 
    
         
            +
                """
         
     | 
| 
      
 71 
     | 
    
         
            +
                And a file named "thedoc.adoc" with:
         
     | 
| 
      
 72 
     | 
    
         
            +
                """
         
     | 
| 
      
 73 
     | 
    
         
            +
                :any: one
         
     | 
| 
      
 74 
     | 
    
         
            +
                :path: two
         
     | 
| 
      
 75 
     | 
    
         
            +
                [define, requirement, TOTO-WHATEVER-123]
         
     | 
| 
      
 76 
     | 
    
         
            +
                include::{any}_{path}/one_file.png[]
         
     | 
| 
      
 77 
     | 
    
         
            +
                """
         
     | 
| 
      
 78 
     | 
    
         
            +
                And a directory named "one_two"
         
     | 
| 
      
 79 
     | 
    
         
            +
                And an empty file named "one_two/one_file.png"
         
     | 
| 
      
 80 
     | 
    
         
            +
                When I successfully run `defmastership modify --modifications rename_included_png thedoc.adoc`
         
     | 
| 
      
 81 
     | 
    
         
            +
                Then the stdout should not contain anything
         
     | 
| 
      
 82 
     | 
    
         
            +
                And the stderr should not contain anything
         
     | 
| 
      
 83 
     | 
    
         
            +
                And the file "thedoc.adoc" should contain:
         
     | 
| 
      
 84 
     | 
    
         
            +
                """
         
     | 
| 
      
 85 
     | 
    
         
            +
                :any: one
         
     | 
| 
      
 86 
     | 
    
         
            +
                :path: two
         
     | 
| 
      
 87 
     | 
    
         
            +
                [define, requirement, TOTO-WHATEVER-123]
         
     | 
| 
      
 88 
     | 
    
         
            +
                include::{any}_{path}/TOTO-WHATEVER-123_one_file.png[]
         
     | 
| 
      
 89 
     | 
    
         
            +
                """
         
     | 
| 
      
 90 
     | 
    
         
            +
                And the file "one_two/one_file.png" should not exist
         
     | 
| 
      
 91 
     | 
    
         
            +
                And the file "one_two/TOTO-WHATEVER-123_one_file.png" should exist
         
     | 
| 
      
 92 
     | 
    
         
            +
             
     | 
| 
      
 93 
     | 
    
         
            +
              Scenario: DO NOT change the filename again and again
         
     | 
| 
      
 94 
     | 
    
         
            +
                Given a file named "modifications.yml" with:
         
     | 
| 
      
 95 
     | 
    
         
            +
                """
         
     | 
| 
      
 96 
     | 
    
         
            +
                ---
         
     | 
| 
      
 97 
     | 
    
         
            +
                :rename_included_png:
         
     | 
| 
      
 98 
     | 
    
         
            +
                  :type: rename_included_files
         
     | 
| 
      
 99 
     | 
    
         
            +
                  :config:
         
     | 
| 
      
 100 
     | 
    
         
            +
                    :from_regexp: (?<origin>.*\.png)
         
     | 
| 
      
 101 
     | 
    
         
            +
                    :cancel_if_match: TOTO-WHATEVER
         
     | 
| 
      
 102 
     | 
    
         
            +
                    :to_template: "%<reference>s_%<origin>s"
         
     | 
| 
      
 103 
     | 
    
         
            +
                """
         
     | 
| 
      
 104 
     | 
    
         
            +
                And a file named "thedoc.adoc" with:
         
     | 
| 
      
 105 
     | 
    
         
            +
                """
         
     | 
| 
      
 106 
     | 
    
         
            +
                [define, requirement, TOTO-WHATEVER-123]
         
     | 
| 
      
 107 
     | 
    
         
            +
                include::any_path/TOTO-WHATEVER-123_one_file.png[]
         
     | 
| 
      
 108 
     | 
    
         
            +
                """
         
     | 
| 
      
 109 
     | 
    
         
            +
                And a directory named "any_path"
         
     | 
| 
      
 110 
     | 
    
         
            +
                And an empty file named "any_path/TOTO-WHATEVER-123_one_file.png"
         
     | 
| 
      
 111 
     | 
    
         
            +
                When I successfully run `defmastership modify --modifications rename_included_png thedoc.adoc`
         
     | 
| 
      
 112 
     | 
    
         
            +
                Then the stdout should not contain anything
         
     | 
| 
      
 113 
     | 
    
         
            +
                And the stderr should not contain anything
         
     | 
| 
      
 114 
     | 
    
         
            +
                And the file "thedoc.adoc" should contain:
         
     | 
| 
      
 115 
     | 
    
         
            +
                """
         
     | 
| 
      
 116 
     | 
    
         
            +
                [define, requirement, TOTO-WHATEVER-123]
         
     | 
| 
      
 117 
     | 
    
         
            +
                include::any_path/TOTO-WHATEVER-123_one_file.png[]
         
     | 
| 
      
 118 
     | 
    
         
            +
                """
         
     | 
| 
      
 119 
     | 
    
         
            +
                And the file "any_path/one_file.png" should not exist
         
     | 
| 
      
 120 
     | 
    
         
            +
                And the file "any_path/TOTO-WHATEVER-123_one_file.png" should exist
         
     | 
| 
      
 121 
     | 
    
         
            +
             
     |