@@ -30,6 +30,11 @@ import (
30
30
"github.com/yorkie-team/yorkie/test/helper"
31
31
)
32
32
33
+ type testResult struct {
34
+ flag bool
35
+ resultDesc string
36
+ }
37
+
33
38
type rangeSelector int
34
39
35
40
const (
@@ -146,7 +151,7 @@ func (op editOperationType) run(t *testing.T, doc *document.Document, user int,
146
151
func RunTestTreeConcurrency (testDesc string , t * testing.T , initialState json.TreeNode , initialXML string ,
147
152
rangesArr []twoRangesType , opArr1 , opArr2 []operationInterface ) {
148
153
149
- runTest := func (ranges twoRangesType , op1 , op2 operationInterface ) bool {
154
+ runTest := func (ranges twoRangesType , op1 , op2 operationInterface ) testResult {
150
155
clients := activeClients (t , 2 )
151
156
c1 , c2 := clients [0 ], clients [1 ]
152
157
defer deactivateAndCloseClients (t , clients )
@@ -169,7 +174,11 @@ func RunTestTreeConcurrency(testDesc string, t *testing.T, initialState json.Tre
169
174
op1 .run (t , d1 , 0 , ranges )
170
175
op2 .run (t , d2 , 1 , ranges )
171
176
172
- return syncClientsThenCheckEqual (t , []clientAndDocPair {{c1 , d1 }, {c2 , d2 }})
177
+ flag := syncClientsThenCheckEqual (t , []clientAndDocPair {{c1 , d1 }, {c2 , d2 }})
178
+ if flag {
179
+ return testResult {flag , `pass` }
180
+ }
181
+ return testResult {flag , `different result` }
173
182
}
174
183
175
184
for _ , interval := range rangesArr {
@@ -178,8 +187,9 @@ func RunTestTreeConcurrency(testDesc string, t *testing.T, initialState json.Tre
178
187
desc := testDesc + "-" + interval .desc
179
188
desc += "(" + op1 .getDesc () + "," + op2 .getDesc () + ")"
180
189
t .Run (desc , func (t * testing.T ) {
181
- if ! runTest (interval , op1 , op2 ) {
182
- t .Skip ()
190
+ result := runTest (interval , op1 , op2 )
191
+ if ! result .flag {
192
+ t .Skip (result .resultDesc )
183
193
}
184
194
})
185
195
}
@@ -221,34 +231,34 @@ func TestTreeConcurrencyEditEdit(t *testing.T) {
221
231
makeTwoRanges (0 , 5 , 5 , 5 , 5 , 10 , `side-by-side-element` ),
222
232
// side-by-side-text: a - bc
223
233
makeTwoRanges (1 , 1 , 2 , 2 , 3 , 4 , `side-by-side-text` ),
224
- // equal-text: abc - abc
225
- makeTwoRanges (1 , 2 , 4 , 1 , 2 , 4 , `equal-text` ),
226
234
// equal-element: <p>abc</p><p>def</p> - <p>abc</p><p>def</p>
227
235
makeTwoRanges (0 , 5 , 10 , 0 , 5 , 10 , `equal-element` ),
236
+ // equal-text: abc - abc
237
+ makeTwoRanges (1 , 2 , 4 , 1 , 2 , 4 , `equal-text` ),
228
238
}
229
239
230
240
editOperations1 := []operationInterface {
231
241
editOperationType {RangeFront , EditUpdate , textNode1 , 0 , `insertTextFront` },
232
242
editOperationType {RangeMiddle , EditUpdate , textNode1 , 0 , `insertTextMiddle` },
233
243
editOperationType {RangeBack , EditUpdate , textNode1 , 0 , `insertTextBack` },
234
- editOperationType {RangeAll , EditUpdate , textNode1 , 0 , `changeText ` },
244
+ editOperationType {RangeAll , EditUpdate , textNode1 , 0 , `replaceText ` },
235
245
editOperationType {RangeFront , EditUpdate , elementNode1 , 0 , `insertElementFront` },
236
246
editOperationType {RangeMiddle , EditUpdate , elementNode1 , 0 , `insertElementMiddle` },
237
247
editOperationType {RangeBack , EditUpdate , elementNode1 , 0 , `insertElementBack` },
238
- editOperationType {RangeAll , EditUpdate , elementNode1 , 0 , `changeElement ` },
239
- editOperationType {RangeAll , EditUpdate , nil , 0 , `erase ` },
248
+ editOperationType {RangeAll , EditUpdate , elementNode1 , 0 , `replaceElement ` },
249
+ editOperationType {RangeAll , EditUpdate , nil , 0 , `delete ` },
240
250
}
241
251
242
252
editOperations2 := []operationInterface {
243
253
editOperationType {RangeFront , EditUpdate , textNode2 , 0 , `insertTextFront` },
244
254
editOperationType {RangeMiddle , EditUpdate , textNode2 , 0 , `insertTextMiddle` },
245
255
editOperationType {RangeBack , EditUpdate , textNode2 , 0 , `insertTextBack` },
246
- editOperationType {RangeAll , EditUpdate , textNode2 , 0 , `changeText ` },
256
+ editOperationType {RangeAll , EditUpdate , textNode2 , 0 , `replaceText ` },
247
257
editOperationType {RangeFront , EditUpdate , elementNode2 , 0 , `insertElementFront` },
248
258
editOperationType {RangeMiddle , EditUpdate , elementNode2 , 0 , `insertElementMiddle` },
249
259
editOperationType {RangeBack , EditUpdate , elementNode2 , 0 , `insertElementBack` },
250
- editOperationType {RangeAll , EditUpdate , elementNode2 , 0 , `changeElement ` },
251
- editOperationType {RangeAll , EditUpdate , nil , 0 , `erase ` },
260
+ editOperationType {RangeAll , EditUpdate , elementNode2 , 0 , `replaceElement ` },
261
+ editOperationType {RangeAll , EditUpdate , nil , 0 , `delete ` },
252
262
}
253
263
254
264
RunTestTreeConcurrency ("concurrently-edit-edit-test" , t , initialState , initialXML , ranges , editOperations1 , editOperations2 )
@@ -332,8 +342,8 @@ func TestTreeConcurrencyEditStyle(t *testing.T) {
332
342
editOperationType {RangeFront , EditUpdate , content , 0 , `insertFront` },
333
343
editOperationType {RangeMiddle , EditUpdate , content , 0 , `insertMiddle` },
334
344
editOperationType {RangeBack , EditUpdate , content , 0 , `insertBack` },
335
- editOperationType {RangeAll , EditUpdate , nil , 0 , `erase ` },
336
- editOperationType {RangeAll , EditUpdate , content , 0 , `change ` },
345
+ editOperationType {RangeAll , EditUpdate , nil , 0 , `delete ` },
346
+ editOperationType {RangeAll , EditUpdate , content , 0 , `replace ` },
337
347
}
338
348
339
349
styleOperations := []operationInterface {
0 commit comments