()
| 1615 | |
| 1616 | #[test] |
| 1617 | fn test_recoverable_errors() { |
| 1618 | do_ok_test( |
| 1619 | "0.1.28+5", |
| 1620 | &[ |
| 1621 | ts(Token::Bad("Too many dots in numeric literal".to_owned()), 1, 1, 3), |
| 1622 | ts(Token::Plus, 1, 7, 1), |
| 1623 | ts(Token::Integer(5), 1, 8, 1), |
| 1624 | ts(Token::Eof, 1, 9, 0), |
| 1625 | ], |
| 1626 | ); |
| 1627 | |
| 1628 | do_ok_test( |
| 1629 | "1 .3", |
| 1630 | &[ |
| 1631 | ts(Token::Integer(1), 1, 1, 1), |
| 1632 | ts(Token::Bad("Unknown character: .".to_owned()), 1, 3, 2), |
| 1633 | ts(Token::Eof, 1, 5, 0), |
| 1634 | ], |
| 1635 | ); |
| 1636 | |
| 1637 | do_ok_test( |
| 1638 | "1 3. 2", |
| 1639 | &[ |
| 1640 | ts(Token::Integer(1), 1, 1, 1), |
| 1641 | ts(Token::Bad("Unknown character: .".to_owned()), 1, 3, 1), |
| 1642 | ts(Token::Integer(2), 1, 6, 1), |
| 1643 | ts(Token::Eof, 1, 7, 0), |
| 1644 | ], |
| 1645 | ); |
| 1646 | |
| 1647 | do_ok_test( |
| 1648 | "9999999999+5", |
| 1649 | &[ |
| 1650 | ts( |
| 1651 | Token::Bad( |
| 1652 | "Bad integer 9999999999: number too large to fit in target type".to_owned(), |
| 1653 | ), |
| 1654 | 1, |
| 1655 | 1, |
| 1656 | 1, |
| 1657 | ), |
| 1658 | ts(Token::Plus, 1, 11, 1), |
| 1659 | ts(Token::Integer(5), 1, 12, 1), |
| 1660 | ts(Token::Eof, 1, 13, 0), |
| 1661 | ], |
| 1662 | ); |
| 1663 | |
| 1664 | do_ok_test( |
| 1665 | "\n3!2 1", |
| 1666 | &[ |
| 1667 | ts(Token::Eol, 1, 1, 1), |
| 1668 | ts(Token::Bad("Unexpected character in numeric literal: !".to_owned()), 2, 1, 2), |
| 1669 | ts(Token::Integer(1), 2, 5, 1), |
| 1670 | ts(Token::Eof, 2, 6, 0), |
| 1671 | ], |
| 1672 | ); |
| 1673 | |
| 1674 | do_ok_test( |
nothing calls this directly
no test coverage detected