/* Test whether BRE intervals work. */ #include "suite.h" int main(void) { cflags = 0; reject("a\\{1\\}", ""); match("a\\{1\\}", "a"); partial("a\\{1\\}", "aa", m(0, 1)); reject("a\\{2\\}", ""); reject("a\\{2\\}", "a"); match("a\\{2\\}", "aa"); reject("a\\{2,5\\}", ""); reject("a\\{2,5\\}", "a"); match("a\\{2,5\\}", "aa"); match("a\\{2,5\\}", "aaa"); match("a\\{2,5\\}", "aaaa"); match("a\\{2,5\\}", "aaaaa"); partial("a\\{2,5\\}", "aaaaaa", m(0, 5)); reject("a\\{2,\\}", ""); reject("a\\{2,\\}", "a"); match("a\\{2,\\}", "aa"); match("a\\{2,\\}", "aaa"); match("a\\{2,\\}", "aaaa"); match("a\\{2,\\}", "aaaaa"); match("a\\{2,\\}", "aaaaaa"); match("a\\{0,0\\}", ""); partial("a\\{0,0\\}", "a", m(0, 0)); partial("a\\{0,0\\}", "aa", m(0, 0)); match("a\\{0\\}", ""); partial("a\\{0\\}", "a", m(0, 0)); partial("a\\{0\\}", "aa", m(0, 0)); match("a\\{0,5\\}", ""); match("a\\{0,5\\}", "aaaaa"); partial("a\\{0,5\\}", "aaaaaa", m(0, 5)); partial("a\\{0,5\\}", "xaaaaa", m(0, 0)); return 0; }