@@ -128,7 +128,7 @@ stackSafeLoopsTest = do
128
128
parseErrorTestPosition
129
129
(many1TillRec (string " a" ) (string " b" ))
130
130
" baa"
131
- (Position { line: 1 , column: 1 })
131
+ (Position { index: 0 , line: 1 , column: 1 })
132
132
133
133
parseTest " a,a,a,b,a,a" (toUnfoldable [ " a" , " a" , " a" ]) $
134
134
sepEndByRec (string " a" ) (string " ," )
@@ -144,7 +144,7 @@ stackSafeLoopsTest = do
144
144
parseErrorTestPosition
145
145
(sepEndBy1Rec (string " a" ) (string " ," ))
146
146
" b,a,a"
147
- (Position { line: 1 , column: 1 })
147
+ (Position { index: 0 , line: 1 , column: 1 })
148
148
149
149
-- 8 `div` (8 `div` 2) == 2
150
150
parseTest " 8x8x2" 2 $
@@ -156,7 +156,7 @@ stackSafeLoopsTest = do
156
156
parseErrorTestPosition
157
157
(chainr1Rec digit (string " x" $> div))
158
158
" "
159
- (Position { line: 1 , column: 1 })
159
+ (Position { index: 0 , line: 1 , column: 1 })
160
160
161
161
-- (8 `div` 2) `div` 2 == 2
162
162
parseTest " 8x2x2" 2 $
@@ -168,15 +168,15 @@ stackSafeLoopsTest = do
168
168
parseErrorTestPosition
169
169
(chainl1Rec digit (string " x" $> div))
170
170
" "
171
- (Position { line: 1 , column: 1 })
171
+ (Position { index: 0 , line: 1 , column: 1 })
172
172
173
173
parseTest " aaaabcd" " b"
174
174
$ skipMany1Rec (string " a" )
175
175
*> string " b"
176
176
parseErrorTestPosition
177
177
(skipMany1Rec (string " a" ))
178
178
" bcd"
179
- (Position { line: 1 , column: 1 })
179
+ (Position { index: 0 , line: 1 , column: 1 })
180
180
181
181
parseTest " aaaabcd" " b"
182
182
$ skipManyRec (string " a" )
@@ -190,7 +190,7 @@ stackSafeLoopsTest = do
190
190
parseErrorTestPosition
191
191
(many1Rec (string " a" ))
192
192
" "
193
- (Position { line: 1 , column: 1 })
193
+ (Position { index: 0 , line: 1 , column: 1 })
194
194
195
195
parseTest " a,a,ab" (toUnfoldable [ " a" , " a" , " a" ])
196
196
$ sepByRec (string " a" ) (string " ," )
@@ -204,11 +204,11 @@ stackSafeLoopsTest = do
204
204
parseErrorTestPosition
205
205
(sepBy1Rec (string " a" ) (string " ," ))
206
206
" "
207
- (Position { line: 1 , column: 1 })
207
+ (Position { index: 0 , line: 1 , column: 1 })
208
208
parseErrorTestPosition
209
209
(sepBy1Rec (string " a" ) (string " ," ))
210
210
" a,"
211
- (Position { line: 1 , column: 3 })
211
+ (Position { index: 2 , line: 1 , column: 3 })
212
212
213
213
parseTest " a,a,a,b" (toUnfoldable [ " a" , " a" , " a" ])
214
214
$ endByRec (string " a" ) (string " ," )
@@ -222,11 +222,11 @@ stackSafeLoopsTest = do
222
222
parseErrorTestPosition
223
223
(endBy1Rec (string " a" ) (string " ," ))
224
224
" "
225
- (Position { line: 1 , column: 1 })
225
+ (Position { index: 0 , line: 1 , column: 1 })
226
226
parseErrorTestPosition
227
227
(endBy1Rec (string " a" ) (string " ," ))
228
228
" a,a"
229
- (Position { line: 1 , column: 4 })
229
+ (Position { index: 3 , line: 1 , column: 4 })
230
230
231
231
data TestToken = A | B
232
232
@@ -247,10 +247,7 @@ testTokenParser :: TokenParser
247
247
testTokenParser = makeTokenParser haskellDef
248
248
249
249
mkPos :: Int -> Position
250
- mkPos n = mkPos' n 1
251
-
252
- mkPos' :: Int -> Int -> Position
253
- mkPos' column line = Position { column: column, line: line }
250
+ mkPos n = Position { index: n - 1 , line: 1 , column: n }
254
251
255
252
type TestM = Effect Unit
256
253
@@ -577,12 +574,12 @@ main = do
577
574
parseErrorTestPosition
578
575
(many $ char ' f' *> char ' ?' )
579
576
" foo"
580
- (Position { column: 2 , line: 1 })
577
+ (Position { index: 1 , column: 2 , line: 1 })
581
578
582
579
parseErrorTestPosition
583
580
(satisfy (_ == ' ?' ))
584
581
" foo"
585
- (Position { column: 1 , line: 1 })
582
+ (Position { index: 0 , column: 1 , line: 1 })
586
583
587
584
parseTest
588
585
" foo"
@@ -607,17 +604,17 @@ main = do
607
604
608
605
parseTest " rest" " rest" rest
609
606
parseTest " rest" unit (rest *> eof)
610
- parseTest " rest\n rest" (Position { line: 2 , column: 5 }) (rest *> position)
607
+ parseTest " rest\n rest" (Position { index: 9 , line: 2 , column: 5 }) (rest *> position)
611
608
612
609
parseErrorTestPosition
613
610
(rest *> notFollowedBy eof)
614
611
" aa\n aa"
615
- (Position { column: 3 , line: 2 })
612
+ (Position { index: 5 , column: 3 , line: 2 })
616
613
617
614
parseErrorTestPosition
618
- anyChar
619
- " π
‘"
620
- (Position { column: 1 , line: 1 })
615
+ (string " π
π
" *> string " π
π
" )
616
+ " π
π
x π
‘"
617
+ (Position { index: 2 , column: 3 , line: 1 })
621
618
622
619
parseTest " π
π
xπ
‘" [ " π
" , " π
" , " x" , " π
‘" ] do
623
620
quarter <- anyCodePoint
@@ -633,8 +630,8 @@ main = do
633
630
634
631
parseTest " abcd" " ab" $ takeN 2
635
632
parseTest " abcd" " " $ takeN 0
636
- parseErrorTestPosition (takeN 10 ) " abcd" (Position { column: 1 , line: 1 })
637
- parseErrorTestPosition (takeN (-1 )) " abcd" (Position { column: 1 , line: 1 })
633
+ parseErrorTestPosition (takeN 10 ) " abcd" (Position { index: 0 , column: 1 , line: 1 })
634
+ parseErrorTestPosition (takeN (-1 )) " abcd" (Position { index: 0 , column: 1 , line: 1 })
638
635
639
636
parseErrorTestMessage
640
637
(noneOfCodePoints $ SCP .toCodePointArray " ββ
" )
@@ -677,10 +674,10 @@ main = do
677
674
parseTest " ababab" [ ' b' , ' b' , ' b' ] $ Array .many (char ' a' *> char ' b' )
678
675
parseTest " abaXab" [ ' b' ] $ Array .many (try (char ' a' *> char ' b' ))
679
676
680
- parseErrorTestPosition (string " abc" ) " bcd" (Position { column: 1 , line: 1 })
681
- parseErrorTestPosition (string " abc" *> eof) " abcdefg" (Position { column: 4 , line: 1 })
682
- parseErrorTestPosition (string " a\n b\n c\n " *> eof) " a\n b\n c\n d\n " (Position { column: 1 , line: 4 })
683
- parseErrorTestPosition (string " \t a" *> eof) " \t ab" (Position { column: 10 , line: 1 })
677
+ parseErrorTestPosition (string " abc" ) " bcd" (Position { index: 0 , column: 1 , line: 1 })
678
+ parseErrorTestPosition (string " abc" *> eof) " abcdefg" (Position { index: 3 , column: 4 , line: 1 })
679
+ parseErrorTestPosition (string " a\n b\n c\n " *> eof) " a\n b\n c\n d\n " (Position { index: 6 , column: 1 , line: 4 })
680
+ parseErrorTestPosition (string " \t a" *> eof) " \t ab" (Position { index: 2 , column: 10 , line: 1 })
684
681
685
682
log " \n TESTS number\n "
686
683
0 commit comments