|
126 | 126 | """)) == |
127 | 127 | [Token(K"<drawer", 1, 8), |
128 | 128 | Token(K"<paragraph", 10, 10), |
129 | | - Token(K">paragraph", 16, 16), |
130 | | - Token(K"<paragraph", 18, 18), |
131 | 129 | Token(K">paragraph", 34, 34), |
132 | 130 | Token(K">drawer", 36, 40)] |
133 | 131 | end |
|
392 | 390 | Token(K">paragraph", 85, 85), |
393 | 391 | Token(K"latex_environment", 88, 136)] |
394 | 392 | end |
| 393 | + @testset "Markup" begin |
| 394 | + @test collect(Lexer("*bold*")) == |
| 395 | + [Token(K"<paragraph", 1, 1), |
| 396 | + Token(K"<bold", 1, 1), |
| 397 | + Token(K">bold", 6, 6)] |
| 398 | + @test collect(Lexer("*bold* /italic/ _underline_ ~code~ =verbatim= +strikethrough+")) == |
| 399 | + [Token(K"<paragraph", 1, 1), |
| 400 | + Token(K"<bold", 1, 1), |
| 401 | + Token(K">bold", 6, 6), |
| 402 | + Token(K"<italic", 8, 8), |
| 403 | + Token(K">italic", 15, 15), |
| 404 | + Token(K"<underline", 17, 17), |
| 405 | + Token(K">underline", 27, 27), |
| 406 | + Token(K"<code", 29, 29), |
| 407 | + Token(K">code", 34, 34), |
| 408 | + Token(K"<verbatim", 36, 36), |
| 409 | + Token(K">verbatim", 45, 45), |
| 410 | + Token(K"<strikethrough", 47, 47), |
| 411 | + Token(K">strikethrough", 61, 61)] |
| 412 | + @test collect(Lexer("*/italic/*")) == |
| 413 | + [Token(K"<paragraph", 1, 1), |
| 414 | + Token(K"<bold", 1, 1), |
| 415 | + Token(K"<italic", 2, 2), |
| 416 | + Token(K">italic", 9, 9), |
| 417 | + Token(K"<bold", 10, 10)] |
| 418 | + @test collect(Lexer("=*/italic/*=")) == |
| 419 | + [Token(K"<paragraph", 1, 1), |
| 420 | + Token(K"<verbatim", 1, 1), |
| 421 | + Token(K">verbatim", 12, 12)] |
| 422 | + @test collect(Lexer("*hey =and /not italic/ verbatim= there* stuff")) == |
| 423 | + [Token(K"<paragraph", 1, 1), |
| 424 | + Token(K"<bold", 1, 1), |
| 425 | + Token(K"<verbatim", 6, 6), |
| 426 | + Token(K">verbatim", 32, 32), |
| 427 | + Token(K">bold", 39, 39)] |
| 428 | + end |
395 | 429 | @testset "Type inference" begin |
396 | 430 | @testset "Utilities" begin |
397 | 431 | bytes, pos = codeunits("abc"), UInt32(1) |
|
430 | 464 | @inferred Tuple{Token, UInt32} Org.lex_fixedwidth(lstate, bytes, pos) |
431 | 465 | @inferred Tuple{Token, UInt32} Org.lex_hrule(lstate, bytes, pos) |
432 | 466 | @inferred Tuple{Token, UInt32} Org.lex_latexenv(lstate, bytes, pos) |
| 467 | + @inferred Tuple{Token, UInt32} Org.lex_markup(lstate, bytes, pos) |
433 | 468 | end |
434 | 469 | end |
435 | 470 | @testset "Unhandled errors" begin |
|
470 | 505 | @test_call Org.lex_fixedwidth(lstate, bytes, pos) |
471 | 506 | @test_call Org.lex_hrule(lstate, bytes, pos) |
472 | 507 | @test_call Org.lex_latexenv(lstate, bytes, pos) |
| 508 | + @test_call Org.lex_markup(lstate, bytes, pos) |
473 | 509 | end |
474 | 510 | @testset "Iteration" begin |
475 | 511 | @test_call iterate(Lexer("abc"), LexerState()) |
|
513 | 549 | @test_opt Org.lex_fixedwidth(lstate, bytes, pos) |
514 | 550 | @test_opt Org.lex_hrule(lstate, bytes, pos) |
515 | 551 | @test_opt Org.lex_latexenv(lstate, bytes, pos) |
| 552 | + @test_opt Org.lex_markup(lstate, bytes, pos) |
516 | 553 | end |
517 | 554 | @testset "Iteration" begin |
518 | 555 | @test_opt iterate(Lexer("abc"), LexerState()) |
|
0 commit comments