]> git.proxmox.com Git - ceph.git/blob - ceph/src/boost/libs/xpressive/test/test6.hpp
add subtree-ish sources for 12.0.3
[ceph.git] / ceph / src / boost / libs / xpressive / test / test6.hpp
1 ///////////////////////////////////////////////////////////////////////////////
2 // test6.hpp
3 //
4 // Copyright 2008 Eric Niebler. Distributed under the Boost
5 // Software License, Version 1.0. (See accompanying file
6 // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
7
8 #include "./test.hpp"
9
10 ///////////////////////////////////////////////////////////////////////////////
11 // get_test_cases
12 //
13 template<typename BidiIterT>
14 boost::iterator_range<xpr_test_case<BidiIterT> const *> get_test_cases()
15 {
16 typedef typename boost::iterator_value<BidiIterT>::type char_type;
17 typedef xpr_test_case<BidiIterT> xpr_test_case;
18 typedef basic_regex<BidiIterT> regex_type;
19
20 static char_type const *nilbr = 0;
21 static xpr_test_case const test_cases[] =
22 {
23 xpr_test_case
24 (
25 "test103"
26 , L("a\nxb\n")
27 , regex_type(~before(bol) >> L('x'))
28 , no_match
29 )
30 , xpr_test_case
31 (
32 "test104"
33 , L("a\nxb\n")
34 , regex_type(~before(bos) >> L('x'))
35 , backrefs(L("x"), nilbr)
36 )
37 , xpr_test_case
38 (
39 "test105"
40 , L("a\nxb\n")
41 , regex_type(~before(bos) >> L('x'))
42 , backrefs(L("x"), nilbr)
43 )
44 , xpr_test_case
45 (
46 "test106"
47 , L("(this)")
48 , regex_type(bos >> (L('(') >> (s1= nil) | (s2= nil)) >> +_w >> (L(')') >> s1 | s2) >> eos)
49 , backrefs(L("(this)"), L(""), L(""), nilbr)
50 )
51 , xpr_test_case
52 (
53 "test107"
54 , L("this")
55 , regex_type(bos >> (L('(') >> (s1= nil) | (s2= nil)) >> +_w >> (L(')') >> s1 | s2) >> eos)
56 , backrefs(L("this"), L(""), L(""), nilbr)
57 )
58 , xpr_test_case
59 (
60 "test108"
61 , L("this)")
62 , regex_type(bos >> (L('(') >> (s1= nil) | (s2= nil)) >> +_w >> (L(')') >> s1 | s2) >> eos)
63 , no_match
64 )
65 , xpr_test_case
66 (
67 "test109"
68 , L("(this")
69 , regex_type(bos >> (L('(') >> (s1= nil) | (s2= nil)) >> +_w >> (L(')') >> s1 | s2) >> eos)
70 , no_match
71 )
72 , xpr_test_case
73 (
74 "test110"
75 , L("abba123abba")
76 , regex_type(+~alpha)
77 , backrefs(L("123"), nilbr)
78 )
79 , xpr_test_case
80 (
81 "test111"
82 , L("abba123abba")
83 , regex_type(+set[alpha | ~alpha])
84 , backrefs(L("abba123abba"), nilbr)
85 )
86 , xpr_test_case
87 (
88 "test112"
89 , L("123abba123")
90 , regex_type(+~set[~alpha])
91 , backrefs(L("abba"), nilbr)
92 )
93 //, xpr_test_case
94 // (
95 // "test113"
96 // , L("123abba123")
97 // , regex_type(as_xpr(L("[[:alpha:]\\y]+")))
98 // , backrefs(L("123abba123"), nilbr)
99 // )
100 , xpr_test_case
101 (
102 "test114"
103 , L("abba123abba")
104 , regex_type(+~set[~alnum | ~digit])
105 , backrefs(L("123"), nilbr)
106 )
107 , xpr_test_case
108 (
109 "test115"
110 , L("aaaaA")
111 , regex_type(icase(bos >> repeat<4>(s1= L('a') >> !s1) >> eos))
112 , backrefs(L("aaaaA"), L("A"), nilbr)
113 )
114 , xpr_test_case
115 (
116 "test116"
117 , L("aaaaAa")
118 , regex_type(icase(bos >> repeat<4>(s1= L('a') >> !s1) >> eos))
119 , backrefs(L("aaaaAa"), L("Aa"), nilbr)
120 )
121 };
122
123 return boost::make_iterator_range(test_cases);
124 }