File tree Expand file tree Collapse file tree 2 files changed +28
-3
lines changed
tests/SIL.Machine.Tests/Corpora Expand file tree Collapse file tree 2 files changed +28
-3
lines changed Original file line number Diff line number Diff line change @@ -388,14 +388,18 @@ public string GetUsfm(UsfmStylesheet stylesheet)
388388
389389 if ( tokens . Count > 0 && tokens [ 0 ] . Marker == "id" )
390390 {
391+ int index = 1 ;
391392 if ( tokens . Count > 1 && tokens [ 1 ] . Type == UsfmTokenType . Text )
392393 {
393- tokens . InsertRange ( 2 , remarkTokens ) ;
394+ index = 2 ;
394395 }
395- else
396+ while ( tokens [ index ] . Marker == "rem" )
396397 {
397- tokens . InsertRange ( 1 , remarkTokens ) ;
398+ index ++ ;
399+ if ( tokens . Count > index && tokens [ index ] . Type == UsfmTokenType . Text )
400+ index ++ ;
398401 }
402+ tokens . InsertRange ( index , remarkTokens ) ;
399403 }
400404 }
401405 return tokenizer . Detokenize ( tokens ) ;
Original file line number Diff line number Diff line change @@ -1219,6 +1219,7 @@ public void GetUsfm_PreferExisting_AddRemark()
12191219 } ;
12201220 string usfm =
12211221 @"\id MAT - Test
1222+ \rem Existing remark
12221223\c 1
12231224\v 1 Some text
12241225\v 2
@@ -1232,11 +1233,31 @@ public void GetUsfm_PreferExisting_AddRemark()
12321233 ) ;
12331234 string result =
12341235 @"\id MAT - Test
1236+ \rem Existing remark
12351237\rem New remark
12361238\c 1
12371239\v 1 Some text
12381240\v 2 Update 2
12391241\v 3 Other text
1242+ " ;
1243+
1244+ AssertUsfmEquals ( target , result ) ;
1245+
1246+ target = UpdateUsfm (
1247+ rows ,
1248+ target ,
1249+ textBehavior : UpdateUsfmTextBehavior . PreferExisting ,
1250+ remarks : [ "New remark 2" ]
1251+ ) ;
1252+ result =
1253+ @"\id MAT - Test
1254+ \rem Existing remark
1255+ \rem New remark
1256+ \rem New remark 2
1257+ \c 1
1258+ \v 1 Some text
1259+ \v 2 Update 2
1260+ \v 3 Other text
12401261" ;
12411262
12421263 AssertUsfmEquals ( target , result ) ;
You can’t perform that action at this time.
0 commit comments