@@ -198,16 +198,44 @@ fn check_disjoint_and_sort(indels: &mut [impl std::borrow::Borrow<Indel>]) -> bo
198
198
} )
199
199
}
200
200
201
- #[ test]
202
- fn test_apply ( ) {
203
- let mut text = "_11h1_2222_xx3333_4444_6666" . to_string ( ) ;
204
- let mut builder = TextEditBuilder :: default ( ) ;
205
- builder. replace ( TextRange :: new ( 3 . into ( ) , 4 . into ( ) ) , "1" . to_string ( ) ) ;
206
- builder. delete ( TextRange :: new ( 11 . into ( ) , 13 . into ( ) ) ) ;
207
- builder. insert ( 22 . into ( ) , "_5555" . to_string ( ) ) ;
208
-
209
- let text_edit = builder. finish ( ) ;
210
- text_edit. apply ( & mut text) ;
211
-
212
- assert_eq ! ( text, "_1111_2222_3333_4444_5555_6666" )
213
- }
201
+ #[ cfg( test) ]
202
+ mod tests {
203
+ use super :: { TextEdit , TextEditBuilder , TextRange } ;
204
+
205
+ fn range ( start : u32 , end : u32 ) -> TextRange {
206
+ TextRange :: new ( start. into ( ) , end. into ( ) )
207
+ }
208
+
209
+ #[ test]
210
+ fn test_apply ( ) {
211
+ let mut text = "_11h1_2222_xx3333_4444_6666" . to_string ( ) ;
212
+ let mut builder = TextEditBuilder :: default ( ) ;
213
+ builder. replace ( range ( 3 , 4 ) , "1" . to_string ( ) ) ;
214
+ builder. delete ( range ( 11 , 13 ) ) ;
215
+ builder. insert ( 22 . into ( ) , "_5555" . to_string ( ) ) ;
216
+
217
+ let text_edit = builder. finish ( ) ;
218
+ text_edit. apply ( & mut text) ;
219
+
220
+ assert_eq ! ( text, "_1111_2222_3333_4444_5555_6666" )
221
+ }
222
+
223
+ #[ test]
224
+ fn test_union ( ) {
225
+ let mut edit1 = TextEdit :: delete ( range ( 7 , 11 ) ) ;
226
+ let mut builder = TextEditBuilder :: default ( ) ;
227
+ builder. delete ( range ( 1 , 5 ) ) ;
228
+ builder. delete ( range ( 13 , 17 ) ) ;
229
+
230
+ let edit2 = builder. finish ( ) ;
231
+ assert ! ( edit1. union ( edit2) . is_ok( ) ) ;
232
+ assert_eq ! ( edit1. indels. len( ) , 3 ) ;
233
+ }
234
+
235
+ #[ test]
236
+ fn test_union_panics ( ) {
237
+ let mut edit1 = TextEdit :: delete ( range ( 7 , 11 ) ) ;
238
+ let edit2 = TextEdit :: delete ( range ( 9 , 13 ) ) ;
239
+ assert ! ( edit1. union ( edit2) . is_err( ) ) ;
240
+ }
241
+ }
0 commit comments