MCPcopy Index your code
hub / github.com/endbasic/endbasic / test_integer_literals

Function test_integer_literals

core/src/lexer.rs:915–996  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

913
914 #[test]
915 fn test_integer_literals() {
916 do_ok_test(
917 "&b10 &B_10 &D10 &d_10 &o_10 &O_10 &X10 &x_10 &xabcdef &x0ABCDEF0 &x7a1",
918 &[
919 ts(Token::Integer(2), 1, 1, 4),
920 ts(Token::Integer(2), 1, 6, 5),
921 ts(Token::Integer(10), 1, 12, 4),
922 ts(Token::Integer(10), 1, 17, 5),
923 ts(Token::Integer(8), 1, 23, 5),
924 ts(Token::Integer(8), 1, 29, 5),
925 ts(Token::Integer(16), 1, 35, 4),
926 ts(Token::Integer(16), 1, 40, 5),
927 ts(Token::Integer(11259375), 1, 46, 8),
928 ts(Token::Integer(180150000), 1, 55, 10),
929 ts(Token::Integer(1953), 1, 66, 5),
930 ts(Token::Eof, 1, 71, 0),
931 ],
932 );
933
934 do_ok_test(
935 "&b11111111111111111111111111111111 &xf0000000 &xffffffff",
936 &[
937 ts(Token::Integer(-1), 1, 1, 34),
938 ts(Token::Integer(-268435456), 1, 36, 10),
939 ts(Token::Integer(-1), 1, 47, 10),
940 ts(Token::Eof, 1, 57, 0),
941 ],
942 );
943
944 do_ok_test(
945 "& &_ &__ &i10 &i_10 &d &d10.1 &b2 &da &o8 &xg",
946 &[
947 ts(Token::Bad("Missing base in integer literal".to_owned()), 1, 1, 1),
948 ts(Token::Bad("Unknown base _ in integer literal".to_owned()), 1, 3, 1),
949 ts(Token::Bad("Unknown base _ in integer literal".to_owned()), 1, 6, 2),
950 ts(Token::Bad("Unknown base i in integer literal".to_owned()), 1, 10, 3),
951 ts(Token::Bad("Unknown base i in integer literal".to_owned()), 1, 15, 4),
952 ts(Token::Bad("No digits in integer literal".to_owned()), 1, 21, 1),
953 ts(Token::Bad("Numbers in base syntax must be integers".to_owned()), 1, 24, 2),
954 ts(Token::Bad("Bad integer 2: invalid digit found in string".to_owned()), 1, 31, 1),
955 ts(Token::Bad("Bad integer a: invalid digit found in string".to_owned()), 1, 35, 1),
956 ts(Token::Bad("Bad integer 8: invalid digit found in string".to_owned()), 1, 39, 1),
957 ts(Token::Bad("Unexpected character in numeric literal: g".to_owned()), 1, 43, 1),
958 ts(Token::Eof, 1, 46, 0),
959 ],
960 );
961
962 do_ok_test(
963 ">&< >&_< >&__< >&i10< >&i_10< >&d< >&d10.1<",
964 &[
965 ts(Token::Greater, 1, 1, 1),
966 ts(Token::Bad("Missing base in integer literal".to_owned()), 1, 2, 1),
967 ts(Token::Less, 1, 3, 1),
968 // -
969 ts(Token::Greater, 1, 5, 1),
970 ts(Token::Bad("Unknown base _ in integer literal".to_owned()), 1, 6, 1),
971 ts(Token::Less, 1, 8, 1),
972 // -

Callers

nothing calls this directly

Calls 2

tsFunction · 0.85
do_ok_testFunction · 0.70

Tested by

no test coverage detected