@@ -18,26 +18,30 @@ import XCTest
1818//*============================================================================*
1919
2020final class PrefixTests : XCTestCase {
21-
21+
22+ typealias C = Offset < Character >
23+
2224 //=------------------------------------------------------------------------=
23- // MARK: Assertions
25+ // MARK: Tests
2426 //=------------------------------------------------------------------------=
2527
26- func OK ( prefix : String , value : String , format : String ) {
27- let style = Mock ( ) . prefix ( prefix ) ; XCTAssertEqual ( style . format ( value ) , format )
28+ func testFormat ( ) {
29+ XCTAssertEqual ( Mock ( ) . prefix ( " πΈπͺ " ) . format ( " πΊπΈ " ) , " πΈπͺπΊπΈ " )
2830 }
2931
30- func OK( prefix: String , value: String , interpret: Commit < String > ) {
31- let style = Mock ( ) . prefix ( prefix) ; XCTAssertEqual ( style. interpret ( value) , interpret)
32+ func testInterpret( ) {
33+ XCTAssertEqual ( Mock ( ) . prefix ( " πΈπͺ " ) . interpret ( " πΊπΈ " ) ,
34+ Commit ( " πΊπΈ " , Snapshot ( " πΈπͺ " , as: . phantom) + " πΊπΈ " ) )
3235 }
3336
34- //=------------------------------------------------------------------------=
35- // MARK: Tests
36- //=------------------------------------------------------------------------=
37-
38- func test( ) {
39- OK ( prefix: " πΈπͺ " , value: " πΊπΈ " , format: " πΈπͺπΊπΈ " )
40- OK ( prefix: " πΈπͺ " , value: " πΊπΈ " , interpret: Commit ( " πΊπΈ " , Snapshot ( " πΈπͺ " , as: . phantom) + " πΊπΈ " ) )
37+ func testSelectionInBaseIsOffsetByPrefixSize( ) {
38+ let characters = " 0123456789 "
39+
40+ let normal = Mock ( selection: true ) /*----------*/. interpret ( characters) . snapshot
41+ let prefix = Mock ( selection: true ) . prefix ( " ... " ) . interpret ( characters) . snapshot
42+
43+ XCTAssertEqual ( normal. selection!. positions ( ) , normal. indices ( at: C ( 0 ) ..< C ( 10 ) ) )
44+ XCTAssertEqual ( prefix. selection!. positions ( ) , prefix. indices ( at: C ( 3 ) ..< C ( 13 ) ) )
4145 }
4246}
4347
0 commit comments