Files
mercury/tests/hard_coded/string_substring.m
Peter Wang 3621cfa650 Delete deprecated substring predicates and functions.
library/string.m:
    Delete long-deprecated substring/3 function and substring/4 predicate.
    The newly introduced `string_piece' type has a substring/3 data
    constructor which takes (start, end) offsets into the base string,
    whereas the function and predicate take (start, count) arguments.
    To reduce potential confusion, delete the deprecated function and
    predicate.

    Delete other deprecated substring predicates and functions as well.

tests/general/Mercury.options:
tests/general/string_foldl_substring.exp:
tests/general/string_foldl_substring.m:
tests/general/string_foldr_substring.exp:
tests/general/string_foldr_substring.m:
tests/hard_coded/Mercury.options:
tests/hard_coded/string_substring.m:
    Delete tests for deprecated predicates.

tests/tabling/mercury_java_parser_dead_proc_elim_bug.m:
tests/tabling/mercury_java_parser_dead_proc_elim_bug2.m:
tests/valid/mercury_java_parser_follow_code_bug.m:
    Replace calls to unsafe_substring with unsafe_between.

NEWS:
    Announce the changes.
2019-11-08 14:25:23 +11:00

42 lines
1.3 KiB
Mathematica

%---------------------------------------------------------------------------%
% vim: ts=4 sw=4 et ft=mercury
%---------------------------------------------------------------------------%
:- module string_substring.
:- interface.
:- import_module io.
:- pred main(io::di, io::uo) is det.
%---------------------------------------------------------------------------%
:- implementation.
:- import_module int.
:- import_module string.
main(!IO) :-
(
string.between("cat", -1, max_int, "cat"),
string.between("cat", 0, max_int, "cat"),
string.between("cat", 1, max_int, "at"),
string.between("cat", 2, max_int, "t"),
string.between("cat", 3, max_int, ""),
string.between("cat", 4, max_int, ""),
string.between("cat", 0, 0, ""),
string.between("cat", 0, 1, "c"),
string.between("cat", 0, 2, "ca"),
string.between("cat", 0, 3, "cat"),
string.between("cat", 1, -1, ""),
string.between("cat", 1, 0, ""),
string.between("cat", 1, 1, ""),
string.between("cat", 1, 2, "a"),
string.between("cat", 1, 3, "at"),
string.between("cat", 1, 4, "at")
->
io.write_string("test succeeded\n", !IO)
;
io.write_string("test failed\n", !IO)
).